Merge remote-tracking branch 'origin/master' into core-updates

This commit is contained in:
Efraim Flashner 2017-11-01 10:29:59 +02:00
commit 19b7bba1b5
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
73 changed files with 1738 additions and 678 deletions

View File

@ -3592,6 +3592,11 @@ package source code's remote URI and filesystem hierarchy structure. In
some cases, you will need to unpack the package's source code to a some cases, you will need to unpack the package's source code to a
different directory structure than the one indicated by the import path, different directory structure than the one indicated by the import path,
and @code{#:unpack-path} should be used in such cases. and @code{#:unpack-path} should be used in such cases.
Packages that provide Go libraries should be installed along with their
source code. The key @code{#:install-source?}, which defaults to
@code{#t}, controls whether or not the source code is installed. It can
be set to @code{#f} for packages that only provide executable files.
@end defvr @end defvr
@defvr {Scheme Variable} glib-or-gtk-build-system @defvr {Scheme Variable} glib-or-gtk-build-system
@ -7276,6 +7281,13 @@ updating list of substitutes from 'https://guix.example.org'... 100.0%
local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
@dots{}
6,406 store items were analyzed:
- 4,749 (74.1%) were identical
- 525 (8.2%) differed
- 1,132 (17.7%) were inconclusive
@end smallexample @end smallexample
@noindent @noindent

View File

@ -602,6 +602,8 @@ dist_patch_DATA = \
%D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \
%D%/packages/patches/exim-CVE-2017-1000369.patch \ %D%/packages/patches/exim-CVE-2017-1000369.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \ %D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \ %D%/packages/patches/fastcap-mulSetup.patch \
%D%/packages/patches/fasthenry-spAllocate.patch \ %D%/packages/patches/fasthenry-spAllocate.patch \
@ -1087,9 +1089,6 @@ dist_patch_DATA = \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/weechat-python.patch \ %D%/packages/patches/weechat-python.patch \
%D%/packages/patches/wget-CVE-2017-6508.patch \
%D%/packages/patches/wget-fix-504-test-timeout.patch \
%D%/packages/patches/wget-perl-5.26.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \

View File

@ -1382,14 +1382,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.3.1.0") (version "2.4.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 (base32
"1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd")) "0spv0kjaicwss4q52s727b6grdizcxpa0bbsfg26pgf5kjrayqfs"))
(patches (search-patches "ansible-wrap-program-hack.patch")))) (patches (search-patches "ansible-wrap-program-hack.patch"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs

View File

@ -207,7 +207,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas (define-public giac-xcas
(package (package
(name "giac-xcas") (name "giac-xcas")
(version "1.2.3-57") (version "1.4.9-17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly ;; "~parisse/giac" is not used because the maintainer regularly
@ -219,7 +219,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz")) "source/giac_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0a7c1r2rgsin671qy98yvwgkg6a81d0pp0p4p7sydhrfi1k9xpr1")))) "0fabw706hixp4da4pgkbjrlf9gk4xrmv404f884jb24bnmb5hbax"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -229,13 +229,6 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
;; Some Makefiles contain hard-coded "/bin/cp". ;; Some Makefiles contain hard-coded "/bin/cp".
(substitute* (find-files "doc" "^Makefile") (substitute* (find-files "doc" "^Makefile")
(("/bin/cp") (which "cp"))) (("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-broken-test
(lambda _
;; Disable failing test. Actually, the results are correct but
;; a sorting discrepancy prevents the test from being validated.
(substitute* "check/Makefile.in"
(("chk_fhan16") ""))
#t))))) #t)))))
(inputs (inputs
`(("fltk" ,fltk) `(("fltk" ,fltk)

View File

@ -30,14 +30,14 @@
(define-public apr (define-public apr
(package (package
(name "apr") (name "apr")
(version "1.5.2") (version "1.6.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/apr/apr-" (uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx")) "0wiik6amxn6lkc55fv9yz5i3kbxnqbp36alrzabx1avsdp8hc7qk"))
(patches (patches
(search-patches "apr-skip-getservbyname-test.patch")) (search-patches "apr-skip-getservbyname-test.patch"))
(patch-flags '("-p0")))) (patch-flags '("-p0"))))
@ -65,14 +65,14 @@ around or take advantage of platform-specific deficiencies or features.")
(define-public apr-util (define-public apr-util
(package (package
(name "apr-util") (name "apr-util")
(version "1.5.4") (version "1.6.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/apr/apr-util-" (uri (string-append "mirror://apache/apr/apr-util-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6")))) "0nq3s1yn13vplgl6qfm09f7n0wm08malff9s59bqf9nid9xjzqfk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("apr" ,apr))) `(("apr" ,apr)))

View File

@ -28,8 +28,9 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages perl) #:use-module (gnu packages base)
#:use-module (gnu packages base)) #:use-module (gnu packages compression)
#:use-module (gnu packages perl))
(define-public aspell (define-public aspell
(package (package
@ -115,6 +116,13 @@ dictionaries, including personal ones.")
(home-page "http://aspell.net/"))) (home-page "http://aspell.net/")))
(define-public aspell-dict-ca
(aspell-dictionary "ca" "Catalan"
#:version "2.1.5-1"
#:sha256
(base32
"1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb")))
(define-public aspell-dict-de (define-public aspell-dict-de
(aspell-dictionary "de" "German" (aspell-dictionary "de" "German"
#:version "20030222-1" #:version "20030222-1"
@ -210,3 +218,104 @@ dictionaries, including personal ones.")
#:sha256 #:sha256
(base32 (base32
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"))) "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
;;;
;;; Hunspell packages made from the Aspell word lists.
;;;
(define* (aspell-word-list language synopsis
#:optional
(nick (string-map (lambda (chr)
(if (char=? #\_ chr)
#\-
chr))
(string-downcase language))))
(package
(name (string-append "hunspell-dict-" nick))
(version "2017.08.24")
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/wordlist/scowl-"
version ".tar.gz"))
(sha256
(base32
"1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)
("perl" ,perl)
("aspell" ,aspell)))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(replace 'build
(lambda _
(substitute* "speller/make-hunspell-dict"
(("zip -9 .*$")
"return\n"))
(mkdir "speller/hunspell")
;; XXX: This actually builds all the dictionary variants.
(zero? (system* "make" "-C" "speller" "hunspell"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(hunspell (string-append out "/share/hunspell"))
(myspell (string-append out "/share/myspell"))
(doc (string-append out "/share/doc/"
,name)))
(mkdir-p myspell)
(install-file ,(string-append "speller/" language ".aff")
hunspell)
(symlink hunspell (string-append myspell "/dicts"))
(for-each (lambda (file)
(install-file file doc))
(find-files "."
"^(Copyright|.*\\.(txt|org|md))$"))
#t))))))
(synopsis synopsis)
(description
"This package provides a dictionary for the Hunspell spell-checking
library.")
(home-page "http://wordlist.aspell.net/")
(license (non-copyleft "file://Copyright"
"Word lists come from several sources, all
under permissive licensing terms. See the 'Copyright' file."))))
(define-syntax define-word-list-dictionary
(syntax-rules (synopsis)
((_ name language (synopsis text))
(define-public name
(aspell-word-list language text)))
((_ name language nick (synopsis text))
(define-public name
(aspell-word-list language text nick)))))
(define-word-list-dictionary hunspell-dict-en
"en"
(synopsis "Hunspell dictionary for English"))
(define-word-list-dictionary hunspell-dict-en-au
"en_AU"
(synopsis "Hunspell dictionary for Australian English"))
(define-word-list-dictionary hunspell-dict-en-ca
"en_CA"
(synopsis "Hunspell dictionary for Canadian English"))
(define-word-list-dictionary hunspell-dict-en-gb
"en_GB-ise" "en-gb"
(synopsis "Hunspell dictionary for British English, with -ise endings"))
(define-word-list-dictionary hunspell-dict-en-gb-ize
"en_GB-ize"
(synopsis "Hunspell dictionary for British English, with -ize endings"))
(define-word-list-dictionary hunspell-dict-en-us
"en_US"
(synopsis "Hunspell dictionary for United States English"))

View File

@ -1836,64 +1836,6 @@ files between different genome assemblies. It supports most commonly used
file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public cufflinks
(package
(name "cufflinks")
(version "2.2.1")
(source (origin
(method url-fetch)
(uri (string-append "http://cole-trapnell-lab.github.io/"
"cufflinks/assets/downloads/cufflinks-"
version ".tar.gz"))
(sha256
(base32
"1bnm10p8m7zq4qiipjhjqb24csiqdm1pwc8c795z253r2xk6ncg8"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list
;; The includes for "eigen" are located in a subdirectory.
(string-append "EIGEN_CPPFLAGS="
"-I" (assoc-ref %build-inputs "eigen")
"/include/eigen3/")
;; Cufflinks must be linked with various boost libraries.
(string-append "LDFLAGS="
(string-join '("-lboost_system"
"-lboost_serialization"
"-lboost_thread"))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-search-for-bam
(lambda _
(substitute* '("ax_bam.m4"
"configure"
"src/hits.h")
(("<bam/sam\\.h>") "<samtools/sam.h>")
(("<bam/bam\\.h>") "<samtools/bam.h>")
(("<bam/version\\.hpp>") "<samtools/version.h>"))
#t)))
#:configure-flags
(list (string-append "--with-bam="
(assoc-ref %build-inputs "samtools")))))
(inputs
`(("eigen" ,eigen)
("samtools" ,samtools-0.1)
("htslib" ,htslib)
("boost" ,boost)
("python" ,python-2)
("zlib" ,zlib)))
(home-page "http://cole-trapnell-lab.github.io/cufflinks/")
(synopsis "Transcriptome assembly and RNA-Seq expression analysis")
(description
"Cufflinks assembles RNA transcripts, estimates their abundances,
and tests for differential expression and regulation in RNA-Seq
samples. It accepts aligned RNA-Seq reads and assembles the
alignments into a parsimonious set of transcripts. Cufflinks then
estimates the relative abundances of these transcripts based on how
many reads support each one, taking into account biases in library
preparation protocols.")
(license license:boost1.0)))
(define-public cutadapt (define-public cutadapt
(package (package
(name "cutadapt") (name "cutadapt")
@ -2117,7 +2059,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond (define-public diamond
(package (package
(name "diamond") (name "diamond")
(version "0.9.10") (version "0.9.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2126,7 +2068,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13qqzwg54n5dqh8pm5n3v8x6gqbczzakphwwjix63qv60hcd5bqd")))) "1yqil5531p35xkqa44x75vvq8s7w8kqjqn1p5hf1nh0d91j9ihby"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no "check" target '(#:tests? #f ; no "check" target
@ -6199,7 +6141,7 @@ SELECT or UPDATE queries to an end-point.")
(define-public vsearch (define-public vsearch
(package (package
(name "vsearch") (name "vsearch")
(version "2.5.0") (version "2.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6209,7 +6151,7 @@ SELECT or UPDATE queries to an end-point.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1k8wf3qns4mqrsizywbkqcasqjw000m4drxsag3qd7390pwvf9kz")) "1z10psrwhflchwzw1fvzwnsn59xglf94qrn7msj93fpnjgafvmks"))
(patches (search-patches "vsearch-unbundle-cityhash.patch")) (patches (search-patches "vsearch-unbundle-cityhash.patch"))
(snippet (snippet
'(begin '(begin

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -38,13 +39,17 @@
(base32 (base32
"0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266")))) "0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses) (inputs `(("ncurses" ,ncurses)))
("tzdata" ,tzdata))) (native-inputs `(("tzdata" ,tzdata-2017a)))
(arguments (arguments
;; The ical tests all want to create a ".calcurse" directory, and may ;; The ical tests all want to create a ".calcurse" directory, and may
;; fail with "cannot create directory '.calcurse': File exists" if run ;; fail with "cannot create directory '.calcurse': File exists" if run
;; concurently. ;; concurently.
'(#:parallel-tests? #f `(#:parallel-tests? #f
;; Since this tzdata is only used for tests and not referenced by the
;; built package, used the "fixed" obsolete version of tzdata and ensure
;; it does not sneak in to the closure.
#:disallowed-references (,tzdata-2017a)
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-before 'check 'check-setup (add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)

View File

@ -967,7 +967,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
;;; GCC toolchain. ;;; GCC toolchain.
;;; ;;;
(define (gcc-toolchain gcc) (define (make-gcc-toolchain gcc)
"Return a complete toolchain for GCC." "Return a complete toolchain for GCC."
(package (package
(name "gcc-toolchain") (name "gcc-toolchain")
@ -1013,18 +1013,21 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
("libc-debug" ,glibc-final "debug"))))) ("libc-debug" ,glibc-final "debug")))))
(define-public gcc-toolchain-4.8 (define-public gcc-toolchain-4.8
(gcc-toolchain gcc-4.8)) (make-gcc-toolchain gcc-4.8))
(define-public gcc-toolchain-4.9 (define-public gcc-toolchain-4.9
(gcc-toolchain gcc-4.9)) (make-gcc-toolchain gcc-4.9))
(define-public gcc-toolchain
(make-gcc-toolchain gcc-final))
(define-public gcc-toolchain-5 (define-public gcc-toolchain-5
(gcc-toolchain gcc-final)) gcc-toolchain)
(define-public gcc-toolchain-6 (define-public gcc-toolchain-6
(gcc-toolchain gcc-6)) (make-gcc-toolchain gcc-6))
(define-public gcc-toolchain-7 (define-public gcc-toolchain-7
(gcc-toolchain gcc-7)) (make-gcc-toolchain gcc-7))
;;; commencement.scm ends here ;;; commencement.scm ends here

View File

@ -29,7 +29,7 @@
(define-public conkeror (define-public conkeror
(package (package
(name "conkeror") (name "conkeror")
(version "1.0.3") (version "1.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -38,7 +38,7 @@
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ybmincxw3msnrfpby9gnckbq2x94c7fra2m66zham54cjc7mav3")))) "0jz216mjwis7f03j98s4wkcrrq2j3f41fb2y47a5qszc340zhdzv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("icecat" ,icecat))) (inputs `(("icecat" ,icecat)))
(arguments (arguments

View File

@ -664,3 +664,41 @@ of improving usability, security and speed.")
;; The compilation is distributed under the Boost license; the individual ;; The compilation is distributed under the Boost license; the individual
;; files in the compilation are in the public domain. ;; files in the compilation are in the public domain.
(license (list license:boost1.0 license:public-domain)))) (license (list license:boost1.0 license:public-domain))))
(define-public python2-roca-detect
(package
(name "python2-roca-detect")
(version "1.0.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "roca-detect" version))
(sha256
(base32
"1di4akyw2lf5r8zfwvyhkilz8jv8g4b66rgaqwfabmjwma6gnw27"))))
(build-system python-build-system)
(native-inputs
;; TODO: apk_parse_ph4, pyjks
`(("python2-dateutil" ,python2-dateutil)
("python2-six" ,python2-six)
("python2-cryptography" ,python2-cryptography)
("python2-future" ,python2-future)
("python2-coloredlogs" ,python2-coloredlogs)
("python2-pgpdump" ,python2-pgpdump)))
(arguments
`(;; Basic testing routine is quite simple and works with Py3
;; but the rest of the code that processes the different
;; key formats and extracts the modulus for inspection is
;; not yet fully py3 ready.
#:python ,python-2))
(home-page "https://github.com/crocs-muni/roca")
(synopsis "ROCA detection tool")
(description
"This tool is related to the paper entitled @i{Return of the
Coppersmiths Attack: Practical Factorization of Widely Used RSA Moduli}. It
enables you to test public RSA keys for a presence of the described
vulnerability. Currently the tool supports the following key formats: X.509
Certificate (DER encoded, PEM encoded), RSA PEM (encoded private key, public
key), SSH public key, ASC-encoded OpenPGP key, APK Android application, LDIFF
file, and more.")
(license license:gpl3)))

View File

@ -1216,6 +1216,51 @@ Using emacs-direnv means that programs started from Emacs will use the
environment set through Direnv.") environment set through Direnv.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ggtags
(package
(name "emacs-ggtags")
(version "0.8.12")
(source
(origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/ggtags-"
version ".el"))
(sha256
(base32
"0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp"))))
(build-system emacs-build-system)
(home-page "https://github.com/leoliu/ggtags")
(synopsis "Frontend to the GNU Global source code tagging system")
(description "@code{ggtags} provides a frontend to the GNU Global source
code tagging system.
Features:
@itemize
@item Build on @code{compile.el} for asynchronicity and its large feature-set.
@item Automatically update Global's tag files when needed with tuning for
large source trees.
@item Intuitive navigation among multiple matches with mode-line display of
current match, total matches and exit status.
@item Read tag with completion.
@item Show definition at point.
@item Jump to #include files.
@item Support search history and saving a search to register/bookmark.
@item Query replace.
@item Manage Global's environment variables on a per-project basis.
@item Highlight (definition) tag at point.
@item Abbreviated display of file names.
@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
@code{pygments} backend.
@item Support all Global's output formats: @code{grep}, @code{ctags-x},
@code{cscope} etc.
@item Support projects on remote hosts (e.g. via @code{tramp}).
@item Support eldoc.
@item Search @code{GTAGSLIBPATH} for references and symbols.
@end itemize\n")
(license license:gpl3+)))
(define-public emacs-go-mode (define-public emacs-go-mode
(package (package
(name "emacs-go-mode") (name "emacs-go-mode")
@ -1630,7 +1675,7 @@ allows easily move between them.")
(define-public emacs-s (define-public emacs-s
(package (package
(name "emacs-s") (name "emacs-s")
(version "1.11.0") (version "1.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1639,7 +1684,7 @@ allows easily move between them.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0krq5nz3llfx0vwdqn18pmq777ja0fac185w0h9qymppb1j1hvc2")))) "0xbl75863pcm806zg0x1lw7qznzjq2c8320k8js7apyag8q4srvh"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1698,7 +1743,7 @@ Stack Overflow, Super User, and other StackExchange sites.")
(define-public emacs-f (define-public emacs-f
(package (package
(name "emacs-f") (name "emacs-f")
(version "0.18.2") (version "0.19.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1707,7 +1752,7 @@ Stack Overflow, Super User, and other StackExchange sites.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1926shh2ymdsgz05c6q181mzzz1rci99ch568j151xi865jinyg5")))) "05195n80ywa68qykxn7dza6qd59rhakvlzhaa9l6mcpmjf9l9grs"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-s" ,emacs-s) `(("emacs-s" ,emacs-s)
@ -2362,6 +2407,30 @@ front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
These are distributed in separate files and can be used individually.") These are distributed in separate files and can be used individually.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-company-quickhelp
(package
(name "emacs-company-quickhelp")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/expez/company-quickhelp/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xrn2z1dgk5gmkmp2jkn9g83ckk39lqp5pyyv8rl7f6gqvib3qh0"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-pos-tip" ,emacs-pos-tip)
("emacs-company" ,emacs-company)))
(home-page "https://github.com/expez/company-quickhelp")
(synopsis "Popup documentation for completion candidates")
(description "@code{company-quickhelp} shows documentation for the
completion candidate when using the Company text completion framework.")
(license license:gpl3+)))
(define-public emacs-multiple-cursors (define-public emacs-multiple-cursors
(package (package
(name "emacs-multiple-cursors") (name "emacs-multiple-cursors")
@ -3039,7 +3108,7 @@ fully-functional one.")
(define-public emacs-hydra (define-public emacs-hydra
(package (package
(name "emacs-hydra") (name "emacs-hydra")
(version "0.13.6") (version "0.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3048,7 +3117,7 @@ fully-functional one.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0575vh858gm35p57s49dy6pc2ij46dmj9zaa4z0cp98sqra3j3l0")))) "0884k3ffwzhh6krbd8l7vvm184dkagb2jf4q8xzg72plln34qrm8"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/abo-abo/hydra") (home-page "https://github.com/abo-abo/hydra")
(synopsis "Make Emacs bindings that stick around") (synopsis "Make Emacs bindings that stick around")
@ -3568,7 +3637,7 @@ If you want to mark a folder manually as a project just create an empty
(define-public emacs-elfeed (define-public emacs-elfeed
(package (package
(name "emacs-elfeed") (name "emacs-elfeed")
(version "2.1.1") (version "2.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/skeeto/elfeed/archive/" (uri (string-append "https://github.com/skeeto/elfeed/archive/"
@ -3576,7 +3645,7 @@ If you want to mark a folder manually as a project just create an empty
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1wlwc8fbkg6w1c8p856ikc20xm72f51clnzz419p0g8cavy27npw")))) "0d7i93l3b0ck3iad9ddqp7sqa8w16hnamrby8bwvl316rqk4lzlf"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -3896,6 +3965,33 @@ for search-based navigation of buffers.")
"This Emacs library provides a Helm interface for Projectile.") "This Emacs library provides a Helm interface for Projectile.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-helm-make
(let ((commit "786104ac0c3cf4fe5b53f841eb9fe10bda2e4031")
(revision "1"))
(package
(name "emacs-helm-make")
(version (string-append "0.1.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abo-abo/helm-make.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qdfk0p2j8jah7m0ngy2mm7775cn779m3a84yll86wqc74g331qs"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/abo-abo/helm-make")
(synopsis "Select a Makefile target with helm")
(description "@code{helm-make} or @code{helm-make-projectile} will give
you a @code{helm} selection of directory Makefile's targets. Selecting a
target will call @code{compile} on it.")
(license license:gpl3+))))
(define-public emacs-cider (define-public emacs-cider
(package (package
(name "emacs-cider") (name "emacs-cider")
@ -4564,7 +4660,7 @@ mode-line.")
(define-public emacs-yasnippet (define-public emacs-yasnippet
(package (package
(name "emacs-yasnippet") (name "emacs-yasnippet")
(version "0.12.0") (version "0.12.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/joaotavora/yasnippet/" (uri (string-append "https://github.com/joaotavora/yasnippet/"
@ -4572,7 +4668,7 @@ mode-line.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1yqiprighgqz1hsslph50cy09xxqabc06jffrnjcsdf6nj70xlkc")) "01jabaz0g67bsziayrxgv74px55fx4nlrcl0csl8f1by2102pwc5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -42,10 +42,12 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages fpga)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gd) #:use-module (gnu packages gd)
@ -54,6 +56,7 @@
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -626,8 +629,8 @@ language.")
;; We use kicad from a git commit, because support for boost 1.61.0 has been ;; We use kicad from a git commit, because support for boost 1.61.0 has been
;; recently added. ;; recently added.
(define-public kicad (define-public kicad
(let ((commit "4ee344e150bfaf3a6f3f7bf935fb96ae07c423fa") (let ((commit "5f4599fb56da4dd748845ab10abec02961d477f3")
(revision "1")) (revision "2"))
(package (package
(name "kicad") (name "kicad")
(version (string-append "4.0-" revision "." (version (string-append "4.0-" revision "."
@ -639,7 +642,7 @@ language.")
(url "https://git.launchpad.net/kicad") (url "https://git.launchpad.net/kicad")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 "0kf6r92nps0658i9n3p9vp5dzbssmc22lvjv5flyvnlf83l63s4n")) (base32 "1833pln2975gmc5s18xf7s8m9vg834lmxxdjk0wlk3lq7bvjjnff"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -661,6 +664,7 @@ language.")
(assoc-ref %build-inputs "wxpython") (assoc-ref %build-inputs "wxpython")
"/include/wx-3.0") "/include/wx-3.0")
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
"-DKICAD_SPICE=TRUE"
;; TODO: Enable this when CA certs are working with curl. ;; TODO: Enable this when CA certs are working with curl.
"-DBUILD_GITHUB_PLUGIN=OFF") "-DBUILD_GITHUB_PLUGIN=OFF")
#:phases #:phases
@ -679,6 +683,14 @@ language.")
`("PYTHONPATH" ":" prefix (,path)) `("PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix `("PATH" ":" prefix
(,(string-append python "/bin:"))))) (,(string-append python "/bin:")))))
#t))
(add-after 'wrap-program 'install-lib-3d
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
(lambda (file)
(install-file file (string-append (assoc-ref outputs "out")
"/lib")))
(find-files "." "^libkicad_3dsg.*"))
#t))))) #t)))))
(native-inputs (native-inputs
`(("boost" ,boost) `(("boost" ,boost)
@ -693,6 +705,7 @@ language.")
("glew" ,glew) ("glew" ,glew)
("glm" ,glm) ("glm" ,glm)
("hicolor-icon-theme" ,hicolor-icon-theme) ("hicolor-icon-theme" ,hicolor-icon-theme)
("libngspice" ,libngspice)
("libsm" ,libsm) ("libsm" ,libsm)
("mesa" ,mesa) ("mesa" ,mesa)
("openssl" ,openssl) ("openssl" ,openssl)
@ -708,7 +721,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public kicad-library (define-public kicad-library
(let ((version "4.0.4")) (let ((version "4.0.6"))
(package (package
(name "kicad-library") (name "kicad-library")
(version version) (version version)
@ -719,7 +732,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1wyda58y39lhxml0xv1ngvddi0nqihx9bnlza46ajzms38ajvh12")))) "16f47pd6f0ddsdxdrp327nr9v05gl8c24d0qypq2aqx5hdjmkp7f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:out-of-source? #t `(#:out-of-source? #t
@ -762,7 +775,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0ya4gg6clz3vp2wrb67xwg0bhwh5q8ag39jjmpcp4zjcqs1f48rb")))))) "0vmgqhdw05k5fdnqv42grnvlz7v75g9md82jp2d3dvw2zw050lfb"))))))
(home-page "http://kicad-pcb.org/") (home-page "http://kicad-pcb.org/")
(synopsis "Libraries for kicad") (synopsis "Libraries for kicad")
(description "This package provides Kicad component, footprint and 3D (description "This package provides Kicad component, footprint and 3D
@ -1441,25 +1454,62 @@ parallel computing platforms. It also supports serial execution.")
(string-append (assoc-ref inputs "coreutils") (string-append (assoc-ref inputs "coreutils")
"/bin/cat"))) "/bin/cat")))
#t)) #t))
(add-after 'patch-pkg-config 'setenv
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CXX" (string-append (assoc-ref inputs "gcc")
"/bin/g++"))
(setenv "SYSTEM_LIBTOOL" (string-append (assoc-ref inputs "libtool")
"/bin/libtool"))
#t))
(add-after 'setenv 'patch-gvhdl
(lambda _
(substitute* "v2cc/gvhdl.in"
(("--mode=link") "--mode=link --tag=CXX")
(("-lm") "-lm FREEHDL/lib/freehdl/libieee.la"))
#t))
(add-after 'patch-gvhdl 'patch-freehdl-gennodes
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "freehdl/freehdl-gennodes.in"
(("guile")
(string-append (assoc-ref inputs "guile") "/bin/guile"))
(("\\(debug") ";(debug")
(("\\(@ ") "(apply-emit")
(("\\(@@ ") "(apply-mini-format"))
#t))
(add-after 'configure 'patch-freehdl-pc (add-after 'configure 'patch-freehdl-pc
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "freehdl.pc" (substitute* "freehdl.pc"
(("=g\\+\\+") (("=g\\+\\+")
(string-append "=" (assoc-ref inputs "gcc") (string-append "=" (assoc-ref inputs "gcc-toolchain")
"/bin/g++")) "/bin/g++"))
(("=libtool") (("=libtool")
(string-append "=" (assoc-ref inputs "libtool") (string-append "=" (assoc-ref inputs "libtool")
"/bin/libtool"))) "/bin/libtool")))
#t)) #t))
(add-after 'install-scripts 'make-wrapper (add-after 'install-scripts 'make-wrapper
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
;; 'gvhdl' invokes the C compiler directly, so hard-code its
;; file name.
(wrap-program (string-append out "/bin/gvhdl")
`("CPLUS_INCLUDE_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/include")))
`("LIBRARY_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/lib")))
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/bin")
,(string-append (assoc-ref inputs "coreutils")
"/bin"))))
(wrap-program (string-append out "/bin/freehdl-config") (wrap-program (string-append out "/bin/freehdl-config")
`("PKG_CONFIG_PATH" ":" prefix (,(string-append out "/lib/pkgconfig"))))) `("PKG_CONFIG_PATH" ":" prefix (,(string-append out "/lib/pkgconfig")))))
#t))))) #t)))))
(inputs (inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
("gcc" ,gcc) ("gcc-toolchain" ,gcc-toolchain)
("guile" ,guile-2.2)
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("libtool" ,libtool))) ("libtool" ,libtool)))
@ -1474,3 +1524,102 @@ parallel computing platforms. It also supports serial execution.")
(license (list license:gpl2+ (license (list license:gpl2+
license:lgpl2.0+)))) ; freehdl's libraries license:lgpl2.0+)))) ; freehdl's libraries
(define-public qucs
(package
(name "qucs")
(version "0.0.19")
(source (origin
(method url-fetch)
(uri
(string-append
"https://sourceforge.net/projects/qucs/files/qucs/" version
"/qucs-" version ".tar.gz"))
(sha256
(base32
"0giv9gfyfdizvjhq56x2pdncrlyv3k15lrsh6pk37i94vr7l7ij5"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "qucs/configure"
(("\\$QTDIR") (assoc-ref inputs "qt4")))
#t))
(add-after 'patch-configure 'patch-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("qucs/qucs/qucsdigi"
"qucs/qucs/qucsdigilib"
"qucs/qucs/qucsveri")
(("\\$BINDIR")
(string-append (assoc-ref outputs "out") "/bin"))
(("freehdl-config")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
(("freehdl-v2cc")
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
(("cp ")
(string-append (assoc-ref inputs "coreutils") "/bin/cp "))
(("glibtool")
(string-append (assoc-ref inputs "libtool") "/bin/libtool"))
(("sed")
(string-append (assoc-ref inputs "sed") "/bin/sed"))
(("iverilog")
(string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
(("vvp")
(string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
#t))
(add-before 'check 'pre-check
(lambda _
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t))
(add-after 'install 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; 'qucs' directly invokes gcc, hence this wrapping.
(wrap-program (string-append out "/bin/qucs")
`("CPLUS_INCLUDE_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/include")))
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/bin")))
`("LIBRARY_PATH" ":" prefix
(,(string-append (assoc-ref inputs "gcc-toolchain")
"/lib")))
`("ADMSXMLBINDIR" ":" prefix
(,(string-append (assoc-ref inputs "adms") "/bin")))
`("ASCOBINDIR" ":" prefix
(,(string-append (assoc-ref inputs "asco") "/bin")))
`("QUCS_OCTAVE" ":" prefix
(,(string-append (assoc-ref inputs "octave") "/bin/octave")))))
#t)))
#:parallel-build? #f ; race condition
#:configure-flags '("--disable-doc"))) ; we need octave-epstk
(native-inputs
`(("gperf" ,gperf)
("libtool-native" ,libtool)
("python" ,python-2) ; for tests
("matplotlib" ,python2-matplotlib) ; for tests
("numpy" ,python2-numpy) ; for tests
("xorg-server" ,xorg-server))) ; for tests
(inputs
`(("adms" ,adms)
("asco" ,asco)
("coreutils" ,coreutils)
("freehdl" ,freehdl)
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("octave" ,octave)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
(synopsis "Circuit simulator with graphical user interface")
(description
"Qucs is a circuit simulator with graphical user interface. The software
aims to support all kinds of circuit simulation types---e.g. DC, AC,
S-parameter, transient, noise and harmonic balance analysis. Pure digital
simulations are also supported.")
(license license:gpl2+)))

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -173,7 +173,7 @@ as required.")
(define-public libfilezilla (define-public libfilezilla
(package (package
(name "libfilezilla") (name "libfilezilla")
(version "0.11.0") (version "0.11.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -181,7 +181,7 @@ as required.")
name "/" name "-" version ".tar.bz2")) name "/" name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1l4yhw269dyarqb2spqhycxzzyfn8pj4qh9vfycdw1c93hj6fx6c")))) "1xv4is3zaz66h6iblj9pikapsjasjcbxx31bhkgn62xdq1sadfpc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppunit" ,cppunit) `(("cppunit" ,cppunit)

View File

@ -2648,6 +2648,12 @@ Transport Tycoon Deluxe.")
`(#:tests? #f ;; no tests available `(#:tests? #f ;; no tests available
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-usr-share-paths
(lambda* (#:key make-flags outputs #:allow-other-keys)
;; Fix some references to /usr/share.
(substitute* "src/openrct2/platform/linux.c"
(("/usr/share")
(string-append (assoc-ref %outputs "out") "/share")))))
(add-after 'build 'fix-cmake-install-file (add-after 'build 'fix-cmake-install-file
(lambda _ (lambda _
;; The build system tries to download a file and compare hashes. ;; The build system tries to download a file and compare hashes.

View File

@ -965,3 +965,34 @@ keyring content. Parcimonie is a daemon that fetches one key at a time using
the Tor network, waits a bit, changes the Tor circuit being used, and starts the Tor network, waits a bit, changes the Tor circuit being used, and starts
over.") over.")
(license license:gpl1+))) (license license:gpl1+)))
(define-public python2-pgpdump
(package
(name "python2-pgpdump")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pgpdump" version))
(sha256
(base32
"0s4nh8h7qsdj2yf29bspjs1zvxd4lcd11r6g11dp7fppgf2h0iqw"))))
(build-system python-build-system)
;; Currently fails to build with Python 3.
(arguments `(#:python ,python-2))
(home-page "https://github.com/toofishes/python-pgpdump")
(synopsis "Python library for parsing PGP packets")
(description
"Python-pgpdump is an OpenPGP packet parser based on
@uref{http://www.mew.org/~kazu/proj/pgpdump/, pgpdump}. It notably supports:
@itemize
@item signature packets;
@item public key packets;
@item secret key packets;
@item trust, user ID, and user attribute packets;
@item ASCII-armor decoding and CRC check.
@end itemize\n")
(license license:bsd-3)))

View File

@ -450,7 +450,20 @@ standards.")
(mozilla-patch "icecat-bug-1400003.patch" "3af5bf8bdea0" "07az28dnpxr36j7i3llxkrlkrmg0bwk4f3sm75x1f0r1v5575p3p") (mozilla-patch "icecat-bug-1400003.patch" "3af5bf8bdea0" "07az28dnpxr36j7i3llxkrlkrmg0bwk4f3sm75x1f0r1v5575p3p")
(mozilla-patch "icecat-bug-1407751.patch" "592df6088926" "1gy27idik4b6wcg4szww08cmpcljssja8wql6w1d807h7ni65lr7") (mozilla-patch "icecat-bug-1407751.patch" "592df6088926" "1gy27idik4b6wcg4szww08cmpcljssja8wql6w1d807h7ni65lr7")
(mozilla-patch "icecat-bug-1261175.patch" "77a2d4610275" "13ysbwflnysj4rs45ibckd621s0vyg1s8dvannlvanvrz1g72zcz") (mozilla-patch "icecat-bug-1261175.patch" "77a2d4610275" "13ysbwflnysj4rs45ibckd621s0vyg1s8dvannlvanvrz1g72zcz")
(mozilla-patch "icecat-bug-1394265.patch" "2b30335d0b95" "0hs5cwickvfw7r5dn7y148jgr2b21hl613qp83k56634d0y64qwp"))) (mozilla-patch "icecat-bug-1394265.patch" "2b30335d0b95" "0hs5cwickvfw7r5dn7y148jgr2b21hl613qp83k56634d0y64qwp")
(mozilla-patch "icecat-bug-1397811.patch" "d6f008f95598" "0xclxrbg7pv8pa2j15p0gy9c8sigy2i9j0kvazl5fbyg6jsg3xgd")
(mozilla-patch "icecat-bug-1407740.patch" "ab9b51cd75ac" "08jy3rbkyh934aw261ls0s87947d2mhss7xqk1xfdir9crij2g27")
(mozilla-patch "icecat-bug-1343147-pt1.patch" "971d6345bc3a" "13791cvc51i991i5qyz6gp94vwzwkx479bnr8fsf8dw7z72wrsch")
(mozilla-patch "icecat-bug-1343147-pt2.patch" "60df7db06669" "0r372g1zksvkzyz0qpq0mp30frilgsfxxx2xida8xc08wgxp5lh9")
(mozilla-patch "icecat-bug-1408005.patch" "df49c25e6e4c" "0j77xbkxpflqf4jlccrv61vq0jgp4lfn8kb0zw1lswp3cyd6ml4i")
(mozilla-patch "icecat-bug-1411458.patch" "3b899f872623" "01zjcpm8yp4s8yf4mj1bzq01aylmi69kd8qv0rrcl9hmj4g3pzr2")
(mozilla-patch "icecat-bug-1387799.patch" "3d6d558ae6a6" "17wynknvs5wi7m9g5vn43rjmivbg1l6pnv8jymz1ccidy27qgdqi")
(mozilla-patch "icecat-bug-1408412.patch" "8426754b7130" "0bbm2294bkvld55rdbpsc8b82ljqdcxpbg6cwdzvwfhqayl2pnqm")
(mozilla-patch "icecat-bug-1406750.patch" "5ddd5d2aa769" "12z5i8h6qwjb1h1fvp2426bgsnsxx539d8k2is9x1q4133356niy")
(mozilla-patch "icecat-bug-1404636.patch" "dd068f4e132a" "17qy9c1vfkz3pj6y8qmqbic73wrangsbdlylk2s54nbzhhp9cj1g")
(mozilla-patch "icecat-bug-1406398.patch" "e6bd533b57e9" "1mmqav9yhxd0j47yffcdykaqjibfwjsk0jn0f44099s87y8qn9zy")
(mozilla-patch "icecat-bug-1401804.patch" "2a87fb6b9c07" "0z0scw4y1vqhqkbw1ag14g8xrif14l95x7fd50q2sw425lli29lc")
(mozilla-patch "icecat-bug-1404910.patch" "5007f2472f64" "0ns1l4yipwbb52sps2xzg30qd1rkpwykxq4chjg3wllhmcxbvvpw")))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -205,7 +205,7 @@ sequential processes (CSP) concurrent programming features added.")
(package (package
(inherit go-1.4) (inherit go-1.4)
(name "go") (name "go")
(version "1.9.1") (version "1.9.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -213,7 +213,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz")) name version ".src.tar.gz"))
(sha256 (sha256
(base32 (base32
"03jmrgqq852wqyphvd8p46i32f72xki3bmylhkxf0kynqyfzqjm8")))) "1p23n4xzbknl3bbhlckbvxbhpxknd5rn0i2szmn9i2dcz15ihpv6"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments go-1.4) (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases) ((#:phases phases)

View File

@ -409,7 +409,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
("python" ,python))) ("python" ,python)))
(inputs (inputs
`(("gst-plugins-base" ,gst-plugins-base) `(("gst-plugins-base" ,gst-plugins-base)
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg-3.3)
("orc" ,orc) ("orc" ,orc)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "http://gstreamer.freedesktop.org/") (home-page "http://gstreamer.freedesktop.org/")

View File

@ -866,6 +866,8 @@ channels.")
version ".tar.gz") version ".tar.gz")
(string-append "https://fossies.org/linux/misc/exiv2-" (string-append "https://fossies.org/linux/misc/exiv2-"
version ".tar.gz"))) version ".tar.gz")))
(patches (search-patches "exiv2-CVE-2017-14860.patch"
"exiv2-CVE-2017-14859-14862-14864.patch"))
(sha256 (sha256
(base32 (base32
"1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7")))) "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"))))

View File

@ -1405,6 +1405,23 @@ bootstrapping purposes.")
(copy-recursively "openjdk.build/j2re-image" jre) (copy-recursively "openjdk.build/j2re-image" jre)
(copy-recursively "openjdk.build/j2sdk-image" jdk)) (copy-recursively "openjdk.build/j2sdk-image" jdk))
#t)) #t))
;; Some of the libraries in the lib/amd64 folder link to libjvm.so.
;; But that shared object is located in the server/ folder, so it
;; cannot be found. This phase creates a symbolic link in the
;; lib/amd64 folder so that the other libraries can find it.
;;
;; See:
;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
;;
;; FIXME: Find the bug in the build system, so that this symlink is
;; not needed.
(add-after 'install 'install-libjvm
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((lib-path (string-append (assoc-ref outputs "out")
"/lib/amd64")))
(symlink (string-append lib-path "/server/libjvm.so")
(string-append lib-path "/libjvm.so")))
#t))
;; By default IcedTea only generates an empty keystore. In order to ;; By default IcedTea only generates an empty keystore. In order to
;; be able to use certificates in Java programs we need to generate a ;; be able to use certificates in Java programs we need to generate a
;; keystore from a set of certificates. For convenience we use the ;; keystore from a set of certificates. For convenience we use the

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,8 +25,11 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#: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 gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix utils)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
@ -33,6 +37,7 @@
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xiph)) #:use-module (gnu packages xiph))
(define-public libcanberra (define-public libcanberra
@ -126,3 +131,26 @@ sounds for various system events.")
(license (list cc-by-sa4.0 cc-by3.0 gpl2 gpl2+)) (license (list cc-by-sa4.0 cc-by3.0 gpl2 gpl2+))
(home-page "http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/"))) (home-page "http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/")))
(define-public python-pycanberra
(package
(name "python-pycanberra")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://dist.ng0.infotropique.org/releases/"
"pycanberra/pycanberra-" version ".tar.xz"))
(sha256
(base32
"16jjf8fcgaprmz6jacsxrh17l1ad891fns38bxv49lg3s3mn1nj2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;No tests included.
(propagated-inputs
`(("libcanberra" ,libcanberra)))
(synopsis "Ctypes wrapper for the libcanberra API")
(description
"Pycanberra is a basic Python wrapper for libcanberra.")
(home-page "https://git.ng0.infotropique.org/pycanberra/")
(license lgpl2.1+)))

View File

@ -37,7 +37,7 @@
(define-public ola (define-public ola
(package (package
(name "ola") (name "ola")
(version "0.10.4") (version "0.10.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -46,7 +46,7 @@
(patches (search-patches "ola-readdir-r.patch")) (patches (search-patches "ola-readdir-r.patch"))
(sha256 (sha256
(base32 (base32
"01zpm0vpin784jyjhbdad097a4i0cjdfrqqfbsvx47d6nbssq2my")))) "10q25mln4m628f1b2jgsdcw2398hsrhydnxjzi60w9yds3sdrpz9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)

View File

@ -368,8 +368,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-libre-version "4.13.9") (define %linux-libre-version "4.13.10")
(define %linux-libre-hash "1ymsdvm4djh7hg2wmn2v11w380i0ss9nkp4slfrgihdvn6yp5gbv") (define %linux-libre-hash "0y1p5b1rxpbr3apvqqv589qwzfyzjpdrzysfj4h17s0k4gy6c5p8")
(define-public linux-libre (define-public linux-libre
(make-linux-libre %linux-libre-version (make-linux-libre %linux-libre-version
@ -378,14 +378,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.58" (make-linux-libre "4.9.59"
"0f1yxdvzdr1zfkh86i9z0p7ywdlz0blxnd11wbnw763qyk3qydyk" "0z8hq8a6ic38xh33idzl0k0yi4isgd7ncl2g1d6mzf9ixw5krhvc"
%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.94" (make-linux-libre "4.4.95"
"0g63is8d2k1mf1kaljkll79n7gzh4qn0fmrm2r9sab2sq41hch1m" "1k2lp1jgbm5xkl3qf0cqmp07hlv03jaws68l3irid95j99prsw0b"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))

View File

@ -275,9 +275,8 @@ operating systems.")
(define-public neomutt (define-public neomutt
(package (package
(inherit mutt)
(name "neomutt") (name "neomutt")
(version "20171013") (version "20171027")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -285,7 +284,8 @@ operating systems.")
"/archive/" name "-" version ".tar.gz")) "/archive/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mcs5rhlajyxl0bw2hpwcwx14rzrgk6sf8yr0gdj1di3sq166z2s")))) "10z523cy3s6syh0mwpsncl87wrvyzsk99y7nzicwvx6y3hmdw01d"))))
(build-system gnu-build-system)
(inputs (inputs
`(("cyrus-sasl" ,cyrus-sasl) `(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm) ("gdbm" ,gdbm)
@ -323,7 +323,6 @@ operating systems.")
"--without-ssl" "--without-ssl"
"--with-sasl" "--with-sasl"
"--with-regex"
"--enable-smime" "--enable-smime"
"--enable-notmuch" "--enable-notmuch"
"--with-idn" "--with-idn"
@ -333,8 +332,6 @@ operating systems.")
;; in the chroot. The workaround is this. ;; in the chroot. The workaround is this.
"--with-mailpath=/var/mail" "--with-mailpath=/var/mail"
"--with-external-dotlock"
(string-append "--with-curses=" (string-append "--with-curses="
(assoc-ref %build-inputs "ncurses"))) (assoc-ref %build-inputs "ncurses")))
#:phases #:phases
@ -346,7 +343,8 @@ operating systems.")
(synopsis "Command-line mail reader based on Mutt") (synopsis "Command-line mail reader based on Mutt")
(description (description
"NeoMutt is a command-line mail reader which is based on mutt. "NeoMutt is a command-line mail reader which is based on mutt.
It adds a large amount of new and improved features to mutt."))) It adds a large amount of new and improved features to mutt.")
(license gpl2+)))
(define-public gmime (define-public gmime
(package (package
@ -428,7 +426,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap (define-public offlineimap
(package (package
(name "offlineimap") (name "offlineimap")
(version "7.1.3") (version "7.1.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/" (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@ -436,7 +434,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0iaznh8q3fmia43r0600vrd3w8njis1x65ry9fv3zsyx0ili1z02")))) "0m34iks3l9p6shqkgfhfpiccglm6gk5nj98x20pvahl58nclmzn6"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("asciidoc" ,asciidoc))) `(("asciidoc" ,asciidoc)))
@ -548,7 +546,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
;; TODO: Add webkit and gtk to build the mug GUI. ;; TODO: Add webkit and gtk to build the mug GUI.
(inputs (inputs
`(("xapian" ,xapian) `(("xapian" ,xapian)
("guile" ,guile-2.0) ("guile" ,guile-2.2)
("glib" ,glib) ("glib" ,glib)
("gmime" ,gmime) ("gmime" ,gmime)
("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
@ -567,7 +565,19 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
;; the lispdir anyway, so we have to modify "configure.ac". ;; the lispdir anyway, so we have to modify "configure.ac".
(lambda _ (lambda _
(substitute* "configure" (substitute* "configure"
(("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") "")) (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") "")
;; Use latest Guile
(("guile-2.0") "guile-2.2"))
(substitute* '("guile/Makefile.in"
"guile/mu/Makefile.in")
(("share/guile/site/2.0/") "share/guile/site/2.2/"))
#t))
(add-before 'install 'fix-ffi
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "guile/mu.scm"
(("\"libguile-mu\"")
(format #f "\"~a/lib/libguile-mu\""
(assoc-ref outputs "out"))))
#t)) #t))
(add-before 'check 'check-tz-setup (add-before 'check 'check-tz-setup
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -1363,7 +1373,7 @@ identify a message uniquely.")
(define-public perl-email-mime (define-public perl-email-mime
(package (package
(name "perl-email-mime") (name "perl-email-mime")
(version "1.940") (version "1.946")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1371,7 +1381,7 @@ identify a message uniquely.")
"Email-MIME-" version ".tar.gz")) "Email-MIME-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0pnxbr16cn5qy96xqhp9zmd94ashc9ivqh10qbgbc3f637a0mfir")))) "0z1k3i0lzp2k421gc8f3wq0jbqflkbw2xqd2k7n7pmv56417kvk8"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("perl-email-address" ,perl-email-address) `(("perl-email-address" ,perl-email-address)
@ -1379,7 +1389,8 @@ identify a message uniquely.")
("perl-email-mime-contenttype" ,perl-email-mime-contenttype) ("perl-email-mime-contenttype" ,perl-email-mime-contenttype)
("perl-email-mime-encodings" ,perl-email-mime-encodings) ("perl-email-mime-encodings" ,perl-email-mime-encodings)
("perl-email-simple" ,perl-email-simple) ("perl-email-simple" ,perl-email-simple)
("perl-mime-types" ,perl-mime-types))) ("perl-mime-types" ,perl-mime-types)
("perl-module-runtime" ,perl-module-runtime)))
(home-page "http://search.cpan.org/dist/Email-MIME") (home-page "http://search.cpan.org/dist/Email-MIME")
(synopsis "MIME message handling") (synopsis "MIME message handling")
(description "Email::MIME is an extension of the Email::Simple module, to (description "Email::MIME is an extension of the Email::Simple module, to
@ -1391,7 +1402,7 @@ message. Headers are decoded from MIME encoding.")
(define-public perl-email-mime-contenttype (define-public perl-email-mime-contenttype
(package (package
(name "perl-email-mime-contenttype") (name "perl-email-mime-contenttype")
(version "1.018") (version "1.022")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1399,7 +1410,7 @@ message. Headers are decoded from MIME encoding.")
"Email-MIME-ContentType-" version ".tar.gz")) "Email-MIME-ContentType-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1y8hpwm7p5a9y2azy0cgvlv2i2d0nj66ajfa0fj51wdq4w9cs23m")))) "042kxhs3bp1ab9z0mbr1wy21ld4lxd6v2a2mmrashqnsn2075fws"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny))) `(("perl-capture-tiny" ,perl-capture-tiny)))
@ -1432,7 +1443,7 @@ header.")
(define-public perl-email-sender (define-public perl-email-sender
(package (package
(name "perl-email-sender") (name "perl-email-sender")
(version "1.300028") (version "1.300031")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1440,7 +1451,7 @@ header.")
"Email-Sender-" version ".tar.gz")) "Email-Sender-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0c5dv1x9856nryj5mcbgb67a4irmadz80g0qnf4van3bd8wbj72a")))) "052g0slw3h2lzn93j71fi47nfawww2aph4jhr3c860ji70lkf4n4"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny))) `(("perl-capture-tiny" ,perl-capture-tiny)))
@ -1464,7 +1475,7 @@ Email::Send library.")
(define-public perl-email-simple (define-public perl-email-simple
(package (package
(name "perl-email-simple") (name "perl-email-simple")
(version "2.213") (version "2.214")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1472,7 +1483,7 @@ Email::Send library.")
"Email-Simple-" version ".tar.gz")) "Email-Simple-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ibwsng63gvqqc6r2135mjwfdzazxkb1x8q7f87wqcbjcjfpmffd")))) "14kb86hi0m0bqc7kxpm4x5kvfsyj2x86gggbvpxhx9hy8hvjpw5j"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("perl-email-date-format" ,perl-email-date-format))) `(("perl-email-date-format" ,perl-email-date-format)))

View File

@ -822,7 +822,7 @@ instant messenger with audio and video chat capabilities.")
(("TIMESTAMP") "\"\"")) (("TIMESTAMP") "\"\""))
#t))))) #t)))))
(inputs (inputs
`(("ffmpeg" ,ffmpeg) `(("ffmpeg" ,ffmpeg-3.3)
("glib" ,glib) ("glib" ,glib)
("gtk+" ,gtk+-2) ("gtk+" ,gtk+-2)
("libsodium" ,libsodium) ("libsodium" ,libsodium)

View File

@ -75,7 +75,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd (define-public mpd
(package (package
(name "mpd") (name "mpd")
(version "0.20.10") (version "0.20.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -84,7 +84,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz")) "/mpd-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"089i9lh3fa8bix6v0sq0jgs7rkpk8l6q5lmdk6lip96vbh9c3ysj")))) "1g0lwm8p98q2hxa9vd6jx61s7d3r665s2bmz6ipkv9ijmyfps8p9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -195,7 +195,7 @@ terminal using ncurses.")
(define-public ncmpcpp (define-public ncmpcpp
(package (package
(name "ncmpcpp") (name "ncmpcpp")
(version "0.8") (version "0.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -203,7 +203,7 @@ terminal using ncurses.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0nj6ky805a55acj0w57sbn3vfmmkbqp97rhbi0q9848n10f2l3rg")))) "1zw8d07b2bkssbsybg6jnmpq001w525viajrnz4jvfml3l55gyad"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient) (inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost) ("boost" ,boost)

View File

@ -3316,6 +3316,11 @@ notation and includes basic support for digital audio.")
`(#:tests? #f ; no tests included `(#:tests? #f ; no tests included
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'remove-architecture-specific-flags
(lambda _
(substitute* "CMakeLists.txt"
(("-msse2 -mfpmath=sse") ""))
#t))
(add-after 'unpack 'build-faust-sources (add-after 'unpack 'build-faust-sources
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "faust" (with-directory-excursion "faust"

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
@ -322,14 +322,14 @@ receiving NDP messages.")
(define-public ethtool (define-public ethtool
(package (package
(name "ethtool") (name "ethtool")
(version "4.11") (version "4.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/software/network/" (uri (string-append "mirror://kernel.org/software/network/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1cp132kk2xd2cwn1ysjv0cl8i9lnq3n4zi4wy676p5k4h2mfvn0j")))) "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.kernel.org/pub/software/network/ethtool/") (home-page "https://www.kernel.org/pub/software/network/ethtool/")
(synopsis "Display or change Ethernet device settings") (synopsis "Display or change Ethernet device settings")
@ -709,7 +709,7 @@ allows for heavy scripting.")
(define-public perl-net-dns (define-public perl-net-dns
(package (package
(name "perl-net-dns") (name "perl-net-dns")
(version "1.12") (version "1.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -719,7 +719,7 @@ allows for heavy scripting.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zy16idzc96n20fm9976qapz89n3f44xpylhs5cvfgyyg7z03zr5")))) "0dlca65l45mqs7l58fg838bj3as5kmnbs1zy8vg9cbsz6rindivy"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs (inputs
`(("perl-digest-hmac" ,perl-digest-hmac))) `(("perl-digest-hmac" ,perl-digest-hmac)))
@ -1392,14 +1392,14 @@ does not use SSH and requires a pre-shared symmetric key.")
(define-public quagga (define-public quagga
(package (package
(name "quagga") (name "quagga")
(version "1.2.1") (version "1.2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://savannah/quagga/quagga-" (uri (string-append "mirror://savannah/quagga/quagga-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1kgvcr9cfgys5asvb5lh5h95silkr624apqm5x68xva19xfvmpda")) "0c99rjjc62xl5kwvx2pwyvs0709vbwax1qydqbqf6r7fpvr24bjj"))
(patches (patches
(search-patches "quagga-reproducible-build.patch")))) (search-patches "quagga-reproducible-build.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -40,14 +40,14 @@
(define-public node (define-public node
(package (package
(name "node") (name "node")
(version "8.4.0") (version "8.7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version (uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz")) "/node-v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vrpc4lspm33hmb8c2q4w1fzg3iaip2gx4wpr4nyy417hbx1a6k4")))) "1a0ginagx3pav6v7adyp76jisia4qgbsq6pz3als4kshwlk4a667"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; TODO: Purge the bundled copies from the source. ;; TODO: Purge the bundled copies from the source.
@ -76,10 +76,6 @@
(("'/usr/bin/env'") (("'/usr/bin/env'")
(string-append "'" (which "env") "'"))) (string-append "'" (which "env") "'")))
;; Linting is no longer supported in the release tarball
(substitute* '("Makefile")
((" \\$\\(MAKE\\) lint") ""))
;; FIXME: This test seems to depends on files that are not ;; FIXME: This test seems to depends on files that are not
;; available in the bundled v8. See ;; available in the bundled v8. See
;; https://github.com/nodejs/node/issues/13344 ;; https://github.com/nodejs/node/issues/13344
@ -92,6 +88,8 @@
"test/parallel/test-util-inspect.js" "test/parallel/test-util-inspect.js"
"test/parallel/test-v8-serdes.js" "test/parallel/test-v8-serdes.js"
"test/parallel/test-dgram-membership.js" "test/parallel/test-dgram-membership.js"
"test/parallel/test-dgram-multicast-set-interface-lo.js"
"test/parallel/test-dns-cancel-reverse-lookup.js"
"test/parallel/test-dns-resolveany.js" "test/parallel/test-dns-resolveany.js"
"test/parallel/test-cluster-master-error.js" "test/parallel/test-cluster-master-error.js"
"test/parallel/test-cluster-master-kill.js" "test/parallel/test-cluster-master-kill.js"

View File

@ -897,6 +897,28 @@ compilation and linkage, there are new frontends of the various OCaml
compilers that can directly deal with packages.") compilers that can directly deal with packages.")
(license license:x11))) (license license:x11)))
(define-public ocaml-findlib-1.7.3
(package
(inherit ocaml-findlib)
(version "1.7.3")
(source (origin
(method url-fetch)
(uri (string-append "http://download.camlcity.org/download/"
"findlib" "-" version ".tar.gz"))
(sha256
(base32
"12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni"))))
(arguments
(substitute-keyword-arguments (package-arguments ocaml-findlib)
((#:phases phases)
`(modify-phases ,phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero? (system* "make" "install"
(string-append "OCAML_CORE_STDLIB="
out))))))))))))
(define-public ocaml4.01-findlib (define-public ocaml4.01-findlib
(package (package
(inherit ocaml-findlib) (inherit ocaml-findlib)
@ -3557,6 +3579,163 @@ library is currently designed for Unicode Standard 3.2.")
;; with an exception for linked libraries to use a different license ;; with an exception for linked libraries to use a different license
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public ocaml-jbuilder
(package
(name "ocaml-jbuilder")
(version "1.0+beta14")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/janestreet/jbuilder/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"06jdcb4jmmp4wqyf9cm59jzgj0mxkpdzd9q3728gdxc1sz3v1sz0"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "PREFIX" out))
#t)))))
(native-inputs
`(("menhir" ,ocaml-menhir)))
(propagated-inputs
`(("opam" ,opam)))
(home-page "https://github.com/janestreet/jbuilder")
(synopsis "Composable build system for OCaml")
(description "Jbuilder is a build system designed for OCaml/Reason projects
only. It focuses on providing the user with a consistent experience and takes
care of most of the low-level details of OCaml compilation. All you have to do
is provide a description of your project and Jbuilder will do the rest.")
(license license:asl2.0)))
(define-public ocaml-zed
(package
(name "ocaml-zed")
(version "1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/diml/zed/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1q281slzwgdrrxalayll75bxgghadswlh2zcvzy08nrywqnlq5y8"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key #:allow-other-keys)
(zero? (system* "jbuilder" "build"))))
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero? (system* "jbuilder" "install" "--prefix" out))))))))
(native-inputs
`(("jbuilder" ,ocaml-jbuilder)))
(propagated-inputs
`(("camomile" ,ocaml-camomile)
("react" ,ocaml-react)))
(home-page "https://github.com/diml/zed")
(synopsis "Abstract engine for text editing in OCaml")
(description "Zed is an abstract engine for text edition. It can be used
to write text editors, edition widgets, readlines, etc. You just have to
connect an engine to your inputs and rendering functions to get an editor.")
(license license:bsd-3)))
(define-public ocaml-lambda-term
(package
(name "ocaml-lambda-term")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/diml/lambda-term/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "10lx1jqgmmfwwlv64di4a8nia9l53v7179z70n9fx6aq5l7r8nba"))))
(build-system ocaml-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
;; currently, ocaml-lwt is an old version of lwt from before lwt.react
;; was split into a separate module called lwt_react
(add-before 'build 'use-old-lwt-react-name
(lambda _
(substitute* "src/jbuild" (("lwt_react") "lwt.react"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero? (system* "jbuilder" "install" "--prefix" out))))))))
(native-inputs
`(("jbuilder" ,ocaml-jbuilder)))
(propagated-inputs
`(("lwt" ,ocaml-lwt)
("zed" ,ocaml-zed)))
(home-page "https://github.com/diml/lambda-term")
(synopsis "Terminal manipulation library for OCaml")
(description "Lambda-Term is a cross-platform library for manipulating the
terminal. It provides an abstraction for keys, mouse events, colors, as well as
a set of widgets to write curses-like applications. The main objective of
Lambda-Term is to provide a higher level functional interface to terminal
manipulation than, for example, ncurses, by providing a native OCaml interface
instead of bindings to a C library.")
(license license:bsd-3)))
(define-public ocaml-utop
(package
(name "ocaml-utop")
(version "2.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/diml/utop/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1v22bzw1vgwbbmpvi7lkyp2r59w5mag85rmqplb4fwik78x7k4ss"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib/ocaml/site-lib")))
(mkdir-p libdir)
(zero? (system* "jbuilder" "install"
"--prefix" out
"--libdir" libdir))))))))
(native-inputs
`(("ocaml" ,ocaml)
("cppo" ,ocaml-cppo)
("jbuilder" ,ocaml-jbuilder)))
(propagated-inputs
`(("findlib" ,ocaml-findlib-1.7.3)
("lambda-term" ,ocaml-lambda-term)
("lwt" ,ocaml-lwt)
("react" ,ocaml-react)
("camomile" ,ocaml-camomile)
("zed" ,ocaml-zed)))
(home-page "https://github.com/diml/utop")
(synopsis "Improved interface to the OCaml toplevel")
(description "UTop is an improved toplevel for OCaml. It can run in a
terminal or in Emacs. It supports line editing, history, real-time and context
sensitive completion, colors, and more.")
(license license:bsd-3)))
(define-public coq-flocq (define-public coq-flocq
(package (package
(name "coq-flocq") (name "coq-flocq")

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -28,7 +29,8 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+ asl2.0 bsd-3)) #:use-module ((guix licenses) #:select (gpl2+ gpl3+ agpl3+ lgpl2.1+ asl2.0
bsd-3 silofl1.1))
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages file) #:use-module (gnu packages file)
@ -41,6 +43,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages lisp)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -717,3 +720,34 @@ is the package manager used by Anaconda installations, but it may be used for
other systems as well. Conda makes environments first-class citizens, making other systems as well. Conda makes environments first-class citizens, making
it easy to create independent environments even for C libraries. Conda is it easy to create independent environments even for C libraries. Conda is
written entirely in Python."))) written entirely in Python.")))
(define-public gwl
(package
(name "gwl")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.guixwl.org/releases/gwl-"
version ".tar.gz"))
(sha256
(base32
"1x4swwp7kmhd57j3scii5c4h8swkcvab2r6mz7wxwwbx300wcqpy"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
`(("guix" ,guix)
("guile-commonmark" ,guile-commonmark)))
(home-page "https://www.guixwl.org")
(synopsis "Workflow management extension for GNU Guix")
(description "This project provides two subcommands to GNU Guix and
introduces two record types that provide a workflow management extension built
on top of GNU Guix.")
;; The Scheme modules in guix/ and gnu/ are licensed GPL3+,
;; the web interface modules in gwl/ are licensed AGPL3+,
;; and the fonts included in this package are licensed OFL1.1.
(license (list gpl3+ agpl3+ silofl1.1))))

View File

@ -45,7 +45,7 @@
(define-public parallel (define-public parallel
(package (package
(name "parallel") (name "parallel")
(version "20170922") (version "20171022")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -53,7 +53,7 @@
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0r8mdnmimdf4n6q5k0l8zdql83ka5plrb5qm3rcgkcfwmnk0p0k1")))) "18pq10npl7g764ww7cy9r5n5s3kiy984jclf932qfgndcxsbpqpp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -0,0 +1,66 @@
Fix CVE-2017-14859, CVE-2017-14862 and CVE-2017-14864.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14859
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14862
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14864
Copied from upstream:
https://github.com/Exiv2/exiv2/commit/8a586c74bbe3fbca64e86e42a42282c73f427607
From 8a586c74bbe3fbca64e86e42a42282c73f427607 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@cgc-instruments.com>
Date: Sat, 7 Oct 2017 23:08:36 +0200
Subject: [PATCH] Fix for CVE-2017-14864, CVE-2017-14862 and CVE-2017-14859
The invalid memory dereference in
Exiv2::getULong()/Exiv2::StringValueBase::read()/Exiv2::DataValue::read()
is caused further up the call-stack, by
v->read(pData, size, byteOrder) in TiffReader::readTiffEntry()
passing an invalid pData pointer (pData points outside of the Tiff
file). pData can be set out of bounds in the (size > 4) branch where
baseOffset() and offset are added to pData_ without checking whether
the result is still in the file. As offset comes from an untrusted
source, an attacker can craft an arbitrarily large offset into the
file.
This commit adds a check into the problematic branch, whether the
result of the addition would be out of bounds of the Tiff
file. Furthermore the whole operation is checked for possible
overflows.
---
src/tiffvisitor.cpp | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/tiffvisitor.cpp b/src/tiffvisitor.cpp
index 4ab733d4..ef13542e 100644
--- a/src/tiffvisitor.cpp
+++ b/src/tiffvisitor.cpp
@@ -47,6 +47,7 @@ EXIV2_RCSID("@(#) $Id$")
#include <iostream>
#include <iomanip>
#include <cassert>
+#include <limits>
// *****************************************************************************
namespace {
@@ -1517,7 +1518,19 @@ namespace Exiv2 {
size = 0;
}
if (size > 4) {
+ // setting pData to pData_ + baseOffset() + offset can result in pData pointing to invalid memory,
+ // as offset can be arbitrarily large
+ if ((static_cast<uintptr_t>(baseOffset()) > std::numeric_limits<uintptr_t>::max() - static_cast<uintptr_t>(offset))
+ || (static_cast<uintptr_t>(baseOffset() + offset) > std::numeric_limits<uintptr_t>::max() - reinterpret_cast<uintptr_t>(pData_)))
+ {
+ throw Error(59);
+ }
+ if (pData_ + static_cast<uintptr_t>(baseOffset()) + static_cast<uintptr_t>(offset) > pLast_) {
+ throw Error(58);
+ }
pData = const_cast<byte*>(pData_) + baseOffset() + offset;
+
+ // check for size being invalid
if (size > static_cast<uint32_t>(pLast_ - pData)) {
#ifndef SUPPRESS_WARNINGS
EXV_ERROR << "Upper boundary of data for "

View File

@ -0,0 +1,48 @@
Fix CVE-2017-14860.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14860
https://nvd.nist.gov/vuln/detail/CVE-2017-14860
Copied from upstream:
https://github.com/Exiv2/exiv2/commit/ff18fec24b119579df26fd2ebb8bb012cde102ce
From ff18fec24b119579df26fd2ebb8bb012cde102ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@cgc-instruments.com>
Date: Fri, 6 Oct 2017 23:09:08 +0200
Subject: [PATCH] Fix for CVE-2017-14860
A heap buffer overflow could occur in memcpy when icc.size_ is larger
than data.size_ - pad, as then memcpy would read out of bounds of data.
This commit adds a sanity check to iccLength (= icc.size_): if it is
larger than data.size_ - pad (i.e. an overflow would be caused) an
exception is thrown.
This fixes #71.
---
src/jp2image.cpp | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/jp2image.cpp b/src/jp2image.cpp
index 747145cf..748d39b5 100644
--- a/src/jp2image.cpp
+++ b/src/jp2image.cpp
@@ -269,10 +269,15 @@ namespace Exiv2
std::cout << "Exiv2::Jp2Image::readMetadata: "
<< "Color data found" << std::endl;
#endif
- long pad = 3 ; // 3 padding bytes 2 0 0
+ const long pad = 3 ; // 3 padding bytes 2 0 0
DataBuf data(subBox.length+8);
io_->read(data.pData_,data.size_);
- long iccLength = getULong(data.pData_+pad, bigEndian);
+ const long iccLength = getULong(data.pData_+pad, bigEndian);
+ // subtracting pad from data.size_ is safe:
+ // size_ is at least 8 and pad = 3
+ if (iccLength > data.size_ - pad) {
+ throw Error(58);
+ }
DataBuf icc(iccLength);
::memcpy(icc.pData_,data.pData_+pad,icc.size_);
#ifdef DEBUG

View File

@ -1,45 +0,0 @@
Fix CVE-2017-6508:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6508
Patch copied from upstream source repository:
https://git.savannah.gnu.org/cgit/wget.git/commit/?id=4d729e322fae359a1aefaafec1144764a54e8ad4
From 4d729e322fae359a1aefaafec1144764a54e8ad4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
Date: Mon, 6 Mar 2017 10:04:22 +0100
Subject: [PATCH] Fix CRLF injection in Wget host part
* src/url.c (url_parse): Reject control characters in host part of URL
Reported-by: Orange Tsai
---
src/url.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/url.c b/src/url.c
index 8f8ff0b8..7d36b27d 100644
--- a/src/url.c
+++ b/src/url.c
@@ -925,6 +925,17 @@ url_parse (const char *url, int *error, struct iri *iri, bool percent_encode)
url_unescape (u->host);
host_modified = true;
+ /* check for invalid control characters in host name */
+ for (p = u->host; *p; p++)
+ {
+ if (c_iscntrl(*p))
+ {
+ url_free(u);
+ error_code = PE_INVALID_HOST_NAME;
+ goto error;
+ }
+ }
+
/* Apply IDNA regardless of iri->utf8_encode status */
if (opt.enable_iri && iri)
{
--
2.12.0

View File

@ -1,160 +0,0 @@
This patch is from upstream. If a machine is too slow it can cause
test-504.py to fail.
http://git.savannah.gnu.org/cgit/wget.git/patch/?id=ac4fed32204e9ec1874e7cb5ecc55f1b35c1c8de
From ac4fed32204e9ec1874e7cb5ecc55f1b35c1c8de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
Date: Tue, 14 Feb 2017 16:20:26 +0100
Subject: Fix 504 status handling
* src/http.c (gethttp): Move 504 handling to correct place.
(http_loop): Fix memeory leak.
* testenv/server/http/http_server.py: Add Content-Length header on non-2xx
status codes with a body
Reported-by: Adam Sampson
---
src/http.c | 30 +++++++++++-------------------
testenv/server/http/http_server.py | 9 +++++----
2 files changed, 16 insertions(+), 23 deletions(-)
diff --git a/src/http.c b/src/http.c
index 898e184..d2c5c77 100644
--- a/src/http.c
+++ b/src/http.c
@@ -3476,7 +3476,7 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
#ifdef HAVE_METALINK
/* We need to check for the Metalink data in the very first response
- we get from the server (before redirectionrs, authorization, etc.). */
+ we get from the server (before redirections, authorization, etc.). */
if (metalink)
{
hs->metalink = metalink_from_http (resp, hs, u);
@@ -3496,7 +3496,7 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
uerr_t auth_err = RETROK;
bool retry;
/* Normally we are not interested in the response body.
- But if we are writing a WARC file we are: we like to keep everyting. */
+ But if we are writing a WARC file we are: we like to keep everything. */
if (warc_enabled)
{
int _err;
@@ -3556,20 +3556,6 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
pconn.authorized = true;
}
- if (statcode == HTTP_STATUS_GATEWAY_TIMEOUT)
- {
- hs->len = 0;
- hs->res = 0;
- hs->restval = 0;
-
- CLOSE_FINISH (sock);
- xfree (hs->message);
-
- retval = GATEWAYTIMEOUT;
- goto cleanup;
- }
-
-
{
uerr_t ret = check_file_output (u, hs, resp, hdrval, sizeof hdrval);
if (ret != RETROK)
@@ -3910,8 +3896,8 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
retval = _err;
goto cleanup;
}
- else
- CLOSE_FINISH (sock);
+
+ CLOSE_FINISH (sock);
}
else
{
@@ -3934,7 +3920,11 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
CLOSE_INVALIDATE (sock);
}
- retval = RETRFINISHED;
+ if (statcode == HTTP_STATUS_GATEWAY_TIMEOUT)
+ retval = GATEWAYTIMEOUT;
+ else
+ retval = RETRFINISHED;
+
goto cleanup;
}
@@ -4208,6 +4198,8 @@ http_loop (const struct url *u, struct url *original_url, char **newloc,
bring them to "while" statement at the end, to judge
whether the number of tries was exceeded. */
printwhat (count, opt.ntry);
+ xfree (hstat.message);
+ xfree (hstat.error);
continue;
case FWRITEERR: case FOPENERR:
/* Another fatal error. */
diff --git a/testenv/server/http/http_server.py b/testenv/server/http/http_server.py
index e96f6e8..b222df0 100644
--- a/testenv/server/http/http_server.py
+++ b/testenv/server/http/http_server.py
@@ -204,7 +204,6 @@ class _Handler(BaseHTTPRequestHandler):
def Response(self, resp_obj):
self.send_response(resp_obj.response_code)
- self.finish_headers()
if resp_obj.response_code == 304:
raise NoBodyServerError("Conditional get falling to head")
raise ServerError("Custom Response code sent.")
@@ -329,7 +328,6 @@ class _Handler(BaseHTTPRequestHandler):
except AuthError as se:
self.send_response(401, "Authorization Required")
self.send_challenge(auth_rule.auth_type, auth_rule.auth_parm)
- self.finish_headers()
raise se
def handle_auth(self, auth_rule):
@@ -362,7 +360,6 @@ class _Handler(BaseHTTPRequestHandler):
if header_recd is None or header_recd != exp_headers[header_line]:
self.send_error(400, "Expected Header %s not found" %
header_line)
- self.finish_headers()
raise ServerError("Header " + header_line + " not found")
def RejectHeader(self, header_obj):
@@ -372,7 +369,6 @@ class _Handler(BaseHTTPRequestHandler):
if header_recd and header_recd == rej_headers[header_line]:
self.send_error(400, 'Blacklisted Header %s received' %
header_line)
- self.finish_headers()
raise ServerError("Header " + header_line + ' received')
def __log_request(self, method):
@@ -400,6 +396,7 @@ class _Handler(BaseHTTPRequestHandler):
content = self.server.fileSys.get(path)
content_length = len(content)
+
for rule_name in self.rules:
try:
assert hasattr(self, rule_name)
@@ -410,12 +407,16 @@ class _Handler(BaseHTTPRequestHandler):
return(None, None)
except AuthError as ae:
print(ae.__str__())
+ self.finish_headers()
return(None, None)
except NoBodyServerError as nbse:
print(nbse.__str__())
+ self.finish_headers()
return(None, None)
except ServerError as se:
print(se.__str__())
+ self.add_header("Content-Length", content_length)
+ self.finish_headers()
return(content, None)
try:
--
cgit v1.0-41-gc330

View File

@ -1,96 +0,0 @@
This upstream commit adjusts tests for Perl 5.26.
commit 7ffe93cabb181f39ad5091c31ab9f61bd940a55f
Author: Anton Yuzhaninov <citrin+github@citrin.ru>
Date: Wed Apr 5 19:06:42 2017 +0300
Fix perl warnings in tests
* tests/FTPServer.pm: Escape '{' in RE to fix warnings
* tests/FTPTest.pm: Likewise
* tests/HTTPServer.pm: Likewise
* tests/HTTPTest.pm: Likewise
* tests/Test-proxied-https-auth-keepalive.px: Likewise
* tests/Test-proxied-https-auth.px: Likewise
Escape '{' in RE to fix warnings:
Unescaped left brace in regex is deprecated, passed through in regex;
marked by <-- HERE in m/{{ <-- HERE port}}/
diff --git a/tests/FTPServer.pm b/tests/FTPServer.pm
index a5185d66..cac80942 100644
--- a/tests/FTPServer.pm
+++ b/tests/FTPServer.pm
@@ -589,7 +589,7 @@ sub new
foreach my $file (keys %{$self->{_input}})
{
my $ref = \$self->{_input}{$file}{content};
- $$ref =~ s/{{port}}/$self->sockport/eg;
+ $$ref =~ s/\Q{{port}}/$self->sockport/eg;
}
return $self;
diff --git a/tests/FTPTest.pm b/tests/FTPTest.pm
index 50385ad0..0a1c768c 100644
--- a/tests/FTPTest.pm
+++ b/tests/FTPTest.pm
@@ -53,7 +53,7 @@ sub _substitute_port
{
my $self = shift;
my $ret = shift;
- $ret =~ s/{{port}}/$self->{_server}->sockport/eg;
+ $ret =~ s/\Q{{port}}/$self->{_server}->sockport/eg;
return $ret;
}
diff --git a/tests/HTTPServer.pm b/tests/HTTPServer.pm
index dd8ec043..78609f65 100644
--- a/tests/HTTPServer.pm
+++ b/tests/HTTPServer.pm
@@ -310,7 +310,7 @@ sub _substitute_port
{
my $self = shift;
my $ret = shift;
- $ret =~ s/{{port}}/$self->sockport/eg;
+ $ret =~ s/\Q{{port}}/$self->sockport/eg;
return $ret;
}
diff --git a/tests/HTTPTest.pm b/tests/HTTPTest.pm
index 00f079f8..6225c7f1 100644
--- a/tests/HTTPTest.pm
+++ b/tests/HTTPTest.pm
@@ -47,7 +47,7 @@ sub _substitute_port
{
my $self = shift;
my $ret = shift;
- $ret =~ s/{{port}}/$self->{_server}->sockport/eg;
+ $ret =~ s/\Q{{port}}/$self->{_server}->sockport/eg;
return $ret;
}
diff --git a/tests/Test-proxied-https-auth-keepalive.px b/tests/Test-proxied-https-auth-keepalive.px
index 049bebec..2a18ccfd 100755
--- a/tests/Test-proxied-https-auth-keepalive.px
+++ b/tests/Test-proxied-https-auth-keepalive.px
@@ -153,7 +153,7 @@ my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee"
. " --password=Dodgson -e https_proxy=localhost:{{port}}"
. " --no-check-certificate"
. " https://no.such.domain/needs-auth.txt";
-$cmdline =~ s/{{port}}/$SOCKET->sockport()/e;
+$cmdline =~ s/\Q{{port}}/$SOCKET->sockport()/e;
if (defined $srcdir) {
$VALGRIND_SUPP_FILE = $srcdir . '/valgrind-suppressions-ssl';
diff --git a/tests/Test-proxied-https-auth.px b/tests/Test-proxied-https-auth.px
index ce4e736c..878114e7 100755
--- a/tests/Test-proxied-https-auth.px
+++ b/tests/Test-proxied-https-auth.px
@@ -152,7 +152,7 @@ my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee"
. " --password=Dodgson -e https_proxy=localhost:{{port}}"
. " --no-check-certificate"
. " https://no.such.domain/needs-auth.txt";
-$cmdline =~ s/{{port}}/$SOCKET->sockport()/e;
+$cmdline =~ s/\Q{{port}}/$SOCKET->sockport()/e;
if (defined $srcdir) {
$VALGRIND_SUPP_FILE = $srcdir . '/valgrind-suppressions-ssl';

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net> ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
@ -584,7 +584,7 @@ Standard Serial Numbers.")
(define-public perl-business-ismn (define-public perl-business-ismn
(package (package
(name "perl-business-ismn") (name "perl-business-ismn")
(version "1.13") (version "1.131")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -592,7 +592,7 @@ Standard Serial Numbers.")
"Business-ISMN-" version ".tar.gz")) "Business-ISMN-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0cm1v75axg4gp6cnbyavmnqqjscsxh7nc60vcbw34rqivvf9idc9")))) "1xyc7x4c4xl930rz7grs1l52f1vg4rbiv0c6xlxdsim8qsh7k94g"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-tie-cycle" ,perl-tie-cycle))) `(("perl-tie-cycle" ,perl-tie-cycle)))
@ -1165,7 +1165,7 @@ little other than manage the instantiation of a single object.")
(define-public perl-class-tiny (define-public perl-class-tiny
(package (package
(name "perl-class-tiny") (name "perl-class-tiny")
(version "1.000") (version "1.006")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1173,7 +1173,7 @@ little other than manage the instantiation of a single object.")
"Class-Tiny-" version ".tar.gz")) "Class-Tiny-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0jll90byj0nl16hwpf28k54i4n53jidjsj1bnlbx72v0n56qfpb2")))) "0knbi1agcfc9d7fca0szvxr6335pb22pc5n648q1vrcba8qvvz1f"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Class-Tiny/") (home-page "http://search.cpan.org/dist/Class-Tiny/")
(synopsis "Minimalist class construction") (synopsis "Minimalist class construction")
@ -3130,14 +3130,14 @@ self-contained C libraries. This module main goal is to help in that task.")
(define-public perl-extutils-pkgconfig (define-public perl-extutils-pkgconfig
(package (package
(name "perl-extutils-pkgconfig") (name "perl-extutils-pkgconfig")
(version "1.15") (version "1.16")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/" (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
"ExtUtils-PkgConfig-" version ".tar.gz")) "ExtUtils-PkgConfig-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9")))) "0vhwh0731rhh1sswmvagq0myn754dnkab8sizh6d3n6pjpcwxsmv"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -3447,7 +3447,7 @@ the installation.")
(define-public perl-file-sharedir-dist (define-public perl-file-sharedir-dist
(package (package
(name "perl-file-sharedir-dist") (name "perl-file-sharedir-dist")
(version "0.04") (version "0.05")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3455,7 +3455,7 @@ the installation.")
"File-ShareDir-Dist-" version ".tar.gz")) "File-ShareDir-Dist-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"028vnjw3fdmwk540w3b07cmr93ap0s13ni2b4c7iv56mgyy6gfc1")))) "1xkmrckp1qfi9ik098n2vz0r8g7wfwp2y05zjd100w6wcqwfzcpn"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/File-ShareDir-Dist/") (home-page "http://search.cpan.org/dist/File-ShareDir-Dist/")
(synopsis "Locate per-dist shared files") (synopsis "Locate per-dist shared files")
@ -4120,7 +4120,7 @@ versa using either JSON::XS or JSON::PP.")
(define-public perl-json-any (define-public perl-json-any
(package (package
(name "perl-json-any") (name "perl-json-any")
(version "1.38") (version "1.39")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4128,7 +4128,7 @@ versa using either JSON::XS or JSON::PP.")
"JSON-Any-" version ".tar.gz")) "JSON-Any-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mk6shg82i7y852bvj5d0qqma1d9k0jh10k4mg62hbgr800gb2m4")))) "1hspg6khjb38syn59cysnapc1q77qgavfym3fqr6l2kiydf7ajdf"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-fatal" ,perl-test-fatal) `(("perl-test-fatal" ,perl-test-fatal)
@ -4252,7 +4252,7 @@ logging mechanism.")
(define-public perl-log-log4perl (define-public perl-log-log4perl
(package (package
(name "perl-log-log4perl") (name "perl-log-log4perl")
(version "1.47") (version "1.49")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -4262,7 +4262,7 @@ logging mechanism.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0vxraq9navx5mgf8y8g6l5rbl3dv2ml8bishka5m69hj07nxs0ch")))) "05ifhx1lmv91dbs9ck2zbjrkhh8z9g32gi6gxdmwnilia5zihfdp"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page (home-page
"http://search.cpan.org/dist/Log-Log4perl/") "http://search.cpan.org/dist/Log-Log4perl/")
@ -6622,7 +6622,7 @@ and @code{deserialize_regexp}.")
(define-public perl-safe-isa (define-public perl-safe-isa
(package (package
(name "perl-safe-isa") (name "perl-safe-isa")
(version "1.000005") (version "1.000008")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6630,7 +6630,7 @@ and @code{deserialize_regexp}.")
"Safe-Isa-" version ".tar.gz")) "Safe-Isa-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vib54cp64dy3ic4n73skadp1pl4gn8s9qpxmzvi078dm3mpnbcw")))) "08r74hwxq5b3bibnbwjr9anybg15l3zqdgcirpw1xm2qpvcxgdkx"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Safe-Isa/") (home-page "http://search.cpan.org/dist/Safe-Isa/")
(synopsis "Call isa, can, does, and DOES safely") (synopsis "Call isa, can, does, and DOES safely")
@ -6957,7 +6957,7 @@ custom-built routines.")
(define-public perl-sub-exporter-progressive (define-public perl-sub-exporter-progressive
(package (package
(name "perl-sub-exporter-progressive") (name "perl-sub-exporter-progressive")
(version "0.001011") (version "0.001013")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -6965,7 +6965,7 @@ custom-built routines.")
"Sub-Exporter-Progressive-" version ".tar.gz")) "Sub-Exporter-Progressive-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606")))) "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs `(("perl-sub-exporter" ,perl-sub-exporter))) (native-inputs `(("perl-sub-exporter" ,perl-sub-exporter)))
(home-page "http://search.cpan.org/dist/Sub-Exporter-Progressive/") (home-page "http://search.cpan.org/dist/Sub-Exporter-Progressive/")
@ -7134,7 +7134,36 @@ statements: @code{switch} and @code{case}.")
"Sys-CPU-" version ".tar.gz")) "Sys-CPU-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")))) "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5"))
(modules '((guix build utils)))
(snippet
'(begin
;; The contents of /proc/cpuinfo can differ and confuse the
;; cpu_clock and cpu_type methods, so we replace the test
;; with one that marks cpu_clock and cpu_type as TODO.
;; Borrowed from Debian.
(call-with-output-file "t/Sys-CPU.t"
(lambda (port)
(format port "#!/usr/bin/perl
use Test::More tests => 4;
BEGIN { use_ok('Sys::CPU'); }
$number = &Sys::CPU::cpu_count();
ok( defined($number), \"CPU Count: $number\" );
TODO: {
local $TODO = \"/proc/cpuinfo doesn't always report 'cpu MHz' or 'clock' or 'bogomips' ...\";
$speed = &Sys::CPU::cpu_clock();
ok( defined($speed), \"CPU Speed: $speed\" );
}
TODO: {
local $TODO = \"/proc/cpuinfo doesn't always report 'model name' or 'machine' ...\";
$type = &Sys::CPU::cpu_type();
ok( defined($type), \"CPU Type: $type\" );
}~%")))))))
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Perl extension for getting CPU information") (synopsis "Perl extension for getting CPU information")
(description (description
@ -8697,7 +8726,7 @@ algorism to indicate multiplication by 1000.")
(define-public perl-text-table (define-public perl-text-table
(package (package
(name "perl-text-table") (name "perl-text-table")
(version "1.130") (version "1.133")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -8705,7 +8734,7 @@ algorism to indicate multiplication by 1000.")
"Text-Table-" version ".tar.gz")) "Text-Table-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"02c8v38k639r23dgxwgvsy4myjjzvgdb238kpiffsiz25ab3xp5j")))) "04kh5x5inq183rdg221wlqaaqi1ipyj588mxsslik6nhc14f17nd"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))
@ -8813,7 +8842,7 @@ approximately follow the suggestions in the Perl Style Guide.")
(define-public perl-tie-cycle (define-public perl-tie-cycle
(package (package
(name "perl-tie-cycle") (name "perl-tie-cycle")
(version "1.221") (version "1.225")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -8821,7 +8850,7 @@ approximately follow the suggestions in the Perl Style Guide.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"10g6kirf6jfaldckg98y4pl87vrm7grqlg6ymb7a9vhrznyn7qn6")))) "0i9xq2qm50p2ih24265jndp2x8hfq7ap0d88nrlv5yaad4hxhc7k"))))
(build-system perl-build-system) (build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Tie-Cycle/") (home-page "http://search.cpan.org/dist/Tie-Cycle/")
(synopsis "Cycle through a list of values") (synopsis "Cycle through a list of values")

View File

@ -52,7 +52,7 @@
(define-public php (define-public php
(package (package
(name "php") (name "php")
(version "7.1.10") (version "7.1.11")
(home-page "https://secure.php.net/") (home-page "https://secure.php.net/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -60,7 +60,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"02y52ml1svksx6fclg47vim2hnsva3531db7msrhpb9f39vzm3ib")) "0gl9hk4888fjirrd4s73mdabhiqam0c45406a7fgw6njszlr6h07"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "ext" '(with-directory-excursion "ext"

View File

@ -15,7 +15,7 @@
;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com> ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015, 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@ -1098,6 +1098,119 @@ etc.). The package is structured to make adding new modules easy.")
"python" "python"
(package-inputs pycrypto))))))) (package-inputs pycrypto)))))))
(define-public python-humanfriendly
(package
(name "python-humanfriendly")
(version "4.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "humanfriendly" version))
(sha256
(base32
"0pisgizjql86785jchfjv217g0lsgk114g2lja5j4y3lsc3b9szi"))))
(build-system python-build-system)
(arguments
`(;; XXX: Tests depend on coloredlogs, which in turn depends on humanfriendly.
#:tests? #f))
(propagated-inputs
`(("python-monotonic" ,python-monotonic)))
(home-page "https://humanfriendly.readthedocs.io")
(synopsis "Human-friendly input and output in Python")
(description
"The functions and classes in @code{humanfriendly} can be used to make
text interfaces more user-friendly. It includes tools to parse and format
numbers, file sizes, and timespans, timers for long-running operations, menus
to allow the user to choose from a list of options, and terminal interaction
helpers.")
(license license:expat)))
(define-public python2-humanfriendly
(package-with-python2 python-humanfriendly))
(define-public python-capturer
(package
(name "python-capturer")
(version "2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "capturer" version))
(sha256
(base32
"05d6ji4j8ipiq0br7bwam38qc6hd9l1djmfxlzrxx19ziyjl4089"))))
(build-system python-build-system)
(arguments
`(#:tests? #f))
(propagated-inputs
`(("python-humanfriendly" ,python-humanfriendly)))
(home-page "https://capturer.readthedocs.io")
(synopsis "Capture stdout and stderr streams of the current process")
(description
"The capturer package makes it easy to capture the stdout and stderr
streams of the current process and subprocesses. Output can be relayed
to the terminal in real time but is also available to the Python program
for additional processing.")
(license license:expat)))
(define-public python2-capturer
(package-with-python2 python-capturer))
(define-public python-verboselogs
(package
(name "python-verboselogs")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "verboselogs" version))
(sha256
(base32
"09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-astroid" ,python-astroid)
("python-pylint" ,python-pylint)))
(home-page "https://verboselogs.readthedocs.io")
(synopsis "Verbose logging level for Python's logging module")
(description
"The @code{verboselogs} package extends Python's @code{logging} module to
add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
(license license:expat)))
(define-public python2-verboselogs
(package-with-python2 python-verboselogs))
(define-public python-coloredlogs
(package
(name "python-coloredlogs")
(version "7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "coloredlogs" version))
(sha256
(base32
"1blcann6dyg5dhps9pg12rn0q0rjrlajpmmil0gy0j4cbvnl2il9"))))
(build-system python-build-system)
(arguments
`(;Tests require some updated modules
#:tests? #f))
(propagated-inputs
`(("python-capturer" ,python-capturer)))
(home-page "https://coloredlogs.readthedocs.io")
(synopsis "Colored stream handler for Python's logging module")
(description
"The @code{coloredlogs} package enables colored terminal output for
Python's logging module. The @code{ColoredFormatter} class inherits from
@code{logging.Formatter} and uses ANSI escape sequences to render your logging
messages in color.")
(license license:expat)))
(define-public python2-coloredlogs
(package-with-python2 python-coloredlogs))
(define-public python-eventlet (define-public python-eventlet
(package (package
(name "python-eventlet") (name "python-eventlet")
@ -6524,13 +6637,13 @@ of the structure, dynamics, and functions of complex networks.")
(define-public snakemake (define-public snakemake
(package (package
(name "snakemake") (name "snakemake")
(version "3.13.3") (version "4.2.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "snakemake" version)) (uri (pypi-uri "snakemake" version))
(sha256 (sha256
(base32 "1nixb944r4hlskwkzc4wjs34b40xpxpw9gmhhm5p09gvmm22ap5d")))) (base32 "0mgl44q152ws40zj2vicqark5szyd73vqy9pf26g6hk6dk0y0c79"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; TODO: Package missing test dependencies. ;; TODO: Package missing test dependencies.
@ -6549,7 +6662,11 @@ of the structure, dynamics, and functions of complex networks.")
#t))))) #t)))))
(propagated-inputs (propagated-inputs
`(("python-wrapt" ,python-wrapt) `(("python-wrapt" ,python-wrapt)
("python-requests" ,python-requests))) ("python-requests" ,python-requests)
("python-appdirs" ,python-appdirs)
("python-configargparse" ,python-configargparse)
("python-pyyaml" ,python-pyyaml)
("python-ratelimiter" ,python-ratelimiter)))
(home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home") (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home")
(synopsis "Python-based execution environment for make-like workflows") (synopsis "Python-based execution environment for make-like workflows")
(description (description
@ -9186,20 +9303,30 @@ config files.")
(define-public python-configargparse (define-public python-configargparse
(package (package
(name "python-configargparse") (name "python-configargparse")
(version "0.10.0") (version "0.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://pypi.python.org/packages/source/C/ConfigArgParse/" "https://pypi.io/packages/source/C/ConfigArgParse/"
"ConfigArgParse-" version ".tar.gz")) "ConfigArgParse-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"19wh919gbdbzxzpagg52q3lm62yicm95ddlcx77dyjc1slyshl1v")))) "0fgkiqh6r3rbkdq3k8c48m85g52k96686rw3a6jg4lcncrkpvk98"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs
`(("python-pyyaml" ,python-pyyaml)))
(arguments (arguments
;; FIXME: Bug in test suite filed upstream: `(#:phases
;; https://github.com/bw2/ConfigArgParse/issues/32 (modify-phases %standard-phases
'(#:tests? #f)) (replace 'check
(lambda _
;; Bypass setuptools-shim because one test relies on "setup.py"
;; being the first argument passed to the python call.
;;
;; NOTE: Many tests do not run because they rely on Python's
;; built-in test.test_argparse, but we remove the unit tests from
;; our Python installation.
(zero? (system* "python" "setup.py" "test")))))))
(synopsis "Replacement for argparse") (synopsis "Replacement for argparse")
(description "A drop-in replacement for argparse that allows options to also (description "A drop-in replacement for argparse that allows options to also
be set via config files and/or environment variables.") be set via config files and/or environment variables.")
@ -16740,3 +16867,27 @@ interpreter when it prints a stack trace.")
(define-public python2-traceback2 (define-public python2-traceback2
(package-with-python2 python-traceback2)) (package-with-python2 python-traceback2))
(define-public python-ratelimiter
(package
(name "python-ratelimiter")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ratelimiter" version))
(sha256
(base32
"1dhz85mj5bqd2mij84ncs6pz32hgidr79hay4aqfmzaa4rbb497p"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; There are no tests in the pypi archive.
(home-page "https://github.com/RazerM/ratelimiter")
(synopsis "Simple rate limiting object")
(description
"The @code{ratelimiter} module ensures that an operation will not be
executed more than a given number of times during a given period.")
(license license:asl2.0)))
(define-public python2-ratelimiter
(package-with-python2 python-ratelimiter))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,53 +25,95 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cups) #:use-module (gnu packages cups)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pdf)
#: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 qt) #:use-module (gnu packages qt)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages tls)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public scribus (define-public scribus
(package (package
(name "scribus") (name "scribus")
(version "1.5.2") (version "1.5.3")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/scribus/scribus-devel/" (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
version "/scribus-" version ".tar.xz")) version "/scribus-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1xbl7h4x32y2nfhn57ivjziyvlnwadcbizqwfqx5srfsmqiyqppc")))) "0kyp45vidxa3v35ic9592db4zk3m8al26vck38q5v7z14x3hp8vk"))
(patches
(list
(origin
(method url-fetch)
(uri (string-append "https://github.com/scribusproject/scribus/commit/"
"61186c7ef083046b7e0c908952e8a773e2787d82.patch"))
(file-name "scribus-fix-poppler-0.58-breakage.patch")
(sha256
(base32 "189qw9xmgz01xz1w1bi9lzrp399zk1j1iz5qdhchdrhgnd69b7ly")))
(origin
(method url-fetch)
(uri (string-append "https://github.com/scribusproject/scribus/commit/"
"d82b1c989bd0e79b5611521f671adbfb94996e5e.patch"))
(file-name "scribus-fix-poppler-packaging.patch")
(sha256
(base32 "1p9s18jjvj2h0ba1xvk1zhmnn4f4n3ykrgb56mjd6in30h0vrykx")))))
(modules '((guix build utils)))
(snippet
;; Fix typo. Equivalent to patch at
;; https://bugs.scribus.net/view.php?id=14850
'(substitute* "cmake/modules/FindLIBPODOFO.cmake"
(("find_package\\(OPENSSL\\)") "find_package(OpenSSL)")))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ;no test target `(#:tests? #f ;no test target
#:configure-flags #:configure-flags
'("-DCMAKE_CXX_FLAGS=-std=gnu++11"))) '("-DWANT_GRAPHICSMAGICK=1")))
(inputs (inputs
`(("cairo" ,cairo) `(("boost" ,boost)
("cairo" ,cairo)
("cups" ,cups) ("cups" ,cups)
("graphicsmagick" ,graphicsmagick) ("fontconfig" ,fontconfig)
("lcms" ,lcms)
("libjpeg" ,libjpeg)
("libtiff" ,libtiff)
("libxml2" ,libxml2)
("python" ,python-2)
("freetype" ,freetype) ("freetype" ,freetype)
("graphicsmagick" ,graphicsmagick)
("harfbuzz" ,harfbuzz)
("hunspell" ,hunspell)
("icu4c" ,icu4c)
("lcms" ,lcms)
("libcdr" ,libcdr)
("libfreehand" ,libfreehand)
("libjpeg" ,libjpeg)
("libmspub" ,libmspub)
("libpagemaker" ,libpagemaker)
("librevenge" ,librevenge)
("libtiff" ,libtiff)
("libvisio" ,libvisio)
("libxml2" ,libxml2)
("openssl" ,openssl)
("podofo" ,podofo)
("poppler" ,poppler)
("python" ,python-2) ;need Python library
("qtbase" ,qtbase) ("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative) ("qtdeclarative" ,qtdeclarative)
("qttools" ,qttools)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("util-linux" ,util-linux) `(("pkg-config" ,pkg-config)
("pkg-config" ,pkg-config))) ("qttools" ,qttools)
(home-page "http://scribus.net") ("util-linux" ,util-linux)))
(home-page "https://www.scribus.net")
(synopsis "Desktop publishing and page layout program") (synopsis "Desktop publishing and page layout program")
(description (description
"Scribus is a @dfn{desktop publishing} (DTP) application and can be used "Scribus is a @dfn{desktop publishing} (DTP) application and can be used

View File

@ -28,6 +28,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix hg-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 r) #:use-module (guix build-system r)
@ -5071,7 +5072,7 @@ expected shortfall risk are also included.")
(uri (cran-uri "nloptr" version)) (uri (cran-uri "nloptr" version))
(sha256 (sha256
(base32 (base32
"1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089")))) "1sz1xj3785x4vsm4nd6in298bk32hs2jk5nsxma7ivxi7jcmn8l4"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -5467,3 +5468,62 @@ appearance, reversing, and randomly shuffling), and tools for modifying factor
levels (including collapsing rare levels into other, \"anonymizing\", and levels (including collapsing rare levels into other, \"anonymizing\", and
manually \"recoding\").") manually \"recoding\").")
(license license:gpl3))) (license license:gpl3)))
(define-public r-tgstat
(let ((changeset "4f8e60c03598f49aff6f5beeab40f2b995377e9f")
(revision "1"))
(package
(name "r-tgstat")
(version (string-append "1.0.2-" revision "." (string-take changeset 7)))
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://bitbucket.org/tanaylab/tgstat")
(changeset changeset)))
(sha256
(base32
"0ilkkyximy77zbncm91kdfqbxf0qyndg16pd3q3p6a3xc9qcmxvn"))))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-isnan
(lambda _
(substitute* "src/tgstat.h"
(("#define isnan ::isnan")
"#define isnan std::isnan"))
#t)))))
(propagated-inputs
`(("r-rcpp" ,r-rcpp)))
(home-page "https://bitbucket.org/tanaylab/tgstat/")
(synopsis "Tanay's group statistical utilities")
(description
"The goal of tgstat is to provide fast and efficient statistical
tools.")
(license license:gpl2))))
(define-public r-tgconfig
(let ((changeset "1e02c7614713bd0866c46f0c679a058f8c6d627e")
(revision "1"))
(package
(name "r-tgconfig")
(version (string-append "0.0.0.9000-" revision "." (string-take changeset 7)))
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://bitbucket.org/tanaylab/tgconfig")
(changeset changeset)))
(sha256
(base32
"0xy6c7s7mn1yx191154bwbv1bl424bnvc80syqpl1vdl28ba46rj"))))
(build-system r-build-system)
(propagated-inputs
`(("r-yaml" ,r-yaml)))
(home-page "https://bitbucket.org/tanaylab/tgconfig/")
(synopsis "Infrastructure for managing package parameters")
(description
"The goal of tgconfig is to provide infrastructure for managing package
parameters.")
(license license:gpl3))))

View File

@ -21,13 +21,15 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages web)) #:use-module (gnu packages web)
#:use-module (srfi srfi-1))
(define-public newsbeuter (define-public newsbeuter
(package (package
@ -76,3 +78,35 @@ more features. Its user interface is coherent, easy to use, and might look
common to users of @command{mutt} and @command{slrn}.") common to users of @command{mutt} and @command{slrn}.")
(license (list license:gpl2+ ; filter/* (license (list license:gpl2+ ; filter/*
license:x11)))) license:x11))))
(define-public newsboat
(package
(inherit newsbeuter)
(name "newsboat")
(version "2.10.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://newsboat.org/releases/" version
"/newsboat-" version ".tar.xz"))
(sha256
(base32
"1xgqkhpjbq916g9hkaxs0s2fz8bg103pzjx75ziq5ba688l9imj4"))))
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure) ; no configure
(add-after 'build 'build-documentation
(lambda _ (zero? (system* "make" "doc")))))
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
;; see https://github.com/newsboat/newsboat/issues/43
"WARNFLAGS=-Wno-sign-compare")
#:test-target "test"))
(native-inputs
`(("asciidoc" ,asciidoc)
,@(alist-delete "ruby" (package-native-inputs newsbeuter))))
(home-page "https://newsboat.org/")
(description "Newsboat is a fork of Newsbeuter, an RSS/Atom feed reader for
the text console. It supports OPML import/exports, HTML rendering, podcast
(podboat), offline reading, searching and storing articles to your filesystem,
and many more features. Its user interface is coherent, easy to use, and might
look common to users of @command{mutt} and @command{slrn}.")))

View File

@ -38,12 +38,12 @@
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/symless/synergy/archive/" (uri (string-append "https://github.com/symless/synergy-core/archive/"
"v" version "-stable.tar.gz")) "v" version "-stable.tar.gz"))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"16vxbly4a33c63da3kmj7j47cam583l7bip33jc43mw173wqihw5")) "052z1yiwck9hlshf8in2dgz6p7jxmq9yfj32mfzjaygpz6mmmr4y"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove ~14MB of unnecessary bundled source and binaries ;; Remove ~14MB of unnecessary bundled source and binaries

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; ;;;
@ -27,6 +28,7 @@
(define-module (gnu packages terminals) (define-module (gnu packages terminals)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build utils) #:use-module (guix build utils)
#: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 (guix build-system python) #:use-module (guix build-system python)
@ -51,6 +53,7 @@
#:use-module (gnu packages wm) #:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-26)) #:use-module (srfi srfi-26))
(define-public tilda (define-public tilda
@ -537,3 +540,33 @@ eye-candy, customizable, and reasonably lightweight.")
license:silofl1.1 license:silofl1.1
license:x11 license:x11
license:bsd-3))))) license:bsd-3)))))
(define-public sakura
(package
(name "sakura")
(version "3.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/" name "/trunk/"
version "/+download/" name "-" version
".tar.bz2"))
(sha256
(base32
"0fhcn3540iw22l5zg3njh5z8cj0g2n9p6fvagjqa5zc323jfsc7b"))))
(build-system cmake-build-system)
(arguments
;; no check phase
'(#:tests? #f))
(native-inputs
`(("gettext" ,gettext-minimal)
("perl" ,perl) ; for pod2man
("pkg-config" ,pkg-config)))
(inputs
`(("libxft" ,libxft)
("vte" ,vte)))
(home-page "https://launchpad.net/sakura")
(synopsis "A simple but powerful libvte-based terminal emulator")
(description "@code{Sakura} is a terminal emulator based on GTK+ and VTE.
It's a terminal emulator with few dependencies, so you don't need a full GNOME
desktop installed to have a decent terminal emulator.")
(license license:gpl2)))

View File

@ -1328,15 +1328,15 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
(define-public tig (define-public tig
(package (package
(name "tig") (name "tig")
(version "2.2") (version "2.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://jonas.nitro.dk/tig/releases/tig-" "https://github.com/jonas/tig/releases/download/tig-"
version ".tar.gz")) version "/tig-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0k3m894vfkgkj7xbr0j6ph91351dl6id5f0hk2ksjp5lmg9i6llg")))) "1vf02snz8qiiqiyqss1z63rzzmwbrc9agcgh21jdq13rja306vv8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("asciidoc" ,asciidoc) `(("asciidoc" ,asciidoc)
@ -1351,8 +1351,8 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
(lambda _ (lambda _
(zero? (system* "make" "install-doc"))))) (zero? (system* "make" "install-doc")))))
#:tests? #f)) ; tests require access to /dev/tty #:tests? #f)) ; tests require access to /dev/tty
;;`(#:test-target "test")) ;; #:test-target "test"))
(home-page "http://jonas.nitro.dk/tig/") (home-page "https://jonas.github.io/tig/")
(synopsis "Ncurses-based text user interface for Git") (synopsis "Ncurses-based text user interface for Git")
(description (description
"Tig is an ncurses text user interface for Git, primarily intended as "Tig is an ncurses text user interface for Git, primarily intended as

View File

@ -11,7 +11,7 @@
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com> ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com> ;;; Copyright © 2017 Feng Shu <tumashu@163.com>
@ -49,6 +49,7 @@
#:use-module (guix build-system cmake) #: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 (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system waf) #:use-module (guix build-system waf)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -68,6 +69,7 @@
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
@ -585,18 +587,19 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg (define-public ffmpeg
(package (package
(name "ffmpeg") (name "ffmpeg")
(version "3.3.4") (version "3.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-" (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0mx9dvad3lkyhvsrblf280x2bz6dxajya1ylnspbdzldj0dpxfcq")))) "1vzvpx8ixy8m44f8qwp833hv253hpghybgzbc4n8b3div3j0dvmf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("fontconfig" ,fontconfig) `(("fontconfig" ,fontconfig)
("freetype" ,freetype) ("freetype" ,freetype)
("frei0r-plugins" ,frei0r-plugins)
("gnutls" ,gnutls) ("gnutls" ,gnutls)
("opus" ,opus) ("opus" ,opus)
("ladspa" ,ladspa) ("ladspa" ,ladspa)
@ -636,7 +639,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
;; possible additional inputs: ;; possible additional inputs:
;; --enable-avisynth enable reading of AviSynth script ;; --enable-avisynth enable reading of AviSynth script
;; files [no] ;; files [no]
;; --enable-frei0r enable frei0r video filtering
;; --enable-libaacplus enable AAC+ encoding via libaacplus [no] ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
;; --enable-libcelt enable CELT decoding via libcelt [no] ;; --enable-libcelt enable CELT decoding via libcelt [no]
;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
@ -684,6 +686,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
'("--enable-avresample" '("--enable-avresample"
"--enable-gpl" ; enable optional gpl licensed parts "--enable-gpl" ; enable optional gpl licensed parts
"--enable-shared" "--enable-shared"
"--enable-frei0r"
"--enable-fontconfig" "--enable-fontconfig"
"--enable-gnutls" "--enable-gnutls"
"--enable-ladspa" "--enable-ladspa"
@ -751,6 +754,19 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.") audio/video codec library.")
(license license:gpl2+))) (license license:gpl2+)))
;; XXX: Remove this when gst-libav and qtox supports 3.4.
(define-public ffmpeg-3.3
(package
(inherit ffmpeg)
(version "3.3.5")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"00nq8ng2p16yb48acargaz1hlp9kq24vfwvkqjlslz4a7864k4x8"))))))
(define-public ffmpeg-2.8 (define-public ffmpeg-2.8
(package (package
(inherit ffmpeg) (inherit ffmpeg)
@ -1050,7 +1066,7 @@ projects while introducing many more.")
(define-public gnome-mpv (define-public gnome-mpv
(package (package
(name "gnome-mpv") (name "gnome-mpv")
(version "0.12") (version "0.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1059,7 +1075,7 @@ projects while introducing many more.")
".tar.xz")) ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0dcnz9vlf791v8d15j7hpymv87h6nb15alww6xjq0zpal5hi44kc")))) "1w944ymyssgfcjiczrq4saig90crw9b9hhdsnchfbjsw173qi8n5"))))
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -1116,7 +1132,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 "2017.10.20") (version "2017.10.29")
(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/"
@ -1124,7 +1140,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0npr8b1xg1dylz717kfllw433h1y16251npzch48lchq69bhm4iy")))) "1yajwi2cr8j05j1rn61gs7yrr93nri4cq8n4zkb3w4a8413h7q4g"))))
(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
@ -1233,7 +1249,7 @@ other site that youtube-dl supports.")
(define-public you-get (define-public you-get
(package (package
(name "you-get") (name "you-get")
(version "0.4.915") (version "0.4.939")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1242,7 +1258,7 @@ other site that youtube-dl supports.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"147qf8kdxjv9003fgx50ws0rmjjq98sv11q6c3sdwd29zylaj1ql")))) "1amkdfnjn2j4k7jlr7qw9mg5whd7dy6z1flh5cd0n9v3d4m7k0c5"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; no tests ;; no tests
@ -2472,3 +2488,113 @@ tools for styling them, including a built-in real-time video preview.")
; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE ; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE
; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author ; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author
(define-public gst-transcoder
(package
(name "gst-transcoder")
(version "1.12.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pitivi/gst-transcoder/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9"))))
(build-system meson-build-system)
(inputs
`(("gobject-introspection" ,gobject-introspection)
("glib" ,glib)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)))
(native-inputs
`(("python" ,python)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/pitivi/gst-transcoder/")
(synopsis "GStreamer Transcoding API")
(description "GStreamer Transcoding API")
(license license:lgpl2.1)))
(define-public gavl
(package
(name "gavl")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gmerlin/"
name "/" version "/"
name "-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1kikkn971a14zzm7svi7190ldc14fjai0xyhpbcmp48s750sraji"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("LIBS=-lm")))
(native-inputs
`(("pkg-config" ,pkg-config)
("doxygen" ,doxygen)))
(home-page "http://gmerlin.sourceforge.net")
(synopsis "Low level library for multimedia API building")
(description
"Gavl is short for Gmerlin Audio Video Library. It is a low level
library, upon which multimedia APIs can be built. Gavl handles all the
details of audio and video formats like colorspaces, sample rates,
multichannel configurations, etc. It provides standardized definitions for
those formats as well as container structures for carrying audio samples or
video images inside an application.
In addition, it handles the sometimes ugly task of converting between all
these formats and provides some elementary operations (copying, scaling,
alpha blending etc).")
(license license:gpl3)))
(define-public frei0r-plugins
(package
(name "frei0r-plugins")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/frei0r/"
"frei0r-plugins-" version ".tar.gz"))
(sha256
(base32
"0pji26fpd0dqrx1akyhqi6729s394irl73dacnyxk58ijqq4dhp0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autotools
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
;; TODO: opencv for additional face detection filters
(inputs
`(("gavl" ,gavl)
("cairo" ,cairo)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libtool" ,libtool)
("automake" ,automake)
("autoconf" ,autoconf)))
(home-page "https://www.dyne.org/software/frei0r/")
(synopsis "Minimalistic plugin API for video effects")
(description
"Frei0r is a minimalistic plugin API for video effects.
The main emphasis is on simplicity for an API that will round up
the most common video effects into simple filters, sources and
mixers that can be controlled by parameters. Frei0r wants to
provide a way to share these simple effects between many
applications, avoiding their reimplementation by different projects.
It counts more than 100 plugins.")
(license (list license:gpl2+
;; The following files are licensed as LGPL2.1+:
;; src/generator/ising0r/ising0r.c
;; src/generator/onecol0r/onecol0r.cpp
;; src/generator/nois0r/nois0r.cpp
;; src/generator/lissajous0r/lissajous0r.cpp
;; src/filter/ndvi/gradientlut.hpp
;; src/filter/ndvi/ndvi.cpp
;; src/filter/facedetect/facedetect.cpp
license:lgpl2.1+))))

View File

@ -275,7 +275,7 @@ all common programming languages. Vala bindings are also provided.")
(define-public lxc (define-public lxc
(package (package
(name "lxc") (name "lxc")
(version "2.0.8") (version "2.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -283,7 +283,7 @@ all common programming languages. Vala bindings are also provided.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15449r56rqg3487kzsnfvz0w4p5ajrq0krcsdh6c9r6g0ark93hd")))) "1xpghrinxhm2072fwmn42pxhjwh7qx6cbsipw4s6g38a8mkklrk8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -509,9 +509,12 @@ virtualization library.")
;; Some of the tests seem to require network access to install virtual ;; Some of the tests seem to require network access to install virtual
;; machines. ;; machines.
#:tests? #f #:tests? #f
#:imported-modules ((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules ((ice-9 match) #:modules ((ice-9 match)
(srfi srfi-26) (srfi srfi-26)
(guix build python-build-system) (guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils)) (guix build utils))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -545,9 +548,14 @@ virtualization library.")
`("GI_TYPELIB_PATH" ":" prefix `("GI_TYPELIB_PATH" ":" prefix
,(filter identity paths)))) ,(filter identity paths))))
bin-files)) bin-files))
#t))))) #t))
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(inputs (inputs
`(("gtk+" ,gtk+) `(("dconf" ,dconf)
("gtk+" ,gtk+)
("gtk-vnc" ,gtk-vnc) ("gtk-vnc" ,gtk-vnc)
("libvirt" ,libvirt) ("libvirt" ,libvirt)
("libvirt-glib" ,libvirt-glib) ("libvirt-glib" ,libvirt-glib)

View File

@ -15,7 +15,7 @@
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -2391,7 +2391,7 @@ composed of HTML::Element style components.")
(define-public perl-html-lint (define-public perl-html-lint
(package (package
(name "perl-html-lint") (name "perl-html-lint")
(version "2.20") (version "2.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2399,7 +2399,7 @@ composed of HTML::Element style components.")
"HTML-Lint-" version ".tar.gz")) "HTML-Lint-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15vrqjnlb0f8rib1kqdf4islqy6i33h08wy7b1bkgd550p7lfjwk")))) "02vi1s4sw3hjnndxd6s91cp54iw5pg8n5kl9v0109dfxzn1n9bnl"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("perl-html-parser" ,perl-html-parser) `(("perl-html-parser" ,perl-html-parser)
@ -2586,15 +2586,15 @@ jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
(define-public perl-http-cookies (define-public perl-http-cookies
(package (package
(name "perl-http-cookies") (name "perl-http-cookies")
(version "6.01") (version "6.04")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-" "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm")))) "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("perl-http-message" ,perl-http-message))) `(("perl-http-message" ,perl-http-message)))
@ -3331,7 +3331,7 @@ either mocked HTTP or a locally spawned server.")
(define-public perl-test-www-mechanize (define-public perl-test-www-mechanize
(package (package
(name "perl-test-www-mechanize") (name "perl-test-www-mechanize")
(version "1.44") (version "1.48")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3339,7 +3339,7 @@ either mocked HTTP or a locally spawned server.")
"Test-WWW-Mechanize-" version ".tar.gz")) "Test-WWW-Mechanize-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"062pj242vsc73bw11jqpap92ax9wzc9f2m4xhyp1wzrwkfchpl2q")))) "1d11fx9155d5v17d5w7q3kj37b01l8yj2yb0g6b0z1vh938rrlcr"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-exception" ,perl-test-exception))) `(("perl-test-exception" ,perl-test-exception)))
@ -3399,7 +3399,7 @@ testing of Catalyst applications without needing to start up a web server.")
(define-public perl-test-www-mechanize-psgi (define-public perl-test-www-mechanize-psgi
(package (package
(name "perl-test-www-mechanize-psgi") (name "perl-test-www-mechanize-psgi")
(version "0.35") (version "0.37")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3407,7 +3407,7 @@ testing of Catalyst applications without needing to start up a web server.")
"Test-WWW-Mechanize-PSGI-" version ".tar.gz")) "Test-WWW-Mechanize-PSGI-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc")))) "0c9a9w0d2whadnrich7f09w37fgq5hws4gq04zgz4jsdjcvr3qv2"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-test-pod" ,perl-test-pod))) `(("perl-test-pod" ,perl-test-pod)))
@ -3471,7 +3471,7 @@ and time-saving way.")
(define-public perl-uri-find (define-public perl-uri-find
(package (package
(name "perl-uri-find") (name "perl-uri-find")
(version "20140709") (version "20160806")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3479,7 +3479,7 @@ and time-saving way.")
"URI-Find-" version ".tar.gz")) "URI-Find-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0czc4h182s7sx3k123m7qlg7yybnwxgh369hap3c3b6xgrglrhy0")))) "1mk3jv8x0mcq3ajrn9garnxd0jc7sw4pkwqi88r5apqvlljs84z2"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))

View File

@ -54,14 +54,14 @@
(define-public webkitgtk (define-public webkitgtk
(package (package
(name "webkitgtk") (name "webkitgtk")
(version "2.18.1") (version "2.18.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/" (uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"15fp7szmkpannx7avsynf0nv3y343qwq0fvq3rz2m2mw5wq7pnww")))) "1ry8zvv6k01g9p7agg326n0ziqpqjxd49h5w1b2is6rjnpqv6k5i"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no tests '(#:tests? #f ; no tests

View File

@ -21,6 +21,7 @@
(define-module (gnu packages wget) (define-module (gnu packages wget)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -34,18 +35,15 @@
(define-public wget (define-public wget
(package (package
(name "wget") (name "wget")
(version "1.19.1") (version "1.19.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/wget/wget-" (uri (string-append "mirror://gnu/wget/wget-"
version ".tar.xz")) version ".tar.lz"))
(patches (search-patches "wget-CVE-2017-6508.patch"
"wget-fix-504-test-timeout.patch"
"wget-perl-5.26.patch"))
(sha256 (sha256
(base32 (base32
"1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c")))) "01yzal7xm85543x02bij3capnigr063d6c5vc039f8n5s9d796nm"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases
@ -65,7 +63,8 @@
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("libidn2" ,libidn2) ("libidn2" ,libidn2)
("libpsl" ,libpsl))) ("libpsl" ,libpsl)
("lzip" ,lzip)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("perl" ,perl) ("perl" ,perl)

View File

@ -55,14 +55,14 @@
(define-public wine (define-public wine
(package (package
(name "wine") (name "wine")
(version "2.0.2") (version "2.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/2.0" (uri (string-append "https://dl.winehq.org/wine/source/2.0"
"/wine-" version ".tar.xz")) "/wine-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16iwf48cfi39aqyy8131jz4x7lr551c9yc0mnks7g24j77sq867p")))) "0mmyc94r5drffir8zr8jx6iawhgfzjk96fj494aa18vhz1jcc4d8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
@ -157,7 +157,7 @@ integrate Windows applications into your desktop.")
,@(strip-keyword-arguments '(#:configure-flags #:system) ,@(strip-keyword-arguments '(#:configure-flags #:system)
(package-arguments wine)))) (package-arguments wine))))
(synopsis "Implementation of the Windows API (64-bit version)") (synopsis "Implementation of the Windows API (64-bit version)")
(supported-systems '("x86_64-linux")))) (supported-systems '("x86_64-linux" "aarch64-linux"))))
;; TODO: This is wine development version, provided for historical reasons. ;; TODO: This is wine development version, provided for historical reasons.
;; We can remove it as soon as a new stable release is out. ;; We can remove it as soon as a new stable release is out.

View File

@ -361,7 +361,7 @@ module.")
(define-public perl-xml-libxml (define-public perl-xml-libxml
(package (package
(name "perl-xml-libxml") (name "perl-xml-libxml")
(version "2.0128") (version "2.0132")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -369,7 +369,7 @@ module.")
"XML-LibXML-" version ".tar.gz")) "XML-LibXML-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0awgd2gjzy7kn38bqblsigikzl81xsi561phkz9f9b9v3x2vmrr6")))) "0xnl281hb590i287fxpl947f1s4zl9dnvc4ajvsqi89w23im453j"))))
(build-system perl-build-system) (build-system perl-build-system)
(propagated-inputs (propagated-inputs
`(("perl-xml-namespacesupport" ,perl-xml-namespacesupport) `(("perl-xml-namespacesupport" ,perl-xml-namespacesupport)

View File

@ -5170,6 +5170,12 @@ over Xlib, including:
;; It's not used anyway, so set it to empty. ;; It's not used anyway, so set it to empty.
"--with-default-font-path=" "--with-default-font-path="
;; The default is to use "uname -srm", which captures the kernel
;; version and makes builds non-reproducible.
"--with-os-name=GNU"
"--with-os-vendor=GuixSD" ;not strictly needed, but looks nice
;; For the log file, etc. ;; For the log file, etc.
"--localstatedir=/var" "--localstatedir=/var"
@ -5179,8 +5185,7 @@ over Xlib, including:
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before (add-before 'configure 'pre-configure
'configure 'pre-configure
(lambda _ (lambda _
(substitute* (find-files "." "\\.c$") (substitute* (find-files "." "\\.c$")
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
@ -5189,6 +5194,15 @@ over Xlib, including:
(substitute* "hw/xfree86/Makefile.in" (substitute* "hw/xfree86/Makefile.in"
(("\\$\\(MKDIR_P\\).*logdir.*") (("\\$\\(MKDIR_P\\).*logdir.*")
"true\n")) "true\n"))
;; Strip timestamps that would otherwise end up in the 'Xorg'
;; binary.
(substitute* "configure"
(("^BUILD_DATE=.*$")
"BUILD_DATE=19700101\n")
(("^BUILD_TIME=.*$")
"BUILD_TIME=000001\n"))
#t))))) #t)))))
(home-page "https://www.x.org/wiki/") (home-page "https://www.x.org/wiki/")
(synopsis "Xorg implementation of the X Window System") (synopsis "Xorg implementation of the X Window System")
@ -5909,7 +5923,7 @@ basic eye-candy effects.")
(define-public xpra (define-public xpra
(package (package
(name "xpra") (name "xpra")
(version "2.1.2") (version "2.1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5917,7 +5931,7 @@ basic eye-candy effects.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0a5ffs6gm7j7vzqdbhfmjn9z8qxm9m9as7a1vjmjx63yxv9jqihn")))) "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm"))))
(build-system python-build-system) (build-system python-build-system)
(inputs `(("ffmpeg", ffmpeg) (inputs `(("ffmpeg", ffmpeg)
("flac", flac) ("flac", flac)

View File

@ -219,7 +219,7 @@ packages defined in installation-os."
(image (system-disk-image (image (system-disk-image
(operating-system-with-gc-roots (operating-system-with-gc-roots
os (list target)) os (list target))
#:disk-image-size (* 1500 MiB) #:disk-image-size 'guess
#:file-system-type #:file-system-type
installation-disk-image-file-system-type))) installation-disk-image-file-system-type)))
(define install (define install

View File

@ -171,7 +171,7 @@ respectively."
(setenv "GOPATH" (string-append (getcwd) ":" (getenv "GOPATH"))) (setenv "GOPATH" (string-append (getcwd) ":" (getenv "GOPATH")))
(setenv "GOPATH" (getcwd))) (setenv "GOPATH" (getcwd)))
;; Where to install compiled executable files ('commands' in Go parlance'). ;; Where to install compiled executable files ('commands' in Go parlance').
(setenv "GOBIN" out) (setenv "GOBIN" (string-append out "/bin"))
#t)) #t))
(define* (build #:key import-path #:allow-other-keys) (define* (build #:key import-path #:allow-other-keys)

View File

@ -176,28 +176,63 @@
"ftp://mirrors.go-part.com/xorg/" "ftp://mirrors.go-part.com/xorg/"
"http://x.cs.pu.edu.tw/" "http://x.cs.pu.edu.tw/"
"ftp://ftp.is.co.za/pub/x.org") ; South Africa "ftp://ftp.is.co.za/pub/x.org") ; South Africa
(cpan ; from http://www.cpan.org/SITES.html (cpan
"http://mirror.ibcp.fr/pub/CPAN/"
"ftp://ftp.ciril.fr/pub/cpan/"
"ftp://artfiles.org/cpan.org/"
"http://www.cpan.org/" "http://www.cpan.org/"
"ftp://cpan.rinet.ru/pub/mirror/CPAN/" "http://cpan.metacpan.org/"
"ftp://cpan.inode.at/" ;; A selection of HTTP mirrors from http://www.cpan.org/SITES.html.
"ftp://cpan.iht.co.il/" ;; Europe.
"ftp://ftp.osuosl.org/pub/CPAN/" "http://ftp.belnet.be/mirror/ftp.cpan.org/"
"ftp://ftp.nara.wide.ad.jp/pub/CPAN/" "http://mirrors.nic.cz/CPAN/"
"http://mirrors.163.com/cpan/" "http://mirror.ibcp.fr/pub/CPAN/"
"ftp://cpan.mirror.ac.za/" "http://ftp.ntua.gr/pub/lang/perl/"
"http://cpan.mirrors.ionfish.org/" "http://kvin.lv/pub/CPAN/"
"http://cpan.mirror.dkm.cz/pub/CPAN/" "http://mirror.as43289.net/pub/CPAN/"
"http://cpan.mirror.iphh.net/" "http://cpan.cs.uu.nl/"
"http://mirrors.teentelecom.net/CPAN/" "http://cpan.uib.no/"
"http://mirror.teklinks.com/CPAN/" "http://cpan-mirror.rbc.ru/pub/CPAN/"
"http://cpan.weepeetelecom.be/" "http://mirror.sbb.rs/CPAN/"
"http://mirrors.xservers.ro/CPAN/" "http://cpan.lnx.sk/"
"http://cpan.yimg.com/" "http://ftp.rediris.es/mirror/CPAN/"
"http://mirror.yazd.ac.ir/cpan/" "http://mirror.ox.ac.uk/sites/www.cpan.org/"
"http://ftp.belnet.be/ftp.cpan.org/") ;; Africa.
"http://mirror.liquidtelecom.com/CPAN/"
"http://cpan.mirror.ac.za/"
"http://mirror.is.co.za/pub/cpan/"
"http://cpan.saix.net/"
"http://mirror.ucu.ac.ug/cpan/"
;; North America.
"http://mirrors.gossamer-threads.com/CPAN/"
"http://mirror.csclub.uwaterloo.ca/CPAN/"
"http://mirrors.ucr.ac.cr/CPAN/"
"http://www.msg.com.mx/CPAN/"
"http://mirrors.namecheap.com/CPAN/"
"http://mirror.uic.edu/CPAN/"
"http://mirror.datapipe.net/CPAN/"
"http://mirror.cc.columbia.edu/pub/software/cpan/"
"http://mirror.uta.edu/CPAN/"
;; South America.
"http://cpan.mmgdesigns.com.ar/"
"http://mirror.nbtelecom.com.br/CPAN/"
"http://linorg.usp.br/CPAN/"
"http://cpan.dcc.uchile.cl/"
"http://mirror.cedia.org.ec/CPAN/"
;; Oceania.
"http://cpan.mirror.serversaustralia.com.au/"
"http://mirror.waia.asn.au/pub/cpan/"
"http://mirror.as24220.net/pub/cpan/"
"http://cpan.lagoon.nc/pub/CPAN/"
"http://cpan.inspire.net.nz/"
;; Asia.
"http://mirror.dhakacom.com/CPAN/"
"http://mirrors.ustc.edu.cn/CPAN/"
"http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/"
"http://kambing.ui.ac.id/cpan/"
"http://cpan.hostiran.ir/"
"http://ftp.nara.wide.ad.jp/pub/CPAN/"
"http://mirror.neolabs.kz/CPAN/"
"http://cpan.nctu.edu.tw/"
"http://cpan.ulak.net.tr/"
"http://mirrors.vinahost.vn/CPAN/")
(cran (cran
;; Arbitrary mirrors from http://cran.r-project.org/mirrors.html ;; Arbitrary mirrors from http://cran.r-project.org/mirrors.html
;; This one automatically redirects to servers worldwide ;; This one automatically redirects to servers worldwide

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -115,7 +116,7 @@ or #f on failure. MODULE should be e.g. \"Test::Script\""
(json-fetch (string-append "https://fastapi.metacpan.org/v1/release/" name))) (json-fetch (string-append "https://fastapi.metacpan.org/v1/release/" name)))
(define (cpan-home name) (define (cpan-home name)
(string-append "http://search.cpan.org/dist/" name)) (string-append "http://search.cpan.org/dist/" name "/"))
(define (cpan-source-url meta) (define (cpan-source-url meta)
"Return the download URL for a module's source tarball." "Return the download URL for a module's source tarball."
@ -242,9 +243,9 @@ META."
;; have not yet had a need for cross-compiled perl ;; have not yet had a need for cross-compiled perl
;; modules, however, so we leave it out. ;; modules, however, so we leave it out.
(convert-inputs '("configure" "build" "test"))) (convert-inputs '("configure" "build" "test")))
,@(maybe-inputs 'inputs ,@(maybe-inputs 'propagated-inputs
(convert-inputs '("runtime"))) (convert-inputs '("runtime")))
(home-page ,(string-append "http://search.cpan.org/dist/" name)) (home-page ,(cpan-home name))
(synopsis ,(assoc-ref meta "abstract")) (synopsis ,(assoc-ref meta "abstract"))
(description fill-in-yourself!) (description fill-in-yourself!)
(license ,(string->license (assoc-ref meta "license")))))) (license ,(string->license (assoc-ref meta "license"))))))

View File

@ -80,8 +80,11 @@ NAMES (strings)."
(cut string-append <> "/archive-contents")))) (cut string-append <> "/archive-contents"))))
(if url (if url
;; Use a relatively small TTL for the archive itself. ;; Use a relatively small TTL for the archive itself.
(parameterize ((%http-cache-ttl (* 6 3600))) (let* ((port (http-fetch/cached (string->uri url)
(call-with-downloaded-file url read)) #:ttl (* 6 3600)))
(data (read port)))
(close-port port)
data)
(leave (G_ "~A: currently not supported~%") repo)))) (leave (G_ "~A: currently not supported~%") repo))))
(define* (call-with-downloaded-file url proc #:optional (error-thunk #f)) (define* (call-with-downloaded-file url proc #:optional (error-thunk #f))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,6 +20,7 @@
(define-module (guix import github) (define-module (guix import github)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (json) #:use-module (json)
#:use-module (guix utils) #:use-module (guix utils)
@ -182,7 +184,14 @@ https://github.com/settings/tokens"))
(define (latest-release pkg) (define (latest-release pkg)
"Return an <upstream-source> for the latest release of PKG." "Return an <upstream-source> for the latest release of PKG."
(let* ((source-uri (origin-uri (package-source pkg))) (define (origin-github-uri origin)
(match (origin-uri origin)
((? string? url)
url) ;surely a github.com URL
((urls ...)
(find (cut string-contains <> "github.com") urls))))
(let* ((source-uri (origin-github-uri (package-source pkg)))
(name (package-name pkg)) (name (package-name pkg))
(newest-version (latest-released-version source-uri name))) (newest-version (latest-released-version source-uri name)))
(if newest-version (if newest-version

View File

@ -67,11 +67,13 @@ reporting."
(define* (parse-command-line args options seeds (define* (parse-command-line args options seeds
#:key #:key
(build-options? #t)
(argument-handler %default-argument-handler)) (argument-handler %default-argument-handler))
"Parse the command-line arguments ARGS as well as arguments passed via the "Parse the command-line arguments ARGS according to OPTIONS (a list of
'GUIX_BUILD_OPTIONS' environment variable according to OPTIONS (a list of SRFI-37 options) and return the result, seeded by SEEDS. When BUILD-OPTIONS?
SRFI-37 options) and return the result, seeded by SEEDS. is true, also pass arguments passed via the 'GUIX_BUILD_OPTIONS' environment
Command-line options take precedence those passed via 'GUIX_BUILD_OPTIONS'. variable. Command-line options take precedence those passed via
'GUIX_BUILD_OPTIONS'.
ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc' ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc'
parameter of 'args-fold'." parameter of 'args-fold'."
@ -85,7 +87,9 @@ parameter of 'args-fold'."
(call-with-values (call-with-values
(lambda () (lambda ()
(parse-options-from (environment-build-options) seeds)) (if build-options?
(parse-options-from (environment-build-options) seeds)
(apply values seeds)))
(lambda seeds (lambda seeds
;; ARGS take precedence over what the environment variable specifies. ;; ARGS take precedence over what the environment variable specifies.
(parse-options-from args seeds)))) (parse-options-from args seeds))))

View File

@ -210,6 +210,20 @@ inconclusive reports."
(report (G_ "~a contents match:~%") item) (report (G_ "~a contents match:~%") item)
(report-hashes item local narinfos))))) (report-hashes item local narinfos)))))
(define (summarize-report-list reports)
"Display the overall summary of REPORTS."
(let ((total (length reports))
(inconclusive (count comparison-report-inconclusive? reports))
(matches (count comparison-report-match? reports))
(discrepancies (count comparison-report-mismatch? reports)))
(report (G_ "~h store items were analyzed:~%") total)
(report (G_ " - ~h (~,1f%) were identical~%")
matches (* 100. (/ matches total)))
(report (G_ " - ~h (~,1f%) differed~%")
discrepancies (* 100. (/ discrepancies total)))
(report (G_ " - ~h (~,1f%) were inconclusive~%")
inconclusive (* 100. (/ inconclusive total)))))
;;; ;;;
;;; Command-line options. ;;; Command-line options.
@ -264,7 +278,8 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n"))
(define (guix-challenge . args) (define (guix-challenge . args)
(with-error-handling (with-error-handling
(let* ((opts (parse-command-line args %options (list %default-options))) (let* ((opts (parse-command-line args %options (list %default-options)
#:build-options? #f))
(files (filter-map (match-lambda (files (filter-map (match-lambda
(('argument . file) file) (('argument . file) file)
(_ #f)) (_ #f))
@ -292,6 +307,8 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n"))
(reports (compare-contents items urls))) (reports (compare-contents items urls)))
(for-each (cut summarize-report <> #:verbose? verbose?) (for-each (cut summarize-report <> #:verbose? verbose?)
reports) reports)
(report "\n")
(summarize-report-list reports)
(exit (cond ((any comparison-report-mismatch? reports) 2) (exit (cond ((any comparison-report-mismatch? reports) 2)
((every comparison-report-match? reports) 0) ((every comparison-report-match? reports) 0)

View File

@ -159,12 +159,8 @@ Invoke the garbage collector.\n"))
(define (guix-gc . args) (define (guix-gc . args)
(define (parse-options) (define (parse-options)
;; Return the alist of option values. ;; Return the alist of option values.
(args-fold* args %options (parse-command-line args %options (list %default-options)
(lambda (opt name arg result) #:build-options? #f))
(leave (G_ "~A: unrecognized option~%") name))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(define (symlink-target file) (define (symlink-target file)
(let ((s (false-if-exception (lstat file)))) (let ((s (false-if-exception (lstat file))))

View File

@ -417,7 +417,7 @@ substitutes."
;; TRANSLATORS: Here 'dot' is the name of a program; it must not be ;; TRANSLATORS: Here 'dot' is the name of a program; it must not be
;; translated. ;; translated.
(display (G_ "Usage: guix graph PACKAGE... (display (G_ "Usage: guix graph PACKAGE...
Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n")) Emit a representation of the dependency graph of PACKAGE...\n"))
(display (G_ " (display (G_ "
-b, --backend=TYPE produce a graph with the given backend TYPE")) -b, --backend=TYPE produce a graph with the given backend TYPE"))
(display (G_ " (display (G_ "
@ -447,12 +447,9 @@ Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n"))
(define (guix-graph . args) (define (guix-graph . args)
(with-error-handling (with-error-handling
(let* ((opts (args-fold* args %options (let* ((opts (parse-command-line args %options
(lambda (opt name arg . rest) (list %default-options)
(leave (G_ "~A: unrecognized option~%") name)) #:build-options? #f))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(backend (assoc-ref opts 'backend)) (backend (assoc-ref opts 'backend))
(type (assoc-ref opts 'node-type)) (type (assoc-ref opts 'node-type))
(items (filter-map (match-lambda (items (filter-map (match-lambda

View File

@ -104,13 +104,8 @@ and 'hexadecimal' can be used as well).\n"))
(define (guix-hash . args) (define (guix-hash . args)
(define (parse-options) (define (parse-options)
;; Return the alist of option values. ;; Return the alist of option values.
(args-fold* args %options (parse-command-line args %options (list %default-options)
(lambda (opt name arg result) #:build-options? #f))
(leave (G_ "unrecognized option: ~a~%")
name))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(define (vcs-file? file stat) (define (vcs-file? file stat)
(case (stat:type stat) (case (stat:type stat)

View File

@ -792,35 +792,44 @@ be determined."
((? origin?) ((? origin?)
(and=> (origin-actual-file-name patch) basename)))) (and=> (origin-actual-file-name patch) basename))))
(define (current-vulnerabilities*) (define (call-with-networking-fail-safe message error-value proc)
"Like 'current-vulnerabilities', but return the empty list upon networking "Call PROC catching any network-related errors. Upon a networking error,
or HTTP errors. This allows network-less operation and makes problems with display a message including MESSAGE and return ERROR-VALUE."
the NIST server non-fatal.."
(guard (c ((http-get-error? c) (guard (c ((http-get-error? c)
(warning (G_ "failed to retrieve CVE vulnerabilities \ (warning (G_ "~a: HTTP GET error for ~a: ~a (~s)~%")
from ~s: ~a (~s)~%") message
(uri->string (http-get-error-uri c)) (uri->string (http-get-error-uri c))
(http-get-error-code c) (http-get-error-code c)
(http-get-error-reason c)) (http-get-error-reason c))
(warning (G_ "assuming no CVE vulnerabilities~%")) error-value))
'()))
(catch #t (catch #t
(lambda () proc
(current-vulnerabilities))
(match-lambda* (match-lambda*
(('getaddrinfo-error errcode) (('getaddrinfo-error errcode)
(warning (G_ "failed to lookup NIST host: ~a~%") (warning (G_ "~a: host lookup failure: ~a~%")
message
(gai-strerror errcode)) (gai-strerror errcode))
(warning (G_ "assuming no CVE vulnerabilities~%")) error-value)
'())
(('tls-certificate-error args ...) (('tls-certificate-error args ...)
(warning (G_ "TLS certificate error: ~a") (warning (G_ "~a: TLS certificate error: ~a")
message
(tls-certificate-error-string args)) (tls-certificate-error-string args))
(warning (G_ "assuming no CVE vulnerabilities~%")) error-value)
'())
(args (args
(apply throw args)))))) (apply throw args))))))
(define-syntax-rule (with-networking-fail-safe message error-value exp ...)
(call-with-networking-fail-safe message error-value
(lambda () exp ...)))
(define (current-vulnerabilities*)
"Like 'current-vulnerabilities', but return the empty list upon networking
or HTTP errors. This allows network-less operation and makes problems with
the NIST server non-fatal."
(with-networking-fail-safe (G_ "while retrieving CVE vulnerabilities")
'()
(current-vulnerabilities)))
(define package-vulnerabilities (define package-vulnerabilities
(let ((lookup (delay (vulnerabilities->lookup-proc (let ((lookup (delay (vulnerabilities->lookup-proc
(current-vulnerabilities*))))) (current-vulnerabilities*)))))
@ -860,7 +869,11 @@ from ~s: ~a (~s)~%")
(define (check-for-updates package) (define (check-for-updates package)
"Check if there is an update available for PACKAGE." "Check if there is an update available for PACKAGE."
(match (package-latest-release* package (force %updaters)) (match (with-networking-fail-safe
(format #f (G_ "while retrieving upstream info for '~a'")
(package-name package))
#f
(package-latest-release* package (force %updaters)))
((? upstream-source? source) ((? upstream-source? source)
(when (version>? (upstream-source-version source) (when (version>? (upstream-source-version source)
(package-version package)) (package-version package))
@ -1123,12 +1136,8 @@ run the checkers on all packages.\n"))
(define (guix-lint . args) (define (guix-lint . args)
(define (parse-options) (define (parse-options)
;; Return the alist of option values. ;; Return the alist of option values.
(args-fold* args %options (parse-command-line args %options (list %default-options)
(lambda (opt name arg result) #:build-options? #f))
(leave (G_ "~A: unrecognized option~%") name))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(let* ((opts (parse-options)) (let* ((opts (parse-options))
(args (filter-map (match-lambda (args (filter-map (match-lambda

View File

@ -738,7 +738,8 @@ processed, #f otherwise."
(available (fold-packages (available (fold-packages
(lambda (p r) (lambda (p r)
(let ((n (package-name p))) (let ((n (package-name p)))
(if (supported-package? p) (if (and (supported-package? p)
(not (package-superseded p)))
(if regexp (if regexp
(if (regexp-exec regexp n) (if (regexp-exec regexp n)
(cons p r) (cons p r)

View File

@ -338,12 +338,8 @@ dependent packages are rebuilt: ~{~a~^ ~}~%"
(define (guix-refresh . args) (define (guix-refresh . args)
(define (parse-options) (define (parse-options)
;; Return the alist of option values. ;; Return the alist of option values.
(args-fold* args %options (parse-command-line args %options (list %default-options)
(lambda (opt name arg result) #:build-options? #f))
(leave (G_ "~A: unrecognized option~%") name))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(define (options->updaters opts) (define (options->updaters opts)
;; Return the list of updaters to use. ;; Return the list of updaters to use.

View File

@ -291,7 +291,8 @@ Report the size of PACKAGE and its dependencies.\n"))
(define (guix-size . args) (define (guix-size . args)
(with-error-handling (with-error-handling
(let* ((opts (parse-command-line args %options (list %default-options))) (let* ((opts (parse-command-line args %options (list %default-options)
#:build-options? #f))
(files (filter-map (match-lambda (files (filter-map (match-lambda
(('argument . file) file) (('argument . file) file)
(_ #f)) (_ #f))

View File

@ -533,6 +533,20 @@ indicates that PATH is unavailable at CACHE-URL."
(headers '((User-Agent . "GNU Guile")))) (headers '((User-Agent . "GNU Guile"))))
(build-request (string->uri url) #:method 'GET #:headers headers))) (build-request (string->uri url) #:method 'GET #:headers headers)))
(define (at-most max-length lst)
"If LST is shorter than MAX-LENGTH, return it; otherwise return its
MAX-LENGTH first elements."
(let loop ((len 0)
(lst lst)
(result '()))
(match lst
(()
(reverse result))
((head . tail)
(if (>= len max-length)
(reverse result)
(loop (+ 1 len) tail (cons head result)))))))
(define* (http-multiple-get base-uri proc seed requests (define* (http-multiple-get base-uri proc seed requests
#:key port (verify-certificate? #t)) #:key port (verify-certificate? #t))
"Send all of REQUESTS to the server at BASE-URI. Call PROC for each "Send all of REQUESTS to the server at BASE-URI. Call PROC for each
@ -553,7 +567,7 @@ initial connection on which HTTP requests are sent."
(when (file-port? p) (when (file-port? p)
(setvbuf p _IOFBF (expt 2 16))) (setvbuf p _IOFBF (expt 2 16)))
;; Send all of REQUESTS in a row. ;; Send REQUESTS, up to a certain number, in a row.
;; XXX: Do our own caching to work around inefficiencies when ;; XXX: Do our own caching to work around inefficiencies when
;; communicating over TLS: <http://bugs.gnu.org/22966>. ;; communicating over TLS: <http://bugs.gnu.org/22966>.
(let-values (((buffer get) (open-bytevector-output-port))) (let-values (((buffer get) (open-bytevector-output-port)))
@ -562,7 +576,8 @@ initial connection on which HTTP requests are sent."
'http-proxy-port?) 'http-proxy-port?)
(set-http-proxy-port?! buffer (http-proxy-port? p))) (set-http-proxy-port?! buffer (http-proxy-port? p)))
(for-each (cut write-request <> buffer) requests) (for-each (cut write-request <> buffer)
(at-most 1000 requests))
(put-bytevector p (get)) (put-bytevector p (get))
(force-output p)) (force-output p))

View File

@ -205,7 +205,8 @@ Report the availability of substitutes.\n"))
(define (guix-weather . args) (define (guix-weather . args)
(with-error-handling (with-error-handling
(let* ((opts (parse-command-line args %options (let* ((opts (parse-command-line args %options
(list %default-options))) (list %default-options)
#:build-options? #f))
(urls (assoc-ref opts 'substitute-urls)) (urls (assoc-ref opts 'substitute-urls))
(systems (match (filter-map (match-lambda (systems (match (filter-map (match-lambda
(('system . system) system) (('system . system) system)

View File

@ -94,10 +94,10 @@
('base32 ('base32
(? string? hash))))) (? string? hash)))))
('build-system 'perl-build-system) ('build-system 'perl-build-system)
('inputs ('propagated-inputs
('quasiquote ('quasiquote
(("perl-test-script" ('unquote 'perl-test-script))))) (("perl-test-script" ('unquote 'perl-test-script)))))
('home-page "http://search.cpan.org/dist/Foo-Bar") ('home-page "http://search.cpan.org/dist/Foo-Bar/")
('synopsis "Fizzle Fuzz") ('synopsis "Fizzle Fuzz")
('description 'fill-in-yourself!) ('description 'fill-in-yourself!)
('license 'perl-license)) ('license 'perl-license))