Merge branch 'master' into core-updates

master
Marius Bakke 2018-11-14 21:20:46 +01:00
commit 79ee97a144
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
81 changed files with 2462 additions and 1004 deletions

View File

@ -10563,11 +10563,14 @@ Start,,, shepherd, The GNU Shepherd Manual}). For example:
The above command, run as @code{root}, lists the currently defined The above command, run as @code{root}, lists the currently defined
services. The @command{herd doc} command shows a synopsis of the given services. The @command{herd doc} command shows a synopsis of the given
service: service and its associated actions:
@example @example
# herd doc nscd # herd doc nscd
Run libc's name service cache daemon (nscd). Run libc's name service cache daemon (nscd).
# herd doc nscd action invalidate
invalidate: Invalidate the given cache--e.g., 'hosts' for host name lookups.
@end example @end example
The @command{start}, @command{stop}, and @command{restart} sub-commands The @command{start}, @command{stop}, and @command{restart} sub-commands
@ -10965,6 +10968,27 @@ The Kmscon package to use.
Return a service that runs the libc name service cache daemon (nscd) with the Return a service that runs the libc name service cache daemon (nscd) with the
given @var{config}---an @code{<nscd-configuration>} object. @xref{Name given @var{config}---an @code{<nscd-configuration>} object. @xref{Name
Service Switch}, for an example. Service Switch}, for an example.
For convenience, the Shepherd service for nscd provides the following actions:
@table @code
@item invalidate
@cindex cache invalidation, nscd
@cindex nscd, cache invalidation
This invalidate the given cache. For instance, running:
@example
herd invalidate nscd hosts
@end example
@noindent
invalidates the host name lookup cache of nscd.
@item statistics
Running @command{herd statistics nscd} displays information about nscd usage
and caches.
@end table
@end deffn @end deffn
@defvr {Scheme Variable} %nscd-default-configuration @defvr {Scheme Variable} %nscd-default-configuration
@ -14349,11 +14373,30 @@ Defaults to @samp{#t}.
@end deftypevr @end deftypevr
@deftypevr {@code{service-configuration} parameter} non-negative-integer client-limit
Maximum number of simultaneous client connections per process. Once
this number of connections is received, the next incoming connection
will prompt Dovecot to spawn another process. If set to 0,
@code{default-client-limit} is used instead.
Defaults to @samp{0}.
@end deftypevr
@deftypevr {@code{service-configuration} parameter} non-negative-integer service-count @deftypevr {@code{service-configuration} parameter} non-negative-integer service-count
Number of connections to handle before starting a new process. Number of connections to handle before starting a new process.
Typically the only useful values are 0 (unlimited) or 1. 1 is more Typically the only useful values are 0 (unlimited) or 1. 1 is more
secure, but 0 is faster. <doc/wiki/LoginProcess.txt>. secure, but 0 is faster. <doc/wiki/LoginProcess.txt>.
Defaults to @samp{1}. Defaults to @samp{1}.
@end deftypevr
@deftypevr {@code{service-configuration} parameter} non-negative-integer process-limit
Maximum number of processes that can exist for this service. If set to
0, @code{default-process-limit} is used instead.
Defaults to @samp{0}.
@end deftypevr @end deftypevr
@deftypevr {@code{service-configuration} parameter} non-negative-integer process-min-avail @deftypevr {@code{service-configuration} parameter} non-negative-integer process-min-avail
@ -24197,7 +24240,7 @@ to be updated to refer to these binaries on the target platform. That
is, the hashes and URLs of the bootstrap tarballs for the new platform is, the hashes and URLs of the bootstrap tarballs for the new platform
must be added alongside those of the currently supported platforms. The must be added alongside those of the currently supported platforms. The
bootstrap Guile tarball is treated specially: it is expected to be bootstrap Guile tarball is treated specially: it is expected to be
available locally, and @file{gnu/local.mk} has rules do download it for available locally, and @file{gnu/local.mk} has rules to download it for
the supported architectures; a rule for the new platform must be added the supported architectures; a rule for the new platform must be added
as well. as well.

View File

@ -816,7 +816,6 @@ dist_patch_DATA = \
%D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-CVE-2018-12383.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
@ -1048,6 +1047,7 @@ dist_patch_DATA = \
%D%/packages/patches/plink-1.07-unclobber-i.patch \ %D%/packages/patches/plink-1.07-unclobber-i.patch \
%D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/poppler-CVE-2018-19149.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/potrace-tests.patch \ %D%/packages/patches/potrace-tests.patch \

View File

@ -981,7 +981,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.25p1") (version "1.8.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -991,7 +991,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx")) "1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -572,13 +572,14 @@ based on human speech recordings.")
(name "infamous-plugins") (name "infamous-plugins")
(version "0.2.04") (version "0.2.04")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/ssj71/infamousPlugins/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/ssj71/infamousPlugins.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1n6rhqsmvad7692w2h01niw5gqg5yk7a09wxl5ivs77zyp93vf7z")))) "0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; there are no tests `(#:tests? #f ; there are no tests
@ -610,13 +611,14 @@ envelope follower, distortion effects, tape effects and more.")
(name "swh-plugins-lv2") (name "swh-plugins-lv2")
(version "1.0.16") (version "1.0.16")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/swh/" (uri (git-reference
"lv2/archive/v" version ".tar.gz")) (url "https://github.com/swh/lv2.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w")))) "0y7nnww864mm4k6ayy2lhcws3wlbhb2gkyjbrwk921fvc18qk9mz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -654,14 +656,14 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(name "csound") (name "csound")
(version "6.11.0") (version "6.11.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/csound/csound/archive/" (url "https://github.com/csound/csound.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"072pk5h9w0vhw0ncc9dn90haw1yv18v04iwwjn8nsp6930w7dvxd")))) "1hlkrnv3gghx4v382nl6v6k2k1dzm5ddk35m5g3q6pzc959726s7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -1174,19 +1176,15 @@ PS, and DAB+.")
(define-public faust-2 (define-public faust-2
(package (package
(inherit faust) (inherit faust)
(version "2.1.0") (version "2.5.23")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append "https://github.com/grame-cncm/faust/"
(url "https://github.com/grame-cncm/faust.git") "releases/download/" version
(commit (string-append "v" "/faust-" version ".tar.gz"))
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
(file-name (string-append "faust-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068")))) "1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments faust) (substitute-keyword-arguments (package-arguments faust)
@ -1194,7 +1192,7 @@ PS, and DAB+.")
`(list (string-append "prefix=" (assoc-ref %outputs "out")) `(list (string-append "prefix=" (assoc-ref %outputs "out"))
"world")))) "world"))))
(native-inputs (native-inputs
`(("llvm" ,llvm-with-rtti) `(("llvm" ,llvm-3.8-with-rtti)
("which" ,which) ("which" ,which)
("xxd" ,xxd) ("xxd" ,xxd)
("ctags" ,emacs-minimal) ; for ctags ("ctags" ,emacs-minimal) ; for ctags
@ -1881,14 +1879,14 @@ software.")
(name "lvtk") (name "lvtk")
(version "1.2.0") (version "1.2.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/lvtk/lvtk/archive/" (uri (git-reference
version (url "https://github.com/lvtk/lvtk.git")
".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd")))) "1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2274,36 +2272,32 @@ tempo and pitch of an audio recording independently of one another.")
(name "rtmidi") (name "rtmidi")
(version "2.1.0") (version "2.1.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (uri (git-reference
(string-append "https://github.com/powertab/rtmidi/archive/" (url "https://github.com/powertab/rtmidi.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj")))) "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;no "check" target `(#:tests? #f ;no "check" target
#:phases (modify-phases %standard-phases #:phases
(add-after (modify-phases %standard-phases
'unpack 'autoconf (add-before 'build 'fix-makefile
(lambda _ (invoke "autoreconf" "-vfi"))) (lambda _
(add-before (substitute* "Makefile"
'build 'fix-makefile (("/bin/ln") "ln")
(lambda _ (("RtMidi.h RtError.h") "RtMidi.h"))
(substitute* "Makefile" #t))
(("/bin/ln") "ln") (add-before 'install 'make-target-dirs
(("RtMidi.h RtError.h") "RtMidi.h")) (lambda _
#t)) (let ((out (assoc-ref %outputs "out")))
(add-before (mkdir-p (string-append out "/bin"))
'install 'make-target-dirs (mkdir (string-append out "/lib"))
(lambda _ (mkdir (string-append out "/include")))
(let ((out (assoc-ref %outputs "out"))) #t)))))
(mkdir-p (string-append out "/bin"))
(mkdir (string-append out "/lib"))
(mkdir (string-append out "/include")))
#t)))))
(inputs (inputs
`(("jack" ,jack-1) `(("jack" ,jack-1)
("alsa-lib" ,alsa-lib))) ("alsa-lib" ,alsa-lib)))
@ -2754,20 +2748,14 @@ portions of LAME.")
;; TODO: Add ASIHPI. ;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("jack" ,jack-1))) ("jack" ,jack-1)))
;; Autoreconf is necessary because the audacity-compat patch modifies .in
;; files.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool) ("libtool" ,libtool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments (arguments '(#:tests? #f)) ;no 'check' target
'(#:phases
;; Autoreconf is necessary because the audacity-compat patch modifies
;; .in files.
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))
#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/") (home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library") (synopsis "Audio I/O library")
(description (description
@ -2813,12 +2801,13 @@ synthesizer written in C++.")
(version "1.1") (version "1.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/Themaister/RSound.git")
(file-name (string-append name "-" version)) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx")))) (base32 "0gspmr3klwnq98h17p5hc6ifygya4p80g4g8r7a1qavm3mv19waf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -2851,14 +2840,14 @@ with a much different focus than most other audio daemons.")
(name "xjackfreak") (name "xjackfreak")
(version "1.0") (version "1.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/johnhldavis/xjackfreak/archive/v" (url "https://github.com/johnhldavis/xjackfreak.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9")))) "18c546qidbrj0f5wfiq5llii2192xpln0ab3r4vpr7i3wybxqjfz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -3026,15 +3015,16 @@ point audio data.")
(name "cuetools") (name "cuetools")
(version "1.4.1") (version "1.4.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/svend/cuetools/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/svend/cuetools.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4")))) "02ksv1ahf1v4cr2xbclsfv5x17m9ivzbssb5r8xjm97yh8a7spa3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; The source tarball is not bootstrapped. ;; The source checkout is not bootstrapped.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -3075,13 +3065,14 @@ use them split WAVE data into multiple files.")
(name "dcadec") (name "dcadec")
(version "0.2.0") (version "0.2.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/foo86/dcadec/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/foo86/dcadec.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0i0dpypgqkhhi4v1fmsp2way6w9kbcix3c7q79pmg39yvrzj17gd")))) "07nd0ajizrp1w02bsyfcv18431r8m8rq8gjfmz9wmckpg7cxj2hs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Test files are missing: https://github.com/foo86/dcadec/issues/53 ;; Test files are missing: https://github.com/foo86/dcadec/issues/53
@ -3386,13 +3377,14 @@ the following features:
(version "1.6") (version "1.6")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/dpayne/cli-visualizer/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/dpayne/cli-visualizer.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"07zkm87f2fr8kc6531zrkya7q81sdanm6813y2f54mg13g41y6hi")))) "0mirp8bk398di5xyq95iprmdyvplfghxqmrfj7jdnpy554vx7ppc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which))) `(("which" ,which)))
@ -3440,14 +3432,14 @@ representations.")
(name "cava") (name "cava")
(version "0.6.1") (version "0.6.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/karlstav/cava/archive/" (url "https://github.com/karlstav/cava.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13d72swnjs894llf0paandmhf1lf90dz6ygkcdw4bv84wzkq1f4q")))) "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)

View File

@ -11,6 +11,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +31,7 @@
(define-module (gnu packages backup) (define-module (gnu packages backup)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -132,22 +134,18 @@ spying and/or modification by the server.")
(name "par2cmdline") (name "par2cmdline")
(version "0.8.0") (version "0.8.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/Parchive/par2cmdline.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1jpshmmcr81mxly0md2rr231qz9c8c680bbvcmhh100dg9i4a6s6")))) "0f1jsd5sw2wynjzi7yjqjaf13yhyjfdid91p8yh0jn32y03kjyrz"))))
(native-inputs (native-inputs
`(("automake" ,automake) `(("automake" ,automake)
("autoconf" ,autoconf))) ("autoconf" ,autoconf)))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (invoke "autoreconf" "-vfi"))))))
(synopsis "File verification and repair tools") (synopsis "File verification and repair tools")
(description "Par2cmdline uses Reed-Solomon error-correcting codes to (description "Par2cmdline uses Reed-Solomon error-correcting codes to
generate and verify PAR2 recovery files. These files can be distributed generate and verify PAR2 recovery files. These files can be distributed
@ -889,6 +887,7 @@ is like a time machine for your data. ")
,version) ,version)
;; Disable 'restic self-update'. It makes little sense in Guix. ;; Disable 'restic self-update'. It makes little sense in Guix.
(substitute* "build.go" (("selfupdate") "")) (substitute* "build.go" (("selfupdate") ""))
(setenv "HOME" (getcwd)) ; for $HOME/.cache/go-build
(invoke "go" "run" "build.go")))) (invoke "go" "run" "build.go"))))
(replace 'check (replace 'check

View File

@ -969,3 +969,64 @@ using pre-clustering with the k-means algorithm. Functions are also provided
to search for all neighbors within a given distance. Parallelization is to search for all neighbors within a given distance. Parallelization is
achieved for all methods using the BiocParallel framework.") achieved for all methods using the BiocParallel framework.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-destiny
(package
(name "r-destiny")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "destiny" version))
(sha256
(base32
"1iay17mrhsfmpwl920rh1nip5b6ybva4h6bna0yld04paq5yva67"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fnn" ,r-fnn)
("r-ggthemes" ,r-ggthemes)
("r-hmisc" ,r-hmisc)
("r-igraph" ,r-igraph)
("r-matrix" ,r-matrix)
("r-proxy" ,r-proxy)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-scales" ,r-scales)
("r-scatterplot3d" ,r-scatterplot3d)
("r-smoother" ,r-smoother)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-vim" ,r-vim)))
(home-page "https://bioconductor.org/packages/destiny/")
(synopsis "Create and plot diffusion maps")
(description "This package provides tools to create and plot diffusion
maps.")
;; Any version of the GPL
(license license:gpl3+)))
(define-public r-savr
(package
(name "r-savr")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "savR" version))
(sha256
(base32
"13bwq2a2pygdkmhrcmvz525wsi5i01j911711zgs6x93wj20b2w7"))))
(properties `((upstream-name . "savR")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-reshape2" ,r-reshape2)
("r-scales" ,r-scales)
("r-xml" ,r-xml)))
(home-page "https://github.com/bcalder/savR")
(synopsis "Parse and analyze Illumina SAV files")
(description
"This package provides tools to parse Illumina Sequence Analysis
Viewer (SAV) files, access data, and generate QC plots.")
(license license:agpl3+)))

View File

@ -7099,13 +7099,13 @@ Bioconductor, CRAN, and Github.")
(define-public r-biocviews (define-public r-biocviews
(package (package
(name "r-biocviews") (name "r-biocviews")
(version "1.50.1") (version "1.50.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "biocViews" version)) (uri (bioconductor-uri "biocViews" version))
(sha256 (sha256
(base32 (base32
"0hjm3r58i0r9qhyar9pk250cx7sfijg0lnvi12a9s6brmmbip1a3")))) "0rc1n89n04ylvy9gvsgvizcs77bh70jg1nkjjsjs7rqbr3zzdysz"))))
(properties (properties
`((upstream-name . "biocViews"))) `((upstream-name . "biocViews")))
(build-system r-build-system) (build-system r-build-system)
@ -7268,13 +7268,13 @@ abnormal copy number.")
(define-public r-s4vectors (define-public r-s4vectors
(package (package
(name "r-s4vectors") (name "r-s4vectors")
(version "0.20.0") (version "0.20.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "S4Vectors" version)) (uri (bioconductor-uri "S4Vectors" version))
(sha256 (sha256
(base32 (base32
"0qgiykjhnsvvpcp3zwmrnpx3bv3msvj0szchyvb1yb0fxw716xc5")))) "18whrw67nxn82xshckl2pjy7d14sa3c27h3n9naqyqwz88lr6dzg"))))
(properties (properties
`((upstream-name . "S4Vectors"))) `((upstream-name . "S4Vectors")))
(build-system r-build-system) (build-system r-build-system)
@ -7349,7 +7349,7 @@ possible.")
(define-public r-genomeinfodbdata (define-public r-genomeinfodbdata
(package (package
(name "r-genomeinfodbdata") (name "r-genomeinfodbdata")
(version "1.1.0") (version "1.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -7359,7 +7359,7 @@ possible.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0k1hsjx6n2i1sf14hyrgdhxqxm5mxk0bgnivhiax944whcicmzbf")))) "0di6nlqpsyqf693k2na65ayqldih563x3zfrczpqc5q2hl5kg35c"))))
(properties (properties
`((upstream-name . "GenomeInfoDbData"))) `((upstream-name . "GenomeInfoDbData")))
(build-system r-build-system) (build-system r-build-system)
@ -7657,13 +7657,13 @@ objects.")
(define-public r-biostrings (define-public r-biostrings
(package (package
(name "r-biostrings") (name "r-biostrings")
(version "2.50.0") (version "2.50.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Biostrings" version)) (uri (bioconductor-uri "Biostrings" version))
(sha256 (sha256
(base32 (base32
"0zw0dj67fnpbz4iqnam5fxs92c1c8w8d7mzl0rkq4ksx0xl8vgg7")))) "1qyv1ps7vy6gy78pm2rcikg0bgf1mv7falahjp3pkwqq1272hrl8"))))
(properties (properties
`((upstream-name . "Biostrings"))) `((upstream-name . "Biostrings")))
(build-system r-build-system) (build-system r-build-system)
@ -7910,7 +7910,7 @@ extracting the desired features in a convenient format.")
(define-public r-go-db (define-public r-go-db
(package (package
(name "r-go-db") (name "r-go-db")
(version "3.6.0") (version "3.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.bioconductor.org/packages/" (uri (string-append "https://www.bioconductor.org/packages/"
@ -7918,7 +7918,7 @@ extracting the desired features in a convenient format.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fi2qywr9apg5lwfqfq9qq6bgrnv4rdhxx25656qn4bsy62i838j")))) "0i3wcf5h3n0dawzc1hy0kv74f06j80c47n4p3g3fmrcxlhi3jpa5"))))
(properties (properties
`((upstream-name . "GO.db"))) `((upstream-name . "GO.db")))
(build-system r-build-system) (build-system r-build-system)
@ -8121,7 +8121,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-genomationdata (define-public r-genomationdata
(package (package
(name "r-genomationdata") (name "r-genomationdata")
(version "1.10.0") (version "1.14.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8131,7 +8131,7 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
"genomationData_" version ".tar.gz")) "genomationData_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0h7g5x3kyb50qlblz5hc85lfm6n6f5nb68i146way3ggs04sqvla")))) "10xyb8akjrhmak2i0mnv1agny2ipy364q9nlibyplpzc7vdb6bw7"))))
(build-system r-build-system) (build-system r-build-system)
;; As this package provides little more than large data files, it doesn't ;; As this package provides little more than large data files, it doesn't
;; make sense to build substitutes. ;; make sense to build substitutes.
@ -8149,7 +8149,7 @@ downloaded from Encode.")
(define-public r-org-hs-eg-db (define-public r-org-hs-eg-db
(package (package
(name "r-org-hs-eg-db") (name "r-org-hs-eg-db")
(version "3.5.0") (version "3.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8159,7 +8159,7 @@ downloaded from Encode.")
"org.Hs.eg.db_" version ".tar.gz")) "org.Hs.eg.db_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1v6wa5613cjq59xd7x1qz8lr9nb2abm9abl2cci1khrnrlpla927")))) "1qxz9l80yg3qdqszs6dsscp7lrpfi1bgd0pxh9j7q34vprzwhdim"))))
(properties (properties
`((upstream-name . "org.Hs.eg.db"))) `((upstream-name . "org.Hs.eg.db")))
(build-system r-build-system) (build-system r-build-system)
@ -8175,7 +8175,7 @@ on mapping using Entrez Gene identifiers.")
(define-public r-org-ce-eg-db (define-public r-org-ce-eg-db
(package (package
(name "r-org-ce-eg-db") (name "r-org-ce-eg-db")
(version "3.5.0") (version "3.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8185,7 +8185,7 @@ on mapping using Entrez Gene identifiers.")
"org.Ce.eg.db_" version ".tar.gz")) "org.Ce.eg.db_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"02ggchixlmzywhsbr0h2ms4dravv7m5964cjxqcjxqs16vjwlbk9")))) "1w5br1ss4ha8wv4v2saj7cmbjc2jw0dyj2f2y269l078z31wcnaz"))))
(properties (properties
`((upstream-name . "org.Ce.eg.db"))) `((upstream-name . "org.Ce.eg.db")))
(build-system r-build-system) (build-system r-build-system)
@ -8201,7 +8201,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.")
(define-public r-org-dm-eg-db (define-public r-org-dm-eg-db
(package (package
(name "r-org-dm-eg-db") (name "r-org-dm-eg-db")
(version "3.5.0") (version "3.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8211,7 +8211,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.")
"org.Dm.eg.db_" version ".tar.gz")) "org.Dm.eg.db_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"033qak1d3wwz17va0bh8z8p8arx0aw2va6gm1qfwsvdkj9cd9d7d")))) "1pqjrzlyg72bjpy8zsxvaglc7jsv176bnyi87xdajmkvsgxpm7b3"))))
(properties (properties
`((upstream-name . "org.Dm.eg.db"))) `((upstream-name . "org.Dm.eg.db")))
(build-system r-build-system) (build-system r-build-system)
@ -8227,7 +8227,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
(define-public r-org-mm-eg-db (define-public r-org-mm-eg-db
(package (package
(name "r-org-mm-eg-db") (name "r-org-mm-eg-db")
(version "3.5.0") (version "3.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8237,7 +8237,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
"org.Mm.eg.db_" version ".tar.gz")) "org.Mm.eg.db_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"11q21p3ki4bn4hb3aix0g775l45l66jmas6m94nfhqqnpjhv4d6g")))) "1i3nvrd3wjigf1rmgxq1p5xxc3p8v02h5gwi62s30rkrsyjjfjxx"))))
(properties (properties
`((upstream-name . "org.Mm.eg.db"))) `((upstream-name . "org.Mm.eg.db")))
(build-system r-build-system) (build-system r-build-system)
@ -8368,7 +8368,7 @@ in Biostrings objects.")
(define-public r-txdb-mmusculus-ucsc-mm10-knowngene (define-public r-txdb-mmusculus-ucsc-mm10-knowngene
(package (package
(name "r-txdb-mmusculus-ucsc-mm10-knowngene") (name "r-txdb-mmusculus-ucsc-mm10-knowngene")
(version "3.4.0") (version "3.4.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is ;; We cannot use bioconductor-uri here because this tarball is
@ -8379,7 +8379,7 @@ in Biostrings objects.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"08gava9wsvpcqz51k2sni3pj03n5155v32d9riqbf305nbirqbkb")))) "01lgxc1fx5nhlpbwjd5zqghkkbmh6axd98ikx4b0spv0jdg6gf39"))))
(properties (properties
`((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene"))) `((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene")))
(build-system r-build-system) (build-system r-build-system)
@ -10215,14 +10215,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
(define-public r-ensembldb (define-public r-ensembldb
(package (package
(name "r-ensembldb") (name "r-ensembldb")
(version "2.6.0") (version "2.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ensembldb" version)) (uri (bioconductor-uri "ensembldb" version))
(sha256 (sha256
(base32 (base32
"12jqz9h6w4mxyfr43w5qbwmacn512aw0mnl0zvhsg5i7p4qj45ks")))) "1js05dcv1dj4g2vj7lzlg0rgjcjlk2irdr9rxqpwxmivm8nbvf36"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -14118,6 +14118,85 @@ enrichment analysis (GSEA) calculation with or without the absolute filtering.
absolute GSEA.") absolute GSEA.")
(license license:gpl2))) (license license:gpl2)))
(define-public jamm
(package
(name "jamm")
(version "1.0.7.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mahmoudibrahim/JAMM.git")
(commit (string-append "JAMMv" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ls889jcma1ch9h21jjhnkadgszgqj41842hhcjh6cg88f85qf3i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "JAMM.sh"
(("^sPath=.*")
(string-append "")))
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec/jamm"))
(bin (string-append out "/bin")))
(substitute* '("JAMM.sh"
"SignalGenerator.sh")
(("^sPath=.*")
(string-append "sPath=\"" libexec "\"\n")))
(for-each (lambda (file)
(install-file file libexec))
(list "bincalculator.r"
"peakfinder.r"
"peakhelper.r"
"signalmaker.r"
"xcorr.r"
"xcorrhelper.r"
;; Perl scripts
"peakfilter.pl"
"readshifter.pl"))
(for-each
(lambda (script)
(chmod script #o555)
(install-file script bin)
(wrap-program (string-append bin "/" script)
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "coreutils") "/bin")
,(string-append (assoc-ref inputs "gawk") "/bin")
,(string-append (assoc-ref inputs "perl") "/bin")
,(string-append (assoc-ref inputs "r-minimal") "/bin")))
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))
`("R_LIBS_SITE" ":" prefix (,(getenv "R_LIBS_SITE")))))
(list "JAMM.sh" "SignalGenerator.sh")))
#t)))))
(inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("gawk" ,gawk)
("perl" ,perl)
("r-minimal" ,r-minimal)
;;("r-parallel" ,r-parallel)
("r-signal" ,r-signal)
("r-mclust" ,r-mclust)))
(home-page "https://github.com/mahmoudibrahim/JAMM")
(synopsis "Peak finder for NGS datasets")
(description
"JAMM is a peak finder for next generation sequencing datasets (ChIP-Seq,
ATAC-Seq, DNase-Seq, etc.) that can integrate replicates and assign peak
boundaries accurately. JAMM is applicable to both broad and narrow
datasets.")
(license license:gpl3+)))
(define-public ngless (define-public ngless
(package (package
(name "ngless") (name "ngless")

View File

@ -133,10 +133,7 @@ in compression.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-source (add-after 'unpack 'enter-source
(lambda _ (chdir "contrib/minizip") #t)) (lambda _ (chdir "contrib/minizip") #t)))))
(add-after 'enter-source 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -188,12 +185,7 @@ utility. Instead of being written in Java, FastJar is written in C.")
"02cihzl77ia0dcz7z2cga2412vyhhs5pa2355q4wpwbyga2lrwjh")) "02cihzl77ia0dcz7z2cga2412vyhhs5pa2355q4wpwbyga2lrwjh"))
(patches (search-patches "libtar-CVE-2013-4420.patch")))) (patches (search-patches "libtar-CVE-2013-4420.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments `(#:tests? #f)) ; no "check" target
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (invoke "sh" "autoreconf" "-vfi"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -1122,13 +1114,14 @@ smaller than those produced by @code{Xdelta}.")
(version "3.1.0") (version "3.1.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/jmacd/xdelta/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/jmacd/xdelta.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17g2pbbqy6h20qgdjq7ykib7kg5ajh8fwbsfgyjqg8pwg19wy5bm")) "09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy"))
(file-name (string-append name "-" version ".tar.gz"))
(snippet (snippet
;; This file isn't freely distributable and has no effect on building. ;; This file isn't freely distributable and has no effect on building.
'(begin '(begin
@ -1142,9 +1135,7 @@ smaller than those produced by @code{Xdelta}.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-build-directory (add-after 'unpack 'enter-build-directory
(lambda _ (chdir "xdelta3") #t)) (lambda _ (chdir "xdelta3") #t)))))
(add-after 'enter-build-directory 'autoconf
(lambda _ (invoke "autoreconf" "-vfi"))))))
(home-page "http://xdelta.org") (home-page "http://xdelta.org")
(synopsis "Delta encoder for binary files") (synopsis "Delta encoder for binary files")
(description "xdelta encodes only the differences between two binary files (description "xdelta encodes only the differences between two binary files

View File

@ -32,11 +32,15 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system r) #:use-module (guix build-system r)
#:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages haskell) #:use-module (gnu packages haskell)
#:use-module (gnu packages image)
#:use-module (gnu packages machine-learning) #:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
@ -45,7 +49,8 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web)) #:use-module (gnu packages web)
#:use-module (gnu packages xorg))
(define-public r-clipr (define-public r-clipr
(package (package
@ -566,14 +571,16 @@ you to rapidly iterate while developing a package.")
(define-public r-rcpp (define-public r-rcpp
(package (package
(name "r-rcpp") (name "r-rcpp")
(version "0.12.19") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Rcpp" version)) (uri (cran-uri "Rcpp" version))
(sha256 (sha256
(base32 "10mmiaawv9iwglc6z4y51mdpsfb1sivqmwr6xnfqkllcnpabdbk3")))) (base32 "1hlbw4k79q9ich4w27b01gsvwrsnrflii8zjlcmgfzm1vpq8ndxp"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs
`(("r-knitr" ,r-knitr))) ; for vignettes
(home-page "http://www.rcpp.org") (home-page "http://www.rcpp.org")
(synopsis "Seamless R and C++ integration") (synopsis "Seamless R and C++ integration")
(description (description
@ -2042,17 +2049,18 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
(define-public r-jomo (define-public r-jomo
(package (package
(name "r-jomo") (name "r-jomo")
(version "2.6-4") (version "2.6-5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "jomo" version)) (uri (cran-uri "jomo" version))
(sha256 (sha256
(base32 (base32
"05g2rj9g7rgyb22b0gybw042nydyqsqsb31v05hifzavri8ij01x")))) "109q5m69clrvvialxdxznd0wdb54ajhx84nj8slx8bf909a427mj"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-lme4" ,r-lme4) `(("r-lme4" ,r-lme4)
("r-mass" ,r-mass)
("r-ordinal" ,r-ordinal) ("r-ordinal" ,r-ordinal)
("r-survival" ,r-survival))) ("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/jomo/") (home-page "https://cran.r-project.org/web/packages/jomo/")
@ -3071,6 +3079,26 @@ Analysis for Physical Applications, Donald B. Percival and Andrew T. Walden,
Cambridge University Press, 1993.") Cambridge University Press, 1993.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-aggregation
(package
(name "r-aggregation")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "aggregation" version))
(sha256
(base32
"0j9g604m2ccc7hcy02539yja9cf3xcbl25gvp838bp4x8w18my46"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/aggregation/")
(synopsis "Methods for p-value aggregation")
(description
"This package contains functionality for performing the following methods
of p-value aggregation: Fisher's method, the Lancaster method (weighted
Fisher's method), and Sidak correction.")
(license license:gpl3)))
(define-public r-quantmod (define-public r-quantmod
(package (package
(name "r-quantmod") (name "r-quantmod")
@ -3452,6 +3480,36 @@ dendrograms.")
;; Either version of the license. ;; Either version of the license.
(license (list license:gpl2 license:gpl3)))) (license (list license:gpl2 license:gpl3))))
(define-public r-h5
(package
(name "r-h5")
(version "0.9.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "h5" version))
(sha256
(base32
"14p7i1sj24ky87kd7qr3n9fc9l64s0bp0rwbyl6i2x69xn75gpsx"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)
("hdf5" ,hdf5)))
(native-inputs
`(("which" ,which)))
(propagated-inputs
`(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/mannau/h5")
(synopsis "Interface to the HDF5 Library")
(description
"This package provides an S4 interface to the HDF5 library supporting
fast storage and retrieval of R-objects like vectors, matrices and arrays to
binary files in a language independent format. The HDF5 format can therefore
be used as an alternative to R's save/load mechanism. Since h5 is able to
access only subsets of stored data it can also handle data sets which do not
fit into memory.")
(license license:bsd-2)))
(define-public r-cgdsr (define-public r-cgdsr
(package (package
(name "r-cgdsr") (name "r-cgdsr")
@ -4392,14 +4450,14 @@ and adds the annotation to the plot.")
(define-public r-ggpubr (define-public r-ggpubr
(package (package
(name "r-ggpubr") (name "r-ggpubr")
(version "0.1.8") (version "0.1.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "ggpubr" version)) (uri (cran-uri "ggpubr" version))
(sha256 (sha256
(base32 (base32
"0psl2zndm4wk6nnj1nv305islpxfvfgd87gjh2ph8yqn4mxpnfi1")))) "0rvfgii2gxarra7d33n6c63ky0mivxxyx35acsrn94xkbd8mbcsj"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-cowplot" ,r-cowplot) `(("r-cowplot" ,r-cowplot)
@ -4670,6 +4728,32 @@ Extract argument descriptions and other parts of the help pages of
functions.") functions.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-rjags
(package
(name "r-rjags")
(version "4-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "rjags" version))
(sha256
(base32
"17xmjksj69f9wk4x71jxk4cgiqhaf2fj6bjm0mgzp4qln5x84a8m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-coda" ,r-coda)))
(inputs
`(("jags" ,jags)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://mcmc-jags.sourceforge.net")
(synopsis "Bayesian graphical models using MCMC")
(description
"This package provides an R interface to the JAGS MCMC library. JAGS is
Just Another Gibbs Sampler. It is a program for analysis of Bayesian
hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.")
(license license:gpl2)))
(define-public r-rdpack (define-public r-rdpack
(package (package
(name "r-rdpack") (name "r-rdpack")
@ -4732,6 +4816,112 @@ be added or removed. When working with Word documents, a cursor can be used
to help insert or delete content at a specific location in the document.") to help insert or delete content at a specific location in the document.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-abn
(package
(name "r-abn")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
"00k0razgdb5y5f62622fm7rxkcxrxg470nyyb02dvpfp60254kvs"))))
(build-system r-build-system)
(inputs
`(("gsl" ,gsl)))
(propagated-inputs
`(("r-cairo" ,r-cairo)
("r-lme4" ,r-lme4)
("r-mass" ,r-mass)
("r-nnet" ,r-nnet)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rjags" ,r-rjags)))
(home-page "http://www.r-bayesian-networks.org")
(synopsis "Modelling multivariate data with additive bayesian networks")
(description
"Bayesian network analysis is a form of probabilistic graphical models
which derives from empirical data a directed acyclic graph, DAG, describing
the dependency structure between random variables. An additive Bayesian
network model consists of a form of a DAG where each node comprises a
@dfn{generalized linear model} (GLM). Additive Bayesian network models are
equivalent to Bayesian multivariate regression using graphical modelling, they
generalises the usual multivariable regression, GLM, to multiple dependent
variables. This package provides routines to help determine optimal Bayesian
network models for a given data set, where these models are used to identify
statistical dependencies in messy, complex data.")
(license license:gpl2+)))
(define-public r-acd
(package
(name "r-acd")
(version "1.5.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "ACD" version))
(sha256
(base32
"1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"))))
(properties `((upstream-name . "ACD")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/ACD/")
(synopsis "Categorical data analysis with complete or missing responses")
(description
"This package provides tools for categorical data analysis with complete
or missing responses.")
(license license:gpl2+)))
(define-public r-acdm
(package
(name "r-acdm")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "ACDm" version))
(sha256
(base32
"0b4f02ga5ra66mbrm79g0bnlzmii82rks9kmxixxqgf18yhlyjil"))))
(properties `((upstream-name . "ACDm")))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
("r-ggplot2" ,r-ggplot2)
("r-plyr" ,r-plyr)
("r-rsolnp" ,r-rsolnp)
("r-zoo" ,r-zoo)))
(home-page "https://cran.r-project.org/web/packages/ACDm/")
(synopsis "Tools for Autoregressive Conditional Duration Models")
(description
"ACDm is a package for Autoregressive Conditional Duration (ACD, Engle
and Russell, 1998) models. It creates trade, price or volume durations from
transactions (tic) data, performs diurnal adjustments, fits various ACD models
and tests them.")
(license license:gpl2+)))
(define-public r-overlap
(package
(name "r-overlap")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "overlap" version))
(sha256
(base32
"1j3m6ir1chdz0si2fhcw6gs7c9h09bv0chz18rpzxsywww6d4rzy"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/overlap/")
(synopsis "Estimates of coefficient of overlapping for animal activity patterns")
(description
"This package provides functions to fit kernel density functions to data
on temporal activity patterns of animals; estimate coefficients of overlapping
of densities for two species; and calculate bootstrap estimates of confidence
intervals.")
(license license:gpl3+)))
(define-public r-snakecase (define-public r-snakecase
(package (package
(name "r-snakecase") (name "r-snakecase")
@ -6507,14 +6697,14 @@ Bayesian modeling.")
(define-public r-tmb (define-public r-tmb
(package (package
(name "r-tmb") (name "r-tmb")
(version "1.7.14") (version "1.7.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "TMB" version)) (uri (cran-uri "TMB" version))
(sha256 (sha256
(base32 (base32
"0bpc504nz8xfwr8ack52dj4hpjcykn6zyf8n228z32dw9d5n96dl")))) "1r2d8c5iazihba42sn33yarv0dcfiy989sx64zcf14zr8k6cgjzs"))))
(properties `((upstream-name . "TMB"))) (properties `((upstream-name . "TMB")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6885,14 +7075,14 @@ directories or URLs with their associated programs.")
(define-public r-rcmdcheck (define-public r-rcmdcheck
(package (package
(name "r-rcmdcheck") (name "r-rcmdcheck")
(version "1.3.1") (version "1.3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rcmdcheck" version)) (uri (cran-uri "rcmdcheck" version))
(sha256 (sha256
(base32 (base32
"1ga19jqix0zs7xyz2j155zyagwbv22r6dgv55g6wdjigc67qfsix")))) "0ys1nd7690mhwzslyzg8fq1wxr28nz8g6av5iykkrshb8lkxg7ly"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-callr" ,r-callr) `(("r-callr" ,r-callr)
@ -7325,3 +7515,242 @@ netCDF files.")
"This package provides a convenient tool to install and update "This package provides a convenient tool to install and update
Bioconductor packages.") Bioconductor packages.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-rgl
(package
(name "r-rgl")
(version "0.99.16")
(source
(origin
(method url-fetch)
(uri (cran-uri "rgl" version))
(sha256
(base32
"0q8sg8fr0140ilssqhscaxkjc29w1rpp6f4k50amw3zzs9g58ak9"))))
(build-system r-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("libpng" ,libpng)
("glu" ,glu)
("libx11" ,libx11)
("ghc-pandoc" ,ghc-pandoc)
("zlib" ,zlib)))
(propagated-inputs
`(("r-crosstalk" ,r-crosstalk)
("r-htmltools" ,r-htmltools)
("r-htmlwidgets" ,r-htmlwidgets)
("r-jsonlite" ,r-jsonlite)
("r-knitr" ,r-knitr)
("r-magrittr" ,r-magrittr)
("r-manipulatewidget" ,r-manipulatewidget)
("r-shiny" ,r-shiny)))
(home-page "https://r-forge.r-project.org/projects/rgl/")
(synopsis "3D visualization using OpenGL")
(description
"This package provides medium to high level functions for 3D interactive graphics,
including functions modelled on base graphics (@code{plot3d()}, etc.) as well
as functions for constructing representations of geometric
objects (@code{cube3d()}, etc.). Output may be on screen using OpenGL, or to
various standard 3D file formats including WebGL, PLY, OBJ, STL as well as 2D
image formats, including PNG, Postscript, SVG, PGF.")
;; Any version of the GPL.
(license (list license:gpl2+ license:gpl3+))))
(define-public r-multicool
(package
(name "r-multicool")
(version "0.1-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "multicool" version))
(sha256
(base32
"1ybg9piya9psqg42w9i3zsnavbxhkfklfwl7cb420i5nkq6wpc2v"))))
(build-system r-build-system)
(propagated-inputs `(("r-rcpp" ,r-rcpp)))
(home-page "https://cran.r-project.org/web/packages/multicool/")
(synopsis "Permutations of multisets in cool-lex order")
(description
"This package provides a set of tools to permute multisets without loops
or hash tables and to generate integer partitions. Cool-lex order is similar
to colexicographical order.")
(license license:gpl2)))
(define-public r-misc3d
(package
(name "r-misc3d")
(version "0.8-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "misc3d" version))
(sha256
(base32
"0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/misc3d/")
(synopsis "Miscellaneous 3D Plots")
(description
"This package provides a collection of miscellaneous 3d plots, including
isosurfaces.")
;; Any version of the GPL.
(license (list license:gpl2+ license:gpl3+))))
(define-public r-ks
(package
(name "r-ks")
(version "1.11.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "ks" version))
(sha256
(base32
"0z749c3xzpf6n0g7xcfplrhap1di8k7kcfr7vigh95ywnigyhs8d"))))
(build-system r-build-system)
(propagated-inputs
`(("r-fnn" ,r-fnn)
("r-kernlab" ,r-kernlab)
("r-kernsmooth" ,r-kernsmooth)
("r-matrix" ,r-matrix)
("r-mclust" ,r-mclust)
("r-mgcv" ,r-mgcv)
("r-misc3d" ,r-misc3d)
("r-multicool" ,r-multicool)
("r-mvtnorm" ,r-mvtnorm)))
(home-page "http://www.mvstat.net/tduong/")
(synopsis "Kernel smoothing")
(description
"This package provides kernel smoothers for univariate and multivariate
data, including density functions, density derivatives, cumulative
distributions, modal clustering, discriminant analysis, and two-sample
hypothesis testing.")
;; Either version of the GPL.
(license (list license:gpl2 license:gpl3))))
(define-public r-feature
(package
(name "r-feature")
(version "1.2.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "feature" version))
(sha256
(base32
"07hkw0bv38naj2hdsx4xxrm2dngi6w3rbvgr7s50bjic8hlgy1ra"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ks" ,r-ks)
("r-misc3d" ,r-misc3d)
("r-rgl" ,r-rgl)))
(home-page "http://www.mvstat.net/tduong/")
(synopsis "Inferential feature significance for kernel density estimation")
(description
"The feature package contains functions to display and compute kernel
density estimates, significant gradient and significant curvature regions.
Significant gradient and/or curvature regions often correspond to significant
features (e.g. local modes).")
;; Either version of the GPL.
(license (list license:gpl2 license:gpl3))))
(define-public r-arm
(package
(name "r-arm")
(version "1.10-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "arm" version))
(sha256
(base32
"0vvp90jygajd6ydky57z66wqjq9msfbl88irj5jbsray574mh4bg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
("r-coda" ,r-coda)
("r-lme4" ,r-lme4)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-nlme" ,r-nlme)))
(home-page "https://cran.r-project.org/web/packages/arm/")
(synopsis "Data analysis using regression and multilevel/hierarchical models")
(description
"This package provides functions to accompany A. Gelman and J. Hill,
Data Analysis Using Regression and Multilevel/Hierarchical Models, Cambridge
University Press, 2007.")
(license license:gpl3+)))
(define-public r-circular
(package
(name "r-circular")
(version "0.4-93")
(source
(origin
(method url-fetch)
(uri (cran-uri "circular" version))
(sha256
(base32
"0hki85rs8wc5950pjaw28q54rly2napfbcrx3pchlfap6wwy5kkn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-boot" ,r-boot)
("r-mvtnorm" ,r-mvtnorm)))
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/circular/")
(synopsis "Circular statistics")
(description
"This package provides tools for circular statistics, from \"Topics in
circular Statistics\" (2001) S. Rao Jammalamadaka and A. SenGupta, World
Scientific.")
(license license:gpl2+)))
(define-public r-activity
(package
(name "r-activity")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "activity" version))
(sha256
(base32
"1lqajgxfps2h6amz1791vp3f52rs9ghmanq1nqfxqd2jmk3idkrx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-circular" ,r-circular)
("r-overlap" ,r-overlap)
("r-pbapply" ,r-pbapply)))
(home-page "https://cran.r-project.org/web/packages/activity/")
(synopsis "Animal activity statistics")
(description
"This package provides functions to fit kernel density functions to
animal activity time data; plot activity distributions; quantify overall
levels of activity; statistically compare activity metrics through
bootstrapping; and evaluate variation in linear variables with time (or other
circular variables).")
(license license:gpl3)))
(define-public r-ouch
(package
(name "r-ouch")
(version "2.11-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ouch" version))
(sha256
(base32
"0xkwwi62vdahlcg3k32zb1nfwsx87zdssk79mvcxgfsw9bw4gahx"))))
(build-system r-build-system)
(propagated-inputs `(("r-subplex" ,r-subplex)))
(home-page "http://kingaa.github.io/ouch/")
(synopsis "Ornstein-Uhlenbeck models for phylogenetic comparative hypotheses")
(description
"This package provides tools to fit and compare Ornstein-Uhlenbeck models
for evolution along a phylogenetic tree.")
(license license:gpl2+)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -164,34 +164,31 @@ OpenBSD tool of the same name.")
"See base64.c in the distribution for "See base64.c in the distribution for
the license from IBM."))))) the license from IBM.")))))
(define-public opendht (define-public opendht
(package (package
(name "opendht") (name "opendht")
(version "0.6.1") (version "0.6.1")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (url "https://github.com/savoirfairelinux/opendht.git")
(string-append (commit version)))
"https://github.com/savoirfairelinux/" name (file-name (git-file-name name version))
"/archive/" version ".tar.gz")) (modules '((guix build utils)))
(file-name (string-append name "-" version ".tar.gz")) (snippet
(modules '((guix build utils))) '(begin
(snippet (delete-file-recursively "src/argon2")
'(begin (substitute* "src/Makefile.am"
(delete-file-recursively "src/argon2") (("./argon2/libargon2.la") "")
(substitute* "src/Makefile.am" (("SUBDIRS = argon2") ""))
(("./argon2/libargon2.la") "") (substitute* "src/crypto.cpp"
(("SUBDIRS = argon2") "")) (("argon2/argon2.h") "argon2.h"))
(substitute* "src/crypto.cpp" (substitute* "configure.ac"
(("argon2/argon2.h") "argon2.h")) (("src/argon2/Makefile") ""))
(substitute* "configure.ac" #t))
(("src/argon2/Makefile") "")) (sha256
#t)) (base32
(sha256 "1akk613f18rc8kqs0cxdm34iq7wwc9kffhgp5rng09arwlw8gw3w"))))
(base32
"09yvkmbqbym3b5md4n96qc1s9sf2n8ji404hagih45rmsj49599x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
@ -206,11 +203,7 @@ OpenBSD tool of the same name.")
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool))) ("libtool" ,libtool)))
(arguments (arguments
`(#:configure-flags '("--disable-tools" "--disable-python") `(#:configure-flags '("--disable-tools" "--disable-python")))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/savoirfairelinux/opendht/") (home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library") (synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may (description "OpenDHT is a Distributed Hash Table (DHT) library. It may

View File

@ -803,14 +803,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql (define-public postgresql
(package (package
(name "postgresql") (name "postgresql")
(version "10.5") (version "10.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"04a07jkvc5s6zgh6jr78149kcjmsxclizsqabjw44ld4j5n633kc")))) "0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-uuid=e2fs") `(#:configure-flags '("--with-uuid=e2fs")
@ -2087,13 +2087,14 @@ for ODBC.")
(version "0.7.1") (version "0.7.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/brianb/mdbtools/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/brianb/mdbtools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05hbmxcq173kzb899gdi3bz2qcc1vi3n1qbbkwpsvrq7ggf11wyw")) "0gwcpp9y09xhs21g7my2fs8ncb8i6ahlyixcx8jd3q97jbzj441l"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("glib" ,glib))) `(("glib" ,glib)))
@ -2104,12 +2105,6 @@ for ODBC.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("txt2man" ,txt2man) ("txt2man" ,txt2man)
("which" ,which))) ("which" ,which)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://mdbtools.sourceforge.net/") (home-page "http://mdbtools.sourceforge.net/")
(synopsis "Read Microsoft Access databases") (synopsis "Read Microsoft Access databases")
(description "MDB Tools is a set of tools and applications to read the (description "MDB Tools is a set of tools and applications to read the

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -48,6 +49,29 @@ binary trees, binary search trees, red-black trees, 2D arrays, permutations
and heaps.") and heaps.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public marisa
(package
(name "marisa")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/s-yata/marisa-trie"
"/releases/download/v" version "/" name "-"
version ".tar.gz"))
(sha256
(base32 "19ifrcmnbr9whaaf4ly3s9ndyiq9sjqhnfkrxbz9zsb44w2n36hf"))))
(build-system gnu-build-system)
(home-page "https://github.com/s-yata/marisa-trie")
(synopsis "Trie data structure C++ library")
(description "Matching Algorithm with Recursively Implemented
StorAge (MARISA) is a static and space-efficient trie data structure C++
library.")
;; Dual-licensed, according to docs/readme.en.html (source files lack
;; copyright/license headers.)
(license (list license:bsd-2 license:lgpl2.1+))))
(define-public sparsehash (define-public sparsehash
(package (package
(name "sparsehash") (name "sparsehash")

View File

@ -40,6 +40,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -3848,6 +3849,31 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
@code{yas-minor-mode} first).") @code{yas-minor-mode} first).")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-ivy-rich
(package
(name "emacs-ivy-rich")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/Yevgnen/ivy-rich")
(synopsis "More friendly interface for @code{ivy}")
(description
"This package extends @code{ivy} by showing more information in the
minibuffer for each candidate. It adds columns showing buffer modes, file
sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
show icons as well.")
(license license:gpl3+)))
(define-public emacs-avy (define-public emacs-avy
(package (package
(name "emacs-avy") (name "emacs-avy")
@ -7688,17 +7714,17 @@ value of the access token.")
(define-public emacs-circe (define-public emacs-circe
(package (package
(name "emacs-circe") (name "emacs-circe")
(version "2.6") (version "2.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/jorgenschaefer/circe.git") (url "https://github.com/jorgenschaefer/circe.git")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j")))) "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; In order to securely connect to an IRC server using TLS, Circe requires ;; In order to securely connect to an IRC server using TLS, Circe requires
;; the GnuTLS binary. ;; the GnuTLS binary.

View File

@ -321,12 +321,6 @@ languages are C and C++.")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("libusb" ,libusb))) `(("libusb" ,libusb)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://repo.or.cz/w/libjaylink.git") (home-page "http://repo.or.cz/w/libjaylink.git")
(synopsis "Library to interface Segger J-Link devices") (synopsis "Library to interface Segger J-Link devices")
(description "libjaylink is a shared library written in C to access (description "libjaylink is a shared library written in C to access
@ -404,9 +398,9 @@ language.")
"presto" "openjtag"))) "presto" "openjtag")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Required because of patched sources.
(add-before 'configure 'autoreconf (add-before 'configure 'autoreconf
(lambda _ (lambda _ (invoke "autoreconf" "-vfi") #t))
(zero? (system* "autoreconf" "-vfi"))))
(add-after 'autoreconf 'change-udev-group (add-after 'autoreconf 'change-udev-group
(lambda _ (lambda _
(substitute* "contrib/60-openocd.rules" (substitute* "contrib/60-openocd.rules"
@ -417,7 +411,8 @@ language.")
(install-file "contrib/60-openocd.rules" (install-file "contrib/60-openocd.rules"
(string-append (string-append
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/lib/udev/rules.d/"))))))) "/lib/udev/rules.d/"))
#t)))))
(home-page "http://openocd.org") (home-page "http://openocd.org")
(synopsis "On-Chip Debugger") (synopsis "On-Chip Debugger")
(description "OpenOCD provides on-chip programming and debugging support (description "OpenOCD provides on-chip programming and debugging support

View File

@ -399,13 +399,14 @@ support.")
(name "tiled") (name "tiled")
(version "1.2.0") (version "1.2.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/bjorn/tiled.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13dlf5kzvhhjkhy19118x3diakmraz4m9kxrsdam8dms6xivb6lp")))) "1rra48hlkcgqxwxi802fb182p1q0723c9hhfvkd5inz9467idd4c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)

View File

@ -549,14 +549,14 @@ coordinates.")
(define-public r-rgooglemaps (define-public r-rgooglemaps
(package (package
(name "r-rgooglemaps") (name "r-rgooglemaps")
(version "1.4.2") (version "1.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RgoogleMaps" version)) (uri (cran-uri "RgoogleMaps" version))
(sha256 (sha256
(base32 (base32
"112mdm53qx92n2m4ms02sbppckp44l1z19vy99j6gw3jrdprjydl")))) "06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"))))
(properties `((upstream-name . "RgoogleMaps"))) (properties `((upstream-name . "RgoogleMaps")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-png" ,r-png))) (propagated-inputs `(("r-png" ,r-png)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -167,14 +168,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.")
(base32 (base32
"084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj")))) "084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments '(#:tests? #f)) ; no "check" target
`(#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoreconf" "-vfi")
#t)))))
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)
("libx11" ,libx11) ("libx11" ,libx11)
@ -262,18 +256,11 @@ on.")
(base32 (base32
"1lx276ba8r2yydhmwj1g586jdqg695ad89ng36fr3mb067gvb2rz")))) "1lx276ba8r2yydhmwj1g586jdqg695ad89ng36fr3mb067gvb2rz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoreconf" "-vfi")
#t)))))
;; wmclock requires autoreconf to generate its configure script.
(inputs (inputs
`(("libx11" ,libx11) `(("libx11" ,libx11)
("libxext" ,libxext) ("libxext" ,libxext)
("libxpm" ,libxpm))) ("libxpm" ,libxpm)))
;; wmclock requires autoreconf to generate its configure script.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)

View File

@ -482,83 +482,33 @@ security standards.")
(define-public icecat (define-public icecat
(package (package
(name "icecat") (name "icecat")
(version "60.2.0-gnu1") (version "60.3.0-gnu1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
;; Temporary URL pending official release:
(uri "https://alpha.gnu.org/gnu/gnuzilla/60.2.0/icecat-60.2.0-gnu1.tar.bz2")
#;
(uri (string-append "mirror://gnu/gnuzilla/" (uri (string-append "mirror://gnu/gnuzilla/"
(first (string-split version #\-)) (first (string-split version #\-))
"/" name "-" version ".tar.bz2")) "/" name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0lqx7g79x15941rhjr3qsfwsny6vzc7d7abdmvjy6jjbqkqlc1zl")) "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))
(patches (patches
(list (list
(search-patch "icecat-avoid-bundled-libraries.patch") (search-patch "icecat-avoid-bundled-libraries.patch")
(search-patch "icecat-use-system-graphite2+harfbuzz.patch") (search-patch "icecat-use-system-graphite2+harfbuzz.patch")
(search-patch "icecat-use-system-media-libs.patch") (search-patch "icecat-use-system-media-libs.patch")
(mozilla-patch "icecat-CVE-2018-12385.patch" "80a4a7ef2813" "1vgcbimpnfjqj934v0cryq1g13xac3wfmd4jyhcb5s60x8xyssf5") (mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
(search-patch "icecat-CVE-2018-12383.patch") (mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
(mozilla-patch "icecat-bug-1489744.patch" "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51") (mozilla-patch "icecat-bug-1488295.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
(mozilla-patch "icecat-CVE-2018-12386.patch" "4808fcb2e6ca" "05sc881l7sh8bag8whd2ggdn198lskqcxq8f41scfpqscw6xs5d5") (mozilla-patch "icecat-bug-1500011.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
(mozilla-patch "icecat-CVE-2018-12387.patch" "b8f5c37486e1" "0lvmbh126m695kgdbasy1y5xh9n1j08cwdhn071mgvj6yn8cns5z") (mozilla-patch "icecat-bug-1503082.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
(mozilla-patch "icecat-bug-1464751.patch" "d5d00faf0465" "1mj7dbb06brwrk0mvap0z4lfl2hwz1cj6dwjvdrisxm046pdw98i") (mozilla-patch "icecat-bug-1499861.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
(mozilla-patch "icecat-bug-1472538.patch" "11462f2b98f2" "1nxgh0plzilylx8r73r7d74pv66qwjqxmd7nqii33p0snl2jjfzs") (mozilla-patch "icecat-bug-1504452.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
(mozilla-patch "icecat-bug-1478685.patch" "098585dc86fc" "1b0x4qdh6isvffmibvc8ad8z62m3iky9q6jq0z6gyvn8q252cqal") (mozilla-patch "icecat-bug-1494752.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
(mozilla-patch "icecat-bug-1486080.patch" "3f8d57d936ea" "0pz2c18wcgj44v0j8my9xbm90m4bsjcvzmavj569fi8bh6s6zz8p") (mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
(mozilla-patch "icecat-bug-1423278.patch" "878ceaee5634" "0i47s5nvrx9vqbnj6s9y9f4ffww20p8nviqa6frg676y1188xlyl") (mozilla-patch "icecat-bug-1500759.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
(mozilla-patch "icecat-CVE-2018-12390-pt01.patch" "87be1b98ec9a" "15f4l18c7hz9aqn89gg3dwmdidfwgn10dywgpzydm8mps45amx7j") (mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
(mozilla-patch "icecat-bug-1484559.patch" "99e58b5307ce" "02fdgbliwzi2r2376wg6k1rky1isfka0smac4ii2cll01jhpfrn6") (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")))
(mozilla-patch "icecat-CVE-2018-12390-pt02.patch" "f25ce451a492" "18nzg39iyxza1686180qk9cc88l5j2hf1h35d62lrqmdgd9vcj33")
(mozilla-patch "icecat-CVE-2018-12390-pt03.patch" "35c26bc231df" "0qh8d4z6y03h5xh7djci26a01l6zq667lg2k11f6zzg7z2j0h67x")
(mozilla-patch "icecat-bug-1488061.patch" "050d0cfa8e3d" "05ql798ynbyz5pvyri4b95j4ixmgnny3zl7sd2ckfrrbm9mxh627")
(mozilla-patch "icecat-bug-1434963-pt1.patch" "1e6dad87efed" "1v00a6cmgswjk54041jyv1ib129fxshpzwk6mn6lr0v5hylk3bx9")
(mozilla-patch "icecat-bug-1434963-pt2.patch" "6558c46df9ea" "0vdy9dm9w5k1flhcfxwvvff0aa415b5mgmmq5r37i83686768xfb")
(mozilla-patch "icecat-bug-1434963-pt3.patch" "686fcfa8abd6" "0ihqr11aq4b0y7mx7bwn8yzn25mv3k2gdphm951mj1g85qg35ann")
(mozilla-patch "icecat-bug-1491132.patch" "14120e0c74d6" "188c5fbhqqhmlk88p70l6d97skh7xy4jhqdby1ri3h9ix967515j")
(mozilla-patch "icecat-bug-1492065.patch" "ec4b5969c6ae" "18gfwn15kh0826vlg6lhrx3q4gv82i7v1k3y5jp72mvrjq154gy0")
(mozilla-patch "icecat-bug-1492064.patch" "528cabdd9665" "0rdwpkfma24hn8namfb9saw4rgi9yyyj4af5h2ijrvadw6r8lyyn")
(mozilla-patch "icecat-bug-1489757.patch" "46f19852aaa6" "0dga7mw847klm8x6il2fyzpjxqxxgx1q5cya658f1w66kxms1f29")
(mozilla-patch "icecat-bug-1492897.patch" "c3a48066f383" "09n6sdck4jzzmznzrq0iixg5nsgrc5ibpdfsh3i7ppwad3fsy2m3")
(mozilla-patch "icecat-bug-1492915.patch" "2d280e557331" "11x2n61pw5way9cg8lbrfl3lqvgfnbmcs1fwm78i06kmfwj0msk3")
(mozilla-patch "icecat-CVE-2018-12390-pt04.patch" "b80f94262165" "1hw43h4sgf77x323745rixyp6cci3fb6d3fnp33q82m4ssdb5623")
(mozilla-patch "icecat-bug-1492484.patch" "1b3e6759cf3a" "1yn2cd2227ncg90c88ymdi5fyfs4hk335bd16vkkgljs0924yy0m")
(mozilla-patch "icecat-bug-1493590.patch" "d9fe3b2025fc" "06783hj1aqms2f9a3mp18bk8hgijk3pz70bpccn173v4w0zlbbd4")
(mozilla-patch "icecat-CVE-2018-12390-pt05.patch" "20c59797e994" "1vxnhpirjsj040hrq9xmq2xhkpq4l5mnnzqy0nda92dfh47zvidj")
(mozilla-patch "icecat-CVE-2018-12390-pt06.patch" "1749661dfd28" "0g0sj2fgp3asj0yvxksnhrc59yxncn35bz5nzlvkpgdf7h06gscd")
(mozilla-patch "icecat-CVE-2018-12390-pt07.patch" "a511a9242406" "1hhfrvdmkccnhs4skbi06174x37rmvf4ic86xawyyzr67yga73b2")
(mozilla-patch "icecat-bug-1495404.patch" "3232bb3b622f" "1pnaxf8r9h0wldjc4qgl7z3rk34fpz9h1vd3zmhswa6mvyln5jhg")
(mozilla-patch "icecat-bug-1465388.patch" "a9577451dcc2" "0v29s0v3vv9vblkcachhh46qvwjcrmv2bkcdb7sj2asc503l0lqv")
(mozilla-patch "icecat-CVE-2018-12390-pt08.patch" "e965f6f6ed75" "0hh091854xj5j0x1r8pg46xmn00fqi5n212xhzbdpgyf96rsf513")
(mozilla-patch "icecat-bug-1445528.patch" "8a503e022a29" "1y2ll3h0yz8sfdddjmk90qjfxcr1ffhw7a9ww3yw26gyhnbpg404")
(mozilla-patch "icecat-bug-1409570.patch" "8d326641d1c0" "0w29s6dixi7b7q3nicshrp29n9sj5awssdln00yx664m8a8a8ihs")
(mozilla-patch "icecat-bug-1496094.patch" "6cdd6d88eca9" "1ssqa4fy2xpbr63ph3av3hkpl92g4yszx402fq9d2xn9482q43dp")
(mozilla-patch "icecat-CVE-2018-12391.patch" "0fa07c704ca4" "055xdyb3g2l4rj188235i579qnr50v19q36jjpliws9nik129iqy")
(mozilla-patch "icecat-bug-1462162.patch" "739e898cb7c8" "17m9y0pskmqx15dkgkw4k93njph14mpsf37wb1azwkq3xx7s0fhx")
(mozilla-patch "icecat-bug-1492764.patch" "16310ab35452" "1kq5r3w9i4n6q9msmw2qsqa0jd4qw1mjlyyz8aq14fwlbkhvv199")
(mozilla-patch "icecat-CVE-2018-12390-pt09.patch" "9b669d047d55" "063ig49gx9468nvc9w8259j819qfdjvq0sbbz8n4kj5r6hcxjc5l")
(mozilla-patch "icecat-CVE-2018-12390-pt10.patch" "9d51e65c797a" "0m23cq9zl22w80dvx5rlgpbam1l3d6v56h7g9wzamzl21bwxq9fv")
(mozilla-patch "icecat-CVE-2018-12390-pt11.patch" "efc0596dd381" "1alvbb6wvawxxh6isisk9c40vhdiv59fy0af0n10yn1dgy8ffv5i")
(mozilla-patch "icecat-CVE-2018-12393.patch" "c4fb48bb5d28" "09izww9dsg9n8cish8f3y7phxibsnd12bfkcxd7rzcdhg10nr4pl")
(mozilla-patch "icecat-CVE-2018-12390-pt12.patch" "b3359becd7b1" "188byxmbgrvrid2fcz34w5xdvaw571frxx1c6nqaa9k03iljdzjr")
(mozilla-patch "icecat-CVE-2018-12390-pt13.patch" "791c8ecf252d" "02h37594aba0pklxm3g7w1wv8vz9xmcf30fd0az8pfaccsklmx74")
(mozilla-patch "icecat-bug-1494328.patch" "333276fac37c" "0qyq42jl0al63m6pwj9gva7nj82l76szzbj7sklsygx0a9mqs13z")
(mozilla-patch "icecat-CVE-2018-12397.patch" "cb73374a0e4e" "0x2s1nwgwdag9df5hkwzvjj0qznp5c3d6w6y63rn2y287jn9m3vl")
(mozilla-patch "icecat-CVE-2018-12392.patch" "f6bb138ad0ab" "0f0z9dsyw2a11p4p31mdyic571153jpfgy2q04i4v6dmmcz76pm3")
(mozilla-patch "icecat-CVE-2018-12396.patch" "f27145bd5502" "0vznmlm1fbl3ynax2zpi6xxzr9qp9b83afr3mv90jgrhlgpzdbcz")
(mozilla-patch "icecat-CVE-2018-12395-pt1.patch" "133a99a8f3ca" "0im7m4jmc273mg9kih0i70hxsgzy04j6ydm9zmaz2933hkhdf4iw")
(mozilla-patch "icecat-CVE-2018-12395-pt2.patch" "82176a4a9b14" "0g3yqx4854d4mx5a0ghb7p7saj6y5d5bm2lfhabvkwybcd477zmc")
(mozilla-patch "icecat-bug-1474265.patch" "e8abd9a8ce6e" "1q2sv5h081rvnhsx6g1y8a43hwv6hsg0cr6zdcij58mkgzf6hyvd")
(mozilla-patch "icecat-bug-1492737-pt1.patch" "eeb9060379dc" "1d2mf0x4rni7anvi0sgra4dg87fmc6g7zhizzl9jv2x8va27ycbp")
(mozilla-patch "icecat-bug-1492737-pt2.patch" "99eae0d15092" "0f9j6cvhrbrrxa95p4pkcn285r9wmi9yj13nwj5x0gkglwx6idbk")
(mozilla-patch "icecat-CVE-2018-12389-pt1.patch" "23b23e12c548" "0nsdycggki5rhh59yvmh41nf1ahjmgii89fx38jryprhspy3wg62")
(mozilla-patch "icecat-CVE-2018-12390-pt14.patch" "023133ff02ec" "1g22qxnmgiy8bgrn2nv6har6vpz4p2h5pdas8ib1yyz7p2ic8652")
(mozilla-patch "icecat-CVE-2018-12390-pt15.patch" "9461988ff462" "0yq2cr5grqskr0kz4nxcwmnywy9g0xyv6k6q44i490jcj8x2y1vw")
(mozilla-patch "icecat-CVE-2018-12390-pt16.patch" "09939be135d8" "1546xlk368v4hnjd3hf4w868i6m8r4wfd34qxz4wg1cdpr4m5mik")
(mozilla-patch "icecat-CVE-2018-12389-pt2.patch" "ea9412b18ca8" "0fmdncrylbmjh0bcb6dmw1rq7zww8a0v9v9p1pxqfz0vbc6v9l5d")))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -537,7 +537,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(setenv "GOGC" "400") (setenv "GOGC" "400")
#t))))))))) #t)))))))))
(define-public go go-1.9) (define-public go go-1.11)
(define-public go-github-com-alsm-ioprogress (define-public go-github-com-alsm-ioprogress
(let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5") (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
@ -2161,26 +2161,28 @@ generate ANSI colored strings.")
(base32 (base32
"1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di")))) "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
(build-system go-build-system) (build-system go-build-system)
(native-inputs ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
;; when this package required as input for another one, it will have to
;; be built again. Thus its CGO requirements must be made available in
;; the environment, that is, they must be propagated.
(propagated-inputs
`(("lua" ,lua))) `(("lua" ,lua)))
(arguments (arguments
`(#:unpack-path "github.com/aarzilli/golua" `(#:unpack-path "github.com/aarzilli/golua"
#:import-path "github.com/aarzilli/golua/lua" #:import-path "github.com/aarzilli/golua/lua"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'build ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
(lambda* (#:key import-path #:allow-other-keys) ;; command line argument, go-1.10+ does not re-use the produced pkg
(invoke "go" "install" ;; for dependencies, which means we would need to propagate the
"-v" ; print the name of packages as they are compiled ;; same "-tags" argument to all golua referrers. A substitution is
"-x" ; print each command as it is invoked ;; more convenient here. We also need to propagate the lua
"-ldflags=-s -w" ; strip the symbol table and debug ;; dependency to make it available to referrers.
"-tags" "llua" ; Latest Lua on Guix does not have a version number. (add-after 'unpack 'fix-lua-ldflags
import-path))) (lambda _
(replace 'check (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
(lambda* (#:key import-path #:allow-other-keys) (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
(invoke "go" "test" "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
"-tags" "llua" ; Latest Lua on Guix does not have a version number.
import-path))))))
(home-page "https://github.com/aarzilli/golua") (home-page "https://github.com/aarzilli/golua")
(synopsis "Go Bindings for the Lua C API") (synopsis "Go Bindings for the Lua C API")
(description "This package provides @code{lua}, a Go module that can (description "This package provides @code{lua}, a Go module that can
@ -2428,11 +2430,24 @@ and lookup requests. Browse requests are not supported yet.")
(base32 (base32
"1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2")))) "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2"))))
(build-system go-build-system) (build-system go-build-system)
(native-inputs ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
;; when this package required as input for another one, it will have to
;; be built again. Thus its CGO requirements must be made available in
;; the environment, that is, they must be propagated.
(propagated-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("taglib" ,taglib))) ("taglib" ,taglib)))
(arguments (arguments
`(#:import-path "github.com/wtolson/go-taglib")) `(#:import-path "github.com/wtolson/go-taglib"
;; Tests don't pass "vet" on go-1.11. See
;; https://github.com/wtolson/go-taglib/issues/12.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "test"
"-vet=off"
import-path))))))
(home-page "https://github.com/wtolson/go-taglib") (home-page "https://github.com/wtolson/go-taglib")
(synopsis "Go wrapper for taglib") (synopsis "Go wrapper for taglib")
(description "Go wrapper for taglib") (description "Go wrapper for taglib")

View File

@ -19,6 +19,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1413,7 +1414,12 @@ information.")
(string-append (assoc-ref inputs "docbook-xsl") (string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-" "/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl) ,(package-version docbook-xsl)
"/html/chunk.xsl"))) "/html/chunk.xsl"))
(("http://docbook.sourceforge.net/release/xsl/current/common/en.xml")
(string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
"/common/en.xml")))
#t)) #t))
(add-after 'patch-gtk-doc-scan 'patch-test-out (add-after 'patch-gtk-doc-scan 'patch-test-out
(lambda _ (lambda _

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
@ -486,10 +486,7 @@ AM_SCM_LOG_FLAGS = --no-auto-compile -s")
;; FIXME: one of the database tests fails for unknown ;; FIXME: one of the database tests fails for unknown
;; reasons. It does not fail when run outside of Guix. ;; reasons. It does not fail when run outside of Guix.
(("tests/database.scm") "")) (("tests/database.scm") ""))
#t)) #t)))))
(add-after 'fix-bug-22 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(inputs (inputs
`(("guile" ,guile-2.0))) `(("guile" ,guile-2.0)))
(native-inputs (native-inputs
@ -829,14 +826,6 @@ provides tight coupling to Guix.")
(base32 (base32
"0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g")))) "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
;; Repository comes with a broken symlink
(delete-file "README")
(symlink "README.org" "README")
(zero? (system* "autoreconf" "-fi")))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf-wrapper) `(("autoconf" ,autoconf-wrapper)
("automake" ,automake) ("automake" ,automake)
@ -1550,10 +1539,7 @@ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
(("^guilesitedir =.*$") (("^guilesitedir =.*$")
"guilesitedir = \ "guilesitedir = \
$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")) $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
#t)) #t)))))
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/artyom-poptsov/guile-dsv") (home-page "https://github.com/artyom-poptsov/guile-dsv")
(synopsis "DSV module for Guile") (synopsis "DSV module for Guile")
(description (description
@ -2244,6 +2230,60 @@ using S-expressions.")
tracker's SOAP service, such as @url{https://bugs.gnu.org}.") tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public guile-email
(let ((commit "fa52eac55e5946db89621a6c583d2aa357864dee")
(revision "1"))
(package
(name "guile-email")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.systemreboot.net/guile-email")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1037mbz7qd9bzaqp8ysyhnl9ipd97fmj3b9jr8qfzx9179vvsj63"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://git.systemreboot.net/guile-email")
(synopsis "Guile email parser")
(description "This package provides an email parser written in pure
Guile.")
(license license:agpl3+))))
(define-public guile-debbugs-next
(let ((commit "75a331d561c8b6f8efcf16216dab961c17759efe")
(revision "1"))
(package (inherit guile-debbugs)
(name "guile-debbugs")
(version (git-version "0.0.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guile-debbugs.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0br3mgbw41bpc9x57jlghl0i8dz9nl63r4wzs5l47aqszf84870y"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)))
(inputs
`(("guile" ,guile-2.2)
("guile-email" ,guile-email))))))
;; There has not been any release yet. ;; There has not been any release yet.
(define-public guile-newt (define-public guile-newt
(let ((commit "4eaa3cf84b9b426cc0ff7bec48b76cca6ca3ec83") (let ((commit "4eaa3cf84b9b426cc0ff7bec48b76cca6ca3ec83")

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,185 +25,193 @@
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages anthy) #:use-module (gnu packages anthy)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages cmake)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages iso-codes) #:use-module (gnu packages iso-codes)
#:use-module (gnu packages logging)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages serialization)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public ibus (define-public ibus
(package (package
(name "ibus") (name "ibus")
(version "1.5.19") (version "1.5.19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/ibus/ibus/" (uri (string-append "https://github.com/ibus/ibus/"
"releases/download/" "releases/download/"
version "/ibus-" version ".tar.gz")) version "/ibus-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0a94bnpm24581317hdnihwr4cniriml10p4ffgxg14xhvaccfrjb")))) "0a94bnpm24581317hdnihwr4cniriml10p4ffgxg14xhvaccfrjb"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; tests fail because there's no connection to dbus `(#:tests? #f ; tests fail because there's no connection to dbus
#:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path #:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path
"--disable-python2" "--disable-python2"
"--enable-python-library" "--enable-python-library"
,(string-append "--with-ucd-dir=" ,(string-append "--with-ucd-dir="
(getcwd) "/ucd") (getcwd) "/ucd")
"--enable-wayland") "--enable-wayland")
#:make-flags #:make-flags
(list "CC=gcc" (list "CC=gcc"
(string-append "pyoverridesdir=" (string-append "pyoverridesdir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/lib/python3.6/site-packages/gi/overrides/")) "/lib/python3.6/site-packages/gi/overrides/"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'prepare-ucd-dir (add-after 'unpack 'prepare-ucd-dir
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "../ucd") (mkdir-p "../ucd")
(symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt") (symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt")
(symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt") (symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt")
#t)) #t))
(add-before 'configure 'disable-dconf-update (add-before 'configure 'disable-dconf-update
(lambda _ (lambda _
(substitute* "data/dconf/Makefile.in" (substitute* "data/dconf/Makefile.in"
(("dconf update") "echo dconf update")) (("dconf update") "echo dconf update"))
#t)) #t))
(add-after 'unpack 'delete-generated-files (add-after 'unpack 'delete-generated-files
(lambda _ (lambda _
(for-each (lambda (file) (for-each (lambda (file)
(let ((c (string-append (string-drop-right file 4) "c"))) (let ((c (string-append (string-drop-right file 4) "c")))
(when (file-exists? c) (when (file-exists? c)
(format #t "deleting ~a\n" c) (format #t "deleting ~a\n" c)
(delete-file c)))) (delete-file c))))
(find-files "." "\\.vala")) (find-files "." "\\.vala"))
#t)) #t))
(add-after 'unpack 'fix-paths (add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/ibusenginesimple.c" (substitute* "src/ibusenginesimple.c"
(("/usr/share/X11/locale") (("/usr/share/X11/locale")
(string-append (assoc-ref inputs "libx11") (string-append (assoc-ref inputs "libx11")
"/share/X11/locale"))) "/share/X11/locale")))
(substitute* "ui/gtk3/xkblayout.vala" (substitute* "ui/gtk3/xkblayout.vala"
(("\"(setxkbmap|xmodmap)\"" _ prog) (("\"(setxkbmap|xmodmap)\"" _ prog)
(string-append "\"" (assoc-ref inputs prog) "\""))) (string-append "\"" (assoc-ref inputs prog) "\"")))
#t)) #t))
(add-after 'wrap-program 'wrap-with-additional-paths (add-after 'wrap-program 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and ;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and
;; GI_TYPELIB_PATH. ;; GI_TYPELIB_PATH.
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/ibus-setup") (wrap-program (string-append out "/bin/ibus-setup")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix `("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH") (,(getenv "GI_TYPELIB_PATH")
,(string-append out "/lib/girepository-1.0"))))) ,(string-append out "/lib/girepository-1.0")))))
#t))))) #t)))))
(inputs (inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
("dconf" ,dconf) ("dconf" ,dconf)
("gconf" ,gconf) ("gconf" ,gconf)
("gtk2" ,gtk+-2) ("gtk2" ,gtk+-2)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("intltool" ,intltool) ("intltool" ,intltool)
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("libnotify" ,libnotify) ("libnotify" ,libnotify)
("libx11" ,libx11) ("libx11" ,libx11)
("setxkbmap" ,setxkbmap) ("setxkbmap" ,setxkbmap)
("wayland" ,wayland) ("wayland" ,wayland)
("xmodmap" ,xmodmap) ("xmodmap" ,xmodmap)
("iso-codes" ,iso-codes) ("iso-codes" ,iso-codes)
("pygobject2" ,python-pygobject) ("pygobject2" ,python-pygobject)
("python" ,python))) ("python" ,python)))
(native-inputs (native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal `(("glib" ,glib "bin") ; for glib-genmarshal
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
("unicode-nameslist" ("unicode-nameslist"
,(origin ,(origin
(method url-fetch) (method url-fetch)
(uri "https://www.unicode.org/Public/UNIDATA/NamesList.txt") (uri "https://www.unicode.org/Public/UNIDATA/NamesList.txt")
(sha256 (sha256
(base32 "0yr2h0nfqhirfi3bxl33z6cc94qqshlpgi06c25xh9754irqsgv8")))) (base32 "0yr2h0nfqhirfi3bxl33z6cc94qqshlpgi06c25xh9754irqsgv8"))))
("unicode-blocks" ("unicode-blocks"
,(origin ,(origin
(method url-fetch) (method url-fetch)
(uri "https://www.unicode.org/Public/UNIDATA/Blocks.txt") (uri "https://www.unicode.org/Public/UNIDATA/Blocks.txt")
(sha256 (sha256
(base32 "0lnh9iazikpr548bd7nkaq9r3vfljfvz0rg2462prac8qxk7ni8b")))) (base32 "0lnh9iazikpr548bd7nkaq9r3vfljfvz0rg2462prac8qxk7ni8b"))))
("vala" ,vala) ("vala" ,vala)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "IBUS_COMPONENT_PATH") (variable "IBUS_COMPONENT_PATH")
(files '("share/ibus/component"))))) (files '("share/ibus/component")))))
(synopsis "Input method framework") (synopsis "Input method framework")
(description (description
"IBus is an input framework providing a full-featured and user-friendly "IBus is an input framework providing a full-featured and user-friendly
input method user interface. It comes with multilingual input support. It input method user interface. It comes with multilingual input support. It
may also simplify input method development.") may also simplify input method development.")
(home-page "https://github.com/ibus/ibus/wiki") (home-page "https://github.com/ibus/ibus/wiki")
(license lgpl2.1+))) (license lgpl2.1+)))
(define-public ibus-libpinyin (define-public ibus-libpinyin
(package (package
(name "ibus-libpinyin") (name "ibus-libpinyin")
(version "1.10.0") (version "1.10.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libpinyin/ibus-libpinyin/" (uri (string-append "https://github.com/libpinyin/ibus-libpinyin/"
"releases/download/" version "releases/download/" version
"/ibus-libpinyin-" version ".tar.gz")) "/ibus-libpinyin-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0yq8aw4lddiviag8cnik6fp52vvk8lxv6bym13a3xya84c6zii3c")))) "0yq8aw4lddiviag8cnik6fp52vvk8lxv6bym13a3xya84c6zii3c"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'wrap-program 'wrap-with-additional-paths (add-after 'wrap-program 'wrap-with-additional-paths
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'ibus-setup-libpinyin' runs with the correct ;; Make sure 'ibus-setup-libpinyin' runs with the correct
;; PYTHONPATH and GI_TYPELIB_PATH. ;; PYTHONPATH and GI_TYPELIB_PATH.
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/libexec/ibus-setup-libpinyin") (wrap-program (string-append out "/libexec/ibus-setup-libpinyin")
`("PYTHONPATH" ":" prefix `("PYTHONPATH" ":" prefix
(,(getenv "PYTHONPATH") (,(getenv "PYTHONPATH")
,(string-append (assoc-ref inputs "ibus") ,(string-append (assoc-ref inputs "ibus")
"/lib/girepository-1.0"))) "/lib/girepository-1.0")))
`("GI_TYPELIB_PATH" ":" prefix `("GI_TYPELIB_PATH" ":" prefix
(,(string-append (assoc-ref inputs "ibus") (,(string-append (assoc-ref inputs "ibus")
"/lib/girepository-1.0")))) "/lib/girepository-1.0"))))
#t)))))) #t))))))
(inputs (inputs
`(("ibus" ,ibus) `(("ibus" ,ibus)
("libpinyin" ,libpinyin) ("libpinyin" ,libpinyin)
("bdb" ,bdb) ("bdb" ,bdb)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("python" ,python) ("python" ,python)
("pyxdg" ,python-pyxdg) ("pyxdg" ,python-pyxdg)
("gtk+" ,gtk+))) ("gtk+" ,gtk+)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("intltool" ,intltool) ("intltool" ,intltool)
("glib" ,glib "bin"))) ("glib" ,glib "bin")))
(synopsis "Chinese pinyin and ZhuYin input methods for IBus") (synopsis "Chinese pinyin and ZhuYin input methods for IBus")
(description (description
"This package includes a Chinese pinyin input method and a Chinese "This package includes a Chinese pinyin input method and a Chinese
ZhuYin (Bopomofo) input method based on libpinyin for IBus.") ZhuYin (Bopomofo) input method based on libpinyin for IBus.")
(home-page "https://github.com/libpinyin/ibus-libpinyin") (home-page "https://github.com/libpinyin/ibus-libpinyin")
(license gpl2+))) (license gpl2+)))
(define-public libpinyin (define-public libpinyin
(package (package
@ -279,3 +288,369 @@ applications allow text input via IBus, installing this package will enable
Japanese language input in most graphical applications.") Japanese language input in most graphical applications.")
(home-page "https://github.com/fujiwarat/ibus-anthy") (home-page "https://github.com/fujiwarat/ibus-anthy")
(license gpl2+))) (license gpl2+)))
(define-public librime
(package
(name "librime")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/librime.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1y0h3nnz97smx9z8h5fzk4c27mvrwv8kajxffqc43bhyvxvb2jd6"))))
(build-system cmake-build-system)
(inputs
`(("boost" ,boost)
("glog" ,glog)
("leveldb" ,leveldb)
("marisa" ,marisa)
("opencc" ,opencc)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://rime.im/")
(synopsis "The core library of Rime Input Method Engine")
(description "@dfn{librime} is the core library of Rime Input Method
Engine, which is a lightweight, extensible input method engine supporting
various input schemas including glyph-based input methods, romanization-based
input methods as well as those for Chinese dialects. It has the ability to
compose phrases and sentences intelligently and provide very accurate
traditional Chinese output.")
(license bsd-3)))
(define-public rime-data
(package
(name "rime-data")
(version "0.38.20181029")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/plum.git")
(commit "fb4f829da2007f2dbb37d60a79bc67c25ea16568")))
(file-name "plum-checkout")
(sha256
(base32 "1m1wiv9j5bay4saga58c7dj4h8gqivsbyp16y245ifvxvp9czj67"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"no_update=1")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
;; Set .DEFAULT_GOAL to `all'.
;; Don't build binary schemas. The output is not deterministic.
(substitute* "Makefile"
(("^\\.DEFAULT_GOAL := preset")
".DEFAULT_GOAL := all"))
#t))
;; Add schema packages into "package/rime" directory.
(add-after 'unpack 'add-packages
(lambda* (#:key inputs #:allow-other-keys)
(let* ((dest-dir "package/rime"))
(mkdir-p dest-dir)
(for-each (lambda (pkg)
(symlink (assoc-ref inputs pkg)
(string-append dest-dir "/" pkg)))
'("array"
"bopomofo"
"cangjie"
"combo-pinyin"
"double-pinyin"
"emoji"
"essay"
"ipa"
"jyutping"
"luna-pinyin"
"middle-chinese"
"pinyin-simp"
"prelude"
"quick"
"scj"
"soutzoe"
"stenotype"
"stroke"
"terra-pinyin"
"wubi"
"wugniu")))
#t))
(delete 'configure))))
(native-inputs
`(("array"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-array.git")
(commit "906e923902147584b0b0247028a782abbfbfd8a0")))
(file-name "rime-array-checkout")
(sha256
(base32
"1alk6ghn4ji4kvp7lfm57bwm2gjh99i79r0w9naz6wkdim8idvb1"))))
("bopomofo"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-bopomofo.git")
(commit "8dc44ca1b6ef4e45b452e070b9da737f5da165e3")))
(file-name "rime-bopomofo-checkout")
(sha256
(base32
"16k6wfhcrw3a77rmbrp21ca0gmsmb3f68s193c1cfwr8i68k46nf"))))
("cangjie"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-cangjie.git")
(commit "ab085e90856b3399b374dc3c8b4cb40d11f307a8")))
(file-name "rime-cangjie-checkout")
(sha256
(base32
"11fgj0rbv9nyzfijwm2l8pm8fznhif4h27ndrrcaaylkp7p5zsx2"))))
("combo-pinyin"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-combo-pinyin.git")
(commit "f1bae63f20504f2b8113c5cbdf2700e858aa91eb")))
(file-name "rime-combo-pinyin-checkout")
(sha256
(base32
"1l1079akwm1hw4kkn0q6x9fpylnl2ka6z2fn7lmdpfpsr0xgn0n7"))))
("double-pinyin"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-double-pinyin.git")
(commit "2101a5cd40e511ec38835769aa66d2dddf059c2e")))
(file-name "rime-double-pinyin-checkout")
(sha256
(base32
"19hh2qm0njbfk2js678hfm2hw9b796s43vs11yy3m1v9m0gk2vi7"))))
("emoji"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-emoji.git")
(commit "6e6611b315f03ee4c33f958f9dbe960b13a0ed19")))
(file-name "rime-emoji-checkout")
(sha256
(base32
"1brfs3214w36j3345di9ygp468hbvbqdqpkjxxs1dbp437rayhyy"))))
("essay"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-essay.git")
(commit "5e5c7a0ef41c9b030abdad81a9df07b56b1661e9")))
(file-name "rime-essay-checkout")
(sha256
(base32
"0ana9is0zhh79m4gjshvmaxbrg3jiqysydx5bpm151i7i6vw5y1i"))))
("ipa"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-ipa.git")
(commit "02a9e2c181921a2e95e1a81f88188c41132755c3")))
(file-name "rime-ipa-checkout")
(sha256
(base32
"1szrxgvqlgmxapj2aflw2cvbv0p6pl0sw0gyxa13dvdhhf7s9rvr"))))
("jyutping"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-jyutping.git")
(commit "1402ec3d6cc0973f952fe3f9ef531294e4ffe9e0")))
(file-name "rime-jyutping-checkout")
(sha256
(base32
"17g03dy4gw6vyc9da1wjn3iy9hx64dfnwiwsfc7bkzan22x2m4dv"))))
("luna-pinyin"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-luna-pinyin.git")
(commit "3b05132576f5c347ff8a70857d2dae080936ac3b")))
(file-name "rime-luna-pinyin-checkout")
(sha256
(base32
"0kgnpxjn10dm2d9718r12rdjlwqd2s2h84jvkhxhh5v0dkv1anl2"))))
("middle-chinese"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-middle-chinese.git")
(commit "9ba8d70330654b9a730f882d35cfad7dbeddfd75")))
(file-name "rime-middle-chinese-checkout")
(sha256
(base32
"0hwg5zby5kphh0bcfay8mfxwr5bwqhamiw3cmmmf7kp9fbns5s23"))))
("pinyin-simp"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-pinyin-simp.git")
(commit "74357ffd62c05fb60edf6eab5b86bc8c8c1907d0")))
(file-name "rime-pinyin-simp-checkout")
(sha256
(base32
"1paw3c7pv5bl54abnp9pidfxrkchdacyxy5m9zb311p5sgm7fhxh"))))
("prelude"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-prelude.git")
(commit "33040568c3ddb2ee6340c9b669494317db21b77c")))
(file-name "rime-prelude-checkout")
(sha256
(base32
"1gwcasyyg6f0ib6s4qsrrjcqr1lcs7j3xqxl65rznsw44nhnbwwq"))))
("quick"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-quick.git")
(commit "910a97d403ad8e72f322488da146da79c19d623f")))
(file-name "rime-quick-checkout")
(sha256
(base32
"0yrq3gbfmm29xlr52rmxc41mqfrb0295q7sdhbc3ax71677mpr0y"))))
("scj"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-scj.git")
(commit "e0eae889f4376d2a434ac3b38523e0da7400db68")))
(file-name "rime-scj-checkout")
(sha256
(base32
"1whnv9zs349kvy0zi7dnmpqwil8i6gqwrzvhy3qdrjzy58y6gwxn"))))
("soutzoe"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-soutzoe.git")
(commit "e47841a8ad6341731c41cdb814b7a25c837603c4")))
(file-name "rime-soutzoe-checkout")
(sha256
(base32
"1rgpmkxa72jy6gyy44fn8azpk3amk9s9lrdf7za03nv95d0fvm0p"))))
("stenotype"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-stenotype.git")
(commit "d4ff379314fd95283853d1734854979cf3cbd287")))
(file-name "rime-stenotype-checkout")
(sha256
(base32
"1kckpi4l4884hvydr3d6vid3v7rsc1app29kmk7v8jf8vn16afhl"))))
("stroke"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-stroke.git")
(commit "cfd29c675c46cf70b7a7f0a3836a913059316a0a")))
(file-name "rime-stroke-checkout")
(sha256
(base32
"135is9c1p4lm98fd9l1gxyflkm69cv5an129ka7sk614bq84m08d"))))
("terra-pinyin"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-terra-pinyin.git")
(commit "15b5c73a796571cd6f9ef6c89f96656cb9df86f9")))
(file-name "rime-terra-pinyin-checkout")
(sha256
(base32
"1xsd84h1zw417h5hr4dbgyk5009zi7q2p9774w3ccr5sxgc3i3cm"))))
("wubi"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-wubi.git")
(commit "d44403728a0b1cd8b47cb1f81b83f58e5f790b74")))
(file-name "rime-wubi-checkout")
(sha256
(base32
"0ld31bdn94lncxd1ka44w4sbl03skh08mc927dhdmwq5bpvrgn36"))))
("wugniu"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/rime-wugniu.git")
(commit "65bcc354ada3839591d7546a64c71dbdd0592b02")))
(file-name "rime-wugniu-checkout")
(sha256
(base32
"0g31awp40s778sp5c290x40s8np86n8aw011s17sslxrqhhb0bkx"))))))
(home-page "https://rime.im/")
(synopsis "Schema data of Rime Input Method Engine")
(description "@dfn{rime-data} provides the schema data of Rime Input
Method Engine.")
(license lgpl3+)))
(define-public ibus-rime
(package
(name "ibus-rime")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rime/ibus-rime.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nqi7ymv34a9kx24say3xj98lkrs9nkpv1n2ijb91wdz3cr012ly"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Define RIME_DATA_DIR. It's required but not used by the code.
(substitute* "Makefile"
(("cmake")
(string-append "cmake -DRIME_DATA_DIR="
(assoc-ref inputs "rime-data")
"/share/rime-data")))
;; rime_config.h defines the actual data directory.
(substitute* "rime_config.h"
(("^#define IBUS_RIME_INSTALL_PREFIX .*$")
(string-append "#define IBUS_RIME_INSTALL_PREFIX \""
(assoc-ref outputs "out")
"\"\n"))
(("^#define IBUS_RIME_SHARED_DATA_DIR .*$")
(string-append "#define IBUS_RIME_SHARED_DATA_DIR \""
(assoc-ref inputs "rime-data")
"/share/rime-data\"\n")))
#t))
(delete 'configure))))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("ibus" ,ibus)
("libnotify" ,libnotify)
("librime" ,librime)
("rime-data" ,rime-data)))
(native-inputs
`(("cmake" ,cmake)
("pkg-config" ,pkg-config)))
(home-page "https://rime.im/")
(synopsis "Rime Input Method Engine for IBus")
(description "@dfn{ibus-rime} provides the Rime input method engine for
IBus. Rime is a lightweight, extensible input method engine supporting
various input schemas including glyph-based input methods, romanization-based
input methods as well as those for Chinese dialects. It has the ability to
compose phrases and sentences intelligently and provide very accurate
traditional Chinese output.")
(license gpl3+)))

View File

@ -60,7 +60,7 @@
(define-public feh (define-public feh
(package (package
(name "feh") (name "feh")
(version "2.28.1") (version "3.0")
(home-page "https://feh.finalrewind.org/") (home-page "https://feh.finalrewind.org/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -68,7 +68,7 @@
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0wian0gnx0yfxf8x9b8wr57fjd6rnmi3y3xj83ni6x0xqrjnf1lp")))) "00fwf8yz7k8vzd30ly5ndlj6ax9w85dkjzjnlk95vd0zdrf4wyxn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -47,14 +48,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still ;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API. ;; users are ready for the 7-series API.
(version "6.9.10-12") (version "6.9.10-14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-" (uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ri96yqihdk921k5qx23y2sbhraxbp2avdccxiy6m3srjkirym2l")))) "0vcfjvdk9in92x808djvy94l5gylpgds4a7mlr8jrxsv9snx88yi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

View File

@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches #:patches %linux-libre-4.19-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.79") (define %linux-libre-4.14-version "4.14.80")
(define %linux-libre-4.14-hash "000rd4h2yk6k68wjg37v53hqnqw1mgwhdxbcvy8iywy8za9r12c8") (define %linux-libre-4.14-hash "0h4hi5lqizdx5nk0f3immbcv2n7p5jh26m80v4x6bw4wi5b44fra")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (make-linux-libre %linux-libre-4.14-version
@ -433,14 +433,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.135" (make-linux-libre "4.9.136"
"07v5s6hl08ls2z9xdkbqq1s210mqayfchqbckhp8hlaw089ap71f" "1kk6px1jcwbgkpfmf9pdklk6kz90h5l8fvdqwmvnk4bz6b2xrrfp"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.162" (make-linux-libre "4.4.163"
"1anb2k9i03369lvbwlw24vimxvk8zpcql4ryz0ydvf3pxv8lirm2" "05j0dm0cxilanp5z40n8kgjz9vn1p4rg63kksicd2v48w8ka82z6"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -1968,20 +1968,15 @@ for systems using the Linux kernel. This includes commands such as
(name "inotify-tools") (name "inotify-tools")
(version "3.20.1") (version "3.20.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/rvoicilas/inotify-tools/archive/" (url "https://github.com/rvoicilas/inotify-tools.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1b22c8x4pjnz3abx4dikpbj43zprjw79pdkd4xw111dsxlfwqcx4")))) "14dci1i4mhsd5sa33k8h3ayphk19kizynh5ql9ryibdpmcanfiyq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(invoke "autoreconf" "-vif"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -2916,7 +2911,7 @@ MPEG-2 and audio over Linux IEEE 1394.")
(define-public mdadm (define-public mdadm
(package (package
(name "mdadm") (name "mdadm")
(version "4.0") (version "4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2924,7 +2919,7 @@ MPEG-2 and audio over Linux IEEE 1394.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx")))) "0jjgjgqijpdp7ijh8slzzjjw690kydb1jjadf0x5ilq85628hxmb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("udev" ,eudev))) `(("udev" ,eudev)))
@ -3949,7 +3944,7 @@ are exceeded.")
(define-public mtd-utils (define-public mtd-utils
(package (package
(name "mtd-utils") (name "mtd-utils")
(version "1.5.2") (version "2.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -3957,18 +3952,18 @@ are exceeded.")
"mtd-utils-" version ".tar.bz2")) "mtd-utils-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"007lhsd8yb34l899r4m37whhzdw815cz4fnjbpnblfha524p7dax")))) "1f30jszknc5v6ykmil8ajxgksmcg54q3rsp84jsancp9x0dycggv"))))
(arguments
'(#:configure-flags '("--enable-unit-tests")))
(native-inputs
`(("cmocka" ,cmocka)
("pkg-config" ,pkg-config)))
(inputs (inputs
`(("acl" ,acl) `(("acl" ,acl) ; for XATTR
("libuuid" ,util-linux) ("libuuid" ,util-linux)
("lzo" ,lzo) ("lzo" ,lzo)
("zlib" ,zlib))) ("zlib" ,zlib)))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:test-target "tests"
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(synopsis "MTD Flash Storage Utilities") (synopsis "MTD Flash Storage Utilities")
(description "This package provides utilities for testing, partitioning, etc (description "This package provides utilities for testing, partitioning, etc
of flash storage.") of flash storage.")

View File

@ -91,17 +91,6 @@ languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.") of programming tools as well as libraries with equivalent functionality.")
(license license:ncsa))) (license license:ncsa)))
(define-public llvm-with-rtti
(package (inherit llvm)
(name "llvm-with-rtti")
(arguments
(substitute-keyword-arguments (package-arguments llvm)
((#:configure-flags flags)
`(append '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DLLVM_REQUIRES_RTTI=1")
,flags))))))
(define* (clang-runtime-from-llvm llvm hash (define* (clang-runtime-from-llvm llvm hash
#:optional (patches '())) #:optional (patches '()))
(package (package
@ -292,6 +281,18 @@ code analysis tools.")
(base32 (base32
"1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf"))))))
;; This is for Faust 2
(define-public llvm-3.8-with-rtti
(package (inherit llvm-3.8)
(name "llvm-with-rtti")
(arguments
(substitute-keyword-arguments (package-arguments llvm)
((#:configure-flags flags)
`(append '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
"-DLLVM_REQUIRES_RTTI=1")
,flags))))))
(define-public clang-runtime-3.8 (define-public clang-runtime-3.8
(clang-runtime-from-llvm (clang-runtime-from-llvm
llvm-3.8 llvm-3.8

View File

@ -7,6 +7,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ison111 <ison111@protonmail.com> ;;; Copyright © 2018 Ison111 <ison111@protonmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -419,10 +420,10 @@ in LXDE.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'rm-stamp (add-after 'unpack 'rm-stamp
(lambda _ (lambda _
(for-each delete-file (find-files "." "\\.stamp$")))) (for-each delete-file (find-files "." "\\.stamp$"))
(add-after 'rm-stamp 'autoreconf ;; Force regeneration of configure script.
(lambda _ (delete-file "configure")
(zero? (system* "autoreconf" "-vfi"))))))) #t)))))
(inputs (inputs
`(("gtk+-2" ,gtk+-2) `(("gtk+-2" ,gtk+-2)
("polkit" ,polkit))) ("polkit" ,polkit)))

View File

@ -110,7 +110,9 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:select (fdl1.1+ gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ #:select (fdl1.1+
agpl3+
gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
non-copyleft (expat . license:expat) bsd-3 non-copyleft (expat . license:expat) bsd-3
public-domain bsd-4 isc (openssl . license:openssl) public-domain bsd-4 isc (openssl . license:openssl)
bsd-2 x11-style agpl3 asl2.0 perl-license)) bsd-2 x11-style agpl3 asl2.0 perl-license))
@ -119,6 +121,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial)) #:use-module (guix build-system trivial))
@ -2640,3 +2643,50 @@ replacement for the @code{urlview} program.")
"TNEF is a tar-like program that unpacks MIME attachments of type "TNEF is a tar-like program that unpacks MIME attachments of type
@code{application/ms-tnef}.") @code{application/ms-tnef}.")
(license gpl2+))) (license gpl2+)))
(define-public mumi
(let ((commit "bfd96ce76b4600ae232e6548b26c9365095fd174")
(revision "2"))
(package
(name "mumi")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.elephly.net/software/mumi.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"05miwfi1bh0v9x2gvn15bwkb3gn4xy53z506ysjzns2y497zkc5h"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(scm (string-append out "/share/guile/site/2.2"))
(go (string-append out "/lib/guile/2.2/site-ccache")))
(wrap-program (string-append bin "/mumi")
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t))))))
(inputs
`(("guile-debbugs" ,guile-debbugs-next)
("guile-email" ,guile-email)
("guile-fibers" ,guile-fibers)
("guile-json" ,guile-json)
("guile-syntax-highlight" ,guile-syntax-highlight)
("guile" ,guile-2.2)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://git.elephly.net/software/mumi.git")
(synopsis "Debbugs web interface")
(description "Mumi is a Debbugs web interface.")
(license agpl3+))))

View File

@ -549,14 +549,14 @@ simultaneously and therefore appear under the same nickname on IRC.")
(define-public python-nbxmpp (define-public python-nbxmpp
(package (package
(name "python-nbxmpp") (name "python-nbxmpp")
(version "0.6.7") (version "0.6.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "nbxmpp" version)) (uri (pypi-uri "nbxmpp" version))
(sha256 (sha256
(base32 (base32
"0fas4iawjfdmkz8vr042wpq6b2qispi6fy35g4a62jw50jb1saav")))) "1iip8ijxp86fx4bl1h67p2lp02p2zm1ga2p3q43nv30smj54nawc"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f)) ; no tests `(#:tests? #f)) ; no tests
@ -574,7 +574,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(define-public gajim (define-public gajim
(package (package
(name "gajim") (name "gajim")
(version "1.0.3") (version "1.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gajim.org/downloads/" (uri (string-append "https://gajim.org/downloads/"
@ -582,10 +582,11 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
"/gajim-" version ".tar.bz2")) "/gajim-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ds4rqwfrpj89a489w6yih8gx5zi7qa4ffgld950fk7s0qxvcfnb")))) "1qis8vs7y7g1zn5i5dshwrszidc22qpflycwb4nixvp9lbmkq0va"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:test-target "test_nogui"
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-program (add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -598,20 +599,6 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
'("gajim" "gajim-remote" "gajim-history-manager"))) '("gajim" "gajim-remote" "gajim-history-manager")))
#t)) #t))
(add-before 'check 'remove-test-resolver
;; This test requires network access.
(lambda _
(substitute* "test/runtests.py"
(("'integration.test_resolver',") ""))
#t))
(add-before 'check 'start-xserver
;; Tests require a running X server.
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
(display ":1"))
(setenv "DISPLAY" display)
(zero? (system (string-append xorg-server "/bin/Xvfb "
display " &"))))))
(add-after 'install 'install-icons (add-after 'install 'install-icons
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -636,9 +623,11 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
;; For GtkFileChooserDialog. ;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" = `("GSETTINGS_SCHEMA_DIR" =
(,(string-append (assoc-ref inputs "gtk+") (,(string-append (assoc-ref inputs "gtk+")
"/share/glib-2.0/schemas"))))))))) "/share/glib-2.0/schemas"))))
#t)))))
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("python-docutils" ,python-docutils)
("xorg-server" ,xorg-server))) ("xorg-server" ,xorg-server)))
(inputs (inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme) `(("adwaita-icon-theme" ,adwaita-icon-theme)
@ -648,12 +637,13 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
("hicolor-icon-theme" ,hicolor-icon-theme) ("hicolor-icon-theme" ,hicolor-icon-theme)
("libsecret" ,libsecret) ("libsecret" ,libsecret)
("python-axolotl" ,python-axolotl) ("python-axolotl" ,python-axolotl)
("python-cssutils" ,python-cssutils)
("python-dbus" ,python-dbus) ("python-dbus" ,python-dbus)
("python-docutils" ,python-docutils)
("python-gnupg" ,python-gnupg) ("python-gnupg" ,python-gnupg)
("python-keyring" ,python-keyring)
("python-nbxmpp" ,python-nbxmpp) ("python-nbxmpp" ,python-nbxmpp)
("python-pillow" ,python-pillow) ("python-pillow" ,python-pillow)
("python-pyasn1" ,python-pyasn1) ("python-precis-i18n" ,python-precis-i18n)
("python-pycairo" ,python-pycairo) ("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject) ("python-pygobject" ,python-pygobject)
("python-pyopenssl" ,python-pyopenssl) ("python-pyopenssl" ,python-pyopenssl)
@ -828,8 +818,8 @@ protocols.")
(license license:x11))) (license license:x11)))
(define-public libtoxcore (define-public libtoxcore
(let ((revision "1") (let ((revision "2")
(commit "755f084e8720b349026c85afbad58954cb7ff1d4")) (commit "bf69b54f64003d160d759068f4816b2d9b2e1e21"))
(package (package
(name "libtoxcore") (name "libtoxcore")
(version (string-append "0.0.0" "-" (version (string-append "0.0.0" "-"
@ -842,26 +832,19 @@ protocols.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w")))) "11lqra4yd7v293cp286ynff5lqz1pprzg8vn3wq6vryj08g88zqb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:tests? #f)) ; FIXME: tests hang, some fail.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool) ("libtool" ,libtool)
;; TODO: Add when test suite is capable of passing. ("check" ,check)
;; ("check" ,check)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("libsodium" ,libsodium) `(("libsodium" ,libsodium)
("opus" ,opus) ("opus" ,opus)
("libvpx" ,libvpx))) ("libvpx" ,libvpx)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))
#:tests? #f)) ; FIXME: Testsuite fails, reasons unspecific.
(synopsis "Library for the Tox encrypted messenger protocol") (synopsis "Library for the Tox encrypted messenger protocol")
(description (description
"C library implementation of the Tox encrypted messenger protocol.") "C library implementation of the Tox encrypted messenger protocol.")
@ -877,13 +860,14 @@ protocols.")
(version "0.2.8") (version "0.2.8")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/TokTok/c-toxcore/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/TokTok/c-toxcore.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0qlkimlvbd24nlj7w9b5rpz1r807magqxmfylc1mlxsqhmfi5zj7")))) "0xgnraysz25fbws5zwjk92mwnl8k1yih701qam8kgm3rxh50kyhm"))))
(arguments (arguments
`(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable
; for now. ; for now.

View File

@ -28,15 +28,15 @@
(define-public mtools (define-public mtools
(package (package
(name "mtools") (name "mtools")
(version "4.0.19") (version "4.0.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/mtools/mtools-" (uri (string-append "mirror://gnu/mtools/mtools-"
version ".tar.gz")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"003qnj4rs22v2sih3is55scvav8xq9p1dp5b7gnyl67a60ky516r")))) "1vcahr9s6zv1hnrx2bgjnzcas2y951q90r1jvvv4q9v5kwfd6qb0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.gnu.org/software/mtools/") (home-page "https://www.gnu.org/software/mtools/")
(synopsis "Access MS-DOS disks without mounting") (synopsis "Access MS-DOS disks without mounting")

View File

@ -887,9 +887,10 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
#t)) #t))
(add-after 'install 'install-info (add-after 'install 'install-info
(lambda _ (lambda _
(zero? (system* "make" (invoke "make"
"-j" (number->string (parallel-job-count)) "-j" (number->string (parallel-job-count))
"conf=www" "install-info"))))))) "conf=www" "install-info")
#t)))))
(inputs (inputs
`(("guile" ,guile-1.8) `(("guile" ,guile-1.8)
("font-dejavu" ,font-dejavu) ("font-dejavu" ,font-dejavu)
@ -1255,12 +1256,14 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(name "jalv-select") (name "jalv-select")
(version "0.8") (version "0.8")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/brummer10/jalv_select/" (uri (git-reference
"archive/V" version ".tar.gz")) (url "https://github.com/brummer10/jalv_select.git")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0zraagwr681b5s3qifxf399c7q93jz23c8sr42gmff9zqnvxc75q")))) "0gqh768sbvn9ffyx1vqg9i57py9x9v4l65bk6wjsvgga4d7m83k1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -1275,6 +1278,13 @@ Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(string-append "ls -1 " (assoc-ref inputs "jalv") "/bin"))) (string-append "ls -1 " (assoc-ref inputs "jalv") "/bin")))
(substitute* "jalv.select.h" (substitute* "jalv.select.h"
(("gtkmm.h") "gtkmm-2.4/gtkmm.h")) (("gtkmm.h") "gtkmm-2.4/gtkmm.h"))
#t))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t))))) #t)))))
(inputs (inputs
`(("lilv" ,lilv) `(("lilv" ,lilv)
@ -1857,13 +1867,14 @@ using a system-independent interface.")
(name "portmidi-for-extempore") (name "portmidi-for-extempore")
(version "217") (version "217")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/extemporelang/portmidi/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/extemporelang/portmidi.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0gjikwciyr8kk4y3qiv1pcq58xpgw38ql1m2gs6g0qc1s8sx4235")))) "1inriyrjf7xx2b7r54x0vmf9ngyqgr7g5060c22bwkbsgg53apzv"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests (arguments `(#:tests? #f)) ; no tests
(native-inputs '()) (native-inputs '())
@ -2279,13 +2290,14 @@ follows a traditional multi-track tape recorder control paradigm.")
(version "1.2.1") (version "1.2.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/blablack/ams-lv2/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/blablack/ams-lv2.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1xacxyzqcj83g9c1gwfn36gg1c6yi15v7km4vidfidrjzb4x27fq")))) "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -2320,13 +2332,14 @@ and hold, etc.")
(name "gxtuner") (name "gxtuner")
(version "2.4") (version "2.4")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/brummer10/gxtuner/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/brummer10/gxtuner.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hn5qjac7qd00v0sp7ijhhc3sb26ks9bni06nngivva21h61xrjr")))) "1fxd2akan2njlr7fpkh84830783qhh1gg7yakswqk5dd466dcn96"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -2432,13 +2445,14 @@ tune-in sender list from @url{http://opml.radiotime.com}.")
(name "pianobar") (name "pianobar")
(version "2016.06.02") (version "2016.06.02")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/PromyLOPh/" (uri (git-reference
name "/archive/" version ".tar.gz")) (url "https://github.com/PromyLOPh/pianobar.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hi5rr6jcr0kwf4xfz007ndwkjkp287lhwlsgfz6iryqa5n6jzcp")))) "058fbdxp7n35hxwy3b8slfy4pb4n63cb173vfmywqa06wh1dv6f6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -2719,14 +2733,14 @@ of tools for manipulating and accessing your music.")
(name "milkytracker") (name "milkytracker")
(version "1.02.00") (version "1.02.00")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/milkytracker/" (uri (git-reference
"MilkyTracker/archive/v" (url "https://github.com/milkytracker/MilkyTracker.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08v0l4ipvvwkwv4ywkc6c8a6xnpkyb02anj36w8q6gikxrs6xjvb")) "05a6d7l98k9i82dwrgi855dnccm3f2lkb144gi244vhk1156n0ca"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; Remove non-FSDG compliant sample songs. ;; Remove non-FSDG compliant sample songs.
(snippet (snippet
@ -2761,14 +2775,14 @@ for improved Amiga ProTracker 2/3 compatibility.")
(name "schismtracker") (name "schismtracker")
(version "20180513") (version "20180513")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/" name "/" name "/archive/" (url "https://github.com/schismtracker/schismtracker.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yjfd02arb51n0vyv11qgpn6imh7hcqnc3953cbvgwb4cnrswk9f")) "0fayix1zbl96zhkfszgj71qr25dnddgy9hr6149nslww4gl7jk36"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility. ;; Remove use of __DATE__ and __TIME__ for reproducibility.
@ -2781,8 +2795,6 @@ for improved Amiga ProTracker 2/3 compatibility.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before 'configure 'link-libm (add-before 'configure 'link-libm
(lambda _ (setenv "LIBS" "-lm") #t))))) (lambda _ (setenv "LIBS" "-lm") #t)))))
(native-inputs (native-inputs
@ -3520,13 +3532,14 @@ are a C compiler and glib. Full API documentation and examples are included.")
(version "1.1.3") (version "1.1.3")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/LMMS/lmms/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/LMMS/lmms.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr")))) "03hhymc6d73fa3wbcqb7rm1l03zkw605k5i9kvkvjmv488bqh3pd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -4143,17 +4156,15 @@ at @code{musicbrainz.org}.")
(version "0.10") (version "0.10")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/trizen/clyrics/archive/" (url "https://github.com/trizen/clyrics.git")
version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1l0cg26afnjv8cgk0jbiavbyvq55q1djyigzmi526rpcjjwq9jwn")) "1qvj4dyipkkdccx5hci4z0q23i54ldk6hh7x5m35a7f70rrj6fbk"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs `(("tar" ,tar)
("gzip" ,gzip)))
(inputs (inputs
`(("bash" ,bash) ;for the wrapped program `(("bash" ,bash) ;for the wrapped program
("perl" ,perl) ("perl" ,perl)
@ -4170,17 +4181,12 @@ at @code{musicbrainz.org}.")
(ice-9 match) (ice-9 match)
(srfi srfi-26)) (srfi srfi-26))
(let* ((source (assoc-ref %build-inputs "source")) (let* ((source (assoc-ref %build-inputs "source"))
(tar (assoc-ref %build-inputs "tar"))
(gzip (assoc-ref %build-inputs "gzip"))
(output (assoc-ref %outputs "out"))) (output (assoc-ref %outputs "out")))
(setenv "PATH" (setenv "PATH"
(string-append (string-append
(assoc-ref %build-inputs "gzip") "/bin" ":"
(assoc-ref %build-inputs "bash") "/bin" ":" (assoc-ref %build-inputs "bash") "/bin" ":"
(assoc-ref %build-inputs "perl") "/bin" ":")) (assoc-ref %build-inputs "perl") "/bin" ":"))
(invoke (string-append tar "/bin/tar") "xvf" (copy-recursively source (getcwd))
source)
(chdir ,(string-append "clyrics-" version))
(patch-shebang "clyrics") (patch-shebang "clyrics")
(substitute* "clyrics" (substitute* "clyrics"
(("/usr/share") output)) (("/usr/share") output))

View File

@ -30,7 +30,7 @@
(define-public nano (define-public nano
(package (package
(name "nano") (name "nano")
(version "3.1") (version "3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -38,7 +38,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"17kinzyv6vwgyx2d0ym1kp65qbf7kxzwpyg21ic1rijv1aj2rh0l")))) "0jb3zq0v84xb0chyynkcp2jhs9660wmpkic294p4p6c96npp69yi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)

View File

@ -102,8 +102,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to ;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this. ;; start precisely like this.
(let ((version "0.15.0") (let ((version "0.15.0")
(commit "f9a8fce10f2d99efec7cb1dd0f6c5f0df9d1b2df") (commit "f5a2724ae453f4a4b55ff848f4ad7e30efb6eef8")
(revision 6)) (revision 7))
(package (package
(name "guix") (name "guix")
@ -119,7 +119,7 @@
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1733d5id0h44rrkyj9xw4fcqr1wawcfi8igpgk5wsn1iq4qqwv5f")) "12glmvifbwvl6lmxh1mc8nbcp0f5qgw40rmf8n1icxvj0mnjrwp4"))
(file-name (string-append "guix-" version "-checkout")))) (file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -1,103 +0,0 @@
Based on upstream changeset:
https://hg.mozilla.org/releases/mozilla-esr60/rev/300efdbc9fe1
but with the git binary patch and related test changes omitted,
and adapted to apply cleanly to GNU IceCat.
# HG changeset patch
# User David Keeler <dkeeler@mozilla.com>
# Date 1531860660 25200
# Node ID 300efdbc9fe1f9165428c7934861033935b5abfa
# Parent 80a4a7ef281374dbb2afda8edac54665b14b9ef8
Bug 1475775 - Clean up old NSS DB file after upgrade if necessary. r=franziskus, r=mattn, a=RyanVM
Reviewers: franziskus, mattn
Bug #: 1475775
Differential Revision: https://phabricator.services.mozilla.com/D2202
diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
--- a/security/manager/ssl/nsNSSComponent.cpp
+++ b/security/manager/ssl/nsNSSComponent.cpp
@@ -1935,16 +1935,61 @@ AttemptToRenameBothPKCS11ModuleDBVersion
NS_NAMED_LITERAL_CSTRING(sqlModuleDBFilename, "pkcs11.txt");
nsresult rv = AttemptToRenamePKCS11ModuleDB(profilePath,
legacyModuleDBFilename);
if (NS_FAILED(rv)) {
return rv;
}
return AttemptToRenamePKCS11ModuleDB(profilePath, sqlModuleDBFilename);
}
+
+// When we changed from the old dbm database format to the newer sqlite
+// implementation, the upgrade process left behind the existing files. Suppose a
+// user had not set a password for the old key3.db (which is about 99% of
+// users). After upgrading, both the old database and the new database are
+// unprotected. If the user then sets a password for the new database, the old
+// one will not be protected. In this scenario, we should probably just remove
+// the old database (it would only be relevant if the user downgraded to a
+// version of IceCat before 58, but we have to trade this off against the
+// user's old private keys being unexpectedly unprotected after setting a
+// password).
+// This was never an issue on Android because we always used the new
+// implementation.
+static void
+MaybeCleanUpOldNSSFiles(const nsACString& profilePath)
+{
+ UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
+ if (!slot) {
+ return;
+ }
+ // Unfortunately we can't now tell the difference between "there already was a
+ // password when the upgrade happened" and "there was not a password but then
+ // the user added one after upgrading".
+ bool hasPassword = PK11_NeedLogin(slot.get()) &&
+ !PK11_NeedUserInit(slot.get());
+ if (!hasPassword) {
+ return;
+ }
+ nsCOMPtr<nsIFile> dbFile = do_CreateInstance("@mozilla.org/file/local;1");
+ if (!dbFile) {
+ return;
+ }
+ nsresult rv = dbFile->InitWithNativePath(profilePath);
+ if (NS_FAILED(rv)) {
+ return;
+ }
+ NS_NAMED_LITERAL_CSTRING(keyDBFilename, "key3.db");
+ rv = dbFile->AppendNative(keyDBFilename);
+ if (NS_FAILED(rv)) {
+ return;
+ }
+ // Since this isn't a directory, the `recursive` argument to `Remove` is
+ // irrelevant.
+ Unused << dbFile->Remove(false);
+}
#endif // ifndef ANDROID
// Given a profile directory, attempt to initialize NSS. If nocertdb is true,
// (or if we don't have a profile directory) simply initialize NSS in no DB mode
// and return. Otherwise, first attempt to initialize in read/write mode, and
// then read-only mode if that fails. If both attempts fail, we may be failing
// to initialize an NSS DB collection that has FIPS mode enabled. Attempt to
// ascertain if this is the case, and if so, rename the offending PKCS#11 module
@@ -1966,16 +2011,19 @@ InitializeNSSWithFallbacks(const nsACStr
// Try read/write mode. If we're in safeMode, we won't load PKCS#11 modules.
#ifndef ANDROID
PRErrorCode savedPRErrorCode1;
#endif // ifndef ANDROID
SECStatus srv = ::mozilla::psm::InitializeNSS(profilePath, false, !safeMode);
if (srv == SECSuccess) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("initialized NSS in r/w mode"));
+#ifndef ANDROID
+ MaybeCleanUpOldNSSFiles(profilePath);
+#endif // ifndef ANDROID
return NS_OK;
}
#ifndef ANDROID
savedPRErrorCode1 = PR_GetError();
PRErrorCode savedPRErrorCode2;
#endif // ifndef ANDROID
// That failed. Try read-only mode.
srv = ::mozilla::psm::InitializeNSS(profilePath, true, !safeMode);

View File

@ -0,0 +1,80 @@
Fix CVE-2018-19149:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19149
https://gitlab.freedesktop.org/poppler/poppler/issues/664
Patch copied from upstream source repository:
https://gitlab.freedesktop.org/poppler/poppler/commit/f162ecdea0dda5dbbdb45503c1d55d9afaa41d44
From f162ecdea0dda5dbbdb45503c1d55d9afaa41d44 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Fri, 20 Apr 2018 11:38:13 +0200
Subject: [PATCH] Fix crash on missing embedded file
Check whether an embedded file is actually present in the PDF
and show warning in that case.
https://bugs.freedesktop.org/show_bug.cgi?id=106137
https://gitlab.freedesktop.org/poppler/poppler/issues/236
---
glib/poppler-attachment.cc | 26 +++++++++++++++++---------
glib/poppler-document.cc | 3 ++-
2 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/glib/poppler-attachment.cc b/glib/poppler-attachment.cc
index c6502e9d..11ba5bb5 100644
--- a/glib/poppler-attachment.cc
+++ b/glib/poppler-attachment.cc
@@ -111,17 +111,25 @@ _poppler_attachment_new (FileSpec *emb_file)
attachment->description = _poppler_goo_string_to_utf8 (emb_file->getDescription ());
embFile = emb_file->getEmbeddedFile();
- attachment->size = embFile->size ();
+ if (embFile != NULL && embFile->streamObject()->isStream())
+ {
+ attachment->size = embFile->size ();
- if (embFile->createDate ())
- _poppler_convert_pdf_date_to_gtime (embFile->createDate (), (time_t *)&attachment->ctime);
- if (embFile->modDate ())
- _poppler_convert_pdf_date_to_gtime (embFile->modDate (), (time_t *)&attachment->mtime);
+ if (embFile->createDate ())
+ _poppler_convert_pdf_date_to_gtime (embFile->createDate (), (time_t *)&attachment->ctime);
+ if (embFile->modDate ())
+ _poppler_convert_pdf_date_to_gtime (embFile->modDate (), (time_t *)&attachment->mtime);
- if (embFile->checksum () && embFile->checksum ()->getLength () > 0)
- attachment->checksum = g_string_new_len (embFile->checksum ()->getCString (),
- embFile->checksum ()->getLength ());
- priv->obj_stream = embFile->streamObject()->copy();
+ if (embFile->checksum () && embFile->checksum ()->getLength () > 0)
+ attachment->checksum = g_string_new_len (embFile->checksum ()->getCString (),
+ embFile->checksum ()->getLength ());
+ priv->obj_stream = embFile->streamObject()->copy();
+ }
+ else
+ {
+ g_warning ("Missing stream object for embedded file");
+ g_clear_object (&attachment);
+ }
return attachment;
}
diff --git a/glib/poppler-document.cc b/glib/poppler-document.cc
index 83f6aea6..ea319344 100644
--- a/glib/poppler-document.cc
+++ b/glib/poppler-document.cc
@@ -670,7 +670,8 @@ poppler_document_get_attachments (PopplerDocument *document)
attachment = _poppler_attachment_new (emb_file);
delete emb_file;
- retval = g_list_prepend (retval, attachment);
+ if (attachment != NULL)
+ retval = g_list_prepend (retval, attachment);
}
return g_list_reverse (retval);
}
--
2.19.1

View File

@ -82,6 +82,7 @@
(define-public poppler (define-public poppler
(package (package
(name "poppler") (name "poppler")
(replacement poppler/fixed)
(version "0.68.0") (version "0.68.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -131,6 +132,14 @@
(license license:gpl2+) (license license:gpl2+)
(home-page "https://poppler.freedesktop.org/"))) (home-page "https://poppler.freedesktop.org/")))
(define poppler/fixed
(package
(inherit poppler)
(source (origin
(inherit (package-source poppler))
(patches (append (origin-patches (package-source poppler))
(search-patches "poppler-CVE-2018-19149.patch")))))))
(define-public poppler-data (define-public poppler-data
(package (package
(name "poppler-data") (name "poppler-data")
@ -162,14 +171,14 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.")
license:gpl2)))) license:gpl2))))
(define-public poppler-qt4 (define-public poppler-qt4
(package (inherit poppler) (package/inherit poppler
(name "poppler-qt4") (name "poppler-qt4")
(inputs `(("qt-4" ,qt-4) (inputs `(("qt-4" ,qt-4)
,@(package-inputs poppler))) ,@(package-inputs poppler)))
(synopsis "Qt4 frontend for the Poppler PDF rendering library"))) (synopsis "Qt4 frontend for the Poppler PDF rendering library")))
(define-public poppler-qt5 (define-public poppler-qt5
(package (inherit poppler) (package/inherit poppler
(name "poppler-qt5") (name "poppler-qt5")
(inputs `(("qtbase" ,qtbase) (inputs `(("qtbase" ,qtbase)
,@(package-inputs poppler))) ,@(package-inputs poppler)))
@ -227,26 +236,23 @@ Poppler PDF rendering library.")
(name "libharu") (name "libharu")
(version "2.3.0") (version "2.3.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/libharu/libharu/archive/" (uri (git-reference
"RELEASE_" (url "https://github.com/libharu/libharu.git")
(string-join (string-split version #\.) "_") (commit (string-append
".tar.gz")) "RELEASE_"
(file-name (string-append name "-" version ".tar.gz")) (string-join (string-split version #\.) "_")))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1lm4v539y9cb1lvbq387j57sy7yxda3yv8b1pk8m6zazbp66i7lg")))) "15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--with-zlib=" (list (string-append "--with-zlib="
(assoc-ref %build-inputs "zlib")) (assoc-ref %build-inputs "zlib"))
(string-append "--with-png=" (string-append "--with-png="
(assoc-ref %build-inputs "libpng"))) (assoc-ref %build-inputs "libpng")))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _ (invoke "autoreconf" "-vif"))))))
(inputs (inputs
`(("zlib" ,zlib) `(("zlib" ,zlib)
("libpng" ,libpng))) ("libpng" ,libpng)))

View File

@ -53,7 +53,7 @@
(define-public php (define-public php
(package (package
(name "php") (name "php")
(version "7.2.10") (version "7.2.12")
(home-page "https://secure.php.net/") (home-page "https://secure.php.net/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -61,7 +61,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1w0432i5wjga9z8x3rhc72h2ij1jd2aimg5xmhc0hg4f7951bhh1")) "1qbz2j9kzqxxp0mmx02zavvz20ji7izqdnri25g1mrwyhz60974q"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "ext" '(with-directory-excursion "ext"
@ -176,6 +176,11 @@
(substitute* "ext/standard/tests/streams/bug60602.phpt" (substitute* "ext/standard/tests/streams/bug60602.phpt"
(("'ls'") (string-append "'" (which "ls") "'"))) (("'ls'") (string-append "'" (which "ls") "'")))
;; The expected output is slightly different from what is given,
;; in a section that's not related to the actual test
(substitute* "sapi/cli/tests/upload_2G.phpt"
(("Test\\\\n") "Test\n\n"))
;; Drop tests that are known to fail. ;; Drop tests that are known to fail.
(for-each delete-file (for-each delete-file
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group. '("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group.

View File

@ -14626,3 +14626,22 @@ on regular expressions.")
(propagated-inputs (propagated-inputs
`(("python2-enum34" ,python2-enum34) `(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs reparser)))))) ,@(package-propagated-inputs reparser))))))
(define-public python-precis-i18n
(package
(name "python-precis-i18n")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "precis_i18n" version))
(sha256
(base32
"0gjhvwd8aifx94rl1ag08vlmndyx2q3fkyqb0c4i46x3p2bc2yi2"))))
(build-system python-build-system)
(home-page "https://github.com/byllyfish/precis_i18n")
(synopsis "Implementation of the PRECIS framework")
(description
"This module implements the PRECIS Framework as described in RFC 8264,
RFC 8265 and RFC 8266.")
(license license:expat)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -22,6 +22,7 @@
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:select (non-copyleft isc gpl2 lgpl2.1 lgpl2.1+)) #:select (non-copyleft isc gpl2 lgpl2.1 lgpl2.1+))
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -122,13 +123,14 @@ Java Lucene text search engine API to C++.")
(name "lrdf") (name "lrdf")
(version "0.6.1") (version "0.6.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/swh/LRDF/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/swh/LRDF.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1vxii4mlcpyi16dizcmnqfl2j9gffgr986yd8ic67hvs8xy42yfm")))) "00wzkfb8y0aqd519ypz067cq099dpc89w69zw8ln39vl6f9x2pd4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -140,9 +142,9 @@ Java Lucene text search engine API to C++.")
(("instances_test remove_test") "instances_test") (("instances_test remove_test") "instances_test")
(("\\$\\(TESTS\\) remove_test") "$(TESTS)")) (("\\$\\(TESTS\\) remove_test") "$(TESTS)"))
#t)) #t))
(add-after 'remove-out-of-tree-references 'autoreconf ;; The default bootstrap phase executes autogen.sh, which fails.
(lambda _ (replace 'bootstrap
(zero? (system* "autoreconf" "-vfi"))))))) (lambda _ (invoke "autoreconf" "-vif") #t)))))
(inputs (inputs
`(("raptor" ,raptor2) `(("raptor" ,raptor2)
("cyrus-sasl" ,cyrus-sasl) ("cyrus-sasl" ,cyrus-sasl)

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -73,10 +74,6 @@
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; The 6.7 tarball is missing install.sh. Create it.
(add-after 'unpack 'autoreconf
(lambda _
(invoke "autoreconf" "-i")))
(add-before 'configure 'set-root-sbin (add-before 'configure 'set-root-sbin
(lambda _ ; Don't try to install in "/sbin". (lambda _ ; Don't try to install in "/sbin".
(setenv "ROOTSBINDIR" (setenv "ROOTSBINDIR"

View File

@ -99,7 +99,6 @@ arbitrary data types and reversibly turns them into different representations,
such as compact binary encodings, XML, or JSON.") such as compact binary encodings, XML, or JSON.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public msgpack (define-public msgpack
(package (package
(name "msgpack") (name "msgpack")
@ -132,13 +131,6 @@ such as compact binary encodings, XML, or JSON.")
;; zbuffer.hpp) which #include <zlib.h>. However, 'guix gc --references' ;; zbuffer.hpp) which #include <zlib.h>. However, 'guix gc --references'
;; does not detect a store reference to zlib since these headers are not ;; does not detect a store reference to zlib since these headers are not
;; compiled. ;; compiled.
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoreconf" "-vfi")
#t)))))
(home-page "https://www.msgpack.org") (home-page "https://www.msgpack.org")
(synopsis "Binary serialization library") (synopsis "Binary serialization library")
(description "Msgpack is a library for C/C++ that implements binary (description "Msgpack is a library for C/C++ that implements binary

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -414,10 +414,7 @@ use of experts and novices alike.")
"/rx"))) "/rx")))
(delete-file-recursively "rx") (delete-file-recursively "rx")
(symlink rxpath "rx")) (symlink rxpath "rx"))
#t)) #t)))))
(add-after 'unpack 'autoreconf
(lambda _
(invoke "autoreconf"))))))
(inputs (inputs
`(("scheme48" ,scheme48) `(("scheme48" ,scheme48)
("scheme48-rx" ,scheme48-rx))) ("scheme48-rx" ,scheme48-rx)))

