Merge branch 'master' into staging
This commit is contained in:
commit
d94691e0c2
|
@ -1005,6 +1005,12 @@ command line:
|
||||||
# guix offload test machines-qualif.scm
|
# guix offload test machines-qualif.scm
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
Last, you can test the subset of the machines whose name matches a
|
||||||
|
regular expression like this:
|
||||||
|
|
||||||
|
@example
|
||||||
|
# guix offload test machines.scm '\.gnu\.org$'
|
||||||
|
@end example
|
||||||
|
|
||||||
@node Invoking guix-daemon
|
@node Invoking guix-daemon
|
||||||
@section Invoking @command{guix-daemon}
|
@section Invoking @command{guix-daemon}
|
||||||
|
|
|
@ -747,9 +747,9 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/ola-readdir-r.patch \
|
%D%/packages/patches/ola-readdir-r.patch \
|
||||||
%D%/packages/patches/onionshare-fix-install-paths.patch \
|
%D%/packages/patches/onionshare-fix-install-paths.patch \
|
||||||
%D%/packages/patches/openexr-missing-samples.patch \
|
%D%/packages/patches/openexr-missing-samples.patch \
|
||||||
%D%/packages/patches/openjpeg-CVE-2015-6581.patch \
|
|
||||||
%D%/packages/patches/openjpeg-CVE-2016-5157.patch \
|
%D%/packages/patches/openjpeg-CVE-2016-5157.patch \
|
||||||
%D%/packages/patches/openjpeg-CVE-2016-7163.patch \
|
%D%/packages/patches/openjpeg-CVE-2016-7163.patch \
|
||||||
|
%D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \
|
||||||
%D%/packages/patches/openjpeg-use-after-free-fix.patch \
|
%D%/packages/patches/openjpeg-use-after-free-fix.patch \
|
||||||
%D%/packages/patches/openocd-nrf52.patch \
|
%D%/packages/patches/openocd-nrf52.patch \
|
||||||
%D%/packages/patches/openssh-memory-exhaustion.patch \
|
%D%/packages/patches/openssh-memory-exhaustion.patch \
|
||||||
|
|
|
@ -5629,7 +5629,7 @@ track. The database is exposed as a @code{TxDb} object.")
|
||||||
(define-public vsearch
|
(define-public vsearch
|
||||||
(package
|
(package
|
||||||
(name "vsearch")
|
(name "vsearch")
|
||||||
(version "2.3.3")
|
(version "2.3.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -5639,7 +5639,7 @@ track. The database is exposed as a @code{TxDb} object.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1d3670apjy15c9l40fpq71lifxga6j9z2gisdirycwk18s4mvcp2"))
|
"1xyraxmhyx62mxx8z7c8waygvcijwkh48ms1ar60w2cv2y2sn4al"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
@ -5699,15 +5699,16 @@ Needleman-Wunsch).")
|
||||||
(define-public pardre
|
(define-public pardre
|
||||||
(package
|
(package
|
||||||
(name "pardre")
|
(name "pardre")
|
||||||
(version "1.1.5")
|
;; The source of 1.1.5 changed in place, so we append "-1" to the version.
|
||||||
|
(version "1.1.5-1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/pardre/ParDRe-rel"
|
(uri (string-append "mirror://sourceforge/pardre/ParDRe-rel"
|
||||||
version ".tar.gz"))
|
"1.1.5" ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0zkyjzv4s8q2h5npalhirbk17r5b1h0n2a42mh7njzlf047h9bhy"))))
|
"17j73nc0viq4f6qj50nrndsrif5d6b71q8fl87m54psiv0ilns2b"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; no tests included
|
`(#:tests? #f ; no tests included
|
||||||
|
|
|
@ -60,7 +60,13 @@
|
||||||
(string-append "\"" bin "/wmaker.inst")))
|
(string-append "\"" bin "/wmaker.inst")))
|
||||||
(substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
|
(substitute* '("src/defaults.c" "WPrefs.app/Menu.c")
|
||||||
(("\"wmsetbg")
|
(("\"wmsetbg")
|
||||||
(string-append "\"" bin "/wmsetbg")))))
|
(string-append "\"" bin "/wmsetbg")))
|
||||||
|
;; Add enough cells to the command character array to
|
||||||
|
;; allow passing our large path to the wmsetbg binary.
|
||||||
|
;; The path to wmsetbg in Guix requires 67 extra characters.
|
||||||
|
(substitute* "src/defaults.c"
|
||||||
|
(("len = strlen\\(text\\) \\+ 40;")
|
||||||
|
(string-append "len = strlen(text) + 107;")))))
|
||||||
(alist-cons-after
|
(alist-cons-after
|
||||||
'install 'wrap
|
'install 'wrap
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
|
|
@ -337,7 +337,15 @@ standards.")
|
||||||
(mozilla-patch "icecat-bug-1279202.patch" "e560997291af" "1hn35slasfcj3ryka4fsarx4l9r99z0iwj67fmbv6zxz4z133kks")
|
(mozilla-patch "icecat-bug-1279202.patch" "e560997291af" "1hn35slasfcj3ryka4fsarx4l9r99z0iwj67fmbv6zxz4z133kks")
|
||||||
(mozilla-patch "icecat-bug-1320039.patch" "21c615b65048" "0ibgsxa36x9ajn2jqbhxxvrfvj6x6iyspsmzzn4brdz11n93skhr")
|
(mozilla-patch "icecat-bug-1320039.patch" "21c615b65048" "0ibgsxa36x9ajn2jqbhxxvrfvj6x6iyspsmzzn4brdz11n93skhr")
|
||||||
(mozilla-patch "icecat-bug-1320057.patch" "c15e5afc0430" "17gj32agqs94548z8lvz0l6zz3kbwajn8as0y4iw5nb6jsll4c66")
|
(mozilla-patch "icecat-bug-1320057.patch" "c15e5afc0430" "17gj32agqs94548z8lvz0l6zz3kbwajn8as0y4iw5nb6jsll4c66")
|
||||||
(mozilla-patch "icecat-bug-1163212.patch" "46163fb1cb34" "1yikayczfgfla3aka0159apq3149d52sgvlca0sivx4myd0lvjm7")))
|
(mozilla-patch "icecat-bug-1163212.patch" "46163fb1cb34" "1yikayczfgfla3aka0159apq3149d52sgvlca0sivx4myd0lvjm7")
|
||||||
|
(mozilla-patch "icecat-bug-1317805.patch" "cde2a37100f5" "100abggnhwyw84almxrkxqfpyfkd4pqkcrh5y9g4d3jd2h16asvl")
|
||||||
|
(mozilla-patch "icecat-bug-1298773-pt1.patch" "9b78ab1e6d07" "19ib6bp96xk000ll40b8qxvizkncyzclz2rsb9w5fa42qs9978ff")
|
||||||
|
(mozilla-patch "icecat-bug-1298773-pt2.patch" "78ebf9c9dfb0" "1shgr4rk6r2zxr1qqk1j3qnnqzqxnbi093qhlrfh8q5q1ivqf6k1")
|
||||||
|
(mozilla-patch "icecat-bug-1299098.patch" "a46a9f16823c" "0dwkyz3kcqnfcbhbfh2lss7s0yh87rgzb871qxx3x4ynyqph9mnz")
|
||||||
|
(mozilla-patch "icecat-bug-1311687.patch" "6bc7cc7a33a6" "1wggcqv84n8mp7xps7hy4rwy61fkh45imfqzc0b46s3w5hyhypn2")
|
||||||
|
(mozilla-patch "icecat-bug-1287912.patch" "778f65148b40" "0j2a153sk0654vv2lnxjib4lwml3mlqn6vs46c2pp82iba8nyfrm")
|
||||||
|
(mozilla-patch "icecat-bug-1312272.patch" "94bd2b43c766" "10h0qpr6m9cqyqxxnkbb6mzb3cagavzlynkxgd7a4izyq1bv28rk")
|
||||||
|
(mozilla-patch "icecat-bug-1315631.patch" "893de7431d51" "11gyik8mwipl6ipypkvdq519pw7ccbg0g0bnvxb7271n44cqqcq5")))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||||
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -2315,36 +2316,34 @@ the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
|
||||||
(define-public ghc-trifecta
|
(define-public ghc-trifecta
|
||||||
(package
|
(package
|
||||||
(name "ghc-trifecta")
|
(name "ghc-trifecta")
|
||||||
(version "1.5.2")
|
(version "1.6")
|
||||||
(source
|
(source (origin
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://hackage.haskell.org/package/trifecta/trifecta-"
|
"https://hackage.haskell.org/package/trifecta/"
|
||||||
version
|
"trifecta-" version ".tar.gz"))
|
||||||
".tar.gz"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0fjhnsbafl3yw34pyhcsvrqy6a2mnhyqys6gna3rrlygs8ck7hpb"))))
|
"0rbhv9m17k7l1zr70i0yw5da0qjgxmfh1da8brj0zdzwjn9ac0mk"))))
|
||||||
(build-system haskell-build-system)
|
(build-system haskell-build-system)
|
||||||
(arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
|
|
||||||
; -package ansi-terminal-0.6.2.3"
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("ghc-charset" ,ghc-charset)
|
`(("ghc-reducers" ,ghc-reducers)
|
||||||
("ghc-comonad" ,ghc-comonad)
|
|
||||||
("ghc-lens" ,ghc-lens)
|
|
||||||
("ghc-profunctors" ,ghc-profunctors)
|
|
||||||
("ghc-reducers" ,ghc-reducers)
|
|
||||||
("ghc-semigroups" ,ghc-semigroups)
|
("ghc-semigroups" ,ghc-semigroups)
|
||||||
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
||||||
("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
||||||
("ghc-blaze-builder" ,ghc-blaze-builder)
|
("ghc-blaze-builder" ,ghc-blaze-builder)
|
||||||
("ghc-blaze-html" ,ghc-blaze-html)
|
("ghc-blaze-html" ,ghc-blaze-html)
|
||||||
("ghc-blaze-markup" ,ghc-blaze-markup)
|
("ghc-blaze-markup" ,ghc-blaze-markup)
|
||||||
|
("ghc-charset" ,ghc-charset)
|
||||||
|
("ghc-comonad" ,ghc-comonad)
|
||||||
|
("ghc-doctest" ,ghc-doctest)
|
||||||
("ghc-fingertree" ,ghc-fingertree)
|
("ghc-fingertree" ,ghc-fingertree)
|
||||||
("ghc-hashable" ,ghc-hashable)
|
("ghc-hashable" ,ghc-hashable)
|
||||||
|
("ghc-lens" ,ghc-lens)
|
||||||
("ghc-mtl" ,ghc-mtl)
|
("ghc-mtl" ,ghc-mtl)
|
||||||
("ghc-parsers" ,ghc-parsers)
|
("ghc-parsers" ,ghc-parsers)
|
||||||
|
("ghc-profunctors" ,ghc-profunctors)
|
||||||
|
("ghc-quickcheck" ,ghc-quickcheck)
|
||||||
("ghc-unordered-containers" ,ghc-unordered-containers)
|
("ghc-unordered-containers" ,ghc-unordered-containers)
|
||||||
("ghc-utf8-string" ,ghc-utf8-string)))
|
("ghc-utf8-string" ,ghc-utf8-string)))
|
||||||
(home-page "https://github.com/ekmett/trifecta/")
|
(home-page "https://github.com/ekmett/trifecta/")
|
||||||
|
@ -6671,34 +6670,47 @@ constant-time:
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public idris
|
(define-public idris
|
||||||
|
;; TODO: IDRIS_LIBRARY_PATH only accepts a single path and not a colon
|
||||||
|
;; separated list.
|
||||||
|
;; TODO: When installing idris the location of the standard libraries
|
||||||
|
;; cannot be specified.
|
||||||
|
;; NOTE: Creating an idris build system:
|
||||||
|
;; Idris packages can be packaged and installed using a trivial
|
||||||
|
;; build system.
|
||||||
|
;; (zero? (system* (string-append idris "/bin/idris")
|
||||||
|
;; "--ibcsubdir"
|
||||||
|
;; (string-append out "/idris/libs/lightyear")
|
||||||
|
;; "--install" "lightyear.ipkg")
|
||||||
|
;; (native-search-paths
|
||||||
|
;; (list (search-path-specification
|
||||||
|
;; (variable "IDRIS_LIBRARY_PATH")
|
||||||
|
;; (files '("idris/libs")))))
|
||||||
(package
|
(package
|
||||||
(name "idris")
|
(name "idris")
|
||||||
(version "0.9.19.1")
|
(version "0.12.3")
|
||||||
(source
|
(source (origin
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://hackage.haskell.org/package/idris-"
|
(uri (string-append
|
||||||
version "/idris-" version ".tar.gz"))
|
"https://hackage.haskell.org/package/"
|
||||||
|
"idris-" version "/idris-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"10641svdsjlxbxmbvylpia04cz5nn9486lpiay8ibqcrc1792qgc"))
|
"1ijrbgzaahw9aagn4al55nqcggrg9ajlrkq2fjc1saq3xdd3v7rs"))))
|
||||||
(modules '((guix build utils)))
|
|
||||||
(snippet
|
|
||||||
'(substitute* "idris.cabal"
|
|
||||||
;; Package description file has a too-tight version restriction,
|
|
||||||
;; rendering it incompatible with GHC 7.10.2. This is fixed
|
|
||||||
;; upstream. See
|
|
||||||
;; <https://github.com/idris-lang/Idris-dev/issues/2734>.
|
|
||||||
(("vector < 0.11") "vector < 0.12")))))
|
|
||||||
(build-system haskell-build-system)
|
(build-system haskell-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (modify-phases %standard-phases
|
`(;; FIXME: runhaskell Setup.hs test doesn't set paths required by test
|
||||||
|
;; suite.
|
||||||
|
#:tests? #f
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
(add-before 'configure 'patch-cc-command
|
(add-before 'configure 'patch-cc-command
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "CC" "gcc"))))))
|
(setenv "CC" "gcc"))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("gmp" ,gmp)
|
`(("gmp" ,gmp)
|
||||||
("ncurses" ,ncurses)
|
("ncurses" ,ncurses)
|
||||||
|
("ghc-aeson" ,ghc-aeson)
|
||||||
|
("ghc-async" ,ghc-async)
|
||||||
("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
|
("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
|
||||||
("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
||||||
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
||||||
|
@ -6707,12 +6719,19 @@ constant-time:
|
||||||
("ghc-blaze-markup" ,ghc-blaze-markup)
|
("ghc-blaze-markup" ,ghc-blaze-markup)
|
||||||
("ghc-cheapskate" ,ghc-cheapskate)
|
("ghc-cheapskate" ,ghc-cheapskate)
|
||||||
("ghc-fingertree" ,ghc-fingertree)
|
("ghc-fingertree" ,ghc-fingertree)
|
||||||
|
("ghc-fsnotify" ,ghc-fsnotify)
|
||||||
|
("ghc-ieee754" ,ghc-ieee754)
|
||||||
("ghc-mtl" ,ghc-mtl)
|
("ghc-mtl" ,ghc-mtl)
|
||||||
("ghc-network" ,ghc-network)
|
("ghc-network" ,ghc-network)
|
||||||
("ghc-optparse-applicative" ,ghc-optparse-applicative)
|
("ghc-optparse-applicative" ,ghc-optparse-applicative)
|
||||||
("ghc-parsers" ,ghc-parsers)
|
("ghc-parsers" ,ghc-parsers)
|
||||||
|
("ghc-regex-tdfa" ,ghc-regex-tdfa)
|
||||||
("ghc-safe" ,ghc-safe)
|
("ghc-safe" ,ghc-safe)
|
||||||
("ghc-split" ,ghc-split)
|
("ghc-split" ,ghc-split)
|
||||||
|
("ghc-tasty" ,ghc-tasty)
|
||||||
|
("ghc-tasty-golden" ,ghc-tasty-golden)
|
||||||
|
("ghc-tasty-rerun" ,ghc-tasty-rerun)
|
||||||
|
("ghc-terminal-size" ,ghc-terminal-size)
|
||||||
("ghc-text" ,ghc-text)
|
("ghc-text" ,ghc-text)
|
||||||
("ghc-trifecta" ,ghc-trifecta)
|
("ghc-trifecta" ,ghc-trifecta)
|
||||||
("ghc-uniplate" ,ghc-uniplate)
|
("ghc-uniplate" ,ghc-uniplate)
|
||||||
|
@ -7994,4 +8013,120 @@ helper functions for Lists, Maybes, Tuples, Functions.")
|
||||||
3D plots using gnuplot.")
|
3D plots using gnuplot.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-hinotify
|
||||||
|
(package
|
||||||
|
(name "ghc-hinotify")
|
||||||
|
(version "0.3.8.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://hackage.haskell.org/package/hinotify/"
|
||||||
|
"hinotify-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(home-page "https://github.com/kolmodin/hinotify.git")
|
||||||
|
(synopsis "Haskell binding to inotify")
|
||||||
|
(description "This library provides a wrapper to the Linux kernel's inotify
|
||||||
|
feature, allowing applications to subscribe to notifications when a file is
|
||||||
|
accessed or modified.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-fsnotify
|
||||||
|
(package
|
||||||
|
(name "ghc-fsnotify")
|
||||||
|
(version "0.2.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://hackage.haskell.org/package/fsnotify/"
|
||||||
|
"fsnotify-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(inputs
|
||||||
|
`(("ghc-text" ,ghc-text)
|
||||||
|
("ghc-async" ,ghc-async)
|
||||||
|
("ghc-unix-compat" ,ghc-unix-compat)
|
||||||
|
("ghc-hinotify" ,ghc-hinotify)
|
||||||
|
("ghc-tasty" ,ghc-tasty)
|
||||||
|
("ghc-tasty-hunit" ,ghc-tasty-hunit)
|
||||||
|
("ghc-temporary-rc" ,ghc-temporary-rc)))
|
||||||
|
(home-page "https://github.com/haskell-fswatch/hfsnotify")
|
||||||
|
(synopsis "Cross platform library for file change notification.")
|
||||||
|
(description "Cross platform library for file creation, modification, and
|
||||||
|
deletion notification. This library builds upon existing libraries for platform
|
||||||
|
specific Windows, Mac, and Linux filesystem event notification.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-tasty-rerun
|
||||||
|
(package
|
||||||
|
(name "ghc-tasty-rerun")
|
||||||
|
(version "1.1.6")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://hackage.haskell.org/package/tasty-rerun/"
|
||||||
|
"tasty-rerun-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ycxg7whabgcxyzy6gr536x8ykzx45whh1wrbsc7c58zi862fczd"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(inputs
|
||||||
|
`(("ghc-mtl" ,ghc-mtl)
|
||||||
|
("ghc-optparse-applicative" ,ghc-optparse-applicative)
|
||||||
|
("ghc-reducers" ,ghc-reducers)
|
||||||
|
("ghc-split" ,ghc-split)
|
||||||
|
("ghc-stm" ,ghc-stm)
|
||||||
|
("ghc-tagged" ,ghc-tagged)
|
||||||
|
("ghc-tasty" ,ghc-tasty)))
|
||||||
|
(home-page "http://github.com/ocharles/tasty-rerun")
|
||||||
|
(synopsis "Run tests by filtering the test tree")
|
||||||
|
(description "This package adds the ability to run tests by filtering the
|
||||||
|
test tree based on the result of a previous test run. You can use this to run
|
||||||
|
only those tests that failed in the last run, or to only run the tests that have
|
||||||
|
been added since previous test run.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-ieee754
|
||||||
|
(package
|
||||||
|
(name "ghc-ieee754")
|
||||||
|
(version "0.7.8")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://hackage.haskell.org/package/ieee754/"
|
||||||
|
"ieee754-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(home-page "http://github.com/patperry/hs-ieee754")
|
||||||
|
(synopsis "Utilities for dealing with IEEE floating point numbers")
|
||||||
|
(description "Utilities for dealing with IEEE floating point numbers,
|
||||||
|
ported from the Tango math library; approximate and exact equality comparisons
|
||||||
|
for general types.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-terminal-size
|
||||||
|
(package
|
||||||
|
(name "ghc-terminal-size")
|
||||||
|
(version "0.3.2.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://hackage.haskell.org/package/terminal-size/"
|
||||||
|
"terminal-size-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(home-page "http://hackage.haskell.org/package/terminal-size")
|
||||||
|
(synopsis "Get terminal window height and width")
|
||||||
|
(description "Get terminal window height and width without ncurses
|
||||||
|
dependency.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
;;; haskell.scm ends here
|
;;; haskell.scm ends here
|
||||||
|
|
|
@ -425,6 +425,7 @@ work.")
|
||||||
(define-public openjpeg
|
(define-public openjpeg
|
||||||
(package
|
(package
|
||||||
(name "openjpeg")
|
(name "openjpeg")
|
||||||
|
(replacement openjpeg/fixed)
|
||||||
(version "2.1.1")
|
(version "2.1.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -461,9 +462,21 @@ error-resilience, a Java-viewer for j2k-images, ...")
|
||||||
(home-page "https://github.com/uclouvain/openjpeg")
|
(home-page "https://github.com/uclouvain/openjpeg")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define openjpeg/fixed
|
||||||
|
(package
|
||||||
|
(inherit openjpeg)
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(inherit (package-source openjpeg))
|
||||||
|
(patches
|
||||||
|
(append
|
||||||
|
(origin-patches (package-source openjpeg))
|
||||||
|
(search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch")))))))
|
||||||
|
|
||||||
(define-public openjpeg-1
|
(define-public openjpeg-1
|
||||||
(package (inherit openjpeg)
|
(package (inherit openjpeg)
|
||||||
(name "openjpeg")
|
(name "openjpeg")
|
||||||
|
(replacement #f)
|
||||||
(version "1.5.2")
|
(version "1.5.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -860,14 +873,14 @@ convert, manipulate, filter and display a wide variety of image formats.")
|
||||||
(define-public jasper
|
(define-public jasper
|
||||||
(package
|
(package
|
||||||
(name "jasper")
|
(name "jasper")
|
||||||
(version "2.0.0")
|
(version "2.0.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
|
(uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
|
||||||
"/software/jasper-" version ".tar.gz"))
|
"/software/jasper-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1kg5yrdwgazhbczybyx4548m0ijssabcp8hl5l87w78z833vikks"))))
|
"0g6fl8rrbspa9vpswixmpxrg71l19kqgc2b5cak7vmwxphj01wbk"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs `(("libjpeg" ,libjpeg)))
|
(inputs `(("libjpeg" ,libjpeg)))
|
||||||
(synopsis "JPEG-2000 library")
|
(synopsis "JPEG-2000 library")
|
||||||
|
|
|
@ -65,7 +65,7 @@ loop.")
|
||||||
(define-public libev
|
(define-public libev
|
||||||
(package
|
(package
|
||||||
(name "libev")
|
(name "libev")
|
||||||
(version "4.20")
|
(version "4.23")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
|
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
|
||||||
|
@ -73,7 +73,7 @@ loop.")
|
||||||
".tar.gz"))
|
".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17j47pbkr65a18mfvy2861p5k7w4pxmdgiw723ryfqd9gx636w7q"))))
|
"0ynxxm7giy4hg3qp9q8wshqw1jla9sxbsbi2pwsdsl1v1hz79zn7"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "http://software.schmorp.de/pkg/libev.html")
|
(home-page "http://software.schmorp.de/pkg/libev.html")
|
||||||
(synopsis "Event loop loosely modelled after libevent")
|
(synopsis "Event loop loosely modelled after libevent")
|
||||||
|
|
|
@ -327,16 +327,52 @@ 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-public linux-libre
|
(define-public linux-libre
|
||||||
(make-linux-libre "4.8.12"
|
(make-linux-libre "4.8.13"
|
||||||
"1vhqpi5r219a9y1drc3pdzwjif8r974hbc0x9dk4w25c8bsr3cm1"
|
"1n1bhasqih8acag2glwaqsh76avpinvchvwg6g4q1pfm2vs1499x"
|
||||||
%intel-compatible-systems
|
%intel-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config
|
||||||
|
#:patches
|
||||||
|
(list %boot-logo-patch
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=9bd018da073c1360c260d2e11e0da9b24911c4a8")
|
||||||
|
(file-name "linux-libre-4.8-CVE-2016-8655.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1pq80vnwv01l0rj2g0r7i4rjnx3ll8iq4rpl6w3fmc77agdb3bpq")))
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=af8a38c78233a3356c626c1fabfc93c66094e6e8")
|
||||||
|
(file-name "linux-libre-4.8-iovec-fix.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"082a5dpkgsc0mjlzqc03d815xx8gdqk0s4glvi4y1b9vl8c4vmwy"))))))
|
||||||
|
|
||||||
(define-public linux-libre-4.4
|
(define-public linux-libre-4.4
|
||||||
(make-linux-libre "4.4.36"
|
(make-linux-libre "4.4.37"
|
||||||
"0cvax02jj9zyk818gi6fjgacxa5z89y03kxwclb8l7cr8mcbwcdf"
|
"1zw3hwpgxkxwplb81in5969vgbaamcwqarmxj3aq88yg6bqnh6b5"
|
||||||
%intel-compatible-systems
|
%intel-compatible-systems
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config
|
||||||
|
#:patches
|
||||||
|
(list %boot-logo-patch
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=668dc0c33815e4f9ec02989785658516d343bc31")
|
||||||
|
(file-name "linux-libre-4.4-CVE-2016-8655.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1bzgj36y8v7gflq3dlhmbbvvn9098a4yk4pcpixdz5c5pm7wrdv3")))
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=82330dbfb463389f2b0214dbcc69b78cc8e6cf8f")
|
||||||
|
(file-name "linux-libre-4.4-iovec-fix.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1mqmgiqjm4pf4b3jzknclmdjfaqqr4708gcdgzhn84brrcm5iz30"))))))
|
||||||
|
|
||||||
(define-public linux-libre-4.1
|
(define-public linux-libre-4.1
|
||||||
(make-linux-libre "4.1.36"
|
(make-linux-libre "4.1.36"
|
||||||
|
@ -345,15 +381,33 @@ It has been modified to remove all non-free binary blobs.")
|
||||||
#:configuration-file kernel-config))
|
#:configuration-file kernel-config))
|
||||||
|
|
||||||
;; Avoid rebuilding kernel variants when there is a minor version bump.
|
;; Avoid rebuilding kernel variants when there is a minor version bump.
|
||||||
(define %linux-libre-version "4.8.12")
|
(define %linux-libre-version "4.8.13")
|
||||||
(define %linux-libre-hash "1vhqpi5r219a9y1drc3pdzwjif8r974hbc0x9dk4w25c8bsr3cm1")
|
(define %linux-libre-hash "1n1bhasqih8acag2glwaqsh76avpinvchvwg6g4q1pfm2vs1499x")
|
||||||
|
|
||||||
(define-public linux-libre-arm-generic
|
(define-public linux-libre-arm-generic
|
||||||
(make-linux-libre %linux-libre-version
|
(make-linux-libre %linux-libre-version
|
||||||
%linux-libre-hash
|
%linux-libre-hash
|
||||||
'("armhf-linux")
|
'("armhf-linux")
|
||||||
#:defconfig "multi_v7_defconfig"
|
#:defconfig "multi_v7_defconfig"
|
||||||
#:extra-version "arm-generic"))
|
#:extra-version "arm-generic"
|
||||||
|
#:patches
|
||||||
|
(list %boot-logo-patch
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=9bd018da073c1360c260d2e11e0da9b24911c4a8")
|
||||||
|
(file-name "linux-libre-4.8-CVE-2016-8655.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1pq80vnwv01l0rj2g0r7i4rjnx3ll8iq4rpl6w3fmc77agdb3bpq")))
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "\
|
||||||
|
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=af8a38c78233a3356c626c1fabfc93c66094e6e8")
|
||||||
|
(file-name "linux-libre-4.8-iovec-fix.patch")
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"082a5dpkgsc0mjlzqc03d815xx8gdqk0s4glvi4y1b9vl8c4vmwy"))))))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
|
@ -959,14 +959,14 @@ script files.")
|
||||||
(define-public gmsh
|
(define-public gmsh
|
||||||
(package
|
(package
|
||||||
(name "gmsh")
|
(name "gmsh")
|
||||||
(version "2.14.1")
|
(version "2.15.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://gmsh.info/src/gmsh-"
|
(uri (string-append "http://gmsh.info/src/gmsh-"
|
||||||
version "-source.tgz"))
|
version "-source.tgz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1vsxp47j6srmy8kqb3p1z9pmlm42whhhz7r0vzpa2a86gga4zx17"))
|
(base32 "02h7fk4vv8qwnq3ymm409c5sp4nksd0m9h2vkxqmy42l0ic4nalr"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Remove non-free METIS code
|
;; Remove non-free METIS code
|
||||||
|
|
|
@ -231,6 +231,74 @@ score, keyboard, guitar, drum and controller views.")
|
||||||
many input formats and provides a customisable Vi-style user interface.")
|
many input formats and provides a customisable Vi-style user interface.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public denemo
|
||||||
|
(package
|
||||||
|
(name "denemo")
|
||||||
|
(version "2.0.14")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "mirror://gnu/denemo/denemo-"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'check
|
||||||
|
;; Denemo's documentation says to use this command to run its
|
||||||
|
;; testsuite.
|
||||||
|
(lambda _
|
||||||
|
(zero? (system* "make" "-C" "tests" "check"))))
|
||||||
|
(add-after 'install 'correct-filename
|
||||||
|
;; "graft-derivation/shallow" from the (guix grafts) module runs in
|
||||||
|
;; the C locale, expecting file names to be ASCII encoded. This
|
||||||
|
;; phase renames a filename with a Unicode character in it to meet
|
||||||
|
;; the aforementioned condition.
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out")))
|
||||||
|
(chdir (string-append
|
||||||
|
out
|
||||||
|
"/share/denemo/templates/instruments/woodwind"))
|
||||||
|
(rename-file "Clarinet in B♭.denemo"
|
||||||
|
"Clarinet in Bb.denemo"))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("glib:bin", glib "bin") ; for gtester
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("alsa-lib" ,alsa-lib)
|
||||||
|
("aubio" ,aubio)
|
||||||
|
("evince" ,evince)
|
||||||
|
("fftw" ,fftw)
|
||||||
|
("fluidsynth" ,fluidsynth)
|
||||||
|
("glib" ,glib)
|
||||||
|
("gtk+" ,gtk+)
|
||||||
|
("gtk-doc" ,gtk-doc)
|
||||||
|
("gtksourceview" ,gtksourceview)
|
||||||
|
("guile" ,guile-2.0)
|
||||||
|
("intltool" ,intltool)
|
||||||
|
("librsvg" ,librsvg)
|
||||||
|
("libsndfile" ,libsndfile)
|
||||||
|
("libtool" ,libtool)
|
||||||
|
("libxml2" ,libxml2)
|
||||||
|
("portaudio" ,portaudio)
|
||||||
|
("portmidi" ,portmidi)
|
||||||
|
("rubberband" ,rubberband)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("lilypond", lilypond)))
|
||||||
|
(synopsis "Graphical music notation, front-end to GNU Lilypond")
|
||||||
|
(description
|
||||||
|
"GNU Denemo is a music notation editor that provides a convenient
|
||||||
|
interface to the powerful music engraving program Lilypond. Music can be
|
||||||
|
typed in using the computer keyboard, played in using a MIDI keyboard, or
|
||||||
|
even input via a microphone connected to the sound card. The final product
|
||||||
|
is publication-quality music notation that is continuously generated in the
|
||||||
|
background while you work.")
|
||||||
|
(home-page "http://www.denemo.org")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public hydrogen
|
(define-public hydrogen
|
||||||
(package
|
(package
|
||||||
(name "hydrogen")
|
(name "hydrogen")
|
||||||
|
|
|
@ -329,14 +329,14 @@ written in Objective Caml.")
|
||||||
(define-public coq
|
(define-public coq
|
||||||
(package
|
(package
|
||||||
(name "coq")
|
(name "coq")
|
||||||
(version "8.4pl6")
|
(version "8.5pl2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://coq.inria.fr/distrib/V" version
|
(uri (string-append "https://coq.inria.fr/distrib/V" version
|
||||||
"/files/" name "-" version ".tar.gz"))
|
"/files/" name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1mpbj4yf36kpjg2v2sln12i8dzqn8rag6fd07hslj2lpm4qs4h55"))))
|
"0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("texlive" ,texlive)
|
`(("texlive" ,texlive)
|
||||||
|
@ -353,9 +353,9 @@ written in Objective Caml.")
|
||||||
(mandir (string-append out "/share/man"))
|
(mandir (string-append out "/share/man"))
|
||||||
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
|
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
|
||||||
(zero? (system* "./configure"
|
(zero? (system* "./configure"
|
||||||
"--prefix" out
|
"-prefix" out
|
||||||
"--mandir" mandir
|
"-mandir" mandir
|
||||||
"--browser" browser)))))
|
"-browser" browser)))))
|
||||||
(replace 'build
|
(replace 'build
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "make" "-j" (number->string
|
(zero? (system* "make" "-j" (number->string
|
||||||
|
@ -454,6 +454,42 @@ assistant to write formal mathematical proofs using a variety of theorem
|
||||||
provers.")
|
provers.")
|
||||||
(license gpl2+)))
|
(license gpl2+)))
|
||||||
|
|
||||||
|
(define-public ocaml-menhir
|
||||||
|
(package
|
||||||
|
(name "ocaml-menhir")
|
||||||
|
(version "20161115")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://gallium.inria.fr/~fpottier/menhir/"
|
||||||
|
"menhir-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1j8nmcj2gq6hyyi16z27amiahplgrnk4ppchpm0v4qy80kwkf47k"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(inputs
|
||||||
|
`(("ocaml" ,ocaml)))
|
||||||
|
(arguments
|
||||||
|
`(#:parallel-build? #f ; Parallel build causes failure
|
||||||
|
#:tests? #f ; No check target
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(setenv "PREFIX" out))
|
||||||
|
#t)))))
|
||||||
|
(home-page "http://gallium.inria.fr/~fpottier/menhir")
|
||||||
|
(synopsis "Parser generator")
|
||||||
|
(description "Menhir is a parser generator. It turns high-level grammar
|
||||||
|
specifications, decorated with semantic actions expressed in the OCaml
|
||||||
|
programming language into parsers, again expressed in OCaml. It is based on
|
||||||
|
Knuth’s LR(1) parser construction technique.")
|
||||||
|
;; The file src/standard.mly and all files listed in src/mnehirLib.mlpack
|
||||||
|
;; that have an *.ml or *.mli extension are GPL licensed. All other files
|
||||||
|
;; are QPL licensed.
|
||||||
|
(license (list gpl2+ qpl))))
|
||||||
|
|
||||||
(define-public lablgtk
|
(define-public lablgtk
|
||||||
(package
|
(package
|
||||||
(name "lablgtk")
|
(name "lablgtk")
|
||||||
|
|
|
@ -280,6 +280,7 @@ any X11 window.")
|
||||||
'(#:phases
|
'(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
|
(delete 'build)
|
||||||
(add-after 'install 'wrap-path
|
(add-after 'install 'wrap-path
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out"))
|
(let ((out (assoc-ref outputs "out"))
|
||||||
|
@ -290,6 +291,9 @@ any X11 window.")
|
||||||
(wrap-program (string-append out "/bin/pass")
|
(wrap-program (string-append out "/bin/pass")
|
||||||
`("PATH" ":" prefix (,(string-join path ":"))))))))
|
`("PATH" ":" prefix (,(string-join path ":"))))))))
|
||||||
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
|
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
|
||||||
|
;; Parallel tests may cause a race condition leading to a
|
||||||
|
;; timeout in some circumstances.
|
||||||
|
#:parallel-tests? #f
|
||||||
#:test-target "test"))
|
#:test-target "test"))
|
||||||
(inputs
|
(inputs
|
||||||
`(("getopt" ,util-linux)
|
`(("getopt" ,util-linux)
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
From 0fa5a17c98c4b8f9ee2286f4f0a50cf52a5fccb0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matthieu Darbois <mayeut@users.noreply.github.com>
|
|
||||||
Date: Tue, 19 May 2015 21:57:27 +0000
|
|
||||||
Subject: [PATCH] [trunk] Correct potential double free on malloc failure in
|
|
||||||
opj_j2k_copy_default_tcp_and_create_tcp (fixes issue 492)
|
|
||||||
|
|
||||||
---
|
|
||||||
src/lib/openjp2/j2k.c | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
|
|
||||||
index 8c62a39..cbdd368 100644
|
|
||||||
--- a/src/lib/openjp2/j2k.c
|
|
||||||
+++ b/src/lib/openjp2/j2k.c
|
|
||||||
@@ -7365,6 +7365,12 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
|
||||||
l_tcp->cod = 0;
|
|
||||||
l_tcp->ppt = 0;
|
|
||||||
l_tcp->ppt_data = 00;
|
|
||||||
+ /* Remove memory not owned by this tile in case of early error return. */
|
|
||||||
+ l_tcp->m_mct_decoding_matrix = 00;
|
|
||||||
+ l_tcp->m_nb_max_mct_records = 0;
|
|
||||||
+ l_tcp->m_mct_records = 00;
|
|
||||||
+ l_tcp->m_nb_max_mcc_records = 0;
|
|
||||||
+ l_tcp->m_mcc_records = 00;
|
|
||||||
/* Reconnect the tile-compo coding parameters pointer to the current tile coding parameters*/
|
|
||||||
l_tcp->tccps = l_current_tccp;
|
|
||||||
|
|
||||||
@@ -7402,6 +7408,8 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
|
||||||
|
|
||||||
++l_src_mct_rec;
|
|
||||||
++l_dest_mct_rec;
|
|
||||||
+ /* Update with each pass to free exactly what has been allocated on early return. */
|
|
||||||
+ l_tcp->m_nb_max_mct_records += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get the mcc_record of the dflt_tile_cp and copy them into the current tile cp*/
|
|
||||||
@@ -7411,6 +7419,7 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2
|
|
||||||
return OPJ_FALSE;
|
|
||||||
}
|
|
||||||
memcpy(l_tcp->m_mcc_records,l_default_tcp->m_mcc_records,l_mcc_records_size);
|
|
||||||
+ l_tcp->m_nb_max_mcc_records = l_default_tcp->m_nb_max_mcc_records;
|
|
||||||
|
|
||||||
/* Copy the mcc record data from dflt_tile_cp to the current tile*/
|
|
||||||
l_src_mcc_rec = l_default_tcp->m_mcc_records;
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
|
@ -0,0 +1,245 @@
|
||||||
|
From cadff5fb6e73398de26a92e96d3d7cac893af255 Mon Sep 17 00:00:00 2001
|
||||||
|
From: szukw000 <szukw000@arcor.de>
|
||||||
|
Date: Fri, 9 Dec 2016 08:29:55 +0100
|
||||||
|
Subject: [PATCH] These changes repair bugs of #871 and #872
|
||||||
|
|
||||||
|
email from http://openwall.com/lists/oss-security/2016/12/09/4
|
||||||
|
patch is against openjpeg-2.1.2, applies cleanly to 2.1.1.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/bin/jp2/converttif.c | 107 +++++++++++++++++++++++++++++++----------------
|
||||||
|
1 file changed, 70 insertions(+), 37 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/bin/jp2/converttif.c b/src/bin/jp2/converttif.c
|
||||||
|
index 143d3be..c690f8b 100644
|
||||||
|
--- a/src/bin/jp2/converttif.c
|
||||||
|
+++ b/src/bin/jp2/converttif.c
|
||||||
|
@@ -553,20 +553,18 @@ static void tif_32sto16u(const OPJ_INT32* pSrc, OPJ_UINT16* pDst, OPJ_SIZE_T len
|
||||||
|
|
||||||
|
int imagetotif(opj_image_t * image, const char *outfile)
|
||||||
|
{
|
||||||
|
- int width, height;
|
||||||
|
- int bps,adjust, sgnd;
|
||||||
|
- int tiPhoto;
|
||||||
|
+ uint32 width, height, bps, tiPhoto;
|
||||||
|
+ int adjust, sgnd;
|
||||||
|
TIFF *tif;
|
||||||
|
tdata_t buf;
|
||||||
|
- tsize_t strip_size;
|
||||||
|
+ tmsize_t strip_size, rowStride;
|
||||||
|
OPJ_UINT32 i, numcomps;
|
||||||
|
- OPJ_SIZE_T rowStride;
|
||||||
|
OPJ_INT32* buffer32s = NULL;
|
||||||
|
OPJ_INT32 const* planes[4];
|
||||||
|
convert_32s_PXCX cvtPxToCx = NULL;
|
||||||
|
convert_32sXXx_C1R cvt32sToTif = NULL;
|
||||||
|
|
||||||
|
- bps = (int)image->comps[0].prec;
|
||||||
|
+ bps = (uint32)image->comps[0].prec;
|
||||||
|
planes[0] = image->comps[0].data;
|
||||||
|
|
||||||
|
numcomps = image->numcomps;
|
||||||
|
@@ -674,13 +672,13 @@ int imagetotif(opj_image_t * image, const char *outfile)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
sgnd = (int)image->comps[0].sgnd;
|
||||||
|
- adjust = sgnd ? 1 << (image->comps[0].prec - 1) : 0;
|
||||||
|
- width = (int)image->comps[0].w;
|
||||||
|
- height = (int)image->comps[0].h;
|
||||||
|
+ adjust = sgnd ? (int)(1 << (image->comps[0].prec - 1)) : 0;
|
||||||
|
+ width = (uint32)image->comps[0].w;
|
||||||
|
+ height = (uint32)image->comps[0].h;
|
||||||
|
|
||||||
|
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, width);
|
||||||
|
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, height);
|
||||||
|
- TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, numcomps);
|
||||||
|
+ TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, (uint32)numcomps);
|
||||||
|
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bps);
|
||||||
|
TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
|
||||||
|
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
|
||||||
|
@@ -688,8 +686,8 @@ int imagetotif(opj_image_t * image, const char *outfile)
|
||||||
|
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
|
||||||
|
|
||||||
|
strip_size = TIFFStripSize(tif);
|
||||||
|
- rowStride = ((OPJ_SIZE_T)width * numcomps * (OPJ_SIZE_T)bps + 7U) / 8U;
|
||||||
|
- if (rowStride != (OPJ_SIZE_T)strip_size) {
|
||||||
|
+ rowStride = (width * numcomps * bps + 7U) / 8U;
|
||||||
|
+ if (rowStride != strip_size) {
|
||||||
|
fprintf(stderr, "Invalid TIFF strip size\n");
|
||||||
|
TIFFClose(tif);
|
||||||
|
return 1;
|
||||||
|
@@ -699,7 +697,7 @@ int imagetotif(opj_image_t * image, const char *outfile)
|
||||||
|
TIFFClose(tif);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)width * numcomps * sizeof(OPJ_INT32));
|
||||||
|
+ buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(width * numcomps * sizeof(OPJ_INT32)));
|
||||||
|
if (buffer32s == NULL) {
|
||||||
|
_TIFFfree(buf);
|
||||||
|
TIFFClose(tif);
|
||||||
|
@@ -1211,20 +1209,19 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
TIFF *tif;
|
||||||
|
tdata_t buf;
|
||||||
|
tstrip_t strip;
|
||||||
|
- tsize_t strip_size;
|
||||||
|
+ tmsize_t strip_size;
|
||||||
|
int j, currentPlane, numcomps = 0, w, h;
|
||||||
|
OPJ_COLOR_SPACE color_space = OPJ_CLRSPC_UNKNOWN;
|
||||||
|
opj_image_cmptparm_t cmptparm[4]; /* RGBA */
|
||||||
|
opj_image_t *image = NULL;
|
||||||
|
int has_alpha = 0;
|
||||||
|
- unsigned short tiBps, tiPhoto, tiSf, tiSpp, tiPC;
|
||||||
|
- unsigned int tiWidth, tiHeight;
|
||||||
|
+ uint32 tiBps, tiPhoto, tiSf, tiSpp, tiPC, tiWidth, tiHeight;
|
||||||
|
OPJ_BOOL is_cinema = OPJ_IS_CINEMA(parameters->rsiz);
|
||||||
|
convert_XXx32s_C1R cvtTifTo32s = NULL;
|
||||||
|
convert_32s_CXPX cvtCxToPx = NULL;
|
||||||
|
OPJ_INT32* buffer32s = NULL;
|
||||||
|
OPJ_INT32* planes[4];
|
||||||
|
- OPJ_SIZE_T rowStride;
|
||||||
|
+ tmsize_t rowStride;
|
||||||
|
|
||||||
|
tif = TIFFOpen(filename, "r");
|
||||||
|
|
||||||
|
@@ -1243,22 +1240,35 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &tiSpp);
|
||||||
|
TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &tiPhoto);
|
||||||
|
TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &tiPC);
|
||||||
|
- w= (int)tiWidth;
|
||||||
|
- h= (int)tiHeight;
|
||||||
|
-
|
||||||
|
- if(tiBps > 16U) {
|
||||||
|
- fprintf(stderr,"tiftoimage: Bits=%d, Only 1 to 16 bits implemented\n",tiBps);
|
||||||
|
- fprintf(stderr,"\tAborting\n");
|
||||||
|
+
|
||||||
|
+ if(tiSpp == 0 || tiSpp > 4) { /* should be 1 ... 4 */
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad value for samples per pixel == %hu.\n"
|
||||||
|
+ "\tAborting.\n", tiSpp);
|
||||||
|
+ TIFFClose(tif);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+ if(tiBps > 16U || tiBps == 0) {
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad values for Bits == %d.\n"
|
||||||
|
+ "\tMax. 16 Bits are allowed here.\n\tAborting.\n",tiBps);
|
||||||
|
TIFFClose(tif);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if(tiPhoto != PHOTOMETRIC_MINISBLACK && tiPhoto != PHOTOMETRIC_RGB) {
|
||||||
|
- fprintf(stderr,"tiftoimage: Bad color format %d.\n\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad color format %d.\n"
|
||||||
|
+ "\tOnly RGB(A) and GRAY(A) has been implemented\n",(int) tiPhoto);
|
||||||
|
fprintf(stderr,"\tAborting\n");
|
||||||
|
TIFFClose(tif);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+ if(tiWidth == 0 || tiHeight == 0) {
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad values for width(%u) "
|
||||||
|
+ "and/or height(%u)\n\tAborting.\n",tiWidth,tiHeight);
|
||||||
|
+ TIFFClose(tif);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+ w= (int)tiWidth;
|
||||||
|
+ h= (int)tiHeight;
|
||||||
|
+
|
||||||
|
switch (tiBps) {
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
@@ -1312,7 +1322,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
|
||||||
|
TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,
|
||||||
|
&extrasamples, &sampleinfo);
|
||||||
|
-
|
||||||
|
+
|
||||||
|
if(extrasamples >= 1)
|
||||||
|
{
|
||||||
|
switch(sampleinfo[0])
|
||||||
|
@@ -1333,7 +1343,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
else /* extrasamples == 0 */
|
||||||
|
if(tiSpp == 4 || tiSpp == 2) has_alpha = 1;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
/* initialize image components */
|
||||||
|
memset(&cmptparm[0], 0, 4 * sizeof(opj_image_cmptparm_t));
|
||||||
|
|
||||||
|
@@ -1346,7 +1356,7 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
} else {
|
||||||
|
is_cinema = 0U;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
if(tiPhoto == PHOTOMETRIC_RGB) /* RGB(A) */
|
||||||
|
{
|
||||||
|
numcomps = 3 + has_alpha;
|
||||||
|
@@ -1384,10 +1394,24 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
image->x0 = (OPJ_UINT32)parameters->image_offset_x0;
|
||||||
|
image->y0 = (OPJ_UINT32)parameters->image_offset_y0;
|
||||||
|
image->x1 = !image->x0 ? (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1 :
|
||||||
|
- image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
|
||||||
|
+ image->x0 + (OPJ_UINT32)(w - 1) * (OPJ_UINT32)subsampling_dx + 1;
|
||||||
|
+ if(image->x1 <= image->x0) {
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad value for image->x1(%d) vs. "
|
||||||
|
+ "image->x0(%d)\n\tAborting.\n",image->x1,image->x0);
|
||||||
|
+ TIFFClose(tif);
|
||||||
|
+ opj_image_destroy(image);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
image->y1 = !image->y0 ? (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1 :
|
||||||
|
- image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
|
||||||
|
-
|
||||||
|
+ image->y0 + (OPJ_UINT32)(h - 1) * (OPJ_UINT32)subsampling_dy + 1;
|
||||||
|
+ if(image->y1 <= image->y0) {
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad value for image->y1(%d) vs. "
|
||||||
|
+ "image->y0(%d)\n\tAborting.\n",image->y1,image->y0);
|
||||||
|
+ TIFFClose(tif);
|
||||||
|
+ opj_image_destroy(image);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
for(j = 0; j < numcomps; j++)
|
||||||
|
{
|
||||||
|
planes[j] = image->comps[j].data;
|
||||||
|
@@ -1395,15 +1419,15 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
image->comps[numcomps - 1].alpha = (OPJ_UINT16)(1 - (numcomps & 1));
|
||||||
|
|
||||||
|
strip_size = TIFFStripSize(tif);
|
||||||
|
-
|
||||||
|
+
|
||||||
|
buf = _TIFFmalloc(strip_size);
|
||||||
|
if (buf == NULL) {
|
||||||
|
TIFFClose(tif);
|
||||||
|
opj_image_destroy(image);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
- rowStride = ((OPJ_SIZE_T)w * tiSpp * tiBps + 7U) / 8U;
|
||||||
|
- buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)w * tiSpp * sizeof(OPJ_INT32));
|
||||||
|
+ rowStride = (w * tiSpp * tiBps + 7U) / 8U;
|
||||||
|
+ buffer32s = (OPJ_INT32 *)malloc((OPJ_SIZE_T)(w * tiSpp * sizeof(OPJ_INT32)));
|
||||||
|
if (buffer32s == NULL) {
|
||||||
|
_TIFFfree(buf);
|
||||||
|
TIFFClose(tif);
|
||||||
|
@@ -1421,11 +1445,20 @@ opj_image_t* tiftoimage(const char *filename, opj_cparameters_t *parameters)
|
||||||
|
for(; (h > 0) && (strip < TIFFNumberOfStrips(tif)); strip++)
|
||||||
|
{
|
||||||
|
const OPJ_UINT8 *dat8;
|
||||||
|
- OPJ_SIZE_T ssize;
|
||||||
|
+ tmsize_t ssize;
|
||||||
|
|
||||||
|
- ssize = (OPJ_SIZE_T)TIFFReadEncodedStrip(tif, strip, buf, strip_size);
|
||||||
|
+ ssize = TIFFReadEncodedStrip(tif, strip, buf, strip_size);
|
||||||
|
+ if(ssize < 1 || ssize > strip_size) {
|
||||||
|
+ fprintf(stderr,"tiftoimage: Bad value for ssize(%ld) "
|
||||||
|
+ "vs. strip_size(%ld).\n\tAborting.\n",ssize,strip_size);
|
||||||
|
+ _TIFFfree(buf);
|
||||||
|
+ _TIFFfree(buffer32s);
|
||||||
|
+ TIFFClose(tif);
|
||||||
|
+ opj_image_destroy(image);
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
dat8 = (const OPJ_UINT8*)buf;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
while (ssize >= rowStride) {
|
||||||
|
cvtTifTo32s(dat8, buffer32s, (OPJ_SIZE_T)w * tiSpp);
|
||||||
|
cvtCxToPx(buffer32s, planes, (OPJ_SIZE_T)w);
|
|
@ -355,7 +355,7 @@ required structures.")
|
||||||
(package
|
(package
|
||||||
(inherit openssl)
|
(inherit openssl)
|
||||||
(name "openssl")
|
(name "openssl")
|
||||||
(version "1.1.0b")
|
(version "1.1.0c")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (list (string-append "ftp://ftp.openssl.org/source/"
|
(uri (list (string-append "ftp://ftp.openssl.org/source/"
|
||||||
|
@ -366,7 +366,7 @@ required structures.")
|
||||||
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
|
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1xznrqvb1dbngv2k2nb6da6fdw00c01sy2i36yjdxr4vpxrf0pd4"))))
|
"1xfn5ydl14myd9wgxm4nxy5a42cpp1g12ijf3g9m4mz0l90n8hzw"))))
|
||||||
(outputs '("out"
|
(outputs '("out"
|
||||||
"doc" ;1.3MiB of man3 pages
|
"doc" ;1.3MiB of man3 pages
|
||||||
"static")) ; 5.5MiB of .a files
|
"static")) ; 5.5MiB of .a files
|
||||||
|
@ -377,13 +377,42 @@ required structures.")
|
||||||
(delete 'patch-tests) ; These two phases are not needed by
|
(delete 'patch-tests) ; These two phases are not needed by
|
||||||
(delete 'patch-Makefile.org) ; OpenSSL 1.1.0.
|
(delete 'patch-Makefile.org) ; OpenSSL 1.1.0.
|
||||||
|
|
||||||
(add-after 'configure 'patch-runpath
|
;; Override configure phase since -rpath is now a configure option.
|
||||||
|
(replace 'configure
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(substitute* "Makefile.shared"
|
(lib (string-append out "/lib")))
|
||||||
(("\\$\\$\\{SHAREDCMD\\} \\$\\$\\{SHAREDFLAGS\\}")
|
(zero?
|
||||||
(string-append "$${SHAREDCMD} $${SHAREDFLAGS}"
|
(system* "./config"
|
||||||
" -Wl,-rpath," lib)))
|
"shared" ;build shared libraries
|
||||||
|
"--libdir=lib"
|
||||||
|
|
||||||
|
;; The default for this catch-all directory is
|
||||||
|
;; PREFIX/ssl. Change that to something more
|
||||||
|
;; conventional.
|
||||||
|
(string-append "--openssldir=" out
|
||||||
|
"/share/openssl-" ,version)
|
||||||
|
|
||||||
|
(string-append "--prefix=" out)
|
||||||
|
(string-append "-Wl,-rpath," lib)
|
||||||
|
|
||||||
|
;; XXX FIXME: Work around a code generation bug in GCC
|
||||||
|
;; 4.9.3 on ARM when compiled with -mfpu=neon. See:
|
||||||
|
;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
|
||||||
|
,@(if (and (not (%current-target-system))
|
||||||
|
(string-prefix? "armhf" (%current-system)))
|
||||||
|
'("-mfpu=vfpv3")
|
||||||
|
'()))))))
|
||||||
|
|
||||||
|
;; XXX: Duplicate this phase to make sure 'version' evaluates
|
||||||
|
;; in the current scope and not the inherited one.
|
||||||
|
(replace 'remove-miscellany
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
;; The 'misc' directory contains random undocumented shell and Perl
|
||||||
|
;; scripts. Remove them to avoid retaining a reference on Perl.
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(delete-file-recursively (string-append out "/share/openssl-"
|
||||||
|
,version "/misc"))
|
||||||
#t)))))))))
|
#t)))))))))
|
||||||
|
|
||||||
(define-public libressl
|
(define-public libressl
|
||||||
|
|
|
@ -610,14 +610,14 @@ audio/video codec library.")
|
||||||
(define-public ffmpeg-2.8
|
(define-public ffmpeg-2.8
|
||||||
(package
|
(package
|
||||||
(inherit ffmpeg)
|
(inherit ffmpeg)
|
||||||
(version "2.8.8")
|
(version "2.8.9")
|
||||||
(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
|
||||||
"1691bmq8j56rcys09xwvzjq16z25m8vczj5a50gdn7ydm9qjykpr"))))
|
"1s3011q7sxyb55n3r8aiv7xh53bwxjdxa83s2ilqhq5rygrrgg8i"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
|
|
|
@ -523,7 +523,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
(define-public libpsl
|
(define-public libpsl
|
||||||
(package
|
(package
|
||||||
(name "libpsl")
|
(name "libpsl")
|
||||||
(version "0.15.0")
|
(version "0.16.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
||||||
|
@ -531,7 +531,7 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
"/libpsl-" version ".tar.gz"))
|
"/libpsl-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0wm9i3qshfdasd5s5nrdihl4f5c6zrd1nkqrqjnh7zhhv1an755m"))))
|
"1ghhwrn3y047ngs6d59z6ssnx6f7zr3fjvxji17ln9r10sj4njvi"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("icu4c" ,icu4c)
|
`(("icu4c" ,icu4c)
|
||||||
|
|
|
@ -177,6 +177,14 @@ private key from '~a': ~a")
|
||||||
;; #:log-verbosity 'protocol
|
;; #:log-verbosity 'protocol
|
||||||
#:identity (build-machine-private-key machine)
|
#:identity (build-machine-private-key machine)
|
||||||
|
|
||||||
|
;; By default libssh reads ~/.ssh/known_hosts
|
||||||
|
;; and uses that to adjust its choice of cipher
|
||||||
|
;; suites, which changes the type of host key
|
||||||
|
;; that the server sends (RSA vs. Ed25519,
|
||||||
|
;; etc.). Opt for something reproducible and
|
||||||
|
;; stateless instead.
|
||||||
|
#:knownhosts "/dev/null"
|
||||||
|
|
||||||
;; We need lightweight compression when
|
;; We need lightweight compression when
|
||||||
;; exchanging full archives.
|
;; exchanging full archives.
|
||||||
#:compression
|
#:compression
|
||||||
|
@ -700,9 +708,18 @@ allowed on MACHINE. Return +∞ if MACHINE is unreachable."
|
||||||
(leave (_ "failed to import '~a' from '~a'~%")
|
(leave (_ "failed to import '~a' from '~a'~%")
|
||||||
item name)))))
|
item name)))))
|
||||||
|
|
||||||
(define (check-machine-availability machine-file)
|
(define (check-machine-availability machine-file pred)
|
||||||
"Check that each machine in MACHINE-FILE is usable as a build machine."
|
"Check that each machine matching PRED in MACHINE-FILE is usable as a build
|
||||||
(let ((machines (build-machines machine-file)))
|
machine."
|
||||||
|
(define (build-machine=? m1 m2)
|
||||||
|
(and (string=? (build-machine-name m1) (build-machine-name m2))
|
||||||
|
(= (build-machine-port m1) (build-machine-port m2))))
|
||||||
|
|
||||||
|
;; A given build machine may appear several times (e.g., once for
|
||||||
|
;; "x86_64-linux" and a second time for "i686-linux"); test them only once.
|
||||||
|
(let ((machines (filter pred
|
||||||
|
(delete-duplicates (build-machines machine-file)
|
||||||
|
build-machine=?))))
|
||||||
(info (_ "testing ~a build machines defined in '~a'...~%")
|
(info (_ "testing ~a build machines defined in '~a'...~%")
|
||||||
(length machines) machine-file)
|
(length machines) machine-file)
|
||||||
(let* ((names (map build-machine-name machines))
|
(let* ((names (map build-machine-name machines))
|
||||||
|
@ -766,11 +783,16 @@ allowed on MACHINE. Return +∞ if MACHINE is unreachable."
|
||||||
(loop (read-line)))))))
|
(loop (read-line)))))))
|
||||||
(("test" rest ...)
|
(("test" rest ...)
|
||||||
(with-error-handling
|
(with-error-handling
|
||||||
(let ((file (match rest
|
(let-values (((file pred)
|
||||||
((file) file)
|
(match rest
|
||||||
(() %machine-file)
|
((file regexp)
|
||||||
|
(values file
|
||||||
|
(compose (cut string-match regexp <>)
|
||||||
|
build-machine-name)))
|
||||||
|
((file) (values file (const #t)))
|
||||||
|
(() (values %machine-file (const #t)))
|
||||||
(_ (leave (_ "wrong number of arguments~%"))))))
|
(_ (leave (_ "wrong number of arguments~%"))))))
|
||||||
(check-machine-availability (or file %machine-file)))))
|
(check-machine-availability (or file %machine-file) pred))))
|
||||||
(("--version")
|
(("--version")
|
||||||
(show-version-and-exit "guix offload"))
|
(show-version-and-exit "guix offload"))
|
||||||
(("--help")
|
(("--help")
|
||||||
|
|
Loading…
Reference in New Issue