Merge branch 'master' into staging

This commit is contained in:
Mark H Weaver 2016-12-10 23:03:57 -05:00
commit d94691e0c2
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
19 changed files with 726 additions and 146 deletions

View File

@ -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}

View File

@ -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 \

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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")

View File

@ -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"))))))
;;; ;;;

View File

@ -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

View File

@ -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")

View File

@ -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
Knuths 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")

View File

@ -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)

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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")