View File

@ -116,9 +116,10 @@ are already there.")
'(#:test-target "test" '(#:test-target "test"
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases (delete 'configure)))) #:phases (modify-phases %standard-phases (delete 'configure))))
(inputs
`(("go" ,go-1.9)))
(native-inputs (native-inputs
`(("go" ,go) `(("which" ,which)))
("which" ,which)))
(home-page "https://direnv.net/") (home-page "https://direnv.net/")
(synopsis "Environment switcher for the shell") (synopsis "Environment switcher for the shell")
(description (description

View File

@ -250,7 +250,7 @@ Internet and from a wide variety of machine architectures.")
(add-after 'unpack 'patch-spice-vdagent.desktop (add-after 'unpack 'patch-spice-vdagent.desktop
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "data/spice-vdagent.desktop" (substitute* "data/spice-vdagent.desktop"
(("Exec=/usr/bin/spice-vdagent\n") (("Exec=/usr/bin/spice-vdagent")
(string-append "Exec=" (assoc-ref outputs "out") (string-append "Exec=" (assoc-ref outputs "out")
"/bin/spice-vdagent"))) "/bin/spice-vdagent")))
#t))))) #t)))))

View File

@ -71,13 +71,7 @@
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
;; git.libssh.org does not support the fast "smart" HTTP (url "https://git.libssh.org/projects/libssh.git")
;; Git protocol. The "dumb" HTTP Git protocol is extremely
;; slow, and does not support shallow clones, so we use the
;; plain Git protocol despite its flaws. This offers an
;; incredible speedup and reduces the size of the the
;; source by more than half.
(url "git://git.libssh.org/projects/libssh.git")
(commit (string-append "libssh-" version)))) (commit (string-append "libssh-" version))))
(patches (search-patches "libssh-hostname-parser-bug.patch")) (patches (search-patches "libssh-hostname-parser-bug.patch"))
(sha256 (sha256

View File

@ -115,6 +115,36 @@ can be imported from spreadsheets, text files and database sources and it can
be output in text, PostScript, PDF or HTML.") be output in text, PostScript, PDF or HTML.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public jags
(package
(name "jags")
(version "4.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mcmc-jags/JAGS/"
(version-major version) ".x/Source/"
"JAGS-" version ".tar.gz"))
(sha256
(base32
"1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica"))))
(build-system gnu-build-system)
(home-page "http://mcmc-jags.sourceforge.net/")
(native-inputs
`(("gfortran" ,gfortran)
("lapack" ,lapack)))
(synopsis "Gibbs sampler")
(description "JAGS is Just Another Gibbs Sampler. It is a program for
analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC)
simulation not wholly unlike BUGS. JAGS was written with three aims in mind:
@enumerate
@item To have a cross-platform engine for the BUGS language;
@item To be extensible, allowing users to write their own functions,
distributions and samplers;
@item To be a platform for experimentation with ideas in Bayesian modelling.
@end enumerate\n")
(license license:gpl2)))
;; Update this package together with the set of recommended packages: r-boot, ;; Update this package together with the set of recommended packages: r-boot,
;; r-class, r-cluster, r-codetools, r-foreign, r-kernsmooth, r-lattice, ;; r-class, r-cluster, r-codetools, r-foreign, r-kernsmooth, r-lattice,
;; r-mass, r-matrix, r-mgcv, r-nlme, r-nnet, r-rpart, r-spatial, r-survival. ;; r-mass, r-matrix, r-mgcv, r-nlme, r-nnet, r-rpart, r-spatial, r-survival.
@ -1620,13 +1650,13 @@ and printing capabilities than traditional data frames.")
(define-public r-dplyr (define-public r-dplyr
(package (package
(name "r-dplyr") (name "r-dplyr")
(version "0.7.7") (version "0.7.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "dplyr" version)) (uri (cran-uri "dplyr" version))
(sha256 (sha256
(base32 (base32
"196lwck3i3m25jnn1f1nrda9svnjqqi89s0is79gbrphamddnlq5")))) "06p59nhli8c1sarghzxq0y4pk6lyyz3xwkarp55b252dfg2rly9p"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-assertthat" ,r-assertthat) `(("r-assertthat" ,r-assertthat)
@ -2528,13 +2558,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo (define-public r-rcpparmadillo
(package (package
(name "r-rcpparmadillo") (name "r-rcpparmadillo")
(version "0.9.100.5.0") (version "0.9.200.4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RcppArmadillo" version)) (uri (cran-uri "RcppArmadillo" version))
(sha256 (sha256
(base32 (base32
"1iyjqhfjip1nxrkllzh7r1m01jjnx7cahqkf3s557w34p987f2l1")))) "1ayvpyi4hgaqrhx1kqi640iillc2byj4kam7vydlgqmdrzpgrfvz"))))
(properties `((upstream-name . "RcppArmadillo"))) (properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
@ -3268,14 +3298,14 @@ the way current RNG settings can be changed.")
(define-public r-rtsne (define-public r-rtsne
(package (package
(name "r-rtsne") (name "r-rtsne")
(version "0.13") (version "0.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Rtsne" version)) (uri (cran-uri "Rtsne" version))
(sha256 (sha256
(base32 (base32
"17crbdi80q4g2pwp9v7j3bdaznk96qlrqx01zvj3wwqippizyfqw")))) "0v17vxizrs1msay24xl2bckfajr2c82wpqj07lyssbrq197nwdsn"))))
(properties `((upstream-name . "Rtsne"))) (properties `((upstream-name . "Rtsne")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5123,14 +5153,14 @@ algorithms.")
(define-public r-lme4 (define-public r-lme4
(package (package
(name "r-lme4") (name "r-lme4")
(version "1.1-18-1") (version "1.1-19")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "lme4" version)) (uri (cran-uri "lme4" version))
(sha256 (sha256
(base32 (base32
"01ar4fak8zj7c1vmh9m576wchxj5qzpfqn637s7fh3fl6cpz0alq")))) "0j8xhkkcdv45ilab960s9jrcjk6jbzvd7w7myswv5fmalrpq52pf"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("r-rcpp" ,r-rcpp) `(("r-rcpp" ,r-rcpp)
@ -5325,14 +5355,14 @@ first and second order derivatives.")
(define-public r-sn (define-public r-sn
(package (package
(name "r-sn") (name "r-sn")
(version "1.5-2") (version "1.5-3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sn" version)) (uri (cran-uri "sn" version))
(sha256 (sha256
(base32 (base32
"16gwr68zzj5v83bqfmzxnzwig3dnjrkxdhs6clri1caqkvrq6aig")))) "10via4lg0vx9pzq350vwhz5wv1dhzxr2l3r6jq99nk37vmyvj8fc"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-mnormt" ,r-mnormt) `(("r-mnormt" ,r-mnormt)

View File

@ -900,7 +900,16 @@ the current goroutine's ID.")
"0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5")))) "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/AudriusButkevicius/cli")) '(#:import-path "github.com/AudriusButkevicius/cli"
;; Tests don't pass "vet" on go-1.11. See
;; https://github.com/AudriusButkevicius/cli/pull/1.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "test"
"-vet=off"
import-path))))))
(synopsis "Library for building command-line interfaces in Go") (synopsis "Library for building command-line interfaces in Go")
(description "This package provides a library for building command-line (description "This package provides a library for building command-line
interfaces in Go.") interfaces in Go.")
@ -1097,7 +1106,14 @@ message streaming.")
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/src/github.com/prometheus/common/expfmt/testdata/") "/src/github.com/prometheus/common/expfmt/testdata/")
".*\\.gz$")) ".*\\.gz$"))
#t))))) #t))
(replace 'check
;; Tests don't pass "vet" on go-1.11. See
;; https://github.com/syncthing/syncthing/issues/5311.
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "test"
"-vet=off"
import-path))))))
(propagated-inputs (propagated-inputs
`(("go-github-com-golang-protobuf-proto" `(("go-github-com-golang-protobuf-proto"
,go-github-com-golang-protobuf-proto) ,go-github-com-golang-protobuf-proto)
@ -1251,7 +1267,16 @@ Prometheus HTTP API.")
"1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx")))) "1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "gopkg.in/asn1-ber.v1")) '(#:import-path "gopkg.in/asn1-ber.v1"
;; Tests don't pass "vet" on go-1.11. See
;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "test"
"-vet=off"
import-path))))))
(synopsis "ASN.1 BER encoding and decoding in Go") (synopsis "ASN.1 BER encoding and decoding in Go")
(description "This package provides ASN.1 BER encoding and decoding in the (description "This package provides ASN.1 BER encoding and decoding in the
Go language.") Go language.")

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; ;;;
@ -295,26 +295,19 @@ protocol (RFC 3550).")
(version (string-append "0.0.0-1." (string-take commit 7))) (version (string-append "0.0.0-1." (string-take commit 7)))
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (uri (git-reference
(string-append (url "https://gitlab.savoirfairelinux.com/sflphone/libiax2.git")
"https://gitlab.savoirfairelinux.com/sflphone/libiax2/" (commit commit)))
"repository/archive.tar.gz?ref=" (file-name (git-file-name name version))
commit))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0cj5293bixp3k5x3hjwyd0iq7z8w5p7yavxvvkqk5817hjq386y2")))) "0d269474kk1933c55hx4azw3sak5ycfrxkw6ida0sb2cm00kfich"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool))) ("libtool" ,libtool)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoreconf" "-vfi"))))))
(home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2") (home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2")
(synopsis "Inter-Asterisk-Protocol library") (synopsis "Inter-Asterisk-Protocol library")
(description "LibIAX2 implements the Inter-Asterisk-Protocol for relaying (description "LibIAX2 implements the Inter-Asterisk-Protocol for relaying

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015 Roel Janssen <roel@gnu.org> ;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
@ -15,6 +15,7 @@
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -197,11 +198,6 @@ encoding, supporting Unicode version 9.0.0.")
(sha256 (sha256
(base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr")))) (base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vif")))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -572,22 +568,16 @@ categories.")
(name "dotconf") (name "dotconf")
(version "1.3") (version "1.3")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/williamh/dotconf/archive/v" (url "https://github.com/williamh/dotconf.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0lsnh0yaw44psmx59hq94cj1932gscp5h8d3cnh05l0svr0cy7kz")))) "1sc95hw5k2xagpafny0v35filmcn05k1ds5ghkldfpf6xw4hakp7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments `(#:tests? #f)) ; FIXME maketest.sh does not work.
`(#:tests? #f ; FIXME maketest.sh does not work.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -756,3 +746,26 @@ indentation.
@end itemize\n") @end itemize\n")
(home-page "http://docx2txt.sourceforge.net") (home-page "http://docx2txt.sourceforge.net")
(license license:gpl3+))) (license license:gpl3+)))
(define-public opencc
(package
(name "opencc")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/BYVoid/OpenCC"
"/archive/ver." version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "01870gbkf711msirf3206k0ajaabypjhnx3fny5wikw0ladn9q8w"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-wrapper)))
(home-page "https://github.com/BYVoid/OpenCC")
(synopsis "Convert between Traditional Chinese and Simplified Chinese")
(description "Open Chinese Convert (OpenCC) converts between Traditional
Chinese and Simplified Chinese, supporting character-level conversion,
phrase-level conversion, variant conversion, and regional idioms among
Mainland China, Taiwan, and Hong-Kong.")
(license license:asl2.0)))

View File

@ -522,13 +522,13 @@ netcat implementation that supports TLS.")
(package (package
(name "python-acme") (name "python-acme")
;; Remember to update the hash of certbot when updating python-acme. ;; Remember to update the hash of certbot when updating python-acme.
(version "0.27.1") (version "0.28.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "acme" version)) (uri (pypi-uri "acme" version))
(sha256 (sha256
(base32 (base32
"142gynlfx7yv0sdba3gpdxlnhg9chhz7hpdxdrp630z17h1bk9ri")))) "11dvcbdifn5d02p4k5li8r6r39bl3p5ap9p3zjwvasm24hf2yz5z"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -579,7 +579,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version)) (uri (pypi-uri name version))
(sha256 (sha256
(base32 (base32
"0anh3vjy9sif1bkp25nj76ii37xx8hh0igcx60ppag12xlabsw1m")))) "02h959qkq7z0s13ivgf7jyl3gnc55wcck6n546k0kh155bpf5qri"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme) `(,@(substitute-keyword-arguments (package-arguments python-acme)

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -140,14 +141,6 @@ rejects UDP traffic from the application you're using.")
#:configure-flags (list (string-append "--sysconfdir=" #:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/etc/privoxy")) "/etc/privoxy"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
;; Unfortunately, this is not a tarball produced by
;; "make dist".
(invoke "autoreconf" "-vfi")
#t)))
#:tests? #f)) #:tests? #f))
(inputs (inputs
`(("w3m" ,w3m) `(("w3m" ,w3m)

View File

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

View File

@ -718,7 +718,7 @@ refactor Vim in order to:
(define-public vifm (define-public vifm
(package (package
(name "vifm") (name "vifm")
(version "0.9.1") (version "0.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -729,7 +729,7 @@ refactor Vim in order to:
"vifm-" version ".tar.bz2"))) "vifm-" version ".tar.bz2")))
(sha256 (sha256
(base32 (base32
"1cz7vjjmghgdxd1lvsdwv85gvx4kz8idq14qijpwkpfrf2va9f98")))) "1f380xcyjnm4xmcdazs6dj064bwddhywvn3mgm36k7r7b2gnjnp0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--disable-build-timestamp") '(#:configure-flags '("--disable-build-timestamp")

View File

@ -6761,14 +6761,14 @@ compressed JSON header blocks.
(srfi srfi-26) (srfi srfi-26)
(ice-9 popen) (ice-9 popen)
(ice-9 rdelim)) (ice-9 rdelim))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'autoconf (add-before 'configure 'set-variables
(lambda _ (lambda _
;; This prevents a few warnings
(setenv "GUILE_AUTO_COMPILE" "0") (setenv "GUILE_AUTO_COMPILE" "0")
(setenv "XDG_CACHE_HOME" (getcwd)) (setenv "XDG_CACHE_HOME" (getcwd))
(invoke "autoreconf" "-vif"))) #t))
(add-after 'install 'wrap-program (add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,6 +32,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages enchant) #:use-module (gnu packages enchant)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@ -66,11 +68,13 @@
(base32 (base32
"147r7an41920zl4x9srdva7fxvw2znjin5ldjkhay1cndv9gih0m")))) "147r7an41920zl4x9srdva7fxvw2znjin5ldjkhay1cndv9gih0m"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "doc"))
(arguments (arguments
'(#:tests? #f ; no tests '(#:tests? #f ; no tests
#:build-type "Release" ; turn off debugging symbols to save space #:build-type "Release" ; turn off debugging symbols to save space
#:configure-flags (list #:configure-flags (list
"-DPORT=GTK" "-DPORT=GTK"
"-DENABLE_GTKDOC=ON" ; No doc by default
(string-append ; uses lib64 by default (string-append ; uses lib64 by default
"-DLIB_INSTALL_DIR=" "-DLIB_INSTALL_DIR="
(assoc-ref %outputs "out") "/lib") (assoc-ref %outputs "out") "/lib")
@ -87,7 +91,26 @@
;; XXX Disable WOFF2 web fonts. These were never ;; XXX Disable WOFF2 web fonts. These were never
;; supported in our previous builds. Enabling them ;; supported in our previous builds. Enabling them
;; requires building libwoff2 and possibly woff2dec. ;; requires building libwoff2 and possibly woff2dec.
"-DUSE_WOFF2=OFF"))) "-DUSE_WOFF2=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-gtk-doc-scan
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (file)
(substitute* file
(("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/docbookx.dtd"))))
(find-files "Source" "\\.sgml$"))
#t))
(add-after 'install 'move-doc-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share"))
(rename-file (string-append out "/share/gtk-doc")
(string-append doc "/share/gtk-doc"))
#t))))))
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
@ -97,6 +120,8 @@
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-2) ; incompatible with Python 3 (print syntax) ("python" ,python-2) ; incompatible with Python 3 (print syntax)
("gtk-doc" ,gtk-doc) ; For documentation generation
("docbook-xml" ,docbook-xml) ; For documentation generation
("ruby" ,ruby))) ("ruby" ,ruby)))
(propagated-inputs (propagated-inputs
`(("gtk+" ,gtk+) `(("gtk+" ,gtk+)
@ -155,12 +180,13 @@ HTML/CSS applications to full-fledged web browsers.")
`(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer
,@(package-native-inputs webkitgtk))) ,@(package-native-inputs webkitgtk)))
(arguments (arguments
`(#:phases (modify-phases %standard-phases (substitute-keyword-arguments (package-arguments webkitgtk)
(add-before 'configure 'work-around-gcc-7-include-path-issue ((#:phases phases)
;; FIXME: Work around a problem with gcc-7 includes (see `(modify-phases ,phases
;; <https://bugs.gnu.org/30756>). (add-before 'configure 'work-around-gcc-7-include-path-issue
(lambda _ ;; FIXME: Work around a problem with gcc-7 includes (see
(unsetenv "C_INCLUDE_PATH") ;; <https://bugs.gnu.org/30756>).
(unsetenv "CPLUS_INCLUDE_PATH") (lambda _
#t))) (unsetenv "C_INCLUDE_PATH")
,@(package-arguments webkitgtk))))) (unsetenv "CPLUS_INCLUDE_PATH")
#t))))))))

View File

@ -225,7 +225,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data (define-public wine-staging-patchset-data
(package (package
(name "wine-staging-patchset-data") (name "wine-staging-patchset-data")
(version "3.19") (version "3.20")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -235,7 +235,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nmlhc6jamz0zb4b1w165l8j1a1b0j5ad1sv06aasc9jy8s12b22")))) "049cwllf4aybrhj4l2i3vd5jvagjz4d448404zkyy0lfxr08id3p"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (native-inputs
`(("bash" ,bash) `(("bash" ,bash)
@ -281,7 +281,7 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0slwgbxclx2dx0glj8az3mv0bqxmx119v9s0jvg1b5zhmqkcc8gg")))) "063garmflbna3mhph8k0dv0bkzq8x75x5xrd0j8y0mjh10i13mik"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf (inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("libva" ,libva) ("libva" ,libva)

View File

@ -10,7 +10,7 @@
;;; Copyright © 2015 xd1le <elisp.vim@gmail.com> ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
@ -1338,15 +1338,11 @@ invert colors on a specific display/screen.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments '(#:configure-flags `("--enable-sound" (arguments '(#:configure-flags `("--enable-sound"
"--enable-wave" "--enable-wave"
"--enable-alsa") "--enable-alsa")))
#:phases (modify-phases %standard-phases (native-inputs `(("autoconf" ,autoconf)
(add-before 'configure 'autoreconf ("automake" ,automake)
(lambda _ ("pkg-config" ,pkg-config)
(invoke "autoreconf" "-vfi")))))) ("perl" ,perl)))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("perl" ,perl)))
(inputs `(("libx11" ,libx11) (inputs `(("libx11" ,libx11)
("alsa-lib" ,alsa-lib))) ("alsa-lib" ,alsa-lib)))
(synopsis "Daemon that performs an action every time the X11 bell is rung") (synopsis "Daemon that performs an action every time the X11 bell is rung")

