Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2018-06-26 13:51:26 +02:00
commit a167873c67
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
79 changed files with 21119 additions and 16765 deletions

View file

@ -232,11 +232,12 @@ (define select?
;; (gnu packages …) modules are going to be looked up
;; under SOURCE. (guix config) is looked up in FRONT.
(match %load-path
((#$source _ ...)
#t) ;already done
((front _ ...)
(set! %load-path (list #$source front))))
(match (command-line)
((_ source _ ...)
(match %load-path
((front _ ...)
(unless (string=? front source) ;already done?
(set! %load-path (list source front)))))))
;; Only load our own modules or those of Guile.
(match %load-compiled-path
@ -264,7 +265,7 @@ (define spin
(loop (cdr spin))))
(match (command-line)
((_ _ system)
((_ source system version)
(with-store store
(call-with-new-thread
(lambda ()
@ -273,7 +274,7 @@ (define spin
(display
(and=>
(run-with-store store
(guix-derivation #$source #$version
(guix-derivation source version
#$guile-version
#:pull-version
#$pull-version)
@ -304,7 +305,7 @@ (define* (build source
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
(open-pipe* OPEN_READ
(derivation->output-path build)
source system)))
source system version)))
(str (get-string-all pipe))
(status (close-pipe pipe)))
(match str

View file

@ -159,16 +159,10 @@ Le script @command{pre-inst-env} paramètre toutes les variables
d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}.
Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour
l'arborescence des sources locale ; il met seulement à jour le lien
symbolique @file{~/.config/guix/latest} (@pxref{Invoquer guix pull}).
l'arborescence des sources locale ; cela met seulement à jour le lien
symbolique de @file{~/.config/guix/current} (@pxref{Invoquer guix pull}).
Lancez @command{git pull} à la place si vous voulez mettre à jour votre
arborescence des sources locale@footnote{Si vous voulez paramétrer
@command{guix} pour qu'il utilise votre dépôt Git, vous pouvez faire pointer
le lien symbolique @file{~/.config/guix/latest} vers le répertoire contenant
ce dépôt. Si vous le seul utilisateur du système, vous pouvez aussi
considérer faire pointer le lien symbolique @file{/root/.config/guix/latest}
vers @file{~/.config/guix/latest} ; comme ça root aura toujours la même
commande @command{guix} que votre utilisateur}.
arborescence des source locale.
@node La configuration parfaite
@ -432,11 +426,18 @@ potentiellement disruptifs). Cette branche devrait être fusionnée dans
@code{master} tous les 2,5 mois environ.
@end table
Toutes ces branches sont gérées par notre ferme de construction et
fusionnées dans @code{master} une fois que tout a été construit
correctement. Cela nous permet de corriger des problèmes avant qu'ils
n'atteignent les utilisateurs et réduit la fenêtre pendant laquelle les
binaires pré-construits ne sont pas disponibles.
Toutes ces branches sont @uref{https://hydra.gnu.org/project/gnu, gérées par
notre ferme de construction} et fusionnées dans @code{master} une fois que
tout a été construit correctement. Cela nous permet de corriger des
problèmes avant qu'ils n'atteignent les utilisateurs et réduit la fenêtre
pendant laquelle les binaires pré-construits ne sont pas disponibles.
@c TODO: It would be good with badges on the website that tracks these
@c branches. Or maybe even a status page.
Généralement les autres branches que @code{master} sont considérées comme
@emph{gelées} s'il y a eu une évaluation récente ou qu'il y a une branche
@code{-next} correspondante. Demandez sur la liste de diffusion ou sur IRC
si vous n'êtes pas sûr de savoir où pousser votre correctif.
@item
@cindex déterminisme, du processus de construction

File diff suppressed because it is too large Load diff

View file

@ -13131,15 +13131,15 @@ Users need to be in the @code{lp} group to access the D-Bus service.
@cindex ALSA
@cindex PulseAudio, sound support
The @code{(gnu services sound)} module provides an
@code{alsa-service-type} service to generate an ALSA
@file{/etc/asound.conf} configuration file. This configuration file is
what allows applications that produce sound using ALSA to be correctly
handled.
The @code{(gnu services sound)} module provides a service to configure the
Advanced Linux Sound Architecture (ALSA) system, which making PulseAudio the
prefered ALSA output driver.
@deffn {Scheme Variable} alsa-service-type
This is the type for the @uref{https://alsa-project.org/, ALSA},
@command{alsa-configuration} record as in this example:
This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound
Architecture} (ALSA) system, which generates the @file{/etc/asound.conf}
configuration file. The value for this type is a @command{alsa-configuration}
record as in this example:
@example
(service alsa-service-type)
@ -13152,6 +13152,9 @@ See below for details about @code{alsa-configuration}.
Data type representing the configuration for @code{alsa-service}.
@table @asis
@item @code{alsa-plugins} (default: @var{alsa-plugins})
@code{alsa-plugins} package to use.
@item @code{pulseaudio?} (default: @var{#t})
Whether ALSA applications should transparently be made to use the
@uref{http://www.pulseaudio.org/, PulseAudio} sound server.
@ -13161,11 +13164,47 @@ at the same time and to individual control them @i{via}
@command{pavucontrol}, among other things.
@item @code{extra-options} (default: @var{""})
String to append to the @file{asound.conf} file.
String to append to the @file{/etc/asound.conf} file.
@end table
@end deftp
Individual users who want to override the system configuration of ALSA can do
it with the @file{~/.asoundrc} file:
@example
# In guix, we have to specify the absolute path for plugins.
pcm_type.jack @{
lib "/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so"
@}
# Routing ALSA to jack:
# <http://jackaudio.org/faq/routing_alsa.html>.
pcm.rawjack @{
type jack
playback_ports @{
0 system:playback_1
1 system:playback_2
@}
capture_ports @{
0 system:capture_1
1 system:capture_2
@}
@}
pcm.!default @{
type plug
slave @{
pcm "rawjack"
@}
@}
@end example
See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the
details.
@node Database Services
@subsubsection Database Services
@ -20043,6 +20082,21 @@ The port to bind the server to.
@node Miscellaneous Services
@subsubsection Miscellaneous Services
@cindex fingerprint
@subsubheading Fingerprint Service
The @code{(gnu services fingerprint)} module provides a DBus service to
read and identify fingerprints via a fingerprint sensor.
@defvr {Scheme Variable} fprintd-service-type
The service type for @command{fprintd}, which provides the fingerprint
reading capability.
@example
(service fprintd-service-type)
@end example
@end defvr
@cindex sysctl
@subsubheading System Control Service

View file

@ -322,6 +322,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ocaml.scm \
%D%/packages/ocr.scm \
%D%/packages/onc-rpc.scm \
%D%/packages/opencl.scm \
%D%/packages/openbox.scm \
%D%/packages/openldap.scm \
%D%/packages/openstack.scm \
@ -471,6 +472,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/desktop.scm \
%D%/services/dict.scm \
%D%/services/dns.scm \
%D%/services/authentication.scm \
%D%/services/games.scm \
%D%/services/kerberos.scm \
%D%/services/lirc.scm \
@ -637,6 +639,7 @@ dist_patch_DATA = \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/doxygen-gcc-ice.patch \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
@ -803,6 +806,7 @@ dist_patch_DATA = \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jamvm-arm.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \
@ -960,6 +964,7 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyx-show-header-stats-with-python3.patch \
%D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch \
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \

View file

@ -256,7 +256,7 @@ (define-public dfc
(origin
(method url-fetch)
(uri (string-append
"http://projects.gw-computing.net/attachments/download/615/dfc-"
"https://projects.gw-computing.net/attachments/download/615/dfc-"
version ".tar.gz"))
(sha256
(base32
@ -264,7 +264,7 @@ (define-public dfc
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; There are no tests.
(native-inputs `(("gettext" ,gettext-minimal)))
(home-page "http://projects.gw-computing.net/projects/dfc")
(home-page "https://projects.gw-computing.net/projects/dfc")
(synopsis "Display file system space usage using graphs and colors")
(description
"dfc (df color) is a modern version of df. It uses colors, draws pretty
@ -508,7 +508,7 @@ (define-public net-base
"This package provides the /etc/services, /etc/protocols, and /etc/rpc
files, which contain information about the IANA-assigned port, protocol, and
ONC RPC numbers.")
(home-page "http://packages.debian.org/sid/netbase")
(home-page "https://packages.debian.org/sid/netbase")
(license license:gpl2)))
(define-public netcat
@ -753,7 +753,7 @@ (define-public libpcap
(version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/libpcap-"
(uri (string-append "https://www.tcpdump.org/release/libpcap-"
version ".tar.gz"))
(sha256
(base32
@ -762,7 +762,7 @@ (define-public libpcap
(native-inputs `(("bison" ,bison) ("flex" ,flex)))
(arguments '(#:configure-flags '("--with-pcap=linux")
#:tests? #f)) ; no 'check' target
(home-page "http://www.tcpdump.org")
(home-page "https://www.tcpdump.org")
(synopsis "Network packet capture library")
(description
"libpcap is an interface for user-level packet capture. It provides a
@ -778,7 +778,7 @@ (define-public tcpdump
(version "4.9.2")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-"
(uri (string-append "https://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
@ -787,7 +787,7 @@ (define-public tcpdump
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
(native-inputs `(("perl" ,perl))) ; for tests
(home-page "http://www.tcpdump.org/")
(home-page "https://www.tcpdump.org/")
(synopsis "Network packet analyzer")
(description
"Tcpdump is a command-line tool to analyze network traffic passing
@ -1043,7 +1043,7 @@ (define-public wpa-supplicant-minimal
(source (origin
(method url-fetch)
(uri (string-append
"http://w1.fi/releases/wpa_supplicant-"
"https://w1.fi/releases/wpa_supplicant-"
version
".tar.gz"))
(patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
@ -1104,7 +1104,7 @@ (define (copy-man-page target)
("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://w1.fi/wpa_supplicant/")
(home-page "https://w1.fi/wpa_supplicant/")
(synopsis "Connecting to WPA and WPA2-protected wireless networks")
(description
"wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
@ -1221,7 +1221,7 @@ (define-public wakelan
(string-append "--mandir=" out
"/share/man")))))))
#:tests? #f))
(home-page "http://kernel.org") ; really, no home page
(home-page "https://www.kernel.org") ; really, no home page
(synopsis "Send a wake-on-LAN packet")
(description
"WakeLan broadcasts a properly formatted UDP packet across the local area
@ -1456,7 +1456,7 @@ (define-public libcap-ng
(source (origin
(method url-fetch)
(uri (string-append
"http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
"https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
version ".tar.gz"))
(sha256
(base32
@ -1792,13 +1792,13 @@ (define-public audit
(version "2.4.5")
(source (origin
(method url-fetch)
(uri (string-append "http://people.redhat.com/sgrubb/audit/"
(uri (string-append "https://people.redhat.com/sgrubb/audit/"
"audit-" version ".tar.gz"))
(sha256
(base32
"1q1q51dvxscbi4kbakmd4bn0xrvwwaiwvaya79925cbrqwzxsg77"))))
(build-system gnu-build-system)
(home-page "http://people.redhat.com/sgrubb/audit/")
(home-page "https://people.redhat.com/sgrubb/audit/")
(arguments
`(#:configure-flags (list "--with-python=no")
#:phases
@ -2127,7 +2127,7 @@ (define-public pam-krb5
enabled, and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
(home-page "https://www.eyrie.org/~eagle/software/pam-krb5")
;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
;; However, the tarball does not contain a copy of the GPL, so unless
;; we put one in, we cannot distribute it under GPL without violating
@ -2409,9 +2409,9 @@ (define-public neofetch
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(home-page "https://github.com/dylanaraps/neofetch")
(synopsis "System info script")
(description "Neofetch is a CLI system information tool written in Bash.
Neofetch displays information about your system next to an image, your OS
(synopsis "System information script")
(description "Neofetch is a command-line system information tool written in
Bash. Neofetch displays information about your system next to an image, your OS
logo, or any ASCII file of your choice. The main purpose of Neofetch is to be
used in screenshots to show other users what operating system or distribution
you are running, what theme or icon set you are using, etc.")

View file

@ -143,7 +143,7 @@ (define-public pari-gp
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
"https://pari.math.u-bordeaux.fr/pub/pari/unix/pari-"
version ".tar.gz"))
(sha256
(base32
@ -174,7 +174,7 @@ (define-public pari-gp
transcendental functions.
PARI is also available as a C library to allow for faster computations.")
(license license:gpl2+)
(home-page "http://pari.math.u-bordeaux.fr/")))
(home-page "https://pari.math.u-bordeaux.fr/")))
(define-public gp2c
(package
@ -183,7 +183,7 @@ (define-public gp2c
(source (origin
(method url-fetch)
(uri (string-append
"http://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
"https://pari.math.u-bordeaux.fr/pub/pari/GP2C/gp2c-"
version ".tar.gz"))
(sha256
(base32
@ -208,7 +208,7 @@ (define-public gp2c
GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license license:gpl2)
(home-page "http://pari.math.u-bordeaux.fr/")))
(home-page "https://pari.math.u-bordeaux.fr/")))
(define-public giac-xcas
(package
@ -746,7 +746,7 @@ (define-public eigen
;; Then run 'CTest' with -V so we get more
;; details upon failure.
(zero? (system* "ctest" "-V" dash-j)))))))))
(home-page "http://eigen.tuxfamily.org")
(home-page "https://eigen.tuxfamily.org")
(synopsis "C++ template library for linear algebra")
(description
"Eigen is a C++ template library for linear algebra: matrices, vectors,

View file

@ -52,7 +52,7 @@ (define-public etl
(base32
"0ii73nsd3xzkhz6w1rnxwphl637j9w82xiy6apa9vin2isdynnmc"))))
(build-system gnu-build-system)
(home-page "http://www.synfig.org")
(home-page "https://www.synfig.org")
(synopsis "Extended C++ template library")
(description
"ETL is a class and template library designed to add new datatypes and
@ -130,7 +130,7 @@ (define-public synfig
("pango" ,pango)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.synfig.org")
(home-page "https://www.synfig.org")
(synopsis "Vector-based 2D animation renderer")
(description
"Synfig is a vector-based 2D animation package. It is designed to be
@ -180,7 +180,7 @@ (define-public synfigstudio
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(home-page "http://www.synfig.org")
(home-page "https://www.synfig.org")
(synopsis "Vector-based 2D animation package (GUI)")
(description
"Synfig is a vector-based 2D animation package. It is designed to
@ -248,7 +248,7 @@ (define-public papagayo
("libsndfile" ,libsndfile)))
(native-inputs
`(("qttools" ,qttools)))
(home-page "http://www.lostmarble.com/papagayo/")
(home-page "https://www.lostmarble.com/papagayo/")
(synopsis "Lip-syncing for animations")
(description
"Papagayo is a lip-syncing program designed to help you line up

View file

@ -1476,7 +1476,7 @@ (define-public jalv
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/jalv-"
(uri (string-append "https://download.drobilla.net/jalv-"
version ".tar.bz2"))
(sha256
(base32
@ -1501,7 +1501,7 @@ (define-public jalv
("jack" ,jack-1)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/jalv/")
(home-page "https://drobilla.net/software/jalv/")
(synopsis "Simple LV2 host for JACK")
(description
"Jalv is a simple but fully featured LV2 host for JACK. It runs LV2
@ -1711,7 +1711,7 @@ (define-public lilv
(version "0.24.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/lilv-"
(uri (string-append "https://download.drobilla.net/lilv-"
version ".tar.bz2"))
(sha256
(base32
@ -1737,7 +1737,7 @@ (define-public lilv
`(("lv2" ,lv2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/lilv/")
(home-page "https://drobilla.net/software/lilv/")
(synopsis "Library to simplify use of LV2 plugins in applications")
(description
"Lilv is a C library to make the use of LV2 plugins as simple as possible
@ -1966,7 +1966,7 @@ (define-public patchage
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/patchage-"
(uri (string-append "https://download.drobilla.net/patchage-"
version
".tar.bz2"))
(sha256
@ -1984,7 +1984,7 @@ (define-public patchage
("dbus-glib" ,dbus-glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/patchage/")
(home-page "https://drobilla.net/software/patchage/")
(synopsis "Modular patch bay for audio and MIDI systems")
(description
"Patchage is a modular patch bay for audio and MIDI systems based on JACK
@ -2163,7 +2163,7 @@ (define-public raul
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/raul-"
(uri (string-append "https://download.drobilla.net/raul-"
version ".tar.bz2"))
(sha256
(base32
@ -2177,7 +2177,7 @@ (define-public raul
("boost" ,boost)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/raul/")
(home-page "https://drobilla.net/software/raul/")
(synopsis "Real-time audio utility library")
(description
"Raul (Real-time Audio Utility Library) is a C++ utility library primarily
@ -2194,7 +2194,7 @@ (define-public raul-devel
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://git.drobilla.net/raul.git")
(url "https://git.drobilla.net/raul.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
@ -2249,7 +2249,7 @@ (define-public rtmidi
#:phases (modify-phases %standard-phases
(add-after
'unpack 'autoconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before
'build 'fix-makefile
(lambda _
@ -2287,7 +2287,7 @@ (define-public sratom
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/sratom-"
(uri (string-append "https://download.drobilla.net/sratom-"
version ".tar.bz2"))
(sha256
(base32
@ -2300,7 +2300,7 @@ (define-public sratom
("sord" ,sord)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/sratom/")
(home-page "https://drobilla.net/software/sratom/")
(synopsis "Library for serialising LV2 atoms to/from RDF")
(description
"Sratom is a library for serialising LV2 atoms to/from RDF, particularly
@ -2313,7 +2313,7 @@ (define-public suil
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/suil-"
(uri (string-append "https://download.drobilla.net/suil-"
version ".tar.bz2"))
(sha256
(base32
@ -2330,7 +2330,7 @@ (define-public suil
("qt" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/suil/")
(home-page "https://drobilla.net/software/suil/")
(synopsis "Library for loading and wrapping LV2 plugin UIs")
(description
"Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
@ -2723,7 +2723,7 @@ (define-public portaudio
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))))
(invoke "autoreconf" "-vif"))))
#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library")
@ -2791,9 +2791,8 @@ (define-public rsound
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc")
(zero?
(system* "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))))))
(invoke "./configure"
(string-append "--prefix=" (assoc-ref outputs "out"))))))
;; No 'check' target.
#:tests? #f))
(home-page "http://themaister.net/rsound.html")

View file

@ -147,7 +147,7 @@ (define-public par2cmdline
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
(lambda _ (invoke "autoreconf" "-vfi"))))))
(synopsis "File verification and repair tools")
(description "Par2cmdline uses Reed-Solomon error-correcting codes to
generate and verify PAR2 recovery files. These files can be distributed
@ -420,7 +420,7 @@ (define-public rsnapshot
"t/backup_exec/conf/backup_exec.conf")
(("/bin/true") (which "true"))
(("/bin/false") (which "false")))
(zero? (system* "make" "test")))))))
(invoke "make" "test"))))))
(inputs
`(("perl" ,perl)
("rsync" ,rsync)))
@ -523,25 +523,24 @@ (define-public borg
;; The tests should be run in an empty directory.
(mkdir-p "tests")
(with-directory-excursion "tests"
(zero?
(system* "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
(string-append
;; These tests need to write to '/var'.
"not test_get_cache_dir "
"and not test_get_config_dir "
"and not test_get_keys_dir "
"and not test_get_security_dir "
;; These tests assume there is a root user in
;; '/etc/passwd'.
"and not test_access_acl "
"and not test_default_acl "
"and not test_non_ascii_acl "
;; This test needs the unpackaged pytest-benchmark.
"and not benchmark "
;; These tests assume the kernel supports FUSE.
"and not test_fuse "
"and not test_fuse_allow_damaged_files "
"and not test_mount_hardlinks"))))))
(invoke "py.test" "-v" "--pyargs" "borg.testsuite" "-k"
(string-append
;; These tests need to write to '/var'.
"not test_get_cache_dir "
"and not test_get_config_dir "
"and not test_get_keys_dir "
"and not test_get_security_dir "
;; These tests assume there is a root user in
;; '/etc/passwd'.
"and not test_access_acl "
"and not test_default_acl "
"and not test_non_ascii_acl "
;; This test needs the unpackaged pytest-benchmark.
"and not benchmark "
;; These tests assume the kernel supports FUSE.
"and not test_fuse "
"and not test_fuse_allow_damaged_files "
"and not test_mount_hardlinks")))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -552,11 +551,9 @@ (define-public borg
"docs/misc/internals-picture.txt"
"docs/misc/prune-example.txt"))
(add-installed-pythonpath inputs outputs)
(and
(zero? (system* "python3" "setup.py" "build_man"))
(begin
(copy-recursively "docs/man" man)
#t))))))))
(invoke "python3" "setup.py" "build_man")
(copy-recursively "docs/man" man)
#t))))))
(native-inputs
`(("python-cython" ,python-cython)
("python-setuptools-scm" ,python-setuptools-scm)
@ -686,17 +683,17 @@ (define-public obnam
(replace 'check
(lambda _
(substitute* "obnamlib/vfs_local_tests.py"
;; Check for the nobody user instead of root
;; Check for the nobody user instead of root.
(("self.fs.get_username\\(0\\), 'root'")
"self.fs.get_username(65534), 'nobody'")
;; Disable tests checking for root group
;; Disable tests checking for root group.
(("self.fs.get_groupname\\(0\\)") "'root'"))
(substitute* "obnamlib/vfs_local.py"
;; Don't cover get_groupname function
;; Don't cover get_groupname function.
(("def get_groupname\\(self, gid\\):")
"def get_groupname(self, gid): # pragma: no cover"))
;; Can't run network tests
(zero? (system* "./check" "--unit-tests")))))))
;; Can't run network tests.
(invoke "./check" "--unit-tests"))))))
(inputs
`(("python2-cliapp" ,python2-cliapp)
("python2-larch" ,python2-larch)

View file

@ -11449,7 +11449,7 @@ (define-public tadbit
("python2-numpy" ,python2-numpy)
("python2-matplotlib" ,python2-matplotlib)
("python2-pysam" ,python2-pysam)))
(home-page "http://3dgenomes.github.io/TADbit/")
(home-page "https://3dgenomes.github.io/TADbit/")
(synopsis "Analyze, model, and explore 3C-based data")
(description
"TADbit is a complete Python library to deal with all steps to analyze,
@ -12725,7 +12725,7 @@ (define-public dropseq-tools
#:phases
(modify-phases %standard-phases
;; FIXME: fails with "java.io.FileNotFoundException:
;; /gnu/store/q76y0ximcziplgfpbn26kbw4h3s14f33-dropseq-tools-1.13/share/java/lib/biojava-alignment.jar"
;; /gnu/store/-dropseq-tools-1.13/share/java/lib/biojava-alignment.jar"
(delete 'generate-jar-indices)
;; All dependencies must be linked to "lib", because that's where
;; they will be searched for when the Class-Path property of the
@ -12906,7 +12906,7 @@ (define-public pigx-rnaseq
(define-public pigx-chipseq
(package
(name "pigx-chipseq")
(version "0.0.16")
(version "0.0.17")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@ -12914,20 +12914,10 @@ (define-public pigx-chipseq
"/pigx_chipseq-" version ".tar.gz"))
(sha256
(base32
"0s53840z53pih0jkllmcfb2la7c36zxmf229fshhyq8n6a2hgr8f"))))
"1c0x5lswvc8v9fw4iynl5rcfs7h7clzp4hqdnl65ia7rk35n4zg9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; parts of the tests rely on access to the network
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
;; Make sure the executable finds all R modules.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pigx-chipseq")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
`("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
#t)))))
;; parts of the tests rely on access to the network
(arguments '(#:tests? #f))
(inputs
`(("grep" ,grep)
("coreutils" ,coreutils)

View file

@ -500,7 +500,7 @@ (define-public (make-u-boot-package board triplet)
(string-drop-right file-name
suffix-len))))
(sort entries string-ci<)))
#f)))))
(error "Invalid boardname ~s." ,board))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -44,7 +45,7 @@ (define-public busybox
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _ (zero? (system* "make" "defconfig"))))
(lambda _ (invoke "make" "defconfig")))
(replace 'check
(lambda _
(substitute* '("testsuite/du/du-s-works"
@ -71,18 +72,17 @@ (define-public busybox
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check"))))
(invoke "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "make"
(string-append "CONFIG_PREFIX=" out)
"install"))))))))
(invoke "make"
(string-append "CONFIG_PREFIX=" out)
"install")))))))
(native-inputs `(("perl" ,perl) ; needed to generate the man pages (pod2man)
;; The following are needed by the tests.
("inetutils" ,inetutils)

View file

@ -604,39 +604,40 @@ (define-public sfarklib
(license license:gpl3+)))
(define-public sfarkxtc
(let ((commit "b5e0a2ba3921f019d74d4b92bd31c36dd19d2cf1"))
(package
(name "sfarkxtc")
(version (string-take commit 10))
(source (origin
;; There are no release tarballs, so we just fetch the latest
;; commit at this time.
(method git-fetch)
(uri (git-reference
(url "https://github.com/raboof/sfarkxtc.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(inputs
`(("zlib" ,zlib)
("sfarklib" ,sfarklib)))
(home-page "https://github.com/raboof/sfarkxtc")
(synopsis "Basic sfArk decompressor")
(description "SfArk extractor converts SoundFonts in the compressed legacy
(let ((commit "13cd6f93725a90d91ec5ea75babf1dbd694ac463")
(revision "1"))
(package
(name "sfarkxtc")
(version (git-version "0" revision commit))
(source (origin
;; There are no release tarballs, so we just fetch the latest
;; commit at this time.
(method git-fetch)
(uri (git-reference
(url "https://github.com/raboof/sfarkxtc.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mb1jyk1m11l1gppd9hmql9cyp55sdf7jk5rbc7acky1z4k4mv19"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(inputs
`(("zlib" ,zlib)
("sfarklib" ,sfarklib)))
(home-page "https://github.com/raboof/sfarkxtc")
(synopsis "Basic sfArk decompressor")
(description "SfArk extractor converts SoundFonts in the compressed legacy
sfArk file format to the uncompressed sf2 format.")
(license license:gpl3+))))
(license license:gpl3+))))
(define-public libmspack
(package

View file

@ -23,29 +23,30 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cups)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages libusb)
#:use-module (gnu packages perl)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages scanner)
#:use-module (gnu packages image)
#:use-module (gnu packages fonts) ;font-dejavu
#:use-module (gnu packages fonts) ; font-dejavu
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls))
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages scanner)
#:use-module (gnu packages tls)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public cups-filters
(package
@ -379,14 +380,14 @@ (define-public cups
(define-public hplip
(package
(name "hplip")
(version "3.18.3")
(version "3.18.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0x5xs86v18w46rxz5whc15bl4fb7p4km6xqjpwzclp83nl7rl01y"))
"0zbv6cp9n3xypf2fg4j6fpz8zkvl0z08lyc1vq1gd04ln1l3xkqf"))
(modules '((guix build utils)))
(snippet
;; Fix type mismatch.
@ -396,8 +397,10 @@ (define-public hplip
#t))))
(build-system gnu-build-system)
(home-page "http://hplipopensource.com/")
(synopsis "HP Printer Drivers")
(description "Hewlett-Packard Printer Drivers and PPDs.")
(synopsis "HP printer drivers")
(description
"Hewlett-Packard printer drivers and PostScript Printer Descriptions
(@dfn{PPD}s).")
;; The 'COPYING' file lists directories where each of these 3 licenses
;; applies.
@ -424,7 +427,8 @@ (define-public hplip
,(string-append "--with-icondir="
(assoc-ref %outputs "out") "/share/applications")
,(string-append "--with-systraydir="
(assoc-ref %outputs "out") "/etc/xdg"))
(assoc-ref %outputs "out") "/etc/xdg")
"--enable-qt5" "--disable-qt4")
#:imported-modules ((guix build python-build-system)
,@%gnu-build-system-modules)
@ -463,7 +467,7 @@ (define-public hplip
(string-append "hplip_confdir = " out
"/etc/hp"))
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
;; Note: We don't use hal.
;; We don't use hal.
(string-append "halpredir = " out
"/share/hal/fdi/preprobe/10osvendor"))
(("rulesdir = /etc/udev/rules.d")
@ -477,23 +481,30 @@ (define-public hplip
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
;; Wrap bin/* so that the Python libs are found.
;; Wrap bin/* so that the Python libraries are found.
(add-after 'install 'wrap-binaries
(assoc-ref python:%standard-phases 'wrap)))))
;; Python3 support is available starting from hplip@3.15.2.
(inputs `(("libjpeg" ,libjpeg)
("cups-minimal" ,cups-minimal)
("libusb" ,libusb)
("sane-backends" ,sane-backends-minimal)
("zlib" ,zlib)
("dbus" ,dbus)
("python-wrapper" ,python-wrapper)
("python" ,python)
;; TODO: Make hp-setup find python-dbus.
("python-dbus" ,python-dbus)))
(native-inputs `(("pkg-config" ,pkg-config)
("perl" ,perl)))))
;; Note that the error messages printed by the tools in the case of
;; missing dependencies are often downright misleading.
;; TODO: hp-toolbox still fails to start with:
;; from dbus.mainloop.pyqt5 import DBusQtMainLoop
;; ModuleNotFoundError: No module named 'dbus.mainloop.pyqt5'
(inputs
`(("cups-minimal" ,cups-minimal)
("dbus" ,dbus)
("libjpeg" ,libjpeg)
("libusb" ,libusb)
("python" ,python)
("python-dbus" ,python-dbus)
("python-pygobject" ,python-pygobject)
("python-pyqt" ,python-pyqt)
("python-wrapper" ,python-wrapper)
("sane-backends" ,sane-backends-minimal)
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))))
(define-public foomatic-filters
(package

View file

@ -190,7 +190,7 @@ (define-public dnscrypt-proxy
;; Re-generate build files due to unbundling ltdl.
;; TODO: Prevent generating new libltdl and building it.
;; The system version is still favored and referenced.
(zero? (system* "autoreconf" "-vif")))))))
(invoke "autoreconf" "-vif"))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("automake" ,automake)
@ -235,7 +235,7 @@ (define-public dnscrypt-wrapper
(modify-phases %standard-phases
(add-after 'unpack 'create-configure
(lambda _
(zero? (system* "make" "configure")))))))
(invoke "make" "configure"))))))
(native-inputs
`(("autoconf" ,autoconf)))
(inputs
@ -426,9 +426,9 @@ (define-public unbound
}
return s;
}" port)))
(system* (string-append gcc "/bin/gcc")
"-shared" "-fPIC" "-o" "/tmp/nss_preload.so"
"/tmp/nss_preload.c")
(invoke (string-append gcc "/bin/gcc")
"-shared" "-fPIC" "-o" "/tmp/nss_preload.so"
"/tmp/nss_preload.c")
;; The preload library only affects the unittests.
(substitute* "Makefile"
(("./unittest")
@ -541,10 +541,9 @@ (define-public knot
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/knot"))
(etc (string-append doc "/examples/etc")))
(zero?
(system* "make"
(string-append "config_dir=" etc)
"install")))))
(invoke "make"
(string-append "config_dir=" etc)
"install"))))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View file

@ -146,7 +146,7 @@ (define-public libsigrok
#t)))
(add-after 'build 'build-doc
(lambda _
(zero? (system* "doxygen"))))
(invoke "doxygen")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "doxy/html-api"
@ -158,7 +158,8 @@ (define-public libsigrok
(install-file "contrib/60-libsigrok.rules"
(string-append
(assoc-ref outputs "out")
"/lib/udev/rules.d/"))))
"/lib/udev/rules.d/"))
#t))
(add-after 'install-udev-rules 'install-fw
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))

View file

@ -108,6 +108,7 @@ (define-module (gnu packages emacs)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages shells)
#:use-module (gnu packages gnupg)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@ -936,7 +937,8 @@ (define-public emms
(vorbis (assoc-ref inputs "vorbis-tools"))
(alsa (assoc-ref inputs "alsa-utils"))
(mpg321 (assoc-ref inputs "mpg321"))
(mp3info (assoc-ref inputs "mp3info")))
(mp3info (assoc-ref inputs "mp3info"))
(opus (assoc-ref inputs "opus-tools")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
@ -961,6 +963,9 @@ (define-public emms
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-opusinfo.el"
("emms-info-opusinfo-program-name"
(string-append opus "/bin/opusinfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
@ -1009,7 +1014,8 @@ (define-public emms
("vorbis-tools" ,vorbis-tools)
("mpg321" ,mpg321)
("taglib" ,taglib)
("mp3info" ,mp3info)))
("mp3info" ,mp3info)
("opus-tools" ,opus-tools)))
(properties '((upstream-name . "emms")))
(synopsis "Emacs Multimedia System")
(description
@ -1022,27 +1028,8 @@ (define-public emms
(license license:gpl3+)))
(define-public emacs-emms-player-mpv
(package
(name "emacs-emms-player-mpv")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dochang/emms-player-mpv/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"05qwbagc4i7yn7i94r1hdgj6wc5xijy1pxqv08pwsmli9rqj51n9"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emms" ,emms)))
(home-page "https://github.com/dochang/emms-player-mpv/")
(synopsis "Mpv support for EMMS")
(description
"This package provides an EMMS player that uses mpv. It supports pause
and seeking.")
(license license:gpl3+)))
;; A new mpv backend is included in Emms from 5.0.
(deprecated-package "emacs-emms-player-mpv" emms))
(define-public emacs-emms-mode-line-cycle
(package
@ -4494,7 +4481,7 @@ (define-public emacs-wgrep
(define-public emacs-helm
(package
(name "emacs-helm")
(version "2.9.0")
(version "2.9.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -4503,7 +4490,7 @@ (define-public emacs-helm
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is"))))
"1f7m09i8gr0gk5nw5dn7rpdz20dg3hl4p77dpygkhl82yhk9q2ql"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@ -5467,8 +5454,8 @@ (define-public emacs-helm-c-yasnippet
(license license:gpl2+))))
(define-public emacs-helm-system-packages
(let ((commit "986b7bd360a705053500c4ce2c9bea03dd7b24a6")
(revision "1"))
(let ((commit "b41f8f251695cf236e9d1627070049a5b41aa38a")
(revision "2"))
(package
(name "emacs-helm-system-packages")
(version (git-version "1.9.0" revision commit))
@ -5480,7 +5467,7 @@ (define-public emacs-helm-system-packages
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"19iklhpxgh5xx6h4dysf58nd46lmyb46xj601lf7kbwl6yq0y61f"))))
"1wrsx1j86c9a74nsdndjv21slzl46idd3p6wqy5wnasawj0kfn8r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@ -9656,31 +9643,8 @@ (define-public emacs-benchmark-init
(license license:gpl3+)))
(define-public emacs-emms-player-simple-mpv
(let ((commit "101d120ccdee1c2c213fd2f0423c858b21649c00")
(revision "1"))
(package
(name "emacs-emms-player-simple-mpv")
(version (string-append "0.4.0" "-" revision "."
(string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/momomo5717/emms-player-simple-mpv.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1i6rxkm0ra0jbkkwgkwxg3vk5xfl794h1gkgnlpscynz0v94b6ll"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-emms" ,emms)))
(home-page "https://github.com/momomo5717/emms-player-simple-mpv")
(synopsis "Extension of @file{emms-player-simple.el} for mpv JSON IPC")
(description "@code{emms-player-simple-mpv} provides macros and
functions for defining emms simple players of mpv.")
(license license:gpl3+))))
;; A new mpv backend is included in Emms from 5.0.
(deprecated-package "emacs-emms-player-simple-mpv" emms))
(define-public emacs-magit-org-todos-el
(let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
@ -11283,3 +11247,33 @@ (define-public emacs-mu4e-conversation
displayed in chronological order) or as an Org document where the node tree
maps the thread tree.")
(license license:gpl3+))))
(define-public emacs-pinentry
(let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
(revision "1"))
(package
(name "emacs-pinentry")
(version (git-version "0.1" revision commit))
(source
(origin
(method url-fetch)
(uri (string-append
"http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
"/packages/pinentry/pinentry.el?id=" commit))
(file-name (string-append "pinentry.el"))
(sha256
(base32
"1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
(build-system emacs-build-system)
(propagated-inputs
`(("gnupg" ,gnupg)))
(home-page "https://elpa.gnu.org/packages/pinentry.html")
(synopsis "GnuPG Pinentry server implementation")
(description
"This package allows GnuPG passphrase to be prompted through the
minibuffer instead of graphical dialog.
To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
server with @code{M-x pinentry-start}.")
(license license:gpl3+))))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
@ -99,7 +99,7 @@ (define-public fltk
(define-public ntk
(package
(name "ntk")
(version "1.3.0")
(version "1.3.1000")
(source (origin
(method git-fetch)
(uri (git-reference
@ -107,21 +107,20 @@ (define-public ntk
(commit (string-append "v" version))))
(sha256
(base32
"0ggrh6rihf676z1vfgpgcl6kpqwyh39ih0hskcgzklh7fphfik39"))
"0j38mhnfqy6swcrnc5zxcwlqi8b1pgklyghxk6qs1lf4japv2zc0"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:python ,python-2
#:configure-flags '("--enable-gl")
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib")))))))
(add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib"))
#t)))))
(inputs
`(("libjpeg" ,libjpeg)
("glu" ,glu)))

View file

@ -431,15 +431,19 @@ (define-public font-adobe-source-han-sans
(license license:silofl1.1)))
(define-public font-cns11643
;; Since upstream doesn't provide any version numbers, the date of the last
;; edit is used, taken from https://data.gov.tw/dataset/5961
;; XXX: The source is also updated in-place, so it may be desirable to mirror
;; it elsewhere to avoid suddenly losing the current source file.
(package
(name "font-cns11643")
(version "98.1.20170524")
(version "98.1.20180605")
(source (origin
(method url-fetch)
(uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
(sha256
(base32
"1iad6rklxkx03ji1fav9faq7cmqkci3i6pcyg2ilvh984j5qzhq3"))))
"000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw"))))
(build-system font-build-system)
(home-page "http://www.cns11643.gov.tw/AIDB/welcome.do")
(synopsis "CJK TrueType fonts, TW-Kai and TW-Sung")

View file

@ -152,7 +152,7 @@ (define-public yosys
#t))
(replace 'configure
(lambda* (#:key inputs (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" "config-gcc" make-flags))))
(apply invoke "make" "config-gcc" make-flags)))
(add-after 'configure 'prepare-abc
(lambda* (#:key inputs #:allow-other-keys)
(let* ((sourceabc (assoc-ref inputs "abc"))
@ -163,7 +163,7 @@ (define-public yosys
(lambda (port)
(format port ".PHONY: all\nall:\n\tcp -f abc abc-default\n")))
(copy-file source "abc/abc")
(zero? (system* "chmod" "+w" "abc/abc")))))
(invoke "chmod" "+w" "abc/abc"))))
(add-before 'check 'fix-iverilog-references
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let* ((xinputs (or native-inputs inputs))

View file

@ -4422,7 +4422,7 @@ (define-public open-adventure
(define-public tome4
(package
(name "tome4")
(version "1.5.5")
(version "1.5.10")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@ -4431,7 +4431,7 @@ (define-public tome4
version ".tar.bz2"))
(sha256
(base32
"0v2qgdfpvdzd1bcbp9v8pfahj1bgczsq2d4xfhh5wg11jgjcwz03"))
"0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4453,9 +4453,10 @@ (define-public tome4
(arguments
`(#:make-flags '("CC=gcc" "config=release")
#:phases (modify-phases %standard-phases
(delete 'bootstrap)
(replace 'configure
(lambda _
(zero? (system* "premake4" "gmake"))
(invoke "premake4" "gmake")
#t))
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)

View file

@ -48,7 +48,7 @@ (define-module (gnu packages gimp)
(define-public babl
(package
(name "babl")
(version "0.1.46")
(version "0.1.50")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -62,7 +62,7 @@ (define-public babl
"/babl-" version ".tar.bz2")))
(sha256
(base32
"0nwyhvfca6m35wjcccvwca7fcihzgdfyc012qi703y5d3cxl1hmv"))))
"0bavr2y4v88pip7vlca4kwmnksk2qxcvkkdp9jyfi6pzh701sb5m"))))
(build-system gnu-build-system)
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
@ -79,7 +79,7 @@ (define-public babl
(define-public gegl
(package
(name "gegl")
(version "0.4.0")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -87,7 +87,7 @@ (define-public gegl
"/" name "-" version ".tar.bz2")))
(sha256
(base32
"1ighk4z8nlqrzyj8w97s140hzj59564l3xv6fpzbr97m1zx2nkfh"))))
"13bzl0k5l12pk8bkcq4ar7wscbnw7jswhp34mwfsrf10kp0qndba"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("LDFLAGS=-lm")))
@ -117,7 +117,7 @@ (define-public gegl
(define-public gimp
(package
(name "gimp")
(version "2.10.0")
(version "2.10.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
@ -125,10 +125,10 @@ (define-public gimp
"/gimp-" version ".tar.bz2"))
(sha256
(base32
"1qkxaigbfkx26xym5nzrgfrmn97cbnhn63v1saaha2nbi3xrdk3z"))))
"1srkqd9cx1xmny7cyk3b6f14dknb3fd77whm38vlvr7grnpbmc0w"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;9 MiB of gtk-doc HTML
"doc")) ; 9 MiB of gtk-doc HTML
(arguments
'(#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")

View file

@ -4191,7 +4191,7 @@ (define-public eolie
(define-public epiphany
(package
(name "epiphany")
(version "3.28.2.1")
(version "3.28.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -4199,7 +4199,7 @@ (define-public epiphany
name "-" version ".tar.xz"))
(sha256
(base32
"0ba0qqsbg3cv1k1pcj971y7l8kqib5l7kbr743x9a7hbmkqfk95s"))))
"1xz6xl6b0iihvczyr0cs1z5ifvpai6anb4m0ng1caiph06klc1b9"))))
(build-system meson-build-system)
(arguments
@ -6312,7 +6312,7 @@ (define-public gnome-todo
(define-public gnome-dictionary
(package
(name "gnome-dictionary")
(version "3.24.0")
(version "3.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -6320,8 +6320,9 @@ (define-public gnome-dictionary
name "-" version ".tar.xz"))
(sha256
(base32
"1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
(build-system glib-or-gtk-build-system)
"007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
(build-system meson-build-system)
(arguments '(#:glib-or-gtk? #t))
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
@ -7301,9 +7302,10 @@ (define-public workrave
("gobject-introspection" ,gobject-introspection)
("python2" ,python-2)))
(synopsis "Tool to help prevent repetitive strain injury (RSI)")
(description "Workrave is a program that assists in the recovery and
prevention of repetitive strain injury (RSI). The program frequently alerts
you to take micro-pauses, rest breaks and restricts you to your daily limit")
(description
"Workrave is a program that assists in the recovery and prevention of
repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
micro-pauses and rest breaks, and restricts you to your daily limit.")
(home-page "http://www.workrave.org")
(license license:gpl3+))))

View file

@ -78,7 +78,8 @@ (define-public go-1.4
(delete 'configure)
(add-after 'patch-generated-file-shebangs 'chdir
(lambda _
(chdir "src")))
(chdir "src")
#t))
(add-before 'build 'prebuild
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
@ -160,7 +161,7 @@ (define-public go-1.4
;; Go 1.4's cgo will not work with binutils >= 2.27:
;; https://github.com/golang/go/issues/16906
(setenv "CGO_ENABLED" "0")
(zero? (system* "sh" "all.bash")))))
(invoke "sh" "all.bash"))))
(replace 'install
(lambda* (#:key outputs inputs #:allow-other-keys)
@ -343,7 +344,7 @@ (define-public go-1.9
(setenv "GOROOT" (dirname (getcwd)))
(setenv "GOROOT_FINAL" output)
(setenv "CGO_ENABLED" "1")
(zero? (system* "sh" "all.bash")))))
(invoke "sh" "all.bash"))))
(replace 'install
;; TODO: Most of this could be factorized with Go 1.4.
@ -374,7 +375,8 @@ (define-public go-1.9
'("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
"LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
(copy-recursively "../" output))))))))
(copy-recursively "../" output)
#t)))))))
(native-inputs
`(("go" ,go-1.4)
,@(package-native-inputs go-1.4)))

View file

@ -193,7 +193,7 @@ (define-public gpxsee
;; Use lrelease to convert TS translation files into QM files.
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each (lambda (file)
(system* "lrelease" file))
(invoke "lrelease" file))
(find-files "lang" "\\.ts"))
(substitute* "src/config.h"
(("/usr/share/gpxsee")

View file

@ -8,7 +8,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
@ -285,7 +285,7 @@ (define-public ganv
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/ganv-"
(uri (string-append "https://download.drobilla.net/ganv-"
version ".tar.bz2"))
(sha256
(base32
@ -310,7 +310,7 @@ (define-public ganv
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/ganv/")
(home-page "https://drobilla.net/software/ganv/")
(synopsis "GTK+ widget for interactive graph-like environments")
(description
"Ganv is an interactive GTK+ widget for interactive boxes and lines or
@ -329,7 +329,7 @@ (define-public ganv-devel
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://git.drobilla.net/ganv.git")
(url "https://git.drobilla.net/ganv.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@ -1411,7 +1411,7 @@ (define-public girara
(define-public gtk-doc
(package
(name "gtk-doc")
(version "1.25")
(version "1.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1419,12 +1419,30 @@ (define-public gtk-doc
name "-" version ".tar.xz"))
(sha256
(base32
"0hpxcij9xx9ny3gs9p0iz4r8zslw8wqymbyababiyl7603a6x90y"))))
"0vwsdl61nvnmqswlz5j9m4hg7qirhazwcikcnqf9nx0c13vx6sz2"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-gtk-doc-scan
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gtk-doc.xsl"
(("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl")
(string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
"/html/chunk.xsl")))
#t))
(add-after 'patch-gtk-doc-scan 'patch-test-out
(lambda _
;; sanity.sh counts the number of status lines. Since our
;; texlive regenerates the fonts every time and the font
;; generator metafont outputs a lot of extra lines, this
;; test would always fail. Disable it for now.
(substitute* "tests/Makefile.in"
(("empty.sh sanity.sh") "empty.sh"))
#t))
(add-before 'build 'set-HOME
(lambda _
;; FIXME: dblatex with texlive-union does not find the built
@ -1445,7 +1463,15 @@ (define-public gtk-doc
(string-append (car (find-files (assoc-ref inputs "docbook-xsl")
"^catalog.xml$"))
" \"http://docbook.sourceforge.net/release/xsl/")))
#t)))
#t))
(add-after 'install 'wrap-executables
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (prog)
(wrap-program prog
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))))
(find-files (string-append out "/bin")))
#t))))
#:configure-flags
(list (string-append "--with-xml-catalog="
(assoc-ref %build-inputs "docbook-xml")
@ -1464,7 +1490,8 @@ (define-public gtk-doc
("docbook-xml" ,docbook-xml-4.3)
("docbook-xsl" ,docbook-xsl)
("source-highlight" ,source-highlight)
("glib" ,glib)))
("glib" ,glib)
("python-six" ,python-six)))
(home-page "http://www.gtk.org/gtk-doc/")
(synopsis "Documentation generator from C source code")
(description

View file

@ -2117,8 +2117,8 @@ (define-public guile-colorized
(license license:gpl3+)))
(define-public guile-simple-zmq
(let ((commit "d76657aeb1cd10ef8136edc06bb90999914c7c3c")
(revision "0"))
(let ((commit "1f3b7c0b9b249c6fde8e8a632b252d8a1b794424")
(revision "1"))
(package
(name "guile-simple-zmq")
(version (git-version "0.0.0" revision commit))
@ -2130,7 +2130,7 @@ (define-public guile-simple-zmq
(commit commit)))
(sha256
(base32
"1w73dy5gpyv33jn34dqlkqpwh9w4y8wm6hgvbpb3wbp6xsa2mk4z"))
"0nj2pd5bsmmgd3c54wh4sixfhmsv1arsq7yam2d7487h3n9q57r7"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
@ -2195,9 +2195,10 @@ (define-public guile-simple-zmq
file go-file)))))
(list scm-file))
#t))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
`(("guile" ,guile-2.2)
("zeromq" ,zeromq)))
`(("zeromq" ,zeromq)))
(home-page "https://github.com/jerry40/guile-simple-zmq")
(synopsis "Guile wrapper over ZeroMQ library")
(description

View file

@ -133,12 +133,11 @@ (define-public irssi
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-proxy")
(string-append "--with-socks")
(string-append "--with-bot")))))))))
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-proxy")
(string-append "--with-socks")
(string-append "--with-bot"))))))))
(inputs
`(("glib" ,glib)
("ncurses" ,ncurses)
@ -405,21 +404,20 @@ (define-public epic5
'())
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
"--with-ipv6" "--with-libarchive"
;; We use libressl because openssl does not come
;; with the lib/libssl.a which is needed for epic5.
;; XXX: No matter which implementation is chosen,
;; epic5 fails to connect to tls ports of roundrobin
;; irc networks. This however is believed to be an
;; protocol issue at epic5 related to ircd.
(string-append "--with-ssl="
(assoc-ref %build-inputs "libressl"))
(string-append "--with-tcl="
(assoc-ref %build-inputs "tcl")
"/lib/tclConfig.sh")))))))))
(invoke "./configure"
(string-append "--prefix=" out)
"--with-ipv6" "--with-libarchive"
;; We use libressl because openssl does not come
;; with the lib/libssl.a which is needed for epic5.
;; XXX: No matter which implementation is chosen,
;; epic5 fails to connect to tls ports of roundrobin
;; irc networks. This however is believed to be an
;; protocol issue at epic5 related to ircd.
(string-append "--with-ssl="
(assoc-ref %build-inputs "libressl"))
(string-append "--with-tcl="
(assoc-ref %build-inputs "tcl")
"/lib/tclConfig.sh"))))))))
(inputs
`(("libressl" ,libressl)
("ncurses" ,ncurses)

View file

@ -4091,7 +4091,9 @@ (define-public java-commons-collections
"commons-collections-" version "-src.tar.gz"))
(sha256
(base32
"055r51a5lfc3z7rkxnxmnn1npvkvda7636hjpm4qk7cnfzz98387"))))
"055r51a5lfc3z7rkxnxmnn1npvkvda7636hjpm4qk7cnfzz98387"))
(patches
(search-patches "java-commons-collections-fix-java8.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments java-commons-collections4)
((#:phases phases)
@ -7059,22 +7061,52 @@ (define-public java-aqute-libg
(name "java-aqute-libg")
(arguments
`(#:jar-name "java-aqute-libg.jar"
#:source-dir "aQute.libg/src"
#:tests? #f)); FIXME: tests are in "aQute.libg/test", not in a java directory
;; The build fails when source/target more recent than 1.7. This
;; is a known issue. See: https://github.com/bndtools/bnd/issues/1327
;;
;; It is closed as won't fix. There is no way to change the source
;; so that it works on 1.8, and still works on 1.6, the upstream
;; target. It work fine on 1.7, so we use 1.7.
#:make-flags (list "-Dant.build.javac.source=1.7"
"-Dant.build.javac.target=1.7")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
;; Change to aQute.libg directory, so that the relative
;; paths in the tests aren't broken.
(lambda _
(chdir "aQute.libg")
#t))
(add-before 'check 'create-test-directory
;; Copy the test directory to test/java, since that's where
;; ant-build-system's default project in build.xml expects to find
;; the test classes. Leave a copy in the original place to not
;; break paths in tests.
(lambda _
(mkdir "src/test")
(copy-recursively "test" "src/test/java")
#t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
("osgi-annot" ,java-osgi-annotation)
("java-osgi-cmpn" ,java-osgi-cmpn)
("osgi" ,java-osgi-core)))))
("osgi" ,java-osgi-core)))
(native-inputs
`(("hamcrest" ,java-hamcrest-core)
("java-junit" ,java-junit)))))
(define java-aqute-libg-bootstrap
(package
(inherit java-aqute-libg)
(name "java-aqute-libg-bootstrap")
(arguments
;; Disable tests, at this stage of bootstrap we have no test frameworks.
`(#:tests? #f))
(inputs
`(("slf4j-bootstrap" ,java-slf4j-api-bootstrap)
,@(delete `("slf4j" ,java-slf4j-api)
(package-inputs java-aqute-libg))))))
(package-inputs java-aqute-libg))))
(native-inputs '())))
(define-public java-aqute-bndlib
(package

View file

@ -50,6 +50,7 @@ (define-module (gnu packages linux)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
@ -410,8 +411,8 @@ (define-public linux-libre
%linux-compatible-systems
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.50")
(define %linux-libre-4.14-hash "19k7s33dyykm2vh1zpxxh3qrbjcx2p2md2r8s8z5mbv8yaldgvmj")
(define %linux-libre-4.14-version "4.14.51")
(define %linux-libre-4.14-hash "1ifczslgp3ng0948l5p0khcnfkv9i44mq0bzk1y8mwdhy4mik0b9")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -1060,7 +1061,7 @@ (define-public alsa-plugins
;; TODO: Remove OSS related plugins, they add support to run native
;; ALSA applications on OSS however we do not offer OSS and OSS is
;; obsolete.
(outputs '("out" "pulseaudio"))
(outputs '("out" "pulseaudio" "jack"))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1068,9 +1069,17 @@ (define-public alsa-plugins
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Distribute the binaries to the various outputs.
(let* ((out (assoc-ref outputs "out"))
(jack (assoc-ref outputs "jack"))
(jacklib (string-append jack "/lib/alsa-lib"))
(pua (assoc-ref outputs "pulseaudio"))
(pualib (string-append pua "/lib/alsa-lib"))
(puaconf (string-append pua "/share/alsa/alsa.conf.d")))
;; For jack.
(mkdir-p jacklib)
(for-each (lambda (file)
(rename-file file (string-append jacklib "/" (basename file))))
(find-files out ".*jack\\.(la|so)"))
;; For pluseaudio.
(mkdir-p puaconf)
(mkdir-p pualib)
(chdir (string-append out "/share"))
@ -1087,6 +1096,7 @@ (define-public alsa-plugins
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("speex" ,speex) ; libspeexdsp resampling plugin
("libsamplerate" ,libsamplerate) ; libsamplerate resampling plugin
("ffmpeg" ,ffmpeg) ; libavcodec resampling plugin, a52 plugin
@ -3929,7 +3939,7 @@ (define-public radeontop
(define-public efivar
(package
(name "efivar")
(version "36")
(version "35")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhinstaller/" name
@ -3937,7 +3947,7 @@ (define-public efivar
"-" version ".tar.bz2"))
(sha256
(base32
"0cqdikspdmj7imc646q0k7hhw10r8spxa22zm1w0ji49131crgwl"))))
"153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.

View file

@ -944,18 +944,19 @@ (define-public sbcl-cl-ppcre-unicode
(define-public sbcl-stumpwm
(package
(name "sbcl-stumpwm")
(version "1.0.0")
(version "18.05")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/stumpwm/stumpwm/archive/"
version ".tar.gz"))
(sha256
(base32 "1maxp98gh64az3d9vz9br6zdd6rc9fmj2imvax4by85g6kxvdz1i"))
(base32 "1n2gaab3lwgf5r1hmwdcw13dkv9xdd7drn2shx28kfxvhdc9kbb9"))
(file-name (string-append "stumpwm-" version ".tar.gz"))))
(build-system asdf-build-system/sbcl)
(inputs `(("cl-ppcre" ,sbcl-cl-ppcre)
("clx" ,sbcl-clx)))
("clx" ,sbcl-clx)
("alexandria" ,sbcl-alexandria)))
(outputs '("out" "lib"))
(arguments
'(#:phases

View file

@ -86,7 +86,7 @@ (define-public glog
;; mismatch, so run the whole thing.
(delete-file "test-driver")
(delete-file "configure") ;it's read-only
(zero? (system* "autoreconf" "-vfi"))))
(invoke "autoreconf" "-vfi")))
(add-before 'check 'disable-signal-tests
(lambda _
;; See e.g. https://github.com/google/glog/issues/219

View file

@ -517,7 +517,7 @@ (define-public offlineimap
(substitute* "docs/Makefile"
;; Prevent xmllint and xsltproc from downloading a DTD file.
(("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
(zero? (system* "make" "-C" "docs" "man"))))
(invoke "make" "-C" "docs" "man")))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -795,12 +795,10 @@ (define-public notmuch
(elisp
(string-append out "/share/emacs/site-lisp/guix.d/"
,name "-" ,version)))
(zero?
(system*
"./configure"
(string-append "--prefix=" out)
(string-append "--emacslispdir=" elisp)
(string-append "--emacsetcdir=" elisp))))))
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--emacslispdir=" elisp)
(string-append "--emacsetcdir=" elisp)))))
(add-before 'check 'prepare-test-environment
(lambda _
(setenv "TEST_CC" "gcc")
@ -977,7 +975,7 @@ (define-public libetpan
(add-after 'unpack 'autogen
(lambda _
(setenv "NOCONFIGURE" "true")
(zero? (system* "sh" "autogen.sh")))))
(invoke "sh" "autogen.sh"))))
#:configure-flags
'("--disable-static" "--disable-db")))
(home-page "http://www.etpan.org/libetpan.html")
@ -1273,7 +1271,9 @@ (define-public dovecot-trees
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0rkk10b1bsjz979sc864vpgcdchy7yxwmyv4ik50lar1h6awdnrf"))))
"0rkk10b1bsjz979sc864vpgcdchy7yxwmyv4ik50lar1h6awdnrf"))
(patches
(search-patches "dovecot-trees-support-dovecot-2.3.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
@ -1292,7 +1292,7 @@ (define-public dovecot-trees
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
(home-page "https://0xacab.org/riseuplabs/trees")
(synopsis "NaCL-based Dovecot email storage encryption plugin")
(description
@ -1348,7 +1348,7 @@ (define-public dovecot-libsodium-plugin
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
(home-page "https://github.com/LuckyFellow/dovecot-libsodium-plugin")
(synopsis "Libsodium password hashing schemes plugin for Dovecot")
(description
@ -1955,14 +1955,15 @@ (define-public sendmail
define(`confINSTALL', `~a/devtools/bin/install.sh')
define(`confDEPEND_TYPE', `CC-M')
define(`confINST_DEP', `')
" (getcwd))))))
" (getcwd))))
#t))
(replace 'build
(lambda _
(and (zero? (system* "sh" "Build"))
(with-directory-excursion "cf/cf"
(begin
(copy-file "generic-linux.mc" "sendmail.mc")
(zero? (system* "sh" "Build" "sendmail.cf")))))))
(invoke "sh" "Build")
(with-directory-excursion "cf/cf"
(copy-file "generic-linux.mc" "sendmail.mc")
(invoke "sh" "Build" "sendmail.cf"))
#t))
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
@ -1971,7 +1972,8 @@ (define-public sendmail
(mkdir-p (string-append out "/etc/mail"))
(setenv "DESTDIR" out)
(with-directory-excursion "cf/cf"
(zero? (system* "sh" "Build" "install-cf")))))))
(invoke "sh" "Build" "install-cf"))
#t))))
;; There is no make check. There are some post installation tests, but those
;; require root privileges
#:tests? #f))
@ -2223,12 +2225,10 @@ (define-public python2-django-mailman3
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero?
(system*
"django-admin"
"test"
"--settings=django_mailman3.tests.settings_test"
"django_mailman3")))))
(invoke "django-admin"
"test"
"--settings=django_mailman3.tests.settings_test"
"django_mailman3"))))
#:python ,python-2))
(inputs
`(("python2-django" ,python2-django)))

View file

@ -23,6 +23,7 @@ (define-module (gnu packages maven)
#:use-module (guix utils)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)
#:use-module (gnu packages web)
@ -1079,6 +1080,18 @@ (define maven-core-bootstrap
(mkdir-p "build/classes/")
(copy-recursively "src/main/resources" "build/classes")
#t))
(add-after 'copy-resources 'fill-properties
(lambda _
;; This file controls the output of some mvn subcommands, such as
;; mvn -version.
(substitute* "build/classes/org/apache/maven/messages/build.properties"
(("\\$\\{buildNumber\\}") "guix_build")
(("\\$\\{timestamp\\}") "0")
(("\\$\\{project.version\\}") ,(package-version maven-artifact))
(("\\$\\{distributionId\\}") "apache-maven")
(("\\$\\{distributionShortName\\}") "Maven")
(("\\$\\{distributionName\\}") "Apache Maven"))
#t))
(add-before 'build 'generate-sisu-named
(lambda _
(mkdir-p "build/classes/META-INF/sisu")
@ -1502,6 +1515,9 @@ (define-public maven
("java-slf4j-api" ,java-slf4j-api)
;; TODO: replace with maven-slf4j-provider
("java-slf4j-simple" ,java-slf4j-simple)))
(propagated-inputs
`(("coreutils" ,coreutils)
("which" ,which)))
(description "Apache Maven is a software project management and comprehension
tool. Based on the concept of a project object model: builds, dependency
management, documentation creation, site publication, and distribution

View file

@ -16,6 +16,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,10 +42,12 @@ (define-module (gnu packages music)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system waf)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apr)
@ -554,14 +557,14 @@ (define-public extempore
(name "extempore")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/digego/extempore/archive/"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/digego/extempore.git")
(commit version)))
(sha256
(base32
"1wap1mvsicrhlazikf7l8zxg37fir8bmnh9rin28m1rix730vcch"))
(file-name (string-append name "-" version ".tar.gz"))))
"12fsp7zkfxb9kykwq46l88kcbbici9arczrrsl4qn87m6vm5349l"))
(file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(arguments
`(;; The default target also includes ahead-of-time compilation of the
@ -918,8 +921,8 @@ (define-public lilypond
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.
(let ((commit "10c31e57291b6e42be53371567a722b62b32d220")
(revision "3"))
(let ((commit "5ae43bb27c42387052a73e5ffc5d33efb9d946a9")
(revision "4"))
(package
(name "non-sequencer")
(version (string-append "1.9.5-" revision "." (string-take commit 7)))
@ -930,7 +933,7 @@ (define-public non-sequencer
(commit commit)))
(sha256
(base32
"080rha4ffp7qycyg1mqcf4vj0s7z8qfvz6bxm0w29xgg2kkmb3fx"))
"1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
@ -3196,7 +3199,7 @@ (define-public ingen
(origin
(method git-fetch)
(uri (git-reference
(url "http://git.drobilla.net/ingen.git")
(url "https://git.drobilla.net/ingen.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
@ -3257,7 +3260,7 @@ (define-public ingen
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pygments" ,python-pygments)))
(home-page "http://drobilla.net/software/ingen")
(home-page "https://drobilla.net/software/ingen")
(synopsis "Modular audio processing system")
(description "Ingen is a modular audio processing system for JACK and
LV2 based systems. Ingen is built around LV2 technology and a strict
@ -3781,32 +3784,43 @@ (define-public rosegarden
(license license:gpl2)))
(define-public patchmatrix
(package
(name "patchmatrix")
(version "0.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
(commit version)))
(file-name (string-append "patchmatrix-" version "-checkout"))
(sha256
(base32
"19ivp7h5vq6r1qhmycjxzvrgg7fc4a3v5vb3n4c7afs4z3pj53zi"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test target
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
("mesa" ,mesa)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/OpenMusicKontrollers/patchmatrix")
(synopsis "Simple JACK patch bay")
(description "PatchMatrix is a patch bay for the JACK audio connection
;; There have been no releases for more than a year.
(let ((commit "a0b0b1e791f4574d5abd059cfe1819c71e8b18d5")
(revision "1"))
(package
(name "patchmatrix")
(version (git-version "0.12.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
(commit commit)))
(file-name (string-append "patchmatrix-" version "-checkout"))
(sha256
(base32
"0pph4ra7aci3rbpqvvr564pi16vxrk448bmvp8985cd9lbjlrp3m"))))
(build-system meson-build-system)
(arguments
'(#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map make-file-writable
(find-files (assoc-ref outputs "out") ".*\\.gz$"))
#t)))))
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
("mesa" ,mesa)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/OpenMusicKontrollers/patchmatrix")
(synopsis "Simple JACK patch bay")
(description "PatchMatrix is a patch bay for the JACK audio connection
kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and
OSC connections.")
(license license:artistic2.0)))
(license license:artistic2.0))))
(define-public sorcer
(package
@ -4004,3 +4018,70 @@ (define-public libmusicbrainz
mb_client, is a development library geared towards developers who wish to add
MusicBrainz lookup capabilities to their applications.")
(license license:lgpl2.1+)))
(define-public clyrics
(package
(name "clyrics")
(version "0.10")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/trizen/clyrics/archive/"
version ".tar.gz"))
(sha256
(base32
"1l0cg26afnjv8cgk0jbiavbyvq55q1djyigzmi526rpcjjwq9jwn"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system trivial-build-system)
(native-inputs `(("tar" ,tar)
("gzip" ,gzip)))
(inputs
`(("bash" ,bash) ;for the wrapped program
("perl" ,perl)
("perl-www-mechanize" ,perl-www-mechanize)
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
;; Required or else LWP will fail with "GET https://www.google.com/ ==>
;; 500 Can't verify SSL peers without knowing which Certificate
;; Authorities to trust".
("perl-mozilla-ca" ,perl-mozilla-ca)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(ice-9 match)
(srfi srfi-26))
(let* ((source (assoc-ref %build-inputs "source"))
(tar (assoc-ref %build-inputs "tar"))
(gzip (assoc-ref %build-inputs "gzip"))
(output (assoc-ref %outputs "out")))
(setenv "PATH"
(string-append
(assoc-ref %build-inputs "gzip") "/bin" ":"
(assoc-ref %build-inputs "bash") "/bin" ":"
(assoc-ref %build-inputs "perl") "/bin" ":"))
(invoke (string-append tar "/bin/tar") "xvf"
source)
(chdir ,(string-append "clyrics-" version))
(patch-shebang "clyrics")
(substitute* "clyrics"
(("/usr/share") output))
(install-file "clyrics" (string-append output "/bin"))
(wrap-program (string-append output "/bin/clyrics")
`("PERL5LIB" ":" =
,(delete
""
(map (match-lambda
(((? (cut string-prefix? "perl-" <>) name) . dir)
(string-append dir "/lib/perl5/site_perl"))
(_ ""))
%build-inputs))))
(copy-recursively "plugins" (string-append output "/clyrics"))
#t))))
(home-page "https://github.com/trizen/clyrics")
(synopsis "Extensible lyrics fetcher")
(description
"Clyrics is an extensible command-line tool to fetch the lyrics of songs.
It can be used in daemon mode along with the Music-on-Console (MOC) and cmus
console music players.")
(license license:gpl3+)))

View file

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -46,7 +47,7 @@ (define-public node
(version "9.11.1")
(source (origin
(method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
@ -64,7 +65,7 @@ (define-public node
"deps/uv"
"deps/zlib"))
(substitute* "Makefile"
;; Remove references to bundled software
;; Remove references to bundled software.
(("deps/http_parser/http_parser.gyp") "")
(("deps/uv/include/\\*.h") "")
(("deps/uv/uv.gyp") "")
@ -138,10 +139,10 @@ (define-public node
;; Node's configure script expects the CC environment variable to
;; be set.
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
(zero? (apply system*
(string-append (assoc-ref inputs "python")
"/bin/python")
"configure" flags)))))
(apply invoke
(string-append (assoc-ref inputs "python")
"/bin/python")
"configure" flags))))
(add-after 'patch-shebangs 'patch-npm-shebang
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bindir (string-append (assoc-ref outputs "out")
@ -176,6 +177,6 @@ (define-public node
event-driven, non-blocking I/O model that makes it lightweight and efficient,
perfect for data-intensive real-time applications that run across distributed
devices.")
(home-page "http://nodejs.org/")
(home-page "https://nodejs.org/")
(license expat)
(properties '((timeout . 3600))))) ; 1 h

120
gnu/packages/opencl.scm Normal file
View file

@ -0,0 +1,120 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages opencl)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages python))
;; This file adds OpenCL implementation related packages. Due to the fact that
;; OpenCL devices are not available during build (store environment), tests are
;; all disabled.
;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html
(define (make-opencl-headers major-version subversion)
(let ((commit "e986688daf750633898dfd3994e14a9e618f2aa5")
(revision "0"))
(package
(name "opencl-headers")
(version (git-version
(string-append major-version "." subversion ".0")
revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/OpenCL-Headers.git")
(commit commit)))
(file-name (string-append name "-" commit))
(sha256
(base32
"176ydpbyws5nr4av6hf8p41pkhc0rc4m4vrah9w6gp2fw2i32838"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively (string-append "./opencl" (string-append
,major-version
,subversion) "/CL")
(string-append
(assoc-ref outputs "out")
"/include/CL")))))))
(synopsis "The Khronos OpenCL headers")
(description
"This package provides the C headers by Khronos for OpenCL
programming.")
(home-page "https://www.khronos.org/registry/OpenCL/")
(license license:expat))))
(define-public opencl-headers-2.2
(make-opencl-headers "2" "2"))
(define-public opencl-headers-2.1
(make-opencl-headers "2" "1"))
(define-public opencl-headers-2.0
(make-opencl-headers "2" "0"))
(define-public opencl-headers-1.2
(make-opencl-headers "1" "2"))
(define-public opencl-headers-1.1
(make-opencl-headers "1" "1"))
(define-public opencl-headers-1.0
(make-opencl-headers "1" "0"))
(define-public opencl-headers opencl-headers-2.2)
(define-public opencl-clhpp
(package
(name "opencl-clhpp")
(version "2.0.10")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v"
version ".tar.gz"))
(sha256
(base32
"0awg6yznbz3h285kmnd47fykx2qa34a07sr4x1657yn3jmi4a9zs"))
(file-name (string-append name "-" version ".tar.gz"))))
(native-inputs
`(("python" ,python-wrapper)))
(propagated-inputs
`(("opencl-headers" ,opencl-headers)))
(arguments
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list
"-DBUILD_EXAMPLES=OFF"
"-DBUILD_TESTS=OFF"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")
"/include")))
;; regression tests requires a lot more dependencies
#:tests? #f))
(build-system cmake-build-system)
(home-page "http://github.khronos.org/OpenCL-CLHPP/")
(synopsis "Khronos OpenCL-CLHPP")
(description
"This package provides the @dfn{host API} C++ headers for OpenCL.")
(license license:expat)))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -47,7 +48,7 @@ (define-module (gnu packages parallel)
(define-public parallel
(package
(name "parallel")
(version "20180522")
(version "20180622")
(source
(origin
(method url-fetch)
@ -55,7 +56,7 @@ (define-public parallel
version ".tar.bz2"))
(sha256
(base32
"1khcz9pm7rjnq4gw8pn30k1d40x337a204dxj4y4qijpx8m7w0gb"))))
"1n91dnnl8d8pman20hr03l9qrpc9wm5hw32ph45xjs0bgp1nmk7j"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -68,13 +69,20 @@ (define-public parallel
;; Patch hard coded '/bin/sh' in the lin ending in:
;; $Global::shell = $ENV{'PARALLEL_SHELL'} ||
;; parent_shell($$) || $ENV{'SHELL'} || "/bin/sh";
(("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n"))
;; Patch call to 'ps' and 'perl' commands.
((" ps ") (string-append " " (which "ps") " "))
((" perl -") (string-append " " (which "perl") " -"))))
(("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n"))))
(list "src/parallel" "src/sem"))
#t))
(add-after 'install 'post-install-test
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/parallel")
`("PATH" ":" prefix
,(map (lambda (input)
(string-append (assoc-ref inputs input) "/bin"))
'("perl"
"procps"))))
#t)))
(add-after 'wrap-program 'post-install-test
(lambda* (#:key outputs #:allow-other-keys)
(invoke (string-append
(assoc-ref outputs "out") "/bin/parallel")

View file

@ -0,0 +1,60 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Mon, 25 Jun 2018 00:34:52 +0200
Subject: dovecot-trees: Fix build with dovecot 2.3.
The following patch was taken verbatim from the upstream repository[0]
and will be included in the next release.
[0]: https://0xacab.org/riseuplabs/trees/commit/e136c32a044701d68b0235b8405357c5fca62a11
---
From e136c32a044701d68b0235b8405357c5fca62a11 Mon Sep 17 00:00:00 2001
From: David Goulet <dgoulet@ev0ke.net>
Date: Tue, 10 Apr 2018 13:48:01 -0400
Subject: [PATCH] Support dovecot 2.3
Untested but it builds now properly. Thanks to "smorks" for the report!
Fixes #16
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
---
src/trees-istream.c | 4 ++++
src/trees-ostream.c | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/src/trees-istream.c b/src/trees-istream.c
index b08ff16..e94be7d 100644
--- a/src/trees-istream.c
+++ b/src/trees-istream.c
@@ -431,5 +431,9 @@ trees_istream_create(struct istream *input,
sstream->out_byte_count = 0;
#endif
+#if DOVECOT_PREREQ(2, 3)
+ return i_stream_create(&sstream->istream, input, i_stream_get_fd(input), 0);
+#else
return i_stream_create(&sstream->istream, input, i_stream_get_fd(input));
+#endif /* DOVECOT_PREREQ */
}
diff --git a/src/trees-ostream.c b/src/trees-ostream.c
index 1b25a91..0cb7867 100644
--- a/src/trees-ostream.c
+++ b/src/trees-ostream.c
@@ -174,7 +174,14 @@ trees_ostream_sendv(struct ostream_private *stream,
static int
trees_ostream_flush(struct ostream_private *stream)
{
+ /* This is pretty ugly but unfortunately between 2.2 and 2.3, Dovecot changed
+ * the expected value to be non zero in 2.3+ . */
+#if DOVECOT_PREREQ(2, 3)
+ ssize_t result = 1;
+#else
ssize_t result = 0;
+#endif /* DOVECOT_PREREQ */
+
struct trees_ostream *sstream = (struct trees_ostream *) stream;
if (sstream->flushed) {
--
2.17.1

View file

@ -0,0 +1,299 @@
From e760d181abd20ecb98654af63faec7b2a4d61189 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Mon, 25 Jun 2018 15:02:25 +0200
Subject: [PATCH] Rename removes in maps to fix java8.
* src/java/org/apache/commons/collections/MultiHashMap.java:
Rename "V MultiHashMap#remove(K, V)"
to "boolean MulitHashMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/MultiMap.java:
Rename "V MultiMap#remove(K, V)"
to "boolean MultiMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/map/MultiKeyMap.java:
Rename "V MultiKeyMap#remove(...)"
to "V MultiKeyMap#removeMultiKey(...)".
* src/java/org/apache/commons/collections/map/MultiValueMap.java:
Rename "V MultiValueMap#remove(K, V)"
to "boolean MultiValueMap#removeMapping(K, V)".
* src/test/org/apache/commons/collections/TestMultiHashMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiKeyMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiValueMap.java:
Adjust accordingly.
---
.../commons/collections/MultiHashMap.java | 8 ++++----
.../apache/commons/collections/MultiMap.java | 2 +-
.../commons/collections/map/MultiKeyMap.java | 8 ++++----
.../commons/collections/map/MultiValueMap.java | 8 ++++----
.../commons/collections/TestMultiHashMap.java | 16 ++++++++--------
.../collections/map/TestMultiKeyMap.java | 16 ++++++++--------
.../collections/map/TestMultiValueMap.java | 18 +++++++++---------
7 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/src/java/org/apache/commons/collections/MultiHashMap.java b/src/java/org/apache/commons/collections/MultiHashMap.java
index 7fec9af..482ecbd 100644
--- a/src/java/org/apache/commons/collections/MultiHashMap.java
+++ b/src/java/org/apache/commons/collections/MultiHashMap.java
@@ -331,21 +331,21 @@ public class MultiHashMap extends HashMap implements MultiMap {
* @param item the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object item) {
+ public boolean removeMapping(Object key, Object item) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
- return null;
+ return false;
}
boolean removed = valuesForKey.remove(item);
if (removed == false) {
- return null;
+ return false;
}
// remove the list if it is now empty
// (saves space, and allows equals to work)
if (valuesForKey.isEmpty()){
remove(key);
}
- return item;
+ return true;
}
/**
diff --git a/src/java/org/apache/commons/collections/MultiMap.java b/src/java/org/apache/commons/collections/MultiMap.java
index be9455b..fe54234 100644
--- a/src/java/org/apache/commons/collections/MultiMap.java
+++ b/src/java/org/apache/commons/collections/MultiMap.java
@@ -66,7 +66,7 @@ public interface MultiMap extends Map {
* @throws ClassCastException if the key or value is of an invalid type
* @throws NullPointerException if the key or value is null and null is invalid
*/
- public Object remove(Object key, Object item);
+ public boolean removeMapping(Object key, Object item);
//-----------------------------------------------------------------------
/**
diff --git a/src/java/org/apache/commons/collections/map/MultiKeyMap.java b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
index 9e3e02d..0b99b65 100644
--- a/src/java/org/apache/commons/collections/map/MultiKeyMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
@@ -197,7 +197,7 @@ public class MultiKeyMap
* @param key2 the second key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2) {
+ public Object removeMultiKey(Object key1, Object key2) {
int hashCode = hash(key1, key2);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -327,7 +327,7 @@ public class MultiKeyMap
* @param key3 the third key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3) {
int hashCode = hash(key1, key2, key3);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -467,7 +467,7 @@ public class MultiKeyMap
* @param key4 the fourth key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3, Object key4) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4) {
int hashCode = hash(key1, key2, key3, key4);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
@@ -617,7 +617,7 @@ public class MultiKeyMap
* @param key5 the fifth key
* @return the value mapped to the removed key, null if key not in map
*/
- public Object remove(Object key1, Object key2, Object key3, Object key4, Object key5) {
+ public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4, Object key5) {
int hashCode = hash(key1, key2, key3, key4, key5);
int index = map.hashIndex(hashCode, map.data.length);
AbstractHashedMap.HashEntry entry = map.data[index];
diff --git a/src/java/org/apache/commons/collections/map/MultiValueMap.java b/src/java/org/apache/commons/collections/map/MultiValueMap.java
index f44999b..86eaeb0 100644
--- a/src/java/org/apache/commons/collections/map/MultiValueMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiValueMap.java
@@ -153,19 +153,19 @@ public class MultiValueMap extends AbstractMapDecorator implements MultiMap {
* @param value the value to remove
* @return the value removed (which was passed in), null if nothing removed
*/
- public Object remove(Object key, Object value) {
+ public boolean removeMapping(Object key, Object value) {
Collection valuesForKey = getCollection(key);
if (valuesForKey == null) {
- return null;
+ return false;
}
boolean removed = valuesForKey.remove(value);
if (removed == false) {
- return null;
+ return false;
}
if (valuesForKey.isEmpty()) {
remove(key);
}
- return value;
+ return true;
}
/**
diff --git a/src/test/org/apache/commons/collections/TestMultiHashMap.java b/src/test/org/apache/commons/collections/TestMultiHashMap.java
index eca833a..a1de943 100644
--- a/src/test/org/apache/commons/collections/TestMultiHashMap.java
+++ b/src/test/org/apache/commons/collections/TestMultiHashMap.java
@@ -217,7 +217,7 @@ public class TestMultiHashMap extends AbstractTestMap {
MultiHashMap one = new MultiHashMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiHashMap two = new MultiHashMap();
assertEquals(two, one);
@@ -269,7 +269,7 @@ public class TestMultiHashMap extends AbstractTestMap {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -292,7 +292,7 @@ public class TestMultiHashMap extends AbstractTestMap {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -464,11 +464,11 @@ public class TestMultiHashMap extends AbstractTestMap {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(false, map.removeMapping("C", "CA"));
+ assertEquals(false, map.removeMapping("A", "AD"));
+ assertEquals(true, map.removeMapping("A", "AC"));
+ assertEquals(true, map.removeMapping("A", "AB"));
+ assertEquals(true, map.removeMapping("A", "AA"));
assertEquals(new MultiHashMap(), map);
}
diff --git a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
index b1ee3d0..b18f480 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
@@ -315,34 +315,34 @@ public class TestMultiKeyMap extends AbstractTestIterableMap {
switch (key.size()) {
case 2:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
break;
case 3:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
break;
case 4:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
break;
case 5:
assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
- assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+ assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(size - 1, multimap.size());
- assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+ assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
break;
default:
diff --git a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
index b9a5ac8..9ecc269 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
@@ -161,7 +161,7 @@ public class TestMultiValueMap extends TestCase {
MultiValueMap one = new MultiValueMap();
Integer value = new Integer(1);
one.put("One", value);
- one.remove("One", value);
+ one.removeMapping("One", value);
MultiValueMap two = new MultiValueMap();
assertEquals(two, one);
@@ -187,7 +187,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(4, map.totalSize());
map.remove("A");
assertEquals(3, map.totalSize());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.totalSize());
}
@@ -204,7 +204,7 @@ public class TestMultiValueMap extends TestCase {
assertEquals(2, map.size());
map.remove("A");
assertEquals(2, map.size());
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(2, map.size());
}
@@ -227,7 +227,7 @@ public class TestMultiValueMap extends TestCase {
map.remove("A");
assertEquals(0, map.size("A"));
assertEquals(3, map.size("B"));
- map.remove("B", "BC");
+ map.removeMapping("B", "BC");
assertEquals(0, map.size("A"));
assertEquals(2, map.size("B"));
}
@@ -338,11 +338,11 @@ public class TestMultiValueMap extends TestCase {
map.put("A", "AA");
map.put("A", "AB");
map.put("A", "AC");
- assertEquals(null, map.remove("C", "CA"));
- assertEquals(null, map.remove("A", "AD"));
- assertEquals("AC", map.remove("A", "AC"));
- assertEquals("AB", map.remove("A", "AB"));
- assertEquals("AA", map.remove("A", "AA"));
+ assertEquals(false, map.removeMapping("C", "CA"));
+ assertEquals(false, map.removeMapping("A", "AD"));
+ assertEquals(true, map.removeMapping("A", "AC"));
+ assertEquals(true, map.removeMapping("A", "AB"));
+ assertEquals(true, map.removeMapping("A", "AA"));
assertEquals(new MultiValueMap(), map);
}
--
2.18.0

View file

@ -0,0 +1,70 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Fri, 22 Jun 2018 02:56:39 +0200
Subject: nyx: Show header stats.
The following patch was taken verbatim from the upstream repository and
will be included in the next release.
---
commit 3494111cc81ad4985e81d0c1ea5e451d8f7a2bcc
Author: Damian Johnson <atagar@torproject.org>
Date: Mon Feb 5 20:07:40 2018 -0800
Header stats missing with python3
Ick! took me a while to find this. Python3 changed division from providing ints
to floats. This in turn caused our header panel to call addstr with float x/y
coordinates, which made that funciton fail silently. End result is that when
the header panel showed two columns of stats the right column was missing.
Caught thanks to Stijn.
diff --git a/nyx/panel/header.py b/nyx/panel/header.py
index 09e3838..fb6f2f7 100644
--- a/nyx/panel/header.py
+++ b/nyx/panel/header.py
@@ -155,7 +155,7 @@ class HeaderPanel(nyx.panel.DaemonPanel):
# space available for content
interface = nyx_interface()
- left_width = max(subwindow.width / 2, 77) if is_wide else subwindow.width
+ left_width = max(subwindow.width // 2, 77) if is_wide else subwindow.width
right_width = subwindow.width - left_width
_draw_platform_section(subwindow, 0, 0, left_width, vals)
diff --git a/web/changelog/index.html b/web/changelog/index.html
index 333fa84..196d82b 100644
--- a/web/changelog/index.html
+++ b/web/changelog/index.html
@@ -74,6 +74,12 @@
</ul>
</li>
+ <li><span class="component">Header</span>
+ <ul>
+ <li>Right column of stats missing when using python 3.x</li>
+ </ul>
+ </li>
+
<li><span class="component">Connections</span>
<ul>
<li>Geoip information unavailable for inbound connections</li>
diff --git a/web/changelog/legacy.html b/web/changelog/legacy.html
index a380806..02d405f 100644
--- a/web/changelog/legacy.html
+++ b/web/changelog/legacy.html
@@ -137,13 +137,13 @@
</ul>
</li>
- <li><span class="component">Startup</span>
+ <li><span class="component">Graph</span>
<ul>
<li>Crash when pausing if we showed accounting stats</li>
</ul>
</li>
- <li><span class="component">Startup</span>
+ <li><span class="component">Logging</span>
<ul>
<li>Skip reading from malformed tor log files</li>
<li>Unable to log GUARD events</li>

View file

@ -277,7 +277,7 @@ (define-public libharu
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _ (zero? (system* "autoreconf" "-vif")))))))
(lambda _ (invoke "autoreconf" "-vif"))))))
(inputs
`(("zlib" ,zlib)
("libpng" ,libpng)))
@ -937,7 +937,7 @@ (define-public python-pypdf2
#t))
(replace 'check
(lambda _
(zero? (system* "python" "-m" "unittest" "Tests.tests")))))))
(invoke "python" "-m" "unittest" "Tests.tests"))))))
(home-page "http://mstamy2.github.com/PyPDF2")
(synopsis "Pure Python PDF toolkit")
(description "PyPDF2 is a pure Python PDF library capable of:

View file

@ -51,7 +51,7 @@ (define-public perl-mojolicious
(define-public perl-uri-escape
(package
(name "perl-uri-escape")
(version "1.73")
(version "1.74")
(source
(origin
(method url-fetch)
@ -59,7 +59,7 @@ (define-public perl-uri-escape
version ".tar.gz"))
(sha256
(base32
"04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc"))))
"0gfmrpyy075pn2mbshs5599h8m096gjdz2dn8vcivjw9bzs59hm9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-needs" ,perl-test-needs)))

View file

@ -607,18 +607,18 @@ (define-public python2-asn1crypto
(define-public python-pynacl
(package
(name "python-pynacl")
(version "1.2.0")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyNaCl" version))
(modules '((guix build utils)))
;; Remove bundled libsodium
;; Remove bundled libsodium.
(snippet '(begin (delete-file-recursively "src/libsodium")
#t))
(sha256
(base32
"01vjq0pxyw1mxaqy013hzs8nknmvg3kpzlzmh69jxznyipgvria5"))))
"1ada3qr83cliap6dk897vnvjkynij1kjqbwizdbgarazlyh8zlz0"))))
(build-system python-build-system)
(arguments
`(#:phases

View file

@ -783,14 +783,14 @@ (define-public python2-zope-exceptions
(define-public python-zope-testing
(package
(name "python-zope-testing")
(version "4.6.1")
(version "4.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zope.testing" version))
(sha256
(base32
"1vvxhjmzl7vw2i1akfj1xbggwn36270ym7f2ic9xwbaswfw1ap56"))
"0iiq54hjhkk2gpvzfjac70vyn4r0kw0ngvicshxbdwrkgf2gjq3g"))
(modules '((guix build utils)))
(snippet
'(begin
@ -798,10 +798,6 @@ (define-public python-zope-testing
(for-each delete-file (find-files "." "(\\.pyc|~)$"))
#t))))
(build-system python-build-system)
(native-inputs
`(("python-zope-exceptions" ,python-zope-exceptions)))
(propagated-inputs
`(("python-zope-interface" ,python-zope-interface)))
(home-page "https://pypi.python.org/pypi/zope.testing")
(synopsis "Zope testing helpers")
(description "Zope.testing provides a number of testing utilities for HTML

View file

@ -4485,13 +4485,13 @@ (define-public python2-setuptools-scm
(define-public python-pathpy
(package
(name "python-pathpy")
(version "11.0")
(version "11.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "path.py" version))
(sha256
(base32 "12s84maimiz61980q065rjgi8ang6xw2wwm64m0lmfks51dlw4qn"))))
(base32 "07x15v8c7ry9bvycw294c9yq6ky9v2b0dalvgi6rn38ilh69vsz7"))))
;; (outputs '("out" "doc"))
(build-system python-build-system)
(propagated-inputs
@ -12886,6 +12886,48 @@ (define-public python-phonenumbers
(define-public python2-phonenumbers
(package-with-python2 python-phonenumbers))
(define-public python-send2trash
(package
(name "python-send2trash")
(version "1.4.2")
(source
(origin (method url-fetch)
;; Source tarball on PyPI doesn't include tests.
(uri (string-append "https://github.com/hsoft/send2trash/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ffyhwjyx61slkdy38iwjc4gmj7fj9gs2q58f075gwvq630pzm9z"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(mkdir-p "/tmp/foo")
(setenv "HOME" "/tmp/foo")
#t)))))
(home-page "https://github.com/hsoft/send2trash")
(synopsis "Send files to the user's @file{~/Trash} directory")
(description "This package provides a Python library to send files to the
user's @file{~/Trash} directory.")
(license license:bsd-3)))
(define-public python2-send2trash
(package
(inherit (package-with-python2 python-send2trash))
(arguments
(substitute-keyword-arguments (package-arguments python-send2trash)
((#:phases phases)
`(modify-phases ,phases
(add-before 'check 'setenv
(lambda _
(setenv "PYTHONPATH"
(string-append (getcwd) ":" (getenv "PYTHONPATH")))
#t))))))
(properties `((python2-variant . ,(delay python-send2trash))))))
(define-public python-yapf
(package
(name "python-yapf")

View file

@ -233,7 +233,7 @@ (define-public serd
(version "0.28.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/serd-"
(uri (string-append "https://download.drobilla.net/serd-"
version ".tar.bz2"))
(sha256
(base32
@ -250,7 +250,7 @@ (define-public serd
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib"))
#t)))))
(home-page "http://drobilla.net/software/serd/")
(home-page "https://drobilla.net/software/serd/")
(synopsis "Library for RDF syntax supporting Turtle and NTriples")
(description
"Serd is a lightweight C library for RDF syntax which supports reading
@ -267,7 +267,7 @@ (define-public sord
(version "0.16.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/sord-"
(uri (string-append "https://download.drobilla.net/sord-"
version ".tar.bz2"))
(sha256
(base32
@ -288,7 +288,7 @@ (define-public sord
`(("serd" ,serd)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/sord/")
(home-page "https://drobilla.net/software/sord/")
(synopsis "C library for storing RDF data in memory")
(description
"Sord is a lightweight C library for storing RDF data in memory.")

View file

@ -3330,7 +3330,7 @@ (define-public ruby-nokogiri-diff
(define-public ruby-rack
(package
(name "ruby-rack")
(version "2.0.3")
(version "2.0.5")
(source
(origin
(method url-fetch)
@ -3342,7 +3342,7 @@ (define-public ruby-rack
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12bnqrcg43x9hsswjqg31qqwk8cwj2fh0d2m179y20bjghhn54kx"))
"1k1k4wk10l6bxx46pw58j2p3nmyzjqnr65hbjjqydd6517fmxgib"))
;; Ignore test which fails inside the build environment but works
;; outside.
(patches (search-patches "ruby-rack-ignore-failing-test.patch"))))
@ -3417,14 +3417,14 @@ (define-public ruby-rack-test
(define-public ruby-rack-protection
(package
(name "ruby-rack-protection")
(version "2.0.2")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rack-protection" version))
(sha256
(base32
"0fik7c77rhzs55ip3s8fwa6b0yvmy6313720cqkjx38w34yn2889"))))
"1z5598qipilmnf45428jnxi63ykrgvnyywa5ckpr52zv2vpd8jdp"))))
(build-system ruby-build-system)
(arguments
'(;; Tests missing from the gem.

View file

@ -9,6 +9,7 @@
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -356,7 +357,7 @@ (define-public chicken
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
@ -1025,3 +1026,80 @@ (define-public tinyscheme
can be added and values can be defined in the Scheme environment. Being quite a
small program, it is easy to comprehend, get to grips with, and use.")
(license bsd-3))) ; there are no licence headers
(define-public stalin
(let ((commit "ed1c9e339c352b7a6fee40bb2a47607c3466f0be"))
;; FIXME: The Stalin "source" contains C code generated by itself:
;; 'stalin-AMD64.c', etc.
(package
(name "stalin")
(version "0.11")
(source (origin
;; Use Pearlmutter's upstream branch with AMD64 patches
;; applied. Saves us from including those 20M! patches
;; in Guix. For more info, see:
;; <ftp.ecn.purdue.edu/qobi/stalin-0.11-amd64-patches.tgz>
(method git-fetch)
(uri (git-reference
(url "https://github.com/barak/stalin.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"15a5gxj9v7jqlgkg0543gdflw0rbrir7fj5zgifnb33m074wiyhn"))
(modules '((guix build utils)))
(snippet
;; remove gc libs from build, we have them as input
'(begin
(delete-file "gc6.8.tar.gz")
(delete-file-recursively "benchmarks")
(substitute* "build"
((".*gc6.8.*") "")
((" cd \\.\\.") "")
((".*B include/libgc.a") "")
((".*make.*") ""))
#t))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "ARCH_OPTS=-freg-struct-return")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(include-out (string-append out "/include")))
(invoke "./build")
(for-each (lambda (fname)
(install-file fname include-out))
(find-files "include"))
(substitute* "makefile"
(("\\./include") include-out))
(substitute* "post-make"
(("`pwd`") out))
#t)))
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "stalin.1"
(string-append out "/share/man/man1"))
(install-file "stalin"
(string-append out "/bin"))
#t))))))
(inputs
`(("libx11" ,libx11)))
(propagated-inputs
`(("libgc" ,libgc)))
(supported-systems '("x86_64-linux"))
(home-page "https://engineering.purdue.edu/~qobi/papers/fdlcc.pdf")
(synopsis "Brutally efficient Scheme compiler")
(description
"Stalin is an aggressively optimizing whole-program compiler
for Scheme that does polyvariant interprocedural flow analysis,
flow-directed interprocedural escape analysis, flow-directed
lightweight CPS conversion, flow-directed lightweight closure
conversion, flow-directed interprocedural lifetime analysis, automatic
in-lining, unboxing, and flow-directed program-specific and
program-point-specific low-level representation selection and code
generation.")
(license gpl2+))))

View file

@ -349,7 +349,7 @@ (define (propagated-inputs-with-sdl2 package)
(define-public sdl2-image
(package (inherit sdl-image)
(name "sdl2-image")
(version "2.0.2")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri
@ -357,7 +357,7 @@ (define-public sdl2-image
version ".tar.gz"))
(sha256
(base32
"1s3ciydixrgv34vlf45ak5syq5nlfaqf19wf162lbz4ixxd0gpvj"))))
"0s13dmakn21q6yw8avl67d4zkxzl1wap6l5nwf6cvzrmlxfw441m"))))
(propagated-inputs
(propagated-inputs-with-sdl2 sdl-image))))

View file

@ -126,24 +126,24 @@ (define-public libtocc
(inputs `(("unqlite" ,unqlite)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before
'configure 'chdir-source
(lambda _ (chdir "libtocc/src")))
(replace
'check
(lambda _
(with-directory-excursion "../tests"
(and (zero? (system* "./configure"
(string-append "CONFIG_SHELL="
(which "sh"))
(string-append "SHELL="
(which "sh"))
"CPPFLAGS=-I../src"
(string-append
"LDFLAGS=-L../src/.libs "
"-Wl,-rpath=../src/.libs")))
(zero? (system* "make"))
(zero? (system* "./libtocctests")))))))))
(add-before 'configure 'chdir-source
(lambda _
(chdir "libtocc/src")
#t))
(replace 'check
(lambda _
(with-directory-excursion "../tests"
(invoke "./configure"
(string-append "CONFIG_SHELL="
(which "sh"))
(string-append "SHELL="
(which "sh"))
"CPPFLAGS=-I../src"
(string-append
"LDFLAGS=-L../src/.libs "
"-Wl,-rpath=../src/.libs"))
(invoke "make")
(invoke "./libtocctests")))))))
(home-page "https://t-o-c-c.com/")
(synopsis "Tool for Obsessive Compulsive Classifiers")
(description

View file

@ -28,6 +28,7 @@ (define-module (gnu packages security-token)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages autotools)
@ -91,16 +92,15 @@ (define-public ccid
(define-public eid-mw
(package
(name "eid-mw")
(version "4.3.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Fedict/eid-mw/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ay9znry9dkhhn783paqy8czvv3w5gdpmq8ag8znx9akza8c929z"))))
(version "4.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Fedict/eid-mw")
(commit (string-append "v" version))))
(sha256
(base32 "1h90iz4l85drchpkmhlsvg7f9abhw6890fdr9x5n5ir3kxikwcdm"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -121,9 +121,14 @@ (define-public eid-mw
(arguments
`(#:phases
(modify-phases %standard-phases
;; The github tarball doesn't contain a configure script.
(add-before 'configure 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-i")))))))
(add-after 'unpack 'bootstrap
(lambda _
;; configure.ac relies on git --describe to get the version.
;; Patch it to just return the real version number directly.
(substitute* "scripts/build-aux/genver.sh"
(("/bin/sh") (which "sh"))
(("\\$GITDESC") ,version))
(invoke "sh" "./bootstrap.sh"))))))
(synopsis "Belgian eID Middleware")
(description "The Belgian eID Middleware is required to authenticate with
online services using the Belgian electronic identity card.")

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -201,10 +202,10 @@ (define-public libsemanage
(lambda _ (chdir ,name) #t))
(add-after 'build 'pywrap
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "pywrap" make-flags))))
(apply invoke "make" "pywrap" make-flags)))
(add-after 'install 'install-pywrap
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "install-pywrap" make-flags))))))))
(apply invoke "make" "install-pywrap" make-flags)))))))
(inputs
`(("libsepol" ,libsepol)
("libselinux" ,libselinux)

View file

@ -256,22 +256,22 @@ (define-public guile-ssh
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "autoreconf" "-vfi"))))
(invoke "autoreconf" "-vfi")))
(add-before 'build 'fix-libguile-ssh-file-name
(lambda* (#:key outputs #:allow-other-keys)
;; Build and install libguile-ssh.so so that we can use
;; its absolute file name in .scm files, before we build
;; the .go files.
(and (zero? (system* "make" "install"
"-C" "libguile-ssh"
"-j" (number->string
(parallel-job-count))))
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib")))
(substitute* (find-files "." "\\.scm$")
(("\"libguile-ssh\"")
(string-append "\"" libdir "/libguile-ssh\"")))
#t))))
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
(invoke "make" "install"
"-C" "libguile-ssh"
"-j" (number->string
(parallel-job-count)))
(substitute* (find-files "." "\\.scm$")
(("\"libguile-ssh\"")
(string-append "\"" lib "/libguile-ssh\"")))
#t)))
(add-after 'install 'remove-bin-directory
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -329,29 +329,25 @@ (define-public corkscrew
"1gmhas4va6gd70i2x2mpxpwpgww6413mji29mg282jms3jscn3qd"))))
(build-system gnu-build-system)
(arguments
;; Replace configure phase as the ./configure script does not link
;; CONFIG_SHELL and SHELL passed as parameters
'(#:phases
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs inputs system build target
#:allow-other-keys #:rest args)
(let* ((configure (assoc-ref %standard-phases 'configure))
(prefix (assoc-ref outputs "out"))
(bash (which "bash"))
;; Replace configure phase as the ./configure script does not like
;; CONFIG_SHELL and SHELL passed as parameters
(lambda* (#:key outputs build target #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bash (which "bash"))
;; Set --build and --host flags as the provided config.guess
;; is not able to detect them
(flags `(,(string-append "--prefix=" prefix)
(flags `(,(string-append "--prefix=" out)
,(string-append "--build=" build)
,(string-append "--host=" (or target build)))))
(setenv "CONFIG_SHELL" bash)
(zero? (apply system* bash
(string-append "." "/configure")
flags)))))
(apply invoke bash "./configure" flags))))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/corkscrew")))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(install-file "README" doc)
#t))))))
(home-page "http://www.agroman.net/corkscrew")

View file

@ -100,9 +100,8 @@ (define-public dwm
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "make" "install"
(string-append "DESTDIR=" out) "PREFIX=")))))
(invoke "make" "install"
(string-append "DESTDIR=" out) "PREFIX="))))
(add-after 'build 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
;; Add a .desktop file to xsessions.

View file

@ -32,7 +32,7 @@ (define-module (gnu packages syndication)
(define-public newsboat
(package
(name "newsboat")
(version "2.11.1")
(version "2.12")
(source
(origin
(method url-fetch)
@ -40,7 +40,7 @@ (define-public newsboat
"/newsboat-" version ".tar.xz"))
(sha256
(base32
"1krpxl854h5dwmpr81m1s84cwk8zivdzvw0s5s0i4dba736pvdma"))))
"1x23zlgljaqf46v7sp8wnkyf6wighvirvn48ankpa34yr8mvrgcv"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@ -60,7 +60,7 @@ (define-public newsboat
(delete 'configure) ; no configure script
(add-after 'build 'build-documentation
(lambda _
(zero? (system* "make" "doc")))))
(invoke "make" "doc"))))
#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:test-target "test"))

View file

@ -824,7 +824,7 @@ (define-public acme-client
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.7.3")
(version "2.7.4")
(source
(origin
(method url-fetch)
@ -834,7 +834,7 @@ (define-public mbedtls-apache
version "-apache.tgz"))
(sha256
(base32
"0rfpcc4i01qsl66iy1z9vaw00s34h4qgx3r41i1v5vazv7vjla05"))))
"1x9qia3rd77brz6qiv46w3ham2q78shn2rsz1jbpgqq0jpa69q9l"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View file

@ -256,51 +256,46 @@ (define-public onionshare
license:bsd-3)))) ; onionshare/socks.py
(define-public nyx
;; The last arm relase was 5 years ago. Meanwhile, python3 support has
;; been added and the software was renamed to nyx.
(let ((commit "fea209127484d9b304b908a4711c9528b1d065bc")
(revision "1")) ; Guix package revision
(package
(name "nyx")
(version (string-append "1.9-"
revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
(uri (git-reference
(url "https://git.torproject.org/nyx.git")
(commit commit)))
(sha256
(base32
"1g0l4988076xg5gs0x0nxzlg58rfx5g5agmklvyh4yp03vxncdb9"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-pep8" ,python-pep8)
("python-pyflakes" ,python-pyflakes)))
(inputs
`(("python-stem" ,python-stem)))
(arguments
`(#:configure-flags
(list (string-append "--man-page="
(assoc-ref %outputs "out")
"/share/man/man1/nyx.1")
(string-append "--sample-path="
(assoc-ref %outputs "out")
"/share/doc/nyx/nyxrc.sample"))
#:use-setuptools? #f ; setup.py still uses distutils
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "./run_tests.py" "--unit")))))))
;; A Nyx home page is being worked on. Use Arm's for now, which at
;; least mentions the new source repository:
(home-page "http://www.atagar.com/arm/")
(synopsis "Tor relay status monitor")
(description "Nyx (formerly Anonymizing Relay Monitor or \"arm\")
monitors the performance of relays participating in the
(package
(name "nyx")
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(patches
(search-patches "nyx-show-header-stats-with-python3.patch"))
(sha256
(base32
"0pm7vfcqr02pzqz4b2f6sw5prxxmgqwr1912am42xmy2i53n7nrq"))))
(build-system python-build-system)
(inputs
`(("python-stem" ,python-stem)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-man-page
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man")))
(install-file "nyx.1" (string-append man "/man1"))
#t)))
(add-after 'install 'install-sample-configuration
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(install-file "web/nyxrc.sample" doc)
#t))))
;; XXX The tests seem to require more of a real terminal than the build
;; environment provides:
;; _curses.error: setupterm: could not find terminal
;; With TERM=linux, the tests try to move the cursor and still fail:
;; _curses.error: cbreak() returned ERR
#:tests? #f))
(home-page "https://nyx.torproject.org/")
(synopsis "Tor relay status monitor")
(description
"Nyx monitors the performance of relays participating in the
@uref{https://www.torproject.org/, Tor anonymity network}. It displays this
information visually and in real time, using a curses-based terminal interface.
This makes Nyx well-suited for remote shell connections and servers without a
@ -316,4 +311,4 @@ (define-public nyx
@end enumerate
Potential client and exit connections are scrubbed of sensitive information.")
(license license:gpl3+))))
(license license:gpl3+)))

View file

@ -53,6 +53,7 @@ (define-module (gnu packages version-control)
#:use-module (gnu packages autotools)
#:use-module (gnu packages documentation)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@ -144,14 +145,14 @@ (define-public git
(name "git")
;; XXX When updating Git, check if the special 'git:src' input to cgit needs
;; to be updated as well.
(version "2.17.1")
(version "2.18.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"0pm6bdnrrm165k3krnazxcxadifk2gqi30awlbcf9fism1x6w4vr"))))
"14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -164,7 +165,7 @@ (define-public git
version ".tar.xz"))
(sha256
(base32
"0m7grrwsqaihdgcgaicxiy4rlqjpa75n5wl6hi2qhi33xa34gmc3"))))))
"15k04s9pcc5wkmlfa8x99nbgczjbx0c91767ciqmjy9kwsavxqws"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@ -173,6 +174,10 @@ (define-public git
("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL
("zlib" ,zlib)
;; Note: we keep this in inputs rather than native-inputs to work around
;; a problem in 'patch-shebangs'; see <https://bugs.gnu.org/31952>.
("bash-for-tests" ,bash)
;; For 'gitweb.cgi'
("perl-cgi" ,perl-cgi)
@ -191,14 +196,28 @@ (define-public git
(outputs '("out" ; the core
"send-email" ; for git-send-email
"svn" ; git-svn
"credential-netrc" ; git-credential-netrc
"gui")) ; gitk, git gui
(arguments
`(#:make-flags `("V=1" ;more verbose compilation
,(string-append "SHELL_PATH="
(assoc-ref %build-inputs "bash")
"/bin/sh")
;; Tests require a bash with completion support.
,(string-append "TEST_SHELL_PATH="
(assoc-ref %build-inputs "bash-for-tests")
"/bin/bash")
;; By default 'make install' creates hard links for
;; things in 'libexec/git-core', which leads to huge
;; nars; see <https://bugs.gnu.org/21949>.
"NO_INSTALL_HARDLINKS=indeed")
;; Make sure the full bash does not end up in the final closure.
#:disallowed-references (,bash)
#:test-target "test"
;; Tests fail randomly when parallel: <https://bugs.gnu.org/29512>.
@ -211,13 +230,23 @@ (define-public git
"/bin/wish8.6")) ; XXX
#:modules ((srfi srfi-1)
(srfi srfi-26)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'modify-PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((path (string-split (getenv "PATH") #\:))
(bash-full (assoc-ref inputs "bash-for-tests")))
;; Drop the test bash from PATH so that (which "sh") and
;; similar does the right thing.
(setenv "PATH" (string-join
(remove (cut string-prefix? bash-full <>) path)
":"))
#t)))
(add-after 'configure 'patch-makefiles
(lambda _
(substitute* "Makefile"
(("/bin/sh") (which "sh"))
(("/usr/bin/perl") (which "perl"))
(("/usr/bin/python") (which "python")))
#t))
@ -274,6 +303,12 @@ (define-public git
(copy-file "contrib/completion/git-completion.bash"
(string-append completions "/git"))
#t)))
(add-after 'install 'install-credential-netrc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((netrc (assoc-ref outputs "credential-netrc")))
(install-file "contrib/credential/netrc/git-credential-netrc"
(string-append netrc "/bin"))
#t)))
(add-after 'install 'split
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Split the binaries to the various outputs.
@ -416,7 +451,7 @@ (define-public libgit2
#t))
;; Run checks more verbosely.
(replace 'check
(lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
(lambda _ (invoke "./libgit2_clar" "-v" "-Q"))))))
(inputs
`(("libssh2" ,libssh2)
("http-parser" ,http-parser)
@ -459,12 +494,12 @@ (define-public git-crypt
(delete 'configure)
(replace 'build
(lambda _
(zero? (system* "make"))))
(invoke "make")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero? (system* "make" "install"
(string-append "PREFIX=" out)))))))))
(invoke "make" "install"
(string-append "PREFIX=" out))))))))
(home-page "https://www.agwa.name/projects/git-crypt")
(synopsis "Transparent encryption of files in a git repository")
(description "git-crypt enables transparent encryption and decryption of

View file

@ -123,6 +123,7 @@ (define-module (gnu packages video)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vulkan)
@ -1039,8 +1040,7 @@ (define-public mplayer
(("#! /bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
(zero? (system*
"./configure"
(invoke "./configure"
(string-append "--extra-cflags=-I"
libx11 "/include") ; to detect libx11
"--disable-ffmpeg_a" ; disables bundled ffmpeg
@ -1062,7 +1062,7 @@ (define-public mplayer
(or (%current-target-system)
(nix-system->gnu-triplet
(%current-system)))))))
"--disable-iwmmxt"))))))))
"--disable-iwmmxt")))))))
(home-page "https://www.mplayerhq.hu/design7/news.html")
(synopsis "Audio and video player")
(description "MPlayer is a movie player. It plays most MPEG/VOB, AVI,
@ -1765,10 +1765,9 @@ (define-public vapoursynth
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh"))))))
(home-page "http://www.vapoursynth.com/")
(synopsis "Video processing framework")
(description "VapourSynth is a C++ library and Python module for video
@ -1815,34 +1814,41 @@ (define-public xvid
(license license:gpl2+)))
(define-public streamlink
(package
(name "streamlink")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
"02h8b3k8l5zz4vjm0nhxvl1pm924jms8y7sjl40fbybrzvsa4mg2"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
`(("python-pytest" ,python-pytest)
("python-mock" ,python-mock)
("python-requests-mock" ,python-requests-mock)))
(propagated-inputs
`(("python-pysocks" ,python-pysocks)
("python-websocket-client" ,python-websocket-client)
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
("python-pycryptodome" ,python-pycryptodome)
("python-requests" ,python-requests)
("python-urllib3" ,python-urllib3)))
(synopsis "Extract streams from various services")
(description "Streamlink is command-line utility that extracts streams
;; Release tarball doesn't contain tests/resources/dash/ directory.
(let ((commit "2dca7930a938f60b48d8e23260963ea7c49d979f"))
(package
(name "streamlink")
(version (git-version "0.13.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/streamlink/streamlink.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0vq19aspshim63aj8yl2p64ykrbk2mwwlawdx427b3j2djlc5qhw"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
`(("python-freezegun" ,python-freezegun)
("python-pytest" ,python-pytest)
("python-mock" ,python-mock)
("python-requests-mock" ,python-requests-mock)))
(propagated-inputs
`(("python-pysocks" ,python-pysocks)
("python-websocket-client" ,python-websocket-client)
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
("python-isodate", python-isodate)
("python-pycryptodome" ,python-pycryptodome)
("python-requests" ,python-requests)
("python-urllib3" ,python-urllib3)))
(synopsis "Extract streams from various services")
(description "Streamlink is command-line utility that extracts streams
from sites like Twitch.tv and pipes them into a video player of choice.")
(license license:bsd-2)))
(license license:bsd-2))))
(define-public livestreamer
(deprecated-package "livestreamer" streamlink))
@ -2196,10 +2202,11 @@ (define-public libsmpeg
"18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autogen.sh
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen.sh
(lambda _
(invoke "sh" "autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
@ -2363,7 +2370,7 @@ (define-public handbrake
;; Patch the Makefile so that it doesn't bootstrap again.
(substitute* "gtk/module.rules"
((".*autogen\\.sh.*") ""))
(zero? (system* "sh" "./gtk/autogen.sh"))))
(invoke "sh" "./gtk/autogen.sh")))
(add-before 'configure 'disable-contrib
(lambda _
(substitute* "make/include/main.defs"
@ -2385,9 +2392,9 @@ (define-public handbrake
;; errors on unrecognized arguments,
;; e.g. --enable-fast-install
(let ((out (assoc-ref outputs "out")))
(zero? (apply system* "./configure"
(string-append "--prefix=" out)
(or configure-flags '()))))))
(apply invoke "./configure"
(string-append "--prefix=" out)
(or configure-flags '())))))
(add-after 'configure 'chdir-build
(lambda _ (chdir "./build") #t)))))
(home-page "https://handbrake.fr")
@ -2520,7 +2527,7 @@ (define-public libmediainfo
#t))
(add-after 'change-to-build-dir 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
(home-page "https://mediaarea.net/en/MediaInfo")
(synopsis "Library for retrieving media metadata")
(description "MediaInfo is a library used for retrieving technical
@ -2579,7 +2586,7 @@ (define-public mediainfo
#t))
(add-after 'change-to-build-dir 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
(home-page "https://mediaarea.net/en/MediaInfo")
(synopsis "Utility for reading media metadata")
(description "MediaInfo is a utility used for retrieving technical
@ -2621,8 +2628,8 @@ (define-public livemedia-utils
#t))
(replace 'configure
(lambda _
(zero? (system* "./genMakefiles"
"linux-with-shared-libraries")))))))
(invoke "./genMakefiles"
"linux-with-shared-libraries"))))))
(home-page "http://www.live555.com/liveMedia/")
(synopsis "Set of C++ libraries for multimedia streaming")
(description "This code forms a set of C++ libraries for multimedia
@ -2819,8 +2826,8 @@ (define-public frei0r-plugins
(modify-phases %standard-phases
(add-after 'unpack 'autotools
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
;; TODO: opencv for additional face detection filters
(invoke "sh" "autogen.sh"))))))
;; TODO: opencv for additional face detection filters.
(inputs
`(("gavl" ,gavl)
("cairo" ,cairo)))

View file

@ -52,6 +52,7 @@ (define-module (gnu packages virtualization)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
@ -65,6 +66,7 @@ (define-module (gnu packages virtualization)
#:use-module (gnu packages sdl)
#:use-module (gnu packages spice)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
@ -128,28 +130,27 @@ (define-public qemu
;; The binaries need to be linked against -lrt.
(setenv "LDFLAGS" "-lrt")
(zero?
(apply system*
`("./configure"
,(string-append "--cc=" (which "gcc"))
;; Some architectures insist on using HOST_CC
,(string-append "--host-cc=" (which "gcc"))
"--disable-debug-info" ; save build space
"--enable-virtfs" ; just to be sure
,(string-append "--prefix=" out)
,(string-append "--sysconfdir=/etc")
,@configure-flags))))))
(apply invoke
`("./configure"
,(string-append "--cc=" (which "gcc"))
;; Some architectures insist on using HOST_CC
,(string-append "--host-cc=" (which "gcc"))
"--disable-debug-info" ; save build space
"--enable-virtfs" ; just to be sure
,(string-append "--prefix=" out)
,(string-append "--sysconfdir=/etc")
,@configure-flags)))))
(add-after 'install 'install-info
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Install the Info manual, unless Texinfo is missing.
(or (not (assoc-ref inputs "texinfo"))
(let ((out (assoc-ref outputs "out")))
(and (zero? (system* "make" "info"))
(let ((infodir (string-append out "/share/info")))
(for-each (lambda (info)
(install-file info infodir))
(find-files "." "\\.info"))
#t))))))
(when (assoc-ref inputs "texinfo")
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/info")))
(invoke "make" "info")
(for-each (lambda (info)
(install-file info dir))
(find-files "." "\\.info"))))
#t))
;; Create a wrapper for Samba. This allows QEMU to use Samba without
;; pulling it in as an input. Note that you need to explicitly install
;; Samba in your Guix profile for Samba support.
@ -368,14 +369,13 @@ (define-public lxc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bashcompdir (string-append out "/etc/bash_completion.d")))
(zero? (system*
"make" "install"
(invoke "make" "install"
(string-append "bashcompdir=" bashcompdir)
;; Don't install files into /var and /etc.
"LXCPATH=/tmp/var/lib/lxc"
"localstatedir=/tmp/var"
"sysconfdir=/tmp/etc"
"sysconfigdir=/tmp/etc/default"))))))))
"sysconfigdir=/tmp/etc/default")))))))
(synopsis "Linux container tools")
(home-page "https://linuxcontainers.org/")
(description
@ -770,7 +770,7 @@ (define-public qmpbackup
(define-public lookingglass
(package
(name "lookingglass")
(version "a10")
(version "a11")
(source
(origin
(method url-fetch)
@ -779,7 +779,7 @@ (define-public lookingglass
(file-name (string-append name "-" version))
(sha256
(base32
"0zlxg9ibzr0a598wr5nl1pb4l7mzsqn8ip72v4frph0vwsm5il6c"))))
"11qwyp332l66sqksqa0z9439yi4accmbq7wjc6kikc5fimdh9wk5"))))
(build-system gnu-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)
@ -788,9 +788,12 @@ (define-public lookingglass
("sdl2" ,sdl2)
("sdl2-ttf" ,sdl2-ttf)
("spice-protocol" ,spice-protocol)))
(native-inputs `(("pkg-config" ,pkg-config)))
(native-inputs `(("libconfig" ,libconfig)
("nettle" ,nettle)
("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f ;; No tests are available.
#:make-flags '("CC=gcc")
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)

View file

@ -122,10 +122,10 @@ (define-public vpnc
(home-page "http://www.unix-ag.uni-kl.de/~massar/vpnc/")))
(define-public vpnc-scripts
(let ((commit "6f87b0fe7b20d802a0747cc310217920047d58d3"))
(let ((commit "07c3518dd6b8dc424e9c3650a62bed994a4dcbe1"))
(package
(name "vpnc-scripts")
(version (string-append "20161214." (string-take commit 7)))
(version (string-append "20180226." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri
@ -135,7 +135,7 @@ (define-public vpnc-scripts
(file-name (git-file-name name version))
(sha256
(base32
"0pa36w4wlyyvfb66cayhans99wsr2j5si2fvfr7ldfm512ajwn8h"))))
"02d29nrmnj6kfa889cavqn1pkn9ssb5gyp4lz1v47spwx7abpdi7"))))
(build-system gnu-build-system)
(inputs `(("coreutils" ,coreutils)
("grep" ,grep)
@ -161,7 +161,7 @@ (define-public vpnc-scripts
(delete 'configure) ; no configure script
(replace 'build
(lambda _
(zero? (system* "gcc" "-o" "netunshare" "netunshare.c"))))
(invoke "gcc" "-o" "netunshare" "netunshare.c")))
(replace 'install
;; There is no Makefile; manually install the relevant files.
(lambda* (#:key outputs #:allow-other-keys)
@ -193,7 +193,8 @@ (define-public vpnc-scripts
"sed"
"which")))))
(find-files (string-append out "/etc/vpnc/vpnc-script")
"^vpnc-script"))))))
"^vpnc-script"))
#t))))
#:tests? #f)) ; no tests
(home-page "http://git.infradead.org/users/dwmw2/vpnc-scripts.git")
(synopsis "Network configuration scripts for Cisco VPN clients")

View file

@ -61,6 +61,7 @@ (define-module (gnu packages web)
#:use-module (guix build-system ant)
#:use-module (guix build-system scons)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
#:use-module (gnu packages apr)
#:use-module (gnu packages check)
@ -93,6 +94,7 @@ (define-module (gnu packages web)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages lua)
#:use-module (gnu packages markup)
@ -1845,31 +1847,27 @@ (define-public perl-catalyst-plugin-static-simple
(define-public perl-catalyst-runtime
(package
(name "perl-catalyst-runtime")
(version "5.90115")
(version "5.90118")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Catalyst-Runtime-" version ".tar.gz"))
(sha256
(base32
"0kh3ng6pjpxmndq9vrn515f70x7h44ish5bsgjwj4pjvchcyivzm"))))
"0cws3szx3vvh0372qdx8fypgv6qphcc3v81rbq30sl1ghby7ksd3"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-install" ,perl-module-install)
("perl-test-fatal" ,perl-test-fatal)))
`(("perl-test-fatal" ,perl-test-fatal)))
(propagated-inputs
`(("perl-cgi-simple" ,perl-cgi-simple)
("perl-cgi-struct" ,perl-cgi-struct)
("perl-class-c3-adopt-next" ,perl-class-c3-adopt-next)
("perl-class-data-inheritable" ,perl-class-data-inheritable)
("perl-class-date" ,perl-class-date)
("perl-class-load" ,perl-class-load)
("perl-data-dump" ,perl-data-dump)
("perl-http-body" ,perl-http-body)
("perl-http-message" ,perl-http-message)
("perl-http-request-ascgi" ,perl-http-request-ascgi)
("perl-io-stringy" ,perl-io-stringy)
("perl-json-maybexs" ,perl-json-maybexs)
("perl-libwww" ,perl-libwww)
("perl-module-pluggable" ,perl-module-pluggable)
@ -1878,8 +1876,6 @@ (define-public perl-catalyst-runtime
,perl-moosex-emulate-class-accessor-fast)
("perl-moosex-getopt" ,perl-moosex-getopt)
("perl-moosex-methodattributes" ,perl-moosex-methodattributes)
("perl-moosex-role-withoverloading" ,perl-moosex-role-withoverloading)
("perl-namespace-autoclean" ,perl-namespace-autoclean)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-path-class" ,perl-path-class)
("perl-plack" ,perl-plack)
@ -2079,7 +2075,7 @@ (define-public perl-catalystx-roleapplicator
(define-public perl-catalystx-script-server-starman
(package
(name "perl-catalystx-script-server-starman")
(version "0.02")
(version "0.03")
(source
(origin
(method url-fetch)
@ -2088,7 +2084,7 @@ (define-public perl-catalystx-script-server-starman
version ".tar.gz"))
(sha256
(base32
"0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5"))))
"08jvibq4v8xjj0c3cr93h0w8w0c88ajwjn37xjy7ygxl9krlffp6"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-install" ,perl-module-install)
@ -2186,19 +2182,21 @@ (define-public perl-cgi-session
(define-public perl-cgi-simple
(package
(name "perl-cgi-simple")
(version "1.115")
(version "1.15")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/"
(uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
"CGI-Simple-" version ".tar.gz"))
(sha256
(base32
"1nkyb1m1g5r47xykflf68dplanih5p15njv82frbgbsms34kp1sg"))))
"013dcy9k4sj9alkksk5aqz65ryxw0rxgg71c7w666y941gd8n46q"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-io-stringy" ,perl-io-stringy))) ;for IO::Scalar
`(("perl-io-stringy" ,perl-io-stringy) ; for IO::Scalar
("perl-module-build" ,perl-module-build)
("perl-test-exception" ,perl-test-exception)
("perl-test-nowarnings" ,perl-test-nowarnings)))
(home-page "http://search.cpan.org/dist/CGI-Simple")
(synopsis "CGI interface that is CGI.pm compliant")
(description "CGI::Simple provides a relatively lightweight drop in
@ -4927,7 +4925,7 @@ (define-public httptunnel
(define-public stunnel
(package
(name "stunnel")
(version "5.46")
(version "5.47")
(source
(origin
(method url-fetch)
@ -4935,12 +4933,34 @@ (define-public stunnel
version ".tar.gz"))
(sha256
(base32
"1iw4gap9ysag8iww2ik029scmdllk7jdzcpnnbj7hgbl526b9akn"))))
"02qx0b0dd38rfcl9vfd6zq1pcg5gv0z2mxw5z3p2pfbfk7dpbrn4"))))
(build-system gnu-build-system)
(native-inputs
;; For tests.
`(("iproute" ,iproute)
("netcat" ,netcat)
("procps" ,procps)))
(inputs `(("openssl" ,openssl)))
(arguments
`(#:configure-flags
(list (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")))))
(list (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-output-directories
(lambda _
;; Some (not all) Makefiles have a hard-coded incorrect docdir.
(substitute* (list "Makefile.in"
"doc/Makefile.in"
"tools/Makefile.in")
(("/doc/stunnel")
(string-append "/doc/" ,name "-" ,version)))
#t))
(add-before 'check 'patch-tests
(lambda _
(substitute* "tests/make_test"
(("/bin/sh ")
(string-append (which "sh") " ")))
#t)))))
(home-page "https://www.stunnel.org")
(synopsis "TLS proxy for clients or servers")
(description "Stunnel is a proxy designed to add TLS encryption

View file

@ -223,7 +223,7 @@ (define-public wine64
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "3.10")
(version "3.11")
(source
(origin
(method url-fetch)
@ -232,7 +232,7 @@ (define-public wine-staging-patchset-data
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"14rf3g9szxygbd6ypg6zbqw1h84rn8gqgrzwi607xwgh8wm59sli"))))
"1sd9chv919y0wfqcshasl82899isvq9rik4h8d44g2cf4m9zzhvi"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@ -279,7 +279,7 @@ (define-public wine-staging
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"1df6g8g5nfb4ca218m78giqp3k1fmv0grv26387rbn3wkk3mql6p"))))
"0zlhkz6aybkr9jg8za9x56fp92q10df0abadn9bsa8ryparr5d15"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+)
("libva" ,libva)

View file

@ -119,7 +119,7 @@ (define-public transfig
(("/usr/local/lib/fig2dev") (string-append out "/lib")))
;; The -a argument is required in order to pick up the correct paths
;; to several X header files.
(zero? (system* "xmkmf" "-a"))
(invoke "xmkmf" "-a")
(substitute* '("Makefile"
"fig2dev/Makefile"
"transfig/Makefile")
@ -130,10 +130,11 @@ (define-public transfig
(("(MANPATH = )[[:graph:]]*" _ front)
(string-append front out "/share/man"))
(("(CONFDIR = )([[:graph:]]*)" _ front default)
(string-append front out default))))))
(string-append front out default)))
#t)))
(add-after 'install 'install/doc
(lambda _
(zero? (system* "make" "install.man")))))))
(invoke "make" "install.man"))))))
(home-page "http://mcj.sourceforge.net/")
(synopsis "Create portable LaTeX figures")
(description

View file

@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -122,10 +123,10 @@ (define-public zile-on-guile
(chmod file #o755))
(find-files "."))
(patch-shebang "gnulib/gnulib-tool")
(zero? (system* "sh" "./bootstrap"
"--gnulib-srcdir=gnulib"
"--skip-git" "--skip-po"
"--verbose"))))
(invoke "sh" "./bootstrap"
"--gnulib-srcdir=gnulib"
"--skip-git" "--skip-po"
"--verbose")))
(add-after 'install 'wrap-command
(lambda* (#:key outputs #:allow-other-keys)
;; Add zile.scm to the search path.

View file

@ -0,0 +1,41 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu services authentication)
#:use-module (gnu services)
#:use-module (gnu services dbus)
#:use-module (gnu packages freedesktop)
#:use-module (guix gexp)
#:use-module (guix records)
#:export (fprintd-configuration
fprintd-configuration?
fprintd-service-type))
(define-record-type* <fprintd-configuration>
fprintd-configuration make-fprintd-configuration
fprintd-configuration?
(ntp fprintd-configuration-fprintd
(default fprintd)))
(define fprintd-service-type
(service-type (name 'fprintd)
(extensions
(list (service-extension dbus-root-service-type
list)))
(description
"Run fprintd, a fingerprint management daemon.")))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -172,5 +173,7 @@ (define cuirass-service-type
(service-extension rottlog-service-type cuirass-log-rotations)
(service-extension activation-service-type cuirass-activation)
(service-extension shepherd-root-service-type cuirass-shepherd-service)
(service-extension account-service-type cuirass-account)))))
(service-extension account-service-type cuirass-account)))
(description
"Run the Cuirass continuous integration service.")))

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1024,7 +1025,9 @@ (define cups-service-type
(append (opaque-cups-configuration-extensions config)
extensions)))))))
(default-value (cups-configuration))))
(default-value (cups-configuration))
(description
"Run the CUPS print server.")))
;; A little helper to make it easier to document all those fields.
(define (generate-cups-documentation)

View file

@ -26,6 +26,7 @@ (define-module (gnu services sound)
#:use-module (guix packages)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (gnu packages linux)
#:use-module (gnu packages pulseaudio)
#:use-module (ice-9 match)
#:export (alsa-configuration
@ -44,17 +45,31 @@ (define-module (gnu services sound)
(define-record-type* <alsa-configuration>
alsa-configuration make-alsa-configuration alsa-configuration?
(alsa-plugins alsa-configuration-alsa-plugins ;<package>
(default alsa-plugins))
(pulseaudio? alsa-configuration-pulseaudio? ;boolean
(default #t))
(extra-options alsa-configuration-extra-options ;string
(default "")))
(define (alsa-config-file config)
"Return the ALSA configuration file corresponding to CONFIG."
(plain-file "asound.conf"
(string-append "# Generated by 'alsa-service'.\n\n"
(if (alsa-configuration-pulseaudio? config)
"# Use PulseAudio by default
(define alsa-config-file
;; Return the ALSA configuration file.
(match-lambda
(($ <alsa-configuration> alsa-plugins pulseaudio? extra-options)
(apply mixed-text-file "asound.conf"
`("# Generated by 'alsa-service'.\n\n"
,@(if pulseaudio?
`("# Use PulseAudio by default
pcm_type.pulse {
lib \"" ,#~(string-append #$alsa-plugins:pulseaudio
"/lib/alsa-lib/libasound_module_pcm_pulse.so") "\"
}
ctl_type.pulse {
lib \"" ,#~(string-append #$alsa-plugins:pulseaudio
"/lib/alsa-lib/libasound_module_ctl_pulse.so") "\"
}
pcm.!default {
type pulse
fallback \"sysdefault\"
@ -67,10 +82,9 @@ (define (alsa-config-file config)
ctl.!default {
type pulse
fallback \"sysdefault\"
}
"
"")
(alsa-configuration-extra-options config))))
}\n\n")
'())
,extra-options)))))
(define (alsa-etc-service config)
(list `("asound.conf" ,(alsa-config-file config))))

View file

@ -359,6 +359,9 @@ (define file-systems
(remove file-system-needed-for-boot?
(operating-system-file-systems os)))
(define mapped-devices-for-boot
(operating-system-boot-mapped-devices os))
(define (device-mappings fs)
(let ((device (file-system-device fs)))
(if (string? device) ;title is 'device
@ -374,21 +377,23 @@ (define (add-dependencies fs)
(file-system
(inherit fs)
(dependencies
(delete-duplicates (append (device-mappings fs)
(file-system-dependencies fs))
eq?))))
(delete-duplicates
(remove (cut member <> mapped-devices-for-boot)
(append (device-mappings fs)
(file-system-dependencies fs)))
eq?))))
(service file-system-service-type
(map add-dependencies file-systems)))
(define (mapped-device-user device file-systems)
"Return a file system among FILE-SYSTEMS that uses DEVICE, or #f."
(define (mapped-device-users device file-systems)
"Return the subset of FILE-SYSTEMS that use DEVICE."
(let ((target (string-append "/dev/mapper/" (mapped-device-target device))))
(find (lambda (fs)
(or (member device (file-system-dependencies fs))
(and (string? (file-system-device fs))
(string=? (file-system-device fs) target))))
file-systems)))
(filter (lambda (fs)
(or (member device (file-system-dependencies fs))
(and (string? (file-system-device fs))
(string=? (file-system-device fs) target))))
file-systems)))
(define (operating-system-user-mapped-devices os)
"Return the subset of mapped devices that can be installed in
@ -396,9 +401,8 @@ (define (operating-system-user-mapped-devices os)
(let ((devices (operating-system-mapped-devices os))
(file-systems (operating-system-file-systems os)))
(filter (lambda (md)
(let ((user (mapped-device-user md file-systems)))
(or (not user)
(not (file-system-needed-for-boot? user)))))
(let ((users (mapped-device-users md file-systems)))
(not (any file-system-needed-for-boot? users))))
devices)))
(define (operating-system-boot-mapped-devices os)
@ -407,8 +411,8 @@ (define (operating-system-boot-mapped-devices os)
(let ((devices (operating-system-mapped-devices os))
(file-systems (operating-system-file-systems os)))
(filter (lambda (md)
(let ((user (mapped-device-user md file-systems)))
(and user (file-system-needed-for-boot? user))))
(let ((users (mapped-device-users md file-systems)))
(any file-system-needed-for-boot? users)))
devices)))
(define (device-mapping-services os)

View file

@ -88,6 +88,19 @@ (define (lookup-compressor name)
%compressors)
(leave (G_ "~a: compressor not found~%") name)))
(define not-config?
;; Select (guix …) and (gnu …) modules, except (guix config).
(match-lambda
(('guix 'config) #f)
(('guix _ ...) #t)
(('gnu _ ...) #t)
(_ #f)))
(define guile-sqlite3&co
;; Guile-SQLite3 and its propagated inputs.
(cons guile-sqlite3
(package-transitive-propagated-inputs guile-sqlite3)))
(define* (self-contained-tarball name profile
#:key target
deduplicate?
@ -102,13 +115,6 @@ (define* (self-contained-tarball name profile
SYMLINKS must be a list of (SOURCE -> TARGET) tuples denoting symlinks to be
added to the pack."
(define not-config?
(match-lambda
(('guix 'config) #f)
(('guix _ ...) #t)
(('gnu _ ...) #t)
(_ #f)))
(define libgcrypt
(module-ref (resolve-interface '(gnu packages gnupg))
'libgcrypt))
@ -128,9 +134,7 @@ (define build
(guix build store-copy)
(gnu build install))
#:select? not-config?))
(with-extensions (cons guile-sqlite3
(package-transitive-propagated-inputs
guile-sqlite3))
(with-extensions guile-sqlite3&co
#~(begin
(use-modules (guix build utils)
((guix build union) #:select (relative-file-name))
@ -248,71 +252,83 @@ (define* (squashfs-image name profile
SYMLINKS must be a list of (SOURCE -> TARGET) tuples denoting symlinks to be
added to the pack."
(define libgcrypt
;; XXX: Not strictly needed, but pulled by (guix store database).
(module-ref (resolve-interface '(gnu packages gnupg))
'libgcrypt))
(define build
(with-imported-modules '((guix build utils)
(guix build store-copy)
(gnu build install))
#~(begin
(use-modules (guix build utils)
(gnu build install)
(guix build store-copy)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
(with-imported-modules `(((guix config)
=> ,(make-config.scm
#:libgcrypt libgcrypt))
,@(source-module-closure
'((guix build utils)
(guix build store-copy)
(gnu build install))
#:select? not-config?))
(with-extensions guile-sqlite3&co
#~(begin
(use-modules (guix build utils)
(gnu build install)
(guix build store-copy)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
(setenv "PATH" (string-append #$archiver "/bin"))
(setenv "PATH" (string-append #$archiver "/bin"))
;; We need an empty file in order to have a valid file argument when
;; we reparent the root file system. Read on for why that's
;; necessary.
(with-output-to-file ".empty" (lambda () (display "")))
;; We need an empty file in order to have a valid file argument when
;; we reparent the root file system. Read on for why that's
;; necessary.
(with-output-to-file ".empty" (lambda () (display "")))
;; Create the squashfs image in several steps.
;; Add all store items. Unfortunately mksquashfs throws away all
;; ancestor directories and only keeps the basename. We fix this
;; in the following invocations of mksquashfs.
(apply invoke "mksquashfs"
`(,@(map store-info-item
(call-with-input-file "profile"
read-reference-graph))
,#$output
;; Create the squashfs image in several steps.
;; Add all store items. Unfortunately mksquashfs throws away all
;; ancestor directories and only keeps the basename. We fix this
;; in the following invocations of mksquashfs.
(apply invoke "mksquashfs"
`(,@(map store-info-item
(call-with-input-file "profile"
read-reference-graph))
,#$output
;; Do not perform duplicate checking because we
;; don't have any dupes.
"-no-duplicates"
"-comp"
,#+(compressor-name compressor)))
;; Do not perform duplicate checking because we
;; don't have any dupes.
"-no-duplicates"
"-comp"
,#+(compressor-name compressor)))
;; Here we reparent the store items. For each sub-directory of
;; the store prefix we need one invocation of "mksquashfs".
(for-each (lambda (dir)
(apply invoke "mksquashfs"
`(".empty"
,#$output
"-root-becomes" ,dir)))
(reverse (string-tokenize (%store-directory)
(char-set-complement (char-set #\/)))))
;; Here we reparent the store items. For each sub-directory of
;; the store prefix we need one invocation of "mksquashfs".
(for-each (lambda (dir)
(apply invoke "mksquashfs"
`(".empty"
,#$output
"-root-becomes" ,dir)))
(reverse (string-tokenize (%store-directory)
(char-set-complement (char-set #\/)))))
;; Add symlinks and mount points.
(apply invoke "mksquashfs"
`(".empty"
,#$output
;; Create SYMLINKS via pseudo file definitions.
,@(append-map
(match-lambda
((source '-> target)
(list "-p"
(string-join
;; name s mode uid gid symlink
(list source
"s" "777" "0" "0"
(string-append #$profile "/" target))))))
'#$symlinks)
;; Add symlinks and mount points.
(apply invoke "mksquashfs"
`(".empty"
,#$output
;; Create SYMLINKS via pseudo file definitions.
,@(append-map
(match-lambda
((source '-> target)
(list "-p"
(string-join
;; name s mode uid gid symlink
(list source
"s" "777" "0" "0"
(string-append #$profile "/" target))))))
'#$symlinks)
;; Create empty mount points.
"-p" "/proc d 555 0 0"
"-p" "/sys d 555 0 0"
"-p" "/dev d 555 0 0")))))
;; Create empty mount points.
"-p" "/proc d 555 0 0"
"-p" "/sys d 555 0 0"
"-p" "/dev d 555 0 0"))))))
(gexp->derivation (string-append name
(compressor-extension compressor)
@ -332,14 +348,6 @@ (define* (docker-image name profile
with COMPRESSOR. It can be passed to 'docker load'. If TARGET is true, it
must a be a GNU triplet and it is used to derive the architecture metadata in
the image."
;; FIXME: Honor LOCALSTATEDIR?.
(define not-config?
(match-lambda
(('guix 'config) #f)
(('guix rest ...) #t)
(('gnu rest ...) #t)
(rest #f)))
(define defmod 'define-module) ;trick Geiser
(define config
@ -364,9 +372,9 @@ (define json
(define build
;; Guile-JSON is required by (guix docker).
(with-extensions (list json)
(with-imported-modules `(,@(source-module-closure '((guix docker))
(with-imported-modules `(,@(source-module-closure '((guix docker)
(guix build store-copy))
#:select? not-config?)
(guix build store-copy)
((guix config) => ,config))
#~(begin
(use-modules (guix docker) (srfi srfi-19) (guix build store-copy))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -352,8 +353,8 @@ (define* (switch-to-system os
#:optional (profile %system-profile))
"Make a new generation of PROFILE pointing to the directory of OS, switch to
it atomically, and then run OS's activation script."
(mlet* %store-monad ((drv (operating-system-derivation os))
(script (operating-system-activation-script os)))
(mlet* %store-monad ((drv (operating-system-derivation os))
(script (lower-object (operating-system-activation-script os))))
(let* ((system (derivation->output-path drv))
(number (+ 1 (generation-number profile)))
(generation (generation-file-name profile number)))

View file

@ -200,7 +200,6 @@ CLEANFILES += \
$(nodist_upstartjob_DATA)
EXTRA_DIST += \
%D%/libstore/schema.sql \
%D%/AUTHORS \
%D%/COPYING \
etc/guix-daemon.service.in \

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -19,6 +19,7 @@
(define-module (test-system)
#:use-module (gnu)
#:use-module ((gnu services) #:select (service-value))
#:use-module (guix store)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-64))
@ -117,4 +118,26 @@ (define %os-with-mapped-device
(type "ext4"))
%base-file-systems)))))
(test-equal "non-boot-file-system-service"
'()
;; Make sure that mapped devices with at least one needed-for-boot user are
;; handled exclusively from the initrd. See <https://bugs.gnu.org/31889>.
(append-map file-system-dependencies
(service-value
((@@ (gnu system) non-boot-file-system-service)
(operating-system
(inherit %os-with-mapped-device)
(file-systems
(list (file-system
(mount-point "/foo/bar")
(device "qux:baz")
(type "none")
(dependencies (list %luks-device)))
(file-system
(device (file-system-label "my-root"))
(mount-point "/")
(type "ext4")
(dependencies (list %luks-device))))))))))
(test-end)