View File

@ -3174,14 +3174,14 @@ This driver is intended for the spice qxl virtio device.")
(define-public xf86-video-r128 (define-public xf86-video-r128
(package (package
(name "xf86-video-r128") (name "xf86-video-r128")
(version "6.11.0") (version "6.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://xorg/individual/driver/" (uri (string-append "mirror://xorg/individual/driver/"
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0snvwmrh8dqyyaq7ggicym6yrsg4brygkx9156r0m095m7fp3rav")))) "0mz0v5mqmmbncr2drd5zvia1fb7frz2xqwflhhqbnaxx5j48c740"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("mesa" ,mesa) (inputs `(("mesa" ,mesa)
("xorgproto" ,xorgproto) ("xorgproto" ,xorgproto)

View File

@ -1252,18 +1252,57 @@ the tty to run, among other things."
(string-concatenate (string-concatenate
(map cache->config caches))))))) (map cache->config caches)))))))
(define (nscd-action-procedure nscd config option)
;; XXX: This is duplicated from mcron; factorize.
#~(lambda (_ . args)
;; Run 'nscd' in a pipe so we can explicitly redirect its output to
;; 'current-output-port', which at this stage is bound to the client
;; connection.
(let ((pipe (apply open-pipe* OPEN_READ #$nscd
"-f" #$config #$option args)))
(let loop ()
(match (read-line pipe 'concat)
((? eof-object?)
(catch 'system-error
(lambda ()
(zero? (close-pipe pipe)))
(lambda args
;; There's a race with the SIGCHLD handler, which could
;; call 'waitpid' before 'close-pipe' above does. If we
;; get ECHILD, that means we lost the race, but that's
;; fine.
(or (= ECHILD (system-error-errno args))
(apply throw args)))))
(line
(display line)
(loop)))))))
(define (nscd-actions nscd config)
"Return Shepherd actions for NSCD."
;; Make this functionality available as actions because that's a simple way
;; to run the right 'nscd' binary with the right config file.
(list (shepherd-action
(name 'statistics)
(documentation "Display statistics about nscd usage.")
(procedure (nscd-action-procedure nscd config "--statistics")))
(shepherd-action
(name 'invalidate)
(documentation
"Invalidate the given cache--e.g., 'hosts' for host name lookups.")
(procedure (nscd-action-procedure nscd config "--invalidate")))))
(define (nscd-shepherd-service config) (define (nscd-shepherd-service config)
"Return a shepherd service for CONFIG, an <nscd-configuration> object." "Return a shepherd service for CONFIG, an <nscd-configuration> object."
(let ((nscd.conf (nscd.conf-file config)) (let ((nscd (file-append (nscd-configuration-glibc config)
"/sbin/nscd"))
(nscd.conf (nscd.conf-file config))
(name-services (nscd-configuration-name-services config))) (name-services (nscd-configuration-name-services config)))
(list (shepherd-service (list (shepherd-service
(documentation "Run libc's name service cache daemon (nscd).") (documentation "Run libc's name service cache daemon (nscd).")
(provision '(nscd)) (provision '(nscd))
(requirement '(user-processes)) (requirement '(user-processes))
(start #~(make-forkexec-constructor (start #~(make-forkexec-constructor
(list #$(file-append (nscd-configuration-glibc config) (list #$nscd "-f" #$nscd.conf "--foreground")
"/sbin/nscd")
"-f" #$nscd.conf "--foreground")
;; Wait for the PID file. However, the PID file is ;; Wait for the PID file. However, the PID file is
;; written before nscd is actually listening on its ;; written before nscd is actually listening on its
@ -1277,7 +1316,12 @@ the tty to run, among other things."
(string-append dir "/lib")) (string-append dir "/lib"))
(list #$@name-services)) (list #$@name-services))
":"))))) ":")))))
(stop #~(make-kill-destructor)))))) (stop #~(make-kill-destructor))
(modules `((ice-9 popen) ;for the actions
(ice-9 rdelim)
(ice-9 match)
,@%default-modules))
(actions (nscd-actions nscd nscd.conf))))))
(define nscd-activation (define nscd-activation
;; Actions to take before starting nscd. ;; Actions to take before starting nscd.

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
@ -290,11 +290,21 @@ the section name.")
"Listeners for the service. A listener is either an "Listeners for the service. A listener is either an
@code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or @code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or
an @code{inet-listener-configuration}.") an @code{inet-listener-configuration}.")
(client-limit
(non-negative-integer 0)
"Maximum number of simultaneous client connections per process. Once this
number of connections is received, the next incoming connection will prompt
Dovecot to spawn another process. If set to 0, @code{default-client-limit} is
used instead.")
(service-count (service-count
(non-negative-integer 1) (non-negative-integer 1)
"Number of connections to handle before starting a new process. "Number of connections to handle before starting a new process.
Typically the only useful values are 0 (unlimited) or 1. 1 is more Typically the only useful values are 0 (unlimited) or 1. 1 is more
secure, but 0 is faster. <doc/wiki/LoginProcess.txt>.") secure, but 0 is faster. <doc/wiki/LoginProcess.txt>.")
(process-limit
(non-negative-integer 0)
"Maximum number of processes that can exist for this service. If set to 0,
@code{default-process-limit} is used instead.")
(process-min-avail (process-min-avail
(non-negative-integer 0) (non-negative-integer 0)
"Number of processes to always keep waiting for more connections.") "Number of processes to always keep waiting for more connections.")
@ -475,6 +485,8 @@ complex, customize the address and port fields of the
(list (list
(service-configuration (service-configuration
(kind "imap-login") (kind "imap-login")
(client-limit 0)
(process-limit 0)
(listeners (listeners
(list (list
(inet-listener-configuration (protocol "imap") (port 143) (ssl? #f)) (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
@ -487,24 +499,33 @@ complex, customize the address and port fields of the
(inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t))))) (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
(service-configuration (service-configuration
(kind "lmtp") (kind "lmtp")
(client-limit 1)
(process-limit 0)
(listeners (listeners
(list (unix-listener-configuration (path "lmtp") (mode "0666"))))) (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
(service-configuration (kind "imap")) (service-configuration
(service-configuration (kind "pop3")) (kind "imap")
(service-configuration (kind "auth") (client-limit 1)
;; In what could be taken to be a bug, the default value of 1 for (process-limit 1024))
;; service-count makes it so that a PAM auth worker can't fork off (service-configuration
;; subprocesses for making blocking queries. The result is that nobody (kind "pop3")
;; can log in -- very secure, but not very useful! If we simply omit (client-limit 1)
;; the service-count, it will default to the value of (process-limit 1024))
;; auth-worker-max-count, which is 30, instead of defaulting to 1, which (service-configuration
;; is the default for all other services. As a hack, bump this value to (kind "auth")
;; 30. (service-count 0)
(service-count 30) (client-limit 0)
(process-limit 1)
(listeners (listeners
(list (unix-listener-configuration (path "auth-userdb"))))) (list (unix-listener-configuration (path "auth-userdb")))))
(service-configuration (kind "auth-worker")) (service-configuration
(service-configuration (kind "dict") (kind "auth-worker")
(client-limit 1)
(process-limit 0))
(service-configuration
(kind "dict")
(client-limit 1)
(process-limit 0)
(listeners (list (unix-listener-configuration (path "dict"))))))) (listeners (list (unix-listener-configuration (path "dict")))))))
"List of services to enable. Available services include @samp{imap}, "List of services to enable. Available services include @samp{imap},
@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and @samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and

View File

@ -86,7 +86,7 @@ files."
(lambda () (lambda ()
(zero? (close-pipe pipe))) (zero? (close-pipe pipe)))
(lambda args (lambda args
;; There's with race between the SIGCHLD handler, which ;; There's a race with the SIGCHLD handler, which
;; could call 'waitpid' before 'close-pipe' above does. If ;; could call 'waitpid' before 'close-pipe' above does. If
;; we get ECHILD, that means we lost the race, but that's ;; we get ECHILD, that means we lost the race, but that's
;; fine. ;; fine.

View File

@ -335,6 +335,20 @@ info --version")
(x (x
(pk 'failure x #f)))) (pk 'failure x #f))))
(test-equal "nscd invalidate action"
'(#t) ;one value, #t
(marionette-eval '(with-shepherd-action 'nscd ('invalidate "hosts")
result
result)
marionette))
(test-equal "nscd invalidate action, wrong table"
'(#f) ;one value, #f
(marionette-eval '(with-shepherd-action 'nscd ('invalidate "xyz")
result
result)
marionette))
(test-equal "host not found" (test-equal "host not found"
#f #f
(marionette-eval (marionette-eval

View File

@ -204,6 +204,9 @@ respectively."
$GOPATH/pkg, so we have to copy them into the output directory manually. $GOPATH/pkg, so we have to copy them into the output directory manually.
Compiled executable files should have already been installed to the store based Compiled executable files should have already been installed to the store based
on $GOBIN in the build phase." on $GOBIN in the build phase."
;; TODO: From go-1.10 onward, the pkg folder should not be needed (see
;; https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00208.html).
;; Remove it?
(when (file-exists? "pkg") (when (file-exists? "pkg")
(copy-recursively "pkg" (string-append (assoc-ref outputs "out") "/pkg"))) (copy-recursively "pkg" (string-append (assoc-ref outputs "out") "/pkg")))
#t) #t)

View File

@ -19,6 +19,7 @@
(define-module (guix ci) (define-module (guix ci)
#:use-module (guix http-client) #:use-module (guix http-client)
#:autoload (json parser) (json->scm) #:autoload (json parser) (json->scm)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:export (build? #:export (build?
build-id build-id
@ -27,9 +28,21 @@
build-status build-status
build-timestamp build-timestamp
checkout?
checkout-commit
checkout-input
evaluation?
evaluation-id
evaluation-spec
evaluation-complete?
evaluation-checkouts
%query-limit %query-limit
queued-builds queued-builds
latest-builds)) latest-builds
latest-evaluations
evaluation-for-commit))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -47,6 +60,20 @@
(status build-status) ;integer (status build-status) ;integer
(timestamp build-timestamp)) ;integer (timestamp build-timestamp)) ;integer
(define-record-type <checkout>
(make-checkout commit input)
checkout?
(commit checkout-commit) ;string (SHA1)
(input checkout-input)) ;string (name)
(define-record-type <evaluation>
(make-evaluation id spec complete? checkouts)
evaluation?
(id evaluation-id) ;integer
(spec evaluation-spec) ;string
(complete? evaluation-complete?) ;Boolean
(checkouts evaluation-checkouts)) ;<checkout>*
(define %query-limit (define %query-limit
;; Max number of builds requested in queries. ;; Max number of builds requested in queries.
1000) 1000)
@ -70,9 +97,50 @@
(number->string limit))))) (number->string limit)))))
(map json->build queue))) (map json->build queue)))
(define* (latest-builds url #:optional (limit %query-limit)) (define* (latest-builds url #:optional (limit %query-limit)
#:key evaluation system)
"Return the latest builds performed by the CI server at URL. If EVALUATION
is an integer, restrict to builds of EVALUATION. If SYSTEM is true (a system
string such as \"x86_64-linux\"), restrict to builds for SYSTEM."
(define* (option name value #:optional (->string identity))
(if value
(string-append "&" name "=" (->string value))
""))
(let ((latest (json-fetch (string-append url "/api/latestbuilds?nr=" (let ((latest (json-fetch (string-append url "/api/latestbuilds?nr="
(number->string limit))))) (number->string limit)
(option "evaluation" evaluation
number->string)
(option "system" system)))))
;; Note: Hydra does not provide a "derivation" field for entries in ;; Note: Hydra does not provide a "derivation" field for entries in
;; 'latestbuilds', but Cuirass does. ;; 'latestbuilds', but Cuirass does.
(map json->build latest))) (map json->build latest)))
(define (json->checkout json)
(make-checkout (hash-ref json "commit")
(hash-ref json "input")))
(define (json->evaluation json)
(make-evaluation (hash-ref json "id")
(hash-ref json "specification")
(case (hash-ref json "in-progress")
((0) #t)
(else #f))
(map json->checkout (hash-ref json "checkouts"))))
(define* (latest-evaluations url #:optional (limit %query-limit))
"Return the latest evaluations performed by the CI server at URL."
(map json->evaluation
(json->scm
(http-fetch (string-append url "/api/evaluations?nr="
(number->string limit))))))
(define* (evaluations-for-commit url commit #:optional (limit %query-limit))
"Return the evaluations among the latest LIMIT evaluations that have COMMIT
as one of their inputs."
(filter (lambda (evaluation)
(find (lambda (checkout)
(string=? (checkout-commit checkout) commit))
(evaluation-checkouts evaluation)))
(latest-evaluations url limit)))

View File

@ -211,7 +211,12 @@ OBJ must be an object that has an associated gexp compiler, such as a
(#f (#f
(raise (condition (&gexp-input-error (input obj))))) (raise (condition (&gexp-input-error (input obj)))))
(lower (lower
(lower obj system target)))) ;; Cache in STORE the result of lowering OBJ.
(mlet %store-monad ((graft? (grafting?)))
(mcached (let ((lower (lookup-compiler obj)))
(lower obj system target))
obj
system target graft?)))))
(define-syntax define-gexp-compiler (define-syntax define-gexp-compiler
(syntax-rules (=> compiler expander) (syntax-rules (=> compiler expander)

View File

@ -21,6 +21,7 @@
#:use-module (web uri) #:use-module (web uri)
#:use-module (web client) #:use-module (web client)
#:use-module (web response) #:use-module (web response)
#:use-module (sxml simple)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -218,7 +219,7 @@ network to check in GNU's database."
;;; ;;;
;;; Latest release. ;;; Latest FTP release.
;;; ;;;
(define (ftp-server/directory package) (define (ftp-server/directory package)
@ -247,7 +248,7 @@ network to check in GNU's database."
(define (release-file? project file) (define (release-file? project file)
"Return #f if FILE is not a release tarball of PROJECT, otherwise return "Return #f if FILE is not a release tarball of PROJECT, otherwise return
true." true."
(and (not (string-suffix? ".sig" file)) (and (not (member (file-extension file) '("sig" "sign" "asc")))
(and=> (regexp-exec %tarball-rx file) (and=> (regexp-exec %tarball-rx file)
(lambda (match) (lambda (match)
;; Filter out unrelated files, like `guile-www-1.1.1'. ;; Filter out unrelated files, like `guile-www-1.1.1'.
@ -440,6 +441,88 @@ hosted on ftp.gnu.org, or not under that name (this is the case for
#:server server #:server server
#:directory directory)))) #:directory directory))))
;;;
;;; Latest HTTP release.
;;;
(define (html->sxml port)
"Read HTML from PORT and return the corresponding SXML tree."
(let ((str (get-string-all port)))
(catch #t
(lambda ()
;; XXX: This is the poor developer's HTML-to-XML converter. It's good
;; enough for directory listings at <https://kernel.org/pub> but if
;; needed we could resort to (htmlprag) from Guile-Lib.
(call-with-input-string (string-replace-substring str "<hr>" "<hr />")
xml->sxml))
(const '(html))))) ;parse error
(define (html-links sxml)
"Return the list of links found in SXML, the SXML tree of an HTML page."
(let loop ((sxml sxml)
(links '()))
(match sxml
(('a ('@ attributes ...) body ...)
(match (assq 'href attributes)
(#f (fold loop links body))
(('href url) (fold loop (cons url links) body))))
((tag ('@ _ ...) body ...)
(fold loop links body))
((tag body ...)
(fold loop links body))
(_
links))))
(define* (latest-html-release package
#:key
(base-url "https://kernel.org/pub")
(directory (string-append "/" package))
(file->signature (cut string-append <> ".sig")))
"Return an <upstream-source> for the latest release of PACKAGE (a string) on
SERVER under DIRECTORY, or #f. BASE-URL should be the URL of an HTML page,
typically a directory listing as found on 'https://kernel.org/pub'.
FILE->SIGNATURE must be a procedure; it is passed a source file URL and must
return the corresponding signature URL, or #f it signatures are unavailable."
(let* ((uri (string->uri (string-append base-url directory "/")))
(port (http-fetch/cached uri #:ttl 3600))
(sxml (html->sxml port)))
(define (url->release url)
(and (string=? url (basename url)) ;relative reference?
(release-file? package url)
(let-values (((name version)
(package-name->name+version (sans-extension url)
#\-)))
(upstream-source
(package name)
(version version)
(urls (list (string-append base-url directory "/" url)))
(signature-urls
(list (string-append base-url directory "/"
(file-sans-extension url)
".sign")))))))
(define candidates
(filter-map url->release (html-links sxml)))
(close-port port)
(match candidates
(() #f)
((first . _)
;; Select the most recent release and return it.
(reduce (lambda (r1 r2)
(if (version>? (upstream-source-version r1)
(upstream-source-version r2))
r1 r2))
first
(coalesce-sources candidates))))))
;;;
;;; Updaters.
;;;
(define %gnu-file-list-uri (define %gnu-file-list-uri
;; URI of the file list for ftp.gnu.org. ;; URI of the file list for ftp.gnu.org.
(string->uri "https://ftp.gnu.org/find.txt.gz")) (string->uri "https://ftp.gnu.org/find.txt.gz"))
@ -555,19 +638,21 @@ releases are on gnu.org."
(define (latest-kernel.org-release package) (define (latest-kernel.org-release package)
"Return the latest release of PACKAGE, the name of a kernel.org package." "Return the latest release of PACKAGE, the name of a kernel.org package."
(let ((uri (string->uri (origin-uri (package-source package))))) (define %kernel.org-base
(false-if-ftp-error ;; This URL and sub-directories thereof are nginx-generated directory
(latest-ftp-release ;; listings suitable for 'latest-html-release'.
(package-name package) "https://mirrors.edge.kernel.org/pub")
#:server "ftp.free.fr" ;a mirror reachable over FTP
#:directory (string-append "/mirrors/ftp.kernel.org"
(dirname (uri-path uri)))
;; kernel.org provides "foo-x.y.tar.sign" files, which are signatures of (define (file->signature file)
;; the uncompressed tarball. (string-append (file-sans-extension file) ".sign"))
#:file->signature (lambda (tarball)
(string-append (file-sans-extension tarball) (let* ((uri (string->uri (origin-uri (package-source package))))
".sign")))))) (package (package-upstream-name package))
(directory (dirname (uri-path uri))))
(latest-html-release package
#:base-url %kernel.org-base
#:directory directory
#:file->signature file->signature)))
(define %gnu-updater (define %gnu-updater
;; This is for everything at ftp.gnu.org. ;; This is for everything at ftp.gnu.org.

View File

@ -40,7 +40,8 @@
graft-derivation/shallow graft-derivation/shallow
%graft? %graft?
set-grafting)) set-grafting
grafting?))
(define-record-type* <graft> graft make-graft (define-record-type* <graft> graft make-graft
graft? graft?
@ -328,6 +329,11 @@ it otherwise. It returns the previous setting."
(lambda (store) (lambda (store)
(values (%graft? enable?) store))) (values (%graft? enable?) store)))
(define (grafting?)
"Return a Boolean indicating whether grafting is enabled."
(lambda (store)
(values (%graft?) store)))
;; Local Variables: ;; Local Variables:
;; eval: (put 'with-cache 'scheme-indent-function 1) ;; eval: (put 'with-cache 'scheme-indent-function 1)
;; End: ;; End:

View File

@ -22,8 +22,12 @@
#:use-module (guix build syscalls) #:use-module (guix build syscalls)
#:use-module ((guix build utils) #:use-module ((guix build utils)
#:select (delete-file-recursively with-directory-excursion)) #:select (delete-file-recursively with-directory-excursion))
;; XXX: Eventually we should use (guix store database) exclusively, and not
;; (guix store) since this is "daemon-side" code.
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix store database) #:use-module (guix store database)
#:use-module (guix ui) ; for '_' #:use-module (guix ui) ; for '_'
#:use-module (gcrypt hash) #:use-module (gcrypt hash)
#:use-module (guix pki) #:use-module (guix pki)
@ -88,15 +92,12 @@
REFERENCES and DERIVER. When LOCK? is true, acquire exclusive locks on TARGET REFERENCES and DERIVER. When LOCK? is true, acquire exclusive locks on TARGET
before attempting to register it; otherwise, assume TARGET's locks are already before attempting to register it; otherwise, assume TARGET's locks are already
held." held."
(with-database %default-database-file db
;; XXX: Currently we have to call out to the daemon to check whether TARGET (unless (path-id db target)
;; is valid.
(with-store store
(unless (valid-path? store target)
(when lock? (when lock?
(lock-store-file target)) (lock-store-file target))
(unless (valid-path? store target) (unless (path-id db target)
;; If FILE already exists, delete it (it's invalid anyway.) ;; If FILE already exists, delete it (it's invalid anyway.)
(when (file-exists? target) (when (file-exists? target)
(delete-file-recursively target)) (delete-file-recursively target))

View File

@ -771,9 +771,13 @@ processed, #f otherwise."
(('show requested-name) (('show requested-name)
(let-values (((name version) (let-values (((name version)
(package-name->name+version requested-name))) (package-name->name+version requested-name)))
(leave-on-EPIPE (match (find-packages-by-name name version)
(for-each (cute package->recutils <> (current-output-port)) (()
(find-packages-by-name name version))) (leave (G_ "~a~@[@~a~]: package not found~%") name version))
(packages
(leave-on-EPIPE
(for-each (cute package->recutils <> (current-output-port))
packages))))
#t)) #t))
(('search-paths kind) (('search-paths kind)

View File

@ -235,6 +235,13 @@ When INSTALL-BOOTLOADER? is true, install bootloader using BOOTCFG."
the ownership of '~a' may be incorrect!~%") the ownership of '~a' may be incorrect!~%")
target)) target))
;; If a previous installation was attempted, make sure we start anew; in
;; particular, we don't want to keep a store database that might not
;; correspond to what we're actually putting in the store.
(let ((state (string-append target "/var/guix")))
(when (file-exists? state)
(delete-file-recursively state)))
(chmod target #o755) (chmod target #o755)
(let ((os-dir (derivation->output-path os-drv)) (let ((os-dir (derivation->output-path os-drv))
(format (lift format %store-monad)) (format (lift format %store-monad))

View File

@ -23,6 +23,7 @@
#:use-module (guix memoization) #:use-module (guix memoization)
#:use-module (guix serialization) #:use-module (guix serialization)
#:use-module (guix monads) #:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix base16) #:use-module (guix base16)
#:use-module (guix base32) #:use-module (guix base32)
#:use-module (gcrypt hash) #:use-module (gcrypt hash)
@ -30,6 +31,7 @@
#:autoload (guix build syscalls) (terminal-columns) #:autoload (guix build syscalls) (terminal-columns)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 binary-ports) #:use-module (ice-9 binary-ports)
#:use-module ((ice-9 control) #:select (let/ec))
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-9 gnu)
@ -55,6 +57,7 @@
nix-server-minor-version nix-server-minor-version
nix-server-socket nix-server-socket
current-store-protocol-version ;for internal use current-store-protocol-version ;for internal use
mcached
&nix-error nix-error? &nix-error nix-error?
&nix-connection-error nix-connection-error? &nix-connection-error nix-connection-error?
@ -332,10 +335,7 @@
;; remote-store.cc ;; remote-store.cc
(define-record-type <nix-server> (define-record-type* <nix-server> nix-server %make-nix-server
(%make-nix-server socket major minor
buffer flush
ats-cache atts-cache)
nix-server? nix-server?
(socket nix-server-socket) (socket nix-server-socket)
(major nix-server-major-version) (major nix-server-major-version)
@ -348,7 +348,9 @@
;; during the session are temporary GC roots kept for the duration of ;; during the session are temporary GC roots kept for the duration of
;; the session. ;; the session.
(ats-cache nix-server-add-to-store-cache) (ats-cache nix-server-add-to-store-cache)
(atts-cache nix-server-add-text-to-store-cache)) (atts-cache nix-server-add-text-to-store-cache)
(object-cache nix-server-object-cache
(default vlist-null))) ;vhash
(set-record-type-printer! <nix-server> (set-record-type-printer! <nix-server>
(lambda (obj port) (lambda (obj port)
@ -523,7 +525,8 @@ for this connection will be pinned. Return a server object."
(protocol-minor v) (protocol-minor v)
output flush output flush
(make-hash-table 100) (make-hash-table 100)
(make-hash-table 100)))) (make-hash-table 100)
vlist-null)))
(let loop ((done? (process-stderr conn))) (let loop ((done? (process-stderr conn)))
(or done? (process-stderr conn))) (or done? (process-stderr conn)))
conn))))))))) conn)))))))))
@ -543,7 +546,8 @@ connection. Use with care."
(protocol-minor version) (protocol-minor version)
output flush output flush
(make-hash-table 100) (make-hash-table 100)
(make-hash-table 100)))) (make-hash-table 100)
vlist-null)))
(define (nix-server-version store) (define (nix-server-version store)
"Return the protocol version of STORE as an integer." "Return the protocol version of STORE as an integer."
@ -1486,6 +1490,56 @@ This makes sense only when the daemon was started with '--cache-failures'."
;; from %STATE-MONAD. ;; from %STATE-MONAD.
(template-directory instantiations %store-monad) (template-directory instantiations %store-monad)
(define* (cache-object-mapping object keys result)
"Augment the store's object cache with a mapping from OBJECT/KEYS to RESULT.
KEYS is a list of additional keys to match against, for instance a (SYSTEM
TARGET) tuple.
OBJECT is typically a high-level object such as a <package> or an <origin>,
and RESULT is typically its derivation."
(lambda (store)
(values result
(nix-server
(inherit store)
(object-cache (vhash-consq object (cons result keys)
(nix-server-object-cache store)))))))
(define* (lookup-cached-object object #:optional (keys '()))
"Return the cached object in the store connection corresponding to OBJECT
and KEYS. KEYS is a list of additional keys to match against, and which are
compared with 'equal?'. Return #f on failure and the cached result
otherwise."
(lambda (store)
;; Escape as soon as we find the result. This avoids traversing the whole
;; vlist chain and significantly reduces the number of 'hashq' calls.
(values (let/ec return
(vhash-foldq* (lambda (item result)
(match item
((value . keys*)
(if (equal? keys keys*)
(return value)
result))))
#f object
(nix-server-object-cache store)))
store)))
(define* (%mcached mthunk object #:optional (keys '()))
"Bind the monadic value returned by MTHUNK, which supposedly corresponds to
OBJECT/KEYS, or return its cached value."
(mlet %store-monad ((cached (lookup-cached-object object keys)))
(if cached
(return cached)
(>>= (mthunk)
(lambda (result)
(cache-object-mapping object keys result))))))
(define-syntax-rule (mcached mvalue object keys ...)
"Run MVALUE, which corresponds to OBJECT/KEYS, and cache it; or return the
value associated with OBJECT/KEYS in the store's object cache if there is
one."
(%mcached (lambda () mvalue)
object (list keys ...)))
(define (preserve-documentation original proc) (define (preserve-documentation original proc)
"Return PROC with documentation taken from ORIGINAL." "Return PROC with documentation taken from ORIGINAL."
(set-object-property! proc 'documentation (set-object-property! proc 'documentation

View File

@ -36,7 +36,9 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (system foreign) #:use-module (system foreign)
#:export (sql-schema #:export (sql-schema
%default-database-file
with-database with-database
path-id
sqlite-register sqlite-register
register-path register-path
register-items register-items
@ -85,6 +87,10 @@ create it and initialize it as a new database."
(lambda () (lambda ()
(sqlite-close db))))) (sqlite-close db)))))
(define %default-database-file
;; Default location of the store database.
(string-append %store-database-directory "/db.sqlite"))
(define-syntax-rule (with-database file db exp ...) (define-syntax-rule (with-database file db exp ...)
"Open DB from FILE and close it when the dynamic extent of EXP... is left. "Open DB from FILE and close it when the dynamic extent of EXP... is left.
If FILE doesn't exist, create it and initialize it as a new database." If FILE doesn't exist, create it and initialize it as a new database."

View File

@ -102,11 +102,17 @@ LINK-PREFIX."
SWAP-DIRECTORY as the directory to store temporary hard links. SWAP-DIRECTORY as the directory to store temporary hard links.
Note: TARGET, TO-REPLACE, and SWAP-DIRECTORY must be on the same file system." Note: TARGET, TO-REPLACE, and SWAP-DIRECTORY must be on the same file system."
(let ((temp-link (get-temp-link target swap-directory))) (let* ((temp-link (get-temp-link target swap-directory))
(make-file-writable (dirname to-replace)) (parent (dirname to-replace))
(stat (stat parent)))
(make-file-writable parent)
(catch 'system-error (catch 'system-error
(lambda () (lambda ()
(rename-file temp-link to-replace)) (rename-file temp-link to-replace)
;; Restore PARENT's mtime and permissions.
(set-file-time parent stat)
(chmod parent (stat:mode stat)))
(lambda args (lambda args
(delete-file temp-link) (delete-file temp-link)
(unless (= EMLINK (system-error-errno args)) (unless (= EMLINK (system-error-errno args))

View File

@ -27,6 +27,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-64)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 binary-ports) #:use-module (ice-9 binary-ports)
#:use-module (web uri) #:use-module (web uri)
@ -35,10 +36,13 @@
random-text random-text
random-bytevector random-bytevector
file=? file=?
canonical-file?
network-reachable? network-reachable?
shebang-too-long? shebang-too-long?
mock mock
%test-substitute-urls %test-substitute-urls
test-assertm
test-equalm
%substitute-directory %substitute-directory
with-derivation-narinfo with-derivation-narinfo
with-derivation-substitute with-derivation-substitute
@ -147,6 +151,14 @@ too expensive to build entirely in the test store."
(else (else
(error "what?" (lstat a)))))) (error "what?" (lstat a))))))
(define (canonical-file? file)
"Return #t if FILE is in the store, is read-only, and its mtime is 1."
(let ((st (lstat file)))
(or (not (string-prefix? (%store-prefix) file))
(eq? 'symlink (stat:type st))
(and (= 1 (stat:mtime st))
(zero? (logand #o222 (stat:mode st)))))))
(define (network-reachable?) (define (network-reachable?)
"Return true if we can reach the Internet." "Return true if we can reach the Internet."
(false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))) (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)))
@ -161,6 +173,28 @@ given by REPLACEMENT."
(lambda () body ...) (lambda () body ...)
(lambda () (module-set! m 'proc original))))) (lambda () (module-set! m 'proc original)))))
(define-syntax-rule (test-assertm name exp)
"Like 'test-assert', but EXP is a monadic value. A new connection to the
store is opened."
(test-assert name
(let ((store (open-connection-for-tests)))
(dynamic-wind
(const #t)
(lambda ()
(run-with-store store exp
#:guile-for-build (%guile-for-build)))
(lambda ()
(close-connection store))))))
(define-syntax-rule (test-equalm name value exp)
"Like 'test-equal', but EXP is a monadic value. A new connection to the
store is opened."
(test-equal name
value
(with-store store
(run-with-store store exp
#:guile-for-build (%guile-for-build)))))
;;; ;;;
;;; Narinfo files, as used by the substituter. ;;; Narinfo files, as used by the substituter.

View File

@ -31,17 +31,9 @@
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define %store
(open-connection-for-tests))
(define query-path-hash* (define query-path-hash*
(store-lift query-path-hash)) (store-lift query-path-hash))
(define-syntax-rule (test-assertm name exp)
(test-assert name
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
(define* (call-with-derivation-narinfo* drv thunk hash) (define* (call-with-derivation-narinfo* drv thunk hash)
(lambda (store) (lambda (store)
(with-derivation-narinfo drv (sha256 => hash) (with-derivation-narinfo drv (sha256 => hash)

View File

@ -43,14 +43,6 @@
(define read-elf (define read-elf
(compose parse-elf get-bytevector-all)) (compose parse-elf get-bytevector-all))
(define %store
(open-connection-for-tests))
(define-syntax-rule (test-assertm name exp)
(test-assert name
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
(test-begin "debug-link") (test-begin "debug-link")

View File

@ -62,11 +62,6 @@
#:target target) #:target target)
#:guile-for-build (%guile-for-build))) #:guile-for-build (%guile-for-build)))
(define-syntax-rule (test-assertm name exp)
(test-assert name
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
(define %extension-package (define %extension-package
;; Example of a package to use when testing 'with-extensions'. ;; Example of a package to use when testing 'with-extensions'.
(dummy-package "extension" (dummy-package "extension"

View File

@ -106,6 +106,10 @@ guix package --show=guile | grep "^name: guile"
# Ensure `--show' doesn't fail for packages with non-package inputs. # Ensure `--show' doesn't fail for packages with non-package inputs.
guix package --show=texlive guix package --show=texlive
# Fail for non-existent packages or package/version pairs.
if guix package --show=does-not-exist; then false; else true; fi
if guix package --show=emacs@42; then false; else true; fi
# Search. # Search.
LC_MESSAGES=C LC_MESSAGES=C
export LC_MESSAGES export LC_MESSAGES

View File

@ -25,6 +25,8 @@
#:select (open-sha256-port open-sha256-input-port)) #:select (open-sha256-port open-sha256-input-port))
#:use-module ((guix packages) #:use-module ((guix packages)
#:select (base32)) #:select (base32))
#:use-module ((guix build utils)
#:select (find-files))
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (rnrs io ports)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -332,13 +334,6 @@
(lambda () (lambda ()
(rmdir input))))) (rmdir input)))))
;; 'restore-file-set' depends on 'open-sha256-input-port', which in turn
;; relies on a Guile 2.0.10+ feature.
(test-skip (if (false-if-exception
(open-sha256-input-port (%make-void-port "r")))
0
3))
(test-assert "restore-file-set (signed, valid)" (test-assert "restore-file-set (signed, valid)"
(with-store store (with-store store
(let* ((texts (unfold (cut >= <> 10) (let* ((texts (unfold (cut >= <> 10)
@ -361,7 +356,43 @@
(map (lambda (file) (map (lambda (file)
(call-with-input-file file (call-with-input-file file
get-string-all)) get-string-all))
files)))))))) files))
(every canonical-file? files)))))))
(test-assert "restore-file-set with directories (signed, valid)"
;; <https://bugs.gnu.org/33361> describes a bug whereby directories
;; containing files subject to deduplication were not canonicalized--i.e.,
;; their mtime and permissions were not reset. Ensure that this bug is
;; gone.
(with-store store
(let* ((text1 (random-text))
(text2 (random-text))
(tree `("tree" directory
("a" regular (data ,text1))
("b" directory
("c" regular (data ,text2))
("d" regular (data ,text1))))) ;duplicate
(file (add-file-tree-to-store store tree))
(dump (call-with-bytevector-output-port
(cute export-paths store (list file) <>))))
(delete-paths store (list file))
(and (not (file-exists? file))
(let* ((source (open-bytevector-input-port dump))
(imported (restore-file-set source)))
(and (equal? imported (list file))
(file-exists? file)
(valid-path? store file)
(string=? text1
(call-with-input-file (string-append file "/a")
get-string-all))
(string=? text2
(call-with-input-file
(string-append file "/b/c")
get-string-all))
(= (stat:ino (stat (string-append file "/a"))) ;deduplication
(stat:ino (stat (string-append file "/b/d"))))
(every canonical-file?
(find-files file #:directories? #t))))))))
(test-assert "restore-file-set (missing signature)" (test-assert "restore-file-set (missing signature)"
(let/ec return (let/ec return

View File

@ -47,17 +47,6 @@
;; Globally disable grafts because they can trigger early builds. ;; Globally disable grafts because they can trigger early builds.
(%graft? #f) (%graft? #f)
(define-syntax-rule (test-assertm name exp)
(test-assert name
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
(define-syntax-rule (test-equalm name value exp)
(test-equal name
value
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
;; Example manifest entries. ;; Example manifest entries.
(define guile-1.8.8 (define guile-1.8.8

View File

@ -30,14 +30,6 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-64)) #:use-module (srfi srfi-64))
(define %store
(open-connection-for-tests))
(define-syntax-rule (test-assertm name exp)
(test-assert name
(run-with-store %store exp
#:guile-for-build (%guile-for-build))))
(test-begin "size") (test-begin "size")