diff options
| author | Mark H Weaver <mhw@netris.org> | 2015-07-19 20:28:56 -0400 |
|---|---|---|
| committer | Mark H Weaver <mhw@netris.org> | 2015-07-19 20:28:56 -0400 |
| commit | e170571887dc072edae8b197527921c47743c62c (patch) | |
| tree | c77e6d7ff744c50cd2741fd92a0c73503daa83c2 | |
| parent | dcd9c2505c0230c13556e233dbe4d81604a4abbd (diff) | |
| parent | 1b4e48d498a96d478baa1aae7d9c7ecdbd817d6f (diff) | |
Merge branch 'core-updates'
53 files changed, 615 insertions, 316 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d098e68eab8..822aefa3a89 100644 --- a/doc/guix.texi +++ b/doc/guix.texi | |||
| @@ -4455,7 +4455,7 @@ Intel/AMD @code{x86_64} architecture, Linux-Libre kernel; | |||
| 4455 | Intel 32-bit architecture (IA32), Linux-Libre kernel; | 4455 | Intel 32-bit architecture (IA32), Linux-Libre kernel; |
| 4456 | 4456 | ||
| 4457 | @item armhf-linux | 4457 | @item armhf-linux |
| 4458 | ARMv7-A architecture with hard float, Thumb-2 and VFP3D16 coprocessor, | 4458 | ARMv7-A architecture with hard float, Thumb-2 and NEON, |
| 4459 | using the EABI hard-float ABI, and Linux-Libre kernel. | 4459 | using the EABI hard-float ABI, and Linux-Libre kernel. |
| 4460 | 4460 | ||
| 4461 | @item mips64el-linux | 4461 | @item mips64el-linux |
diff --git a/gnu-system.am b/gnu-system.am index fb661d45448..f67e0776c88 100644 --- a/gnu-system.am +++ b/gnu-system.am | |||
| @@ -403,7 +403,6 @@ dist_patch_DATA = \ | |||
| 403 | gnu/packages/patches/clang-libc-search-path.patch \ | 403 | gnu/packages/patches/clang-libc-search-path.patch \ |
| 404 | gnu/packages/patches/clucene-pkgconfig.patch \ | 404 | gnu/packages/patches/clucene-pkgconfig.patch \ |
| 405 | gnu/packages/patches/cmake-fix-tests.patch \ | 405 | gnu/packages/patches/cmake-fix-tests.patch \ |
| 406 | gnu/packages/patches/coreutils-dummy-man.patch \ | ||
| 407 | gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch \ | 406 | gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch \ |
| 408 | gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch \ | 407 | gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch \ |
| 409 | gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch \ | 408 | gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch \ |
| @@ -441,7 +440,6 @@ dist_patch_DATA = \ | |||
| 441 | gnu/packages/patches/gcc-libvtv-runpath.patch \ | 440 | gnu/packages/patches/gcc-libvtv-runpath.patch \ |
| 442 | gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \ | 441 | gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \ |
| 443 | gnu/packages/patches/geoclue-config.patch \ | 442 | gnu/packages/patches/geoclue-config.patch \ |
| 444 | gnu/packages/patches/gettext-msgunfmt.patch \ | ||
| 445 | gnu/packages/patches/ghostscript-runpath.patch \ | 443 | gnu/packages/patches/ghostscript-runpath.patch \ |
| 446 | gnu/packages/patches/gitolite-openssh-6.8-compat.patch \ | 444 | gnu/packages/patches/gitolite-openssh-6.8-compat.patch \ |
| 447 | gnu/packages/patches/glib-tests-desktop.patch \ | 445 | gnu/packages/patches/glib-tests-desktop.patch \ |
| @@ -473,6 +471,7 @@ dist_patch_DATA = \ | |||
| 473 | gnu/packages/patches/hydra-automake-1.15.patch \ | 471 | gnu/packages/patches/hydra-automake-1.15.patch \ |
| 474 | gnu/packages/patches/hydra-disable-darcs-test.patch \ | 472 | gnu/packages/patches/hydra-disable-darcs-test.patch \ |
| 475 | gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \ | 473 | gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \ |
| 474 | gnu/packages/patches/icecat-freetype-2.6.patch \ | ||
| 476 | gnu/packages/patches/icecat-libvpx-1.4.patch \ | 475 | gnu/packages/patches/icecat-libvpx-1.4.patch \ |
| 477 | gnu/packages/patches/irrlicht-mesa-10.patch \ | 476 | gnu/packages/patches/irrlicht-mesa-10.patch \ |
| 478 | gnu/packages/patches/jbig2dec-ignore-testtest.patch \ | 477 | gnu/packages/patches/jbig2dec-ignore-testtest.patch \ |
| @@ -540,6 +539,7 @@ dist_patch_DATA = \ | |||
| 540 | gnu/packages/patches/ngircd-handle-zombies.patch \ | 539 | gnu/packages/patches/ngircd-handle-zombies.patch \ |
| 541 | gnu/packages/patches/ngircd-no-dns-in-tests.patch \ | 540 | gnu/packages/patches/ngircd-no-dns-in-tests.patch \ |
| 542 | gnu/packages/patches/ninja-tests.patch \ | 541 | gnu/packages/patches/ninja-tests.patch \ |
| 542 | gnu/packages/patches/ninja-zero-mtime.patch \ | ||
| 543 | gnu/packages/patches/nss-pkgconfig.patch \ | 543 | gnu/packages/patches/nss-pkgconfig.patch \ |
| 544 | gnu/packages/patches/nvi-assume-preserve-path.patch \ | 544 | gnu/packages/patches/nvi-assume-preserve-path.patch \ |
| 545 | gnu/packages/patches/nvi-dbpagesize-binpower.patch \ | 545 | gnu/packages/patches/nvi-dbpagesize-binpower.patch \ |
| @@ -625,6 +625,11 @@ dist_patch_DATA = \ | |||
| 625 | gnu/packages/patches/unzip-CVE-2014-8139.patch \ | 625 | gnu/packages/patches/unzip-CVE-2014-8139.patch \ |
| 626 | gnu/packages/patches/unzip-CVE-2014-8140.patch \ | 626 | gnu/packages/patches/unzip-CVE-2014-8140.patch \ |
| 627 | gnu/packages/patches/unzip-CVE-2014-8141.patch \ | 627 | gnu/packages/patches/unzip-CVE-2014-8141.patch \ |
| 628 | gnu/packages/patches/unzip-CVE-2014-9636.patch \ | ||
| 629 | gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ | ||
| 630 | gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch \ | ||
| 631 | gnu/packages/patches/unzip-initialize-symlink-flag.patch \ | ||
| 632 | gnu/packages/patches/unzip-remove-build-date.patch \ | ||
| 628 | gnu/packages/patches/util-linux-tests.patch \ | 633 | gnu/packages/patches/util-linux-tests.patch \ |
| 629 | gnu/packages/patches/upower-builddir.patch \ | 634 | gnu/packages/patches/upower-builddir.patch \ |
| 630 | gnu/packages/patches/valgrind-glibc-2.21.patch \ | 635 | gnu/packages/patches/valgrind-glibc-2.21.patch \ |
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b34a22806bc..e1bb74c8cd7 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm | |||
| @@ -412,7 +412,11 @@ connection alive.") | |||
| 412 | (for-each patch-shebang | 412 | (for-each patch-shebang |
| 413 | (find-files "bind-9.9.5-P1" ".*")) | 413 | (find-files "bind-9.9.5-P1" ".*")) |
| 414 | (zero? (system* "tar" "cf" "bind.tar.gz" | 414 | (zero? (system* "tar" "cf" "bind.tar.gz" |
| 415 | "bind-9.9.5-P1")))) | 415 | "bind-9.9.5-P1" |
| 416 | ;; avoid non-determinism in the archive | ||
| 417 | "--mtime=@0" | ||
| 418 | "--owner=root:0" | ||
| 419 | "--group=root:0")))) | ||
| 416 | (alist-cons-after | 420 | (alist-cons-after |
| 417 | 'install 'post-install | 421 | 'install 'post-install |
| 418 | (lambda* (#:key inputs outputs #:allow-other-keys) | 422 | (lambda* (#:key inputs outputs #:allow-other-keys) |
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c5b1a2226ac..f35f6192010 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm | |||
| @@ -238,15 +238,14 @@ used to apply commands with arbitrarily long arguments.") | |||
| 238 | (define-public coreutils | 238 | (define-public coreutils |
| 239 | (package | 239 | (package |
| 240 | (name "coreutils") | 240 | (name "coreutils") |
| 241 | (version "8.23") | 241 | (version "8.24") |
| 242 | (source (origin | 242 | (source (origin |
| 243 | (method url-fetch) | 243 | (method url-fetch) |
| 244 | (uri (string-append "mirror://gnu/coreutils/coreutils-" | 244 | (uri (string-append "mirror://gnu/coreutils/coreutils-" |
| 245 | version ".tar.xz")) | 245 | version ".tar.xz")) |
| 246 | (sha256 | 246 | (sha256 |
| 247 | (base32 | 247 | (base32 |
| 248 | "0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc")) | 248 | "0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2")))) |
| 249 | (patches (list (search-patch "coreutils-dummy-man.patch"))))) | ||
| 250 | (build-system gnu-build-system) | 249 | (build-system gnu-build-system) |
| 251 | (inputs `(("acl" ,acl) ; TODO: add SELinux | 250 | (inputs `(("acl" ,acl) ; TODO: add SELinux |
| 252 | ("gmp" ,gmp))) | 251 | ("gmp" ,gmp))) |
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 45676f568b4..6b2d0b855d8 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm | |||
| @@ -86,7 +86,13 @@ | |||
| 86 | (30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278 | 86 | (30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278 |
| 87 | (31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd") | 87 | (31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd") |
| 88 | (32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8") | 88 | (32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8") |
| 89 | (33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv"))) | 89 | (33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv") |
| 90 | (34 "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi") | ||
| 91 | (35 "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p") | ||
| 92 | (36 "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc") | ||
| 93 | (37 "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k") | ||
| 94 | (38 "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd") | ||
| 95 | (39 "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b"))) | ||
| 90 | (define (download-patches store count) | 96 | (define (download-patches store count) |
| 91 | "Download COUNT Bash patches into store. Return a list of | 97 | "Download COUNT Bash patches into store. Return a list of |
| 92 | number/base32-hash tuples, directly usable in the 'patch-series' form." | 98 | number/base32-hash tuples, directly usable in the 'patch-series' form." |
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 1f0fe166880..f3c1c5a617e 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm | |||
| @@ -197,6 +197,33 @@ successful, or false to signal an error." | |||
| 197 | "guile-2.0.11.tar.xz") | 197 | "guile-2.0.11.tar.xz") |
| 198 | (_ | 198 | (_ |
| 199 | "guile-2.0.9.tar.xz")))) | 199 | "guile-2.0.9.tar.xz")))) |
| 200 | ;; The following code, run by the bootstrap guile after it is | ||
| 201 | ;; unpacked, creates a wrapper for itself to set its load path. | ||
| 202 | ;; This replaces the previous non-portable method based on | ||
| 203 | ;; reading the /proc/self/exe symlink. | ||
| 204 | (make-guile-wrapper | ||
| 205 | '(begin | ||
| 206 | (use-modules (ice-9 match)) | ||
| 207 | (match (command-line) | ||
| 208 | ((_ out bash) | ||
| 209 | (let ((bin-dir (string-append out "/bin")) | ||
| 210 | (guile (string-append out "/bin/guile")) | ||
| 211 | (guile-real (string-append out "/bin/.guile-real")) | ||
| 212 | ;; We must avoid using a bare dollar sign in this code, | ||
| 213 | ;; because it would be interpreted by the shell. | ||
| 214 | (dollar (string (integer->char 36)))) | ||
| 215 | (chmod bin-dir #o755) | ||
| 216 | (rename-file guile guile-real) | ||
| 217 | (call-with-output-file guile | ||
| 218 | (lambda (p) | ||
| 219 | (format p "\ | ||
| 220 | #!~a | ||
| 221 | export GUILE_SYSTEM_PATH=~a/share/guile/2.0 | ||
| 222 | export GUILE_SYSTEM_COMPILED_PATH=~a/lib/guile/2.0/ccache | ||
| 223 | exec -a \"~a0\" ~a \"~a@\"\n" | ||
| 224 | bash out out dollar guile-real dollar))) | ||
| 225 | (chmod guile #o555) | ||
| 226 | (chmod bin-dir #o555)))))) | ||
| 200 | (builder | 227 | (builder |
| 201 | (add-text-to-store store | 228 | (add-text-to-store store |
| 202 | "build-bootstrap-guile.sh" | 229 | "build-bootstrap-guile.sh" |
| @@ -206,10 +233,17 @@ echo \"unpacking bootstrap Guile to '$out'...\" | |||
| 206 | cd $out | 233 | cd $out |
| 207 | ~a -dc < ~a | ~a xv | 234 | ~a -dc < ~a | ~a xv |
| 208 | 235 | ||
| 236 | # Use the bootstrap guile to create its own wrapper to set the load path. | ||
| 237 | GUILE_SYSTEM_PATH=$out/share/guile/2.0 \ | ||
| 238 | GUILE_SYSTEM_COMPILED_PATH=$out/lib/guile/2.0/ccache \ | ||
| 239 | $out/bin/guile -c ~s $out ~a | ||
| 240 | |||
| 209 | # Sanity check. | 241 | # Sanity check. |
| 210 | $out/bin/guile --version~%" | 242 | $out/bin/guile --version~%" |
| 211 | mkdir xz guile tar) | 243 | mkdir xz guile tar |
| 212 | (list mkdir xz guile tar)))) | 244 | (format #f "~s" make-guile-wrapper) |
| 245 | bash) | ||
| 246 | (list mkdir xz guile tar bash)))) | ||
| 213 | (derivation store name | 247 | (derivation store name |
| 214 | bash `(,builder) | 248 | bash `(,builder) |
| 215 | #:system system | 249 | #:system system |
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 02a9a3632ce..d3f239f5f73 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm | |||
| @@ -284,6 +284,7 @@ | |||
| 284 | ;; because we don't need the stand-alone Info reader. | 284 | ;; because we don't need the stand-alone Info reader. |
| 285 | ;; Also, use %BOOT0-INPUTS to avoid building Perl once more. | 285 | ;; Also, use %BOOT0-INPUTS to avoid building Perl once more. |
| 286 | (let ((texinfo (package (inherit texinfo) | 286 | (let ((texinfo (package (inherit texinfo) |
| 287 | (native-inputs '()) | ||
| 287 | (inputs (alist-delete "ncurses" (package-inputs texinfo)))))) | 288 | (inputs (alist-delete "ncurses" (package-inputs texinfo)))))) |
| 288 | (package-with-bootstrap-guile | 289 | (package-with-bootstrap-guile |
| 289 | (package-with-explicit-inputs texinfo %boot0-inputs | 290 | (package-with-explicit-inputs texinfo %boot0-inputs |
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index b5e07b81f03..eda44cea41e 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm | |||
| @@ -165,8 +165,7 @@ may be either a libc package or #f.)" | |||
| 165 | ;; Add the cross Linux headers to CROSS_CPATH, and remove them | 165 | ;; Add the cross Linux headers to CROSS_CPATH, and remove them |
| 166 | ;; from CPATH. | 166 | ;; from CPATH. |
| 167 | (let ((libc (assoc-ref inputs "libc")) | 167 | (let ((libc (assoc-ref inputs "libc")) |
| 168 | (linux (assoc-ref inputs | 168 | (linux (assoc-ref inputs "xlinux-headers"))) |
| 169 | "libc/linux-headers"))) | ||
| 170 | (define (cross? x) | 169 | (define (cross? x) |
| 171 | ;; Return #t if X is a cross-libc or cross Linux. | 170 | ;; Return #t if X is a cross-libc or cross Linux. |
| 172 | (or (string-prefix? libc x) | 171 | (or (string-prefix? libc x) |
| @@ -245,6 +244,9 @@ GCC that does not target a libc; otherwise, target that libc." | |||
| 245 | (alist-delete "libc" %final-inputs)))) | 244 | (alist-delete "libc" %final-inputs)))) |
| 246 | (if libc | 245 | (if libc |
| 247 | `(("libc" ,libc) | 246 | `(("libc" ,libc) |
| 247 | ("xlinux-headers" ;the target headers | ||
| 248 | ,@(assoc-ref (package-propagated-inputs libc) | ||
| 249 | "linux-headers")) | ||
| 248 | ,@inputs) | 250 | ,@inputs) |
| 249 | inputs)))) | 251 | inputs)))) |
| 250 | 252 | ||
| @@ -314,7 +316,7 @@ XBINUTILS and the cross tool chain." | |||
| 314 | #t)) | 316 | #t)) |
| 315 | ,phases)))) | 317 | ,phases)))) |
| 316 | 318 | ||
| 317 | ;; Shadow the native "linux-headers" because glibc's recipe expect the | 319 | ;; Shadow the native "linux-headers" because glibc's recipe expects the |
| 318 | ;; "linux-headers" input to point to the right thing. | 320 | ;; "linux-headers" input to point to the right thing. |
| 319 | (propagated-inputs `(("linux-headers" ,xlinux-headers))) | 321 | (propagated-inputs `(("linux-headers" ,xlinux-headers))) |
| 320 | 322 | ||
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm index 0d2b24cf8d1..7cd1fcd71df 100644 --- a/gnu/packages/ed.scm +++ b/gnu/packages/ed.scm | |||
| @@ -27,14 +27,14 @@ | |||
| 27 | (define-public ed | 27 | (define-public ed |
| 28 | (package | 28 | (package |
| 29 | (name "ed") | 29 | (name "ed") |
| 30 | (version "1.11") | 30 | (version "1.12") |
| 31 | (source (origin | 31 | (source (origin |
| 32 | (method url-fetch) | 32 | (method url-fetch) |
| 33 | (uri (string-append "mirror://gnu/ed/ed-" | 33 | (uri (string-append "mirror://gnu/ed/ed-" |
| 34 | version ".tar.lz")) | 34 | version ".tar.lz")) |
| 35 | (sha256 | 35 | (sha256 |
| 36 | (base32 | 36 | (base32 |
| 37 | "0d518yhs3kpdpv9fbpa1rhxk2fbry2yzcknrdaa20pi2bzg6w55x")))) | 37 | "0bw0187a311rci58vznvncsj6pfp8bhs5phrlrqn03sa2i1mfrfj")))) |
| 38 | (build-system gnu-build-system) | 38 | (build-system gnu-build-system) |
| 39 | (native-inputs `(("lzip" ,lzip))) | 39 | (native-inputs `(("lzip" ,lzip))) |
| 40 | (arguments | 40 | (arguments |
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index e71d180ab6d..d393e69c49b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm | |||
| @@ -410,8 +410,7 @@ operations.") | |||
| 410 | "/bin/emacs")) | 410 | "/bin/emacs")) |
| 411 | (magit (string-append (assoc-ref %build-inputs "magit") | 411 | (magit (string-append (assoc-ref %build-inputs "magit") |
| 412 | "/share/emacs/site-lisp")) | 412 | "/share/emacs/site-lisp")) |
| 413 | (commit (string-append (assoc-ref %build-inputs | 413 | (commit (string-append (assoc-ref %build-inputs "git-modes") |
| 414 | "magit/git-modes") | ||
| 415 | "/share/emacs/site-lisp")) | 414 | "/share/emacs/site-lisp")) |
| 416 | (source (assoc-ref %build-inputs "source")) | 415 | (source (assoc-ref %build-inputs "source")) |
| 417 | (lisp-dir (string-append %output "/share/emacs/site-lisp"))) | 416 | (lisp-dir (string-append %output "/share/emacs/site-lisp"))) |
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index c04f24b83c9..5953caa87a6 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm | |||
| @@ -40,13 +40,13 @@ | |||
| 40 | (define-public freetype | 40 | (define-public freetype |
| 41 | (package | 41 | (package |
| 42 | (name "freetype") | 42 | (name "freetype") |
| 43 | (version "2.5.5") | 43 | (version "2.6") |
| 44 | (source (origin | 44 | (source (origin |
| 45 | (method url-fetch) | 45 | (method url-fetch) |
| 46 | (uri (string-append "mirror://savannah/freetype/freetype-" | 46 | (uri (string-append "mirror://savannah/freetype/freetype-" |
| 47 | version ".tar.bz2")) | 47 | version ".tar.bz2")) |
| 48 | (sha256 (base32 | 48 | (sha256 (base32 |
| 49 | "1fdgl7js99xv1yy5zx1ravmqd0jxlnqpv7zcl954h4hbg15wqyrq")))) | 49 | "0zilx15fwcpa8hmcxpc423jwb8ijw4qpq968kh18akvn4j0znsc4")))) |
| 50 | (build-system gnu-build-system) | 50 | (build-system gnu-build-system) |
| 51 | (arguments | 51 | (arguments |
| 52 | `(#:phases | 52 | `(#:phases |
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index e41fd43e634..d0a92786ffb 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm | |||
| @@ -59,9 +59,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC | |||
| 59 | '("--with-arch=armv7-a" | 59 | '("--with-arch=armv7-a" |
| 60 | "--with-float=hard" | 60 | "--with-float=hard" |
| 61 | "--with-mode=thumb" | 61 | "--with-mode=thumb" |
| 62 | 62 | "--with-fpu=neon")) | |
| 63 | ;; See <https://wiki.debian.org/ArmHardFloatPort/VfpComparison#FPU> | ||
| 64 | "--with-fpu=vfpv3-d16")) | ||
| 65 | 63 | ||
| 66 | (else | 64 | (else |
| 67 | ;; TODO: Add `arm.*-gnueabi', etc. | 65 | ;; TODO: Add `arm.*-gnueabi', etc. |
| @@ -323,17 +321,15 @@ Go. It also includes runtime support libraries for these languages.") | |||
| 323 | 321 | ||
| 324 | (define-public gcc-4.9 | 322 | (define-public gcc-4.9 |
| 325 | (package (inherit gcc-4.8) | 323 | (package (inherit gcc-4.8) |
| 326 | (version "4.9.2") | 324 | (version "4.9.3") |
| 327 | (source (origin | 325 | (source (origin |
| 328 | (method url-fetch) | 326 | (method url-fetch) |
| 329 | (uri (string-append "mirror://gnu/gcc/gcc-" | 327 | (uri (string-append "mirror://gnu/gcc/gcc-" |
| 330 | version "/gcc-" version ".tar.bz2")) | 328 | version "/gcc-" version ".tar.bz2")) |
| 331 | (sha256 | 329 | (sha256 |
| 332 | (base32 | 330 | (base32 |
| 333 | "1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810")) | 331 | "0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3")) |
| 334 | (patches (map search-patch | 332 | (patches (list (search-patch "gcc-libvtv-runpath.patch"))))))) |
| 335 | '("gcc-arm-link-spec-fix.patch" | ||
| 336 | "gcc-libvtv-runpath.patch"))))))) | ||
| 337 | 333 | ||
| 338 | (define-public gcc-5.1 | 334 | (define-public gcc-5.1 |
| 339 | (package (inherit gcc-4.9) | 335 | (package (inherit gcc-4.9) |
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 92899461788..6be3093bd69 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm | |||
| @@ -35,15 +35,14 @@ | |||
| 35 | (define-public gnu-gettext | 35 | (define-public gnu-gettext |
| 36 | (package | 36 | (package |
| 37 | (name "gettext") | 37 | (name "gettext") |
| 38 | (version "0.19.4") | 38 | (version "0.19.5") |
| 39 | (source (origin | 39 | (source (origin |
| 40 | (method url-fetch) | 40 | (method url-fetch) |
| 41 | (uri (string-append "mirror://gnu/gettext/gettext-" | 41 | (uri (string-append "mirror://gnu/gettext/gettext-" |
| 42 | version ".tar.gz")) | 42 | version ".tar.gz")) |
| 43 | (sha256 | 43 | (sha256 |
| 44 | (base32 | 44 | (base32 |
| 45 | "0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca")) | 45 | "0fppvj4l9maa9q1swvhnv96hsqxx90vcjbdyjhqpir3ll55q2n0j")))) |
| 46 | (patches (list (search-patch "gettext-msgunfmt.patch"))))) | ||
| 47 | (build-system gnu-build-system) | 46 | (build-system gnu-build-system) |
| 48 | (inputs | 47 | (inputs |
| 49 | `(("expat" ,expat))) | 48 | `(("expat" ,expat))) |
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 74841bc953f..410a0f90830 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm | |||
| @@ -1110,8 +1110,7 @@ to access local and remote files with a single consistent API.") | |||
| 1110 | (substitute* "libgnome/Makefile.in" | 1110 | (substitute* "libgnome/Makefile.in" |
| 1111 | (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) | 1111 | (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))) |
| 1112 | %standard-phases))) | 1112 | %standard-phases))) |
| 1113 | (inputs `(("popt" ,popt) | 1113 | (inputs `(("libxml2" ,libxml2))) |
| 1114 | ("libxml2" ,libxml2))) | ||
| 1115 | (native-inputs | 1114 | (native-inputs |
| 1116 | `(("glib" ,glib "bin") ; for glib-mkenums, etc. | 1115 | `(("glib" ,glib "bin") ; for glib-mkenums, etc. |
| 1117 | ("intltool" ,intltool) | 1116 | ("intltool" ,intltool) |
| @@ -1124,7 +1123,8 @@ to access local and remote files with a single consistent API.") | |||
| 1124 | `(("libcanberra" ,libcanberra) | 1123 | `(("libcanberra" ,libcanberra) |
| 1125 | ("libbonobo" ,libbonobo) | 1124 | ("libbonobo" ,libbonobo) |
| 1126 | ("gconf" ,gconf) | 1125 | ("gconf" ,gconf) |
| 1127 | ("gnome-vfs" ,gnome-vfs))) | 1126 | ("gnome-vfs" ,gnome-vfs) |
| 1127 | ("popt" ,popt))) ;gnome-program.h includes popt.h | ||
| 1128 | (home-page "https://developer.gnome.org/libgnome/") | 1128 | (home-page "https://developer.gnome.org/libgnome/") |
| 1129 | (synopsis "Useful routines for building applications") | 1129 | (synopsis "Useful routines for building applications") |
| 1130 | (description "The libgnome library provides a number of useful routines | 1130 | (description "The libgnome library provides a number of useful routines |
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 8aea3dabb90..1c2b567d890 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm | |||
| @@ -41,7 +41,7 @@ | |||
| 41 | (define-public libgpg-error | 41 | (define-public libgpg-error |
| 42 | (package | 42 | (package |
| 43 | (name "libgpg-error") | 43 | (name "libgpg-error") |
| 44 | (version "1.18") | 44 | (version "1.19") |
| 45 | (source | 45 | (source |
| 46 | (origin | 46 | (origin |
| 47 | (method url-fetch) | 47 | (method url-fetch) |
| @@ -49,7 +49,7 @@ | |||
| 49 | version ".tar.bz2")) | 49 | version ".tar.bz2")) |
| 50 | (sha256 | 50 | (sha256 |
| 51 | (base32 | 51 | (base32 |
| 52 | "0408v19h3h0q6w61g51hgbdg6cyw81nyzkh70qfprvsc3pkddwcz")))) | 52 | "12wpqhjlsw4iaanifbqm2kich6c7x7lm8a7zhy6x5ifm6c9hw4jk")))) |
| 53 | (build-system gnu-build-system) | 53 | (build-system gnu-build-system) |
| 54 | (home-page "http://gnupg.org") | 54 | (home-page "http://gnupg.org") |
| 55 | (synopsis "Library of error values for GnuPG components") | 55 | (synopsis "Library of error values for GnuPG components") |
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8be3d488712..dfa1d5d8a43 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm | |||
| @@ -279,6 +279,7 @@ standards.") | |||
| 279 | "db/sqlite3")) | 279 | "db/sqlite3")) |
| 280 | #t)) | 280 | #t)) |
| 281 | (patches (map search-patch '("icecat-enable-acceleration-and-webgl.patch" | 281 | (patches (map search-patch '("icecat-enable-acceleration-and-webgl.patch" |
| 282 | "icecat-freetype-2.6.patch" | ||
| 282 | "icecat-libvpx-1.4.patch"))))) | 283 | "icecat-libvpx-1.4.patch"))))) |
| 283 | (build-system gnu-build-system) | 284 | (build-system gnu-build-system) |
| 284 | (inputs | 285 | (inputs |
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 39664c387bb..33eb1b5f1cd 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm | |||
| @@ -116,6 +116,11 @@ | |||
| 116 | ;; gremlin) doesn't support it yet, so skip this phase. | 116 | ;; gremlin) doesn't support it yet, so skip this phase. |
| 117 | #:validate-runpath? #f | 117 | #:validate-runpath? #f |
| 118 | 118 | ||
| 119 | ;; Don't pass --build=<triplet>, because the configure script | ||
| 120 | ;; auto-detects slightly different triplets for --host and --target and | ||
| 121 | ;; then complains that they don't match. | ||
| 122 | #:build #f | ||
| 123 | |||
| 119 | #:modules ((guix build gnu-build-system) | 124 | #:modules ((guix build gnu-build-system) |
| 120 | (guix build utils) | 125 | (guix build utils) |
| 121 | (guix build rpath) | 126 | (guix build rpath) |
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm index 49dafbeb6d2..4a7840c78c0 100644 --- a/gnu/packages/libidn.scm +++ b/gnu/packages/libidn.scm | |||
| @@ -26,13 +26,13 @@ | |||
| 26 | (define-public libidn | 26 | (define-public libidn |
| 27 | (package | 27 | (package |
| 28 | (name "libidn") | 28 | (name "libidn") |
| 29 | (version "1.30") | 29 | (version "1.31") |
| 30 | (source (origin | 30 | (source (origin |
| 31 | (method url-fetch) | 31 | (method url-fetch) |
| 32 | (uri (string-append "mirror://gnu/libidn/libidn-" version | 32 | (uri (string-append "mirror://gnu/libidn/libidn-" version |
| 33 | ".tar.gz")) | 33 | ".tar.gz")) |
| 34 | (sha256 (base32 | 34 | (sha256 (base32 |
| 35 | "0lxh5r1z8gsk4jxx3rv8aasjv8p53j4y04kvfn2w30a0syagrf9r")))) | 35 | "026z12mczlag443ms9n954h36pi3m7iva9jfw8y4ispsj772zpxg")))) |
| 36 | (build-system gnu-build-system) | 36 | (build-system gnu-build-system) |
| 37 | ;; FIXME: No Java and C# libraries are currently built. | 37 | ;; FIXME: No Java and C# libraries are currently built. |
| 38 | (synopsis "Internationalized string processing library") | 38 | (synopsis "Internationalized string processing library") |
diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index aa053711a92..f29b7424de0 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | (define-public libunistring | 26 | (define-public libunistring |
| 27 | (package | 27 | (package |
| 28 | (name "libunistring") | 28 | (name "libunistring") |
| 29 | (version "0.9.5") | 29 | (version "0.9.6") |
| 30 | (source (origin | 30 | (source (origin |
| 31 | (method url-fetch) | 31 | (method url-fetch) |
| 32 | (uri (string-append | 32 | (uri (string-append |
| @@ -34,7 +34,7 @@ | |||
| 34 | version ".tar.gz")) | 34 | version ".tar.gz")) |
| 35 | (sha256 | 35 | (sha256 |
| 36 | (base32 | 36 | (base32 |
| 37 | "05va4x47ik006nd13grwm276gfxb8igsj63k37vvwl3q8rr0g30s")))) | 37 | "0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn")))) |
| 38 | (propagated-inputs '()) ; FIXME: add libiconv when !glibc | 38 | (propagated-inputs '()) ; FIXME: add libiconv when !glibc |
| 39 | (build-system gnu-build-system) | 39 | (build-system gnu-build-system) |
| 40 | (arguments | 40 | (arguments |
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 71614dee892..17ba1e439bd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm | |||
| @@ -428,17 +428,26 @@ providing the system administrator with some help in common tasks.") | |||
| 428 | (string-append "--with-bashcompletiondir=" | 428 | (string-append "--with-bashcompletiondir=" |
| 429 | (assoc-ref %outputs "out") | 429 | (assoc-ref %outputs "out") |
| 430 | "/etc/bash_completion.d")) | 430 | "/etc/bash_completion.d")) |
| 431 | #:phases (alist-cons-before | 431 | #:phases (modify-phases %standard-phases |
| 432 | 'check 'pre-check | 432 | (add-before |
| 433 | (lambda* (#:key inputs outputs #:allow-other-keys) | 433 | 'build 'set-umount-file-name |
| 434 | (let ((out (assoc-ref outputs "out")) | 434 | (lambda* (#:key outputs #:allow-other-keys) |
| 435 | (net (assoc-ref inputs "net-base"))) | 435 | ;; Tell 'eject' the right file name of 'umount'. |
| 436 | ;; Change the test to refer to the right file. | 436 | (let ((out (assoc-ref outputs "out"))) |
| 437 | (substitute* "tests/ts/misc/mcookie" | 437 | (substitute* "sys-utils/eject.c" |
| 438 | (("/etc/services") | 438 | (("\"/bin/umount\"") |
| 439 | (string-append net "/etc/services"))) | 439 | (string-append "\"" out "/bin/umount\""))) |
| 440 | #t)) | 440 | #t))) |
| 441 | %standard-phases))) | 441 | (add-before |
| 442 | 'check 'pre-check | ||
| 443 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 444 | (let ((out (assoc-ref outputs "out")) | ||
| 445 | (net (assoc-ref inputs "net-base"))) | ||
| 446 | ;; Change the test to refer to the right file. | ||
| 447 | (substitute* "tests/ts/misc/mcookie" | ||
| 448 | (("/etc/services") | ||
| 449 | (string-append net "/etc/services"))) | ||
| 450 | #t)))))) | ||
| 442 | (inputs `(("zlib" ,zlib) | 451 | (inputs `(("zlib" ,zlib) |
| 443 | ("ncurses" ,ncurses))) | 452 | ("ncurses" ,ncurses))) |
| 444 | (native-inputs | 453 | (native-inputs |
| @@ -2132,13 +2141,6 @@ also contains the libsysfs library.") | |||
| 2132 | (substitute* "configure" | 2141 | (substitute* "configure" |
| 2133 | (("includedir='(\\$\\{prefix\\}/include)'" all orig) | 2142 | (("includedir='(\\$\\{prefix\\}/include)'" all orig) |
| 2134 | (string-append "includedir='" orig "/sysfs'"))))))) | 2143 | (string-append "includedir='" orig "/sysfs'"))))))) |
| 2135 | ;; XXX sysfsutils-1.3.0's config.guess fails on mips64el | ||
| 2136 | (arguments `(#:configure-flags | ||
| 2137 | '(,@(if (%current-target-system) | ||
| 2138 | '() | ||
| 2139 | (let ((triplet | ||
| 2140 | (nix-system->gnu-triplet (%current-system)))) | ||
| 2141 | (list (string-append "--build=" triplet))))))) | ||
| 2142 | (synopsis "System utilities based on Linux sysfs (version 1.x)"))) | 2144 | (synopsis "System utilities based on Linux sysfs (version 1.x)"))) |
| 2143 | 2145 | ||
| 2144 | (define-public cpufrequtils | 2146 | (define-public cpufrequtils |
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index feaa08af387..78ff83de151 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm | |||
| @@ -168,7 +168,10 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") | |||
| 168 | ("readline" ,readline) | 168 | ("readline" ,readline) |
| 169 | ("libsigsegv" ,libsigsegv))) | 169 | ("libsigsegv" ,libsigsegv))) |
| 170 | (arguments | 170 | (arguments |
| 171 | '(#:phases | 171 | '(;; XXX The custom configure script does not cope well when passed |
| 172 | ;; --build=<triplet>. | ||
| 173 | #:build #f | ||
| 174 | #:phases | ||
| 172 | (alist-cons-after | 175 | (alist-cons-after |
| 173 | 'unpack 'patch-sh-and-pwd | 176 | 'unpack 'patch-sh-and-pwd |
| 174 | (lambda _ | 177 | (lambda _ |
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index e140582a4a4..07e8b5160bd 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm | |||
| @@ -629,7 +629,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." | |||
| 629 | ,(or (%current-target-system) | 629 | ,(or (%current-target-system) |
| 630 | (%current-system)) | 630 | (%current-system)) |
| 631 | ".tar.xz") | 631 | ".tar.xz") |
| 632 | ".")))))))))) | 632 | "." |
| 633 | ;; avoid non-determinism in the archive | ||
| 634 | "--mtime=@0" "--owner=root:0" "--group=root:0")))))))))) | ||
| 633 | 635 | ||
| 634 | (define %bootstrap-binaries-tarball | 636 | (define %bootstrap-binaries-tarball |
| 635 | ;; A tarball with the statically-linked bootstrap binaries. | 637 | ;; A tarball with the statically-linked bootstrap binaries. |
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index da52b2b1e96..903d160b241 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm | |||
| @@ -47,15 +47,7 @@ | |||
| 47 | '(;; Build a "fat binary", with routines for several | 47 | '(;; Build a "fat binary", with routines for several |
| 48 | ;; sub-architectures. | 48 | ;; sub-architectures. |
| 49 | "--enable-fat" | 49 | "--enable-fat" |
| 50 | "--enable-cxx" | 50 | "--enable-cxx"))) |
| 51 | |||
| 52 | ;; FIXME: gmp-6.0.0a's config.guess fails on | ||
| 53 | ;; multi-core armhf systems. | ||
| 54 | ,@(if (%current-target-system) | ||
| 55 | '() | ||
| 56 | (let ((triplet | ||
| 57 | (nix-system->gnu-triplet (%current-system)))) | ||
| 58 | (list (string-append "--build=" triplet))))))) | ||
| 59 | (synopsis "Multiple-precision arithmetic library") | 51 | (synopsis "Multiple-precision arithmetic library") |
| 60 | (description | 52 | (description |
| 61 | "GMP is a library for arbitrary precision arithmetic, operating on | 53 | "GMP is a library for arbitrary precision arithmetic, operating on |
| @@ -69,13 +61,13 @@ cryptography and computational algebra.") | |||
| 69 | (define-public mpfr | 61 | (define-public mpfr |
| 70 | (package | 62 | (package |
| 71 | (name "mpfr") | 63 | (name "mpfr") |
| 72 | (version "3.1.2") | 64 | (version "3.1.3") |
| 73 | (source (origin | 65 | (source (origin |
| 74 | (method url-fetch) | 66 | (method url-fetch) |
| 75 | (uri (string-append "mirror://gnu/mpfr/mpfr-" version | 67 | (uri (string-append "mirror://gnu/mpfr/mpfr-" version |
| 76 | ".tar.xz")) | 68 | ".tar.xz")) |
| 77 | (sha256 (base32 | 69 | (sha256 (base32 |
| 78 | "0fs501qi8l523gs3cpy4jjcnvwxggyfbklcys80wq236xx3hz79r")))) | 70 | "05jaa5z78lvrayld09nyr0v27c1m5dm9l7kr85v2bj4jv65s0db8")))) |
| 79 | (build-system gnu-build-system) | 71 | (build-system gnu-build-system) |
| 80 | (outputs '("out" "debug")) | 72 | (outputs '("out" "debug")) |
| 81 | (propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h> | 73 | (propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h> |
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm index 2483cc51fe0..a0eb109bbb9 100644 --- a/gnu/packages/ninja.scm +++ b/gnu/packages/ninja.scm | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | 2 | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> |
| 3 | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||
| 3 | ;;; | 4 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 6 | ;;; |
| @@ -36,38 +37,41 @@ | |||
| 36 | (sha256 | 37 | (sha256 |
| 37 | (base32 | 38 | (base32 |
| 38 | "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw")) | 39 | "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw")) |
| 39 | (patches (list (search-patch "ninja-tests.patch"))))) | 40 | (patches (map search-patch |
| 41 | '("ninja-zero-mtime.patch" "ninja-tests.patch"))))) | ||
| 40 | (build-system gnu-build-system) | 42 | (build-system gnu-build-system) |
| 43 | (native-inputs `(("python" ,python-2))) | ||
| 41 | (arguments | 44 | (arguments |
| 42 | '(#:phases | 45 | '(#:phases |
| 43 | (alist-replace | 46 | (modify-phases %standard-phases |
| 44 | 'configure | 47 | (replace |
| 45 | (lambda _ | 48 | 'configure |
| 46 | (substitute* "src/subprocess-posix.cc" | 49 | (lambda _ |
| 47 | (("/bin/sh") (which "sh")))) | 50 | (substitute* "src/subprocess-posix.cc" |
| 48 | (alist-replace | 51 | (("/bin/sh") (which "sh"))) |
| 49 | 'build | 52 | #t)) |
| 50 | (lambda _ | 53 | (replace |
| 51 | (zero? (system* "./configure.py" "--bootstrap"))) | 54 | 'build |
| 52 | (alist-replace | 55 | (lambda _ |
| 56 | (zero? (system* "./configure.py" "--bootstrap")))) | ||
| 57 | (replace | ||
| 53 | 'check | 58 | 'check |
| 54 | (lambda _ | 59 | (lambda _ |
| 55 | (and (zero? (system* "./configure.py")) | 60 | (and (zero? (system* "./configure.py")) |
| 56 | (zero? (system* "./ninja" "ninja_test")) | 61 | (zero? (system* "./ninja" "ninja_test")) |
| 57 | (zero? (system* "./ninja_test")))) | 62 | (zero? (system* "./ninja_test"))))) |
| 58 | (alist-replace | 63 | (replace |
| 59 | 'install | 64 | 'install |
| 60 | (lambda* (#:key outputs #:allow-other-keys) | 65 | (lambda* (#:key outputs #:allow-other-keys) |
| 61 | (let* ((out (assoc-ref outputs "out")) | 66 | (let* ((out (assoc-ref outputs "out")) |
| 62 | (bin (string-append out "/bin")) | 67 | (bin (string-append out "/bin")) |
| 63 | (doc (string-append out "/share/doc/ninja"))) | 68 | (doc (string-append out "/share/doc/ninja"))) |
| 64 | (mkdir-p bin) | 69 | (mkdir-p bin) |
| 65 | (copy-file "ninja" (string-append bin "/ninja")) | 70 | (copy-file "ninja" (string-append bin "/ninja")) |
| 66 | (mkdir-p doc) | 71 | (mkdir-p doc) |
| 67 | (copy-file "doc/manual.asciidoc" | 72 | (copy-file "doc/manual.asciidoc" |
| 68 | (string-append doc "/manual.asciidoc")))) | 73 | (string-append doc "/manual.asciidoc")) |
| 69 | %standard-phases)))))) | 74 | #t)))))) |
| 70 | (native-inputs `(("python" ,python-2))) | ||
| 71 | (home-page "http://martine.github.io/ninja/") | 75 | (home-page "http://martine.github.io/ninja/") |
| 72 | (synopsis "Small build system") | 76 | (synopsis "Small build system") |
| 73 | (description | 77 | (description |
diff --git a/gnu/packages/patches/coreutils-dummy-man.patch b/gnu/packages/patches/coreutils-dummy-man.patch deleted file mode 100644 index a43cfc47c36..00000000000 --- a/gnu/packages/patches/coreutils-dummy-man.patch +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | Patch adapted from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>. | ||
| 2 | |||
| 3 | Fix for 'dummy-man' usage, when cross-compiling. | ||
| 4 | |||
| 5 | The options should be before the final argument, otherwise, the following error | ||
| 6 | would appear when compiling: | ||
| 7 | |||
| 8 | dummy-man: too many non-option arguments | ||
| 9 | |||
| 10 | --- coreutils-8.23/Makefile.in 2014-07-18 18:22:24.000000000 -0400 | ||
| 11 | +++ coreutils-8.23/Makefile.in 2014-08-03 20:21:10.849158313 -0400 | ||
| 12 | @@ -14076,8 +14076,8 @@ | ||
| 13 | && $(run_help2man) \ | ||
| 14 | --source='$(PACKAGE_STRING)' \ | ||
| 15 | --include=$(srcdir)/man/$$name.x \ | ||
| 16 | - --output=$$t/$$name.1 $$t/$$argv \ | ||
| 17 | --info-page='coreutils \(aq'$$name' invocation\(aq' \ | ||
| 18 | + --output=$$t/$$name.1 $$t/$$argv \ | ||
| 19 | && sed \ | ||
| 20 | -e 's|$*\.td/||g' \ | ||
| 21 | -e '/For complete documentation/d' \ | ||
diff --git a/gnu/packages/patches/gettext-msgunfmt.patch b/gnu/packages/patches/gettext-msgunfmt.patch deleted file mode 100644 index 4a50abddc28..00000000000 --- a/gnu/packages/patches/gettext-msgunfmt.patch +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | From <http://git.savannah.gnu.org/cgit/gettext.git/patch/?id=5d3eeaa0d3b7f4f6932bd29d859925a940b69459>. | ||
| 2 | |||
| 3 | 2015-03-11 Daiki Ueno <ueno@gnu.org> | ||
| 4 | |||
| 5 | msgunfmt: Check allocated size for static segment | ||
| 6 | Reported by Max Lin in: | ||
| 7 | http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html | ||
| 8 | * read-mo.c (get_sysdep_string): Check if the embedded segment | ||
| 9 | size is valid, before adding it to the string length. | ||
| 10 | |||
| 11 | diff --git a/gettext-tools/src/read-mo.c b/gettext-tools/src/read-mo.c | ||
| 12 | index b97bbad..1c024a8 100644 | ||
| 13 | --- a/gettext-tools/src/read-mo.c | ||
| 14 | +++ b/gettext-tools/src/read-mo.c | ||
| 15 | @@ -149,6 +149,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset, | ||
| 16 | nls_uint32 s_offset; | ||
| 17 | |||
| 18 | /* Compute the length. */ | ||
| 19 | + s_offset = get_uint32 (bfp, offset); | ||
| 20 | length = 0; | ||
| 21 | for (i = 4; ; i += 8) | ||
| 22 | { | ||
| 23 | @@ -158,9 +159,14 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset, | ||
| 24 | nls_uint32 ss_length; | ||
| 25 | nls_uint32 ss_offset; | ||
| 26 | size_t ss_end; | ||
| 27 | + size_t s_end; | ||
| 28 | size_t n; | ||
| 29 | |||
| 30 | + s_end = xsum (s_offset, segsize); | ||
| 31 | + if (size_overflow_p (s_end) || s_end > bfp->size) | ||
| 32 | + error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); | ||
| 33 | length += segsize; | ||
| 34 | + s_offset += segsize; | ||
| 35 | |||
| 36 | if (sysdepref == SEGMENTS_END) | ||
| 37 | break; | ||
| 38 | @@ -175,7 +181,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset, | ||
| 39 | ss_end = xsum (ss_offset, ss_length); | ||
| 40 | if (size_overflow_p (ss_end) || ss_end > bfp->size) | ||
| 41 | error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); | ||
| 42 | - if (!(ss_length > 0 && bfp->data[ss_offset + ss_length - 1] == '\0')) | ||
| 43 | + if (!(ss_length > 0 && bfp->data[ss_end - 1] == '\0')) | ||
| 44 | { | ||
| 45 | char location[30]; | ||
| 46 | sprintf (location, "sysdep_segment[%u]", (unsigned int) sysdepref); | ||
| 47 | @@ -198,11 +204,8 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset, | ||
| 48 | nls_uint32 sysdep_segment_offset; | ||
| 49 | nls_uint32 ss_length; | ||
| 50 | nls_uint32 ss_offset; | ||
| 51 | - size_t s_end = xsum (s_offset, segsize); | ||
| 52 | size_t n; | ||
| 53 | |||
| 54 | - if (size_overflow_p (s_end) || s_end > bfp->size) | ||
| 55 | - error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename); | ||
| 56 | memcpy (p, bfp->data + s_offset, segsize); | ||
| 57 | p += segsize; | ||
| 58 | s_offset += segsize; | ||
diff --git a/gnu/packages/patches/icecat-freetype-2.6.patch b/gnu/packages/patches/icecat-freetype-2.6.patch new file mode 100644 index 00000000000..ef69f2f7154 --- /dev/null +++ b/gnu/packages/patches/icecat-freetype-2.6.patch | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | Adapt to freetype 2.6. This patch copied from upstream, see: | ||
| 2 | https://bugzilla.mozilla.org/show_bug.cgi?id=1143411 | ||
| 3 | https://hg.mozilla.org/mozilla-central/rev/afd840d66e6a | ||
| 4 | |||
| 5 | --- a/config/system-headers | ||
| 6 | +++ b/config/system-headers | ||
| 7 | @@ -415,6 +415,7 @@ freetype/ftbitmap.h | ||
| 8 | freetype/ftxf86.h | ||
| 9 | freetype.h | ||
| 10 | ftcache.h | ||
| 11 | +ftfntfmt.h | ||
| 12 | ftglyph.h | ||
| 13 | ftsynth.h | ||
| 14 | ftoutln.h | ||
diff --git a/gnu/packages/patches/ninja-zero-mtime.patch b/gnu/packages/patches/ninja-zero-mtime.patch new file mode 100644 index 00000000000..c9b9e8d798d --- /dev/null +++ b/gnu/packages/patches/ninja-zero-mtime.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | Work around a design defect in Ninja whereby a zero mtime is used to | ||
| 2 | denote missing files (we happen to produce files that have a zero mtime | ||
| 3 | and yet really do exist.) | ||
| 4 | |||
| 5 | --- ninja-1.5.3/src/disk_interface.cc 2014-11-24 18:37:47.000000000 +0100 | ||
| 6 | +++ ninja-1.5.3/src/disk_interface.cc 2015-07-18 23:20:38.572290139 +0200 | ||
| 7 | @@ -194,6 +194,12 @@ TimeStamp RealDiskInterface::Stat(const | ||
| 8 | } | ||
| 9 | return -1; | ||
| 10 | } | ||
| 11 | + | ||
| 12 | + if (st.st_mtime == 0) | ||
| 13 | + // All the code assumes that mtime == 0 means "file missing". Here we | ||
| 14 | + // know the file is not missing, so tweak the mtime. | ||
| 15 | + st.st_mtime = 1; | ||
| 16 | + | ||
| 17 | return st.st_mtime; | ||
| 18 | #endif | ||
| 19 | } | ||
diff --git a/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch b/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch index 92d8a85c8f6..2f7bcee344a 100644 --- a/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch +++ b/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch | |||
| @@ -1,7 +1,25 @@ | |||
| 1 | Despite all the efforts below, the 'wc-queries-test.c' still fails, | ||
| 2 | both with SQLite 3.8.9 and 3.8.10.2. We choose to just skip it | ||
| 3 | until a better solution arises. | ||
| 4 | |||
| 5 | --- subversion/tests/libsvn_wc/wc-queries-test.c 2015-07-16 23:24:03.458279053 +0200 | ||
| 6 | +++ subversion/tests/libsvn_wc/wc-queries-test.c 2015-07-16 23:24:18.866423439 +0200 | ||
| 7 | @@ -898,8 +898,6 @@ struct svn_test_descriptor_t test_funcs[ | ||
| 8 | "sqlite up-to-date"), | ||
| 9 | SVN_TEST_PASS2(test_parsable, | ||
| 10 | "queries are parsable"), | ||
| 11 | - SVN_TEST_PASS2(test_query_expectations, | ||
| 12 | - "test query expectations"), | ||
| 13 | SVN_TEST_PASS2(test_schema_statistics, | ||
| 14 | "test schema statistics"), | ||
| 15 | SVN_TEST_NULL | ||
| 16 | |||
| 17 | |||
| 1 | This upstream patch (r1672295) is needed to fix a test failure when built | 18 | This upstream patch (r1672295) is needed to fix a test failure when built |
| 2 | against sqlite 3.8.9. See: | 19 | against sqlite 3.8.9. See: |
| 3 | 20 | ||
| 4 | https://mail-archives.apache.org/mod_mbox/subversion-dev/201504.mbox/%3C5526D197.6020808@gmx.de%3E | 21 | https://mail-archives.apache.org/mod_mbox/subversion-dev/201504.mbox/%3C5526D197.6020808@gmx.de%3E |
| 22 | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785496 | ||
| 5 | 23 | ||
| 6 | 24 | ||
| 7 | r1672295 | rhuijben | 2015-04-09 07:31:12 -0400 (Thu, 09 Apr 2015) | 15 lines | 25 | r1672295 | rhuijben | 2015-04-09 07:31:12 -0400 (Thu, 09 Apr 2015) | 15 lines |
| @@ -57,3 +75,58 @@ Index: subversion/libsvn_wc/wc-metadata.sql | |||
| 57 | /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is | 75 | /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is |
| 58 | a INTEGER PRIMARY KEY AUTOINCREMENT table */ | 76 | a INTEGER PRIMARY KEY AUTOINCREMENT table */ |
| 59 | 77 | ||
| 78 | |||
| 79 | r1673691 | rhuijben | 2015-04-15 05:30:04 -0400 (Wed, 15 Apr 2015) | 5 lines | ||
| 80 | |||
| 81 | * subversion/libsvn_wc/wc-metadata.sql | ||
| 82 | (STMT_INSTALL_SCHEMA_STATISTICS): Delete existing sqlite_stat1 rows for | ||
| 83 | the externals table before installing new rows to avoid duplicate entries. | ||
| 84 | Remove unneeded 'OR REPLACE' from all inserts. | ||
| 85 | |||
| 86 | |||
| 87 | Index: subversion/libsvn_wc/wc-metadata.sql | ||
| 88 | =================================================================== | ||
| 89 | --- subversion/libsvn_wc/wc-metadata.sql (revision 1673690) | ||
| 90 | +++ subversion/libsvn_wc/wc-metadata.sql (revision 1673691) | ||
| 91 | @@ -598,30 +598,30 @@ | ||
| 92 | ANALYZE sqlite_master; /* Creates empty sqlite_stat1 if necessary */ | ||
| 93 | |||
| 94 | DELETE FROM sqlite_stat1 | ||
| 95 | -WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK'); | ||
| 96 | +WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS'); | ||
| 97 | |||
| 98 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 99 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 100 | ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); | ||
| 101 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 102 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 103 | ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); | ||
| 104 | /* Tell a lie: We ignore that 99.9% of all moved_to values are NULL */ | ||
| 105 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 106 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 107 | ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); | ||
| 108 | |||
| 109 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 110 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 111 | ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); | ||
| 112 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 113 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 114 | ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); | ||
| 115 | |||
| 116 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 117 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 118 | ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); | ||
| 119 | |||
| 120 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 121 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 122 | ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); | ||
| 123 | |||
| 124 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 125 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 126 | ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); | ||
| 127 | -INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 128 | +INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES | ||
| 129 | ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); | ||
| 130 | |||
| 131 | /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is | ||
| 132 | |||
diff --git a/gnu/packages/patches/unzip-CVE-2014-9636.patch b/gnu/packages/patches/unzip-CVE-2014-9636.patch new file mode 100644 index 00000000000..a38c3da51cf --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2014-9636.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | Copied from Debian. | ||
| 2 | |||
| 3 | From: mancha <mancha1 AT zoho DOT com> | ||
| 4 | Date: Mon, 3 Nov 2014 | ||
| 5 | Subject: Info-ZIP UnZip buffer overflow | ||
| 6 | Bug-Debian: http://bugs.debian.org/776589 | ||
| 7 | |||
| 8 | By carefully crafting a corrupt ZIP archive with "extra fields" that | ||
| 9 | purport to have compressed blocks larger than the corresponding | ||
| 10 | uncompressed blocks in STORED no-compression mode, an attacker can | ||
| 11 | trigger a heap overflow that can result in application crash or | ||
| 12 | possibly have other unspecified impact. | ||
| 13 | |||
| 14 | This patch ensures that when extra fields use STORED mode, the | ||
| 15 | "compressed" and uncompressed block sizes match. | ||
| 16 | |||
| 17 | --- a/extract.c | ||
| 18 | +++ b/extract.c | ||
| 19 | @@ -2228,6 +2228,7 @@ | ||
| 20 | ulg eb_ucsize; | ||
| 21 | uch *eb_ucptr; | ||
| 22 | int r; | ||
| 23 | + ush eb_compr_method; | ||
| 24 | |||
| 25 | if (compr_offset < 4) /* field is not compressed: */ | ||
| 26 | return PK_OK; /* do nothing and signal OK */ | ||
| 27 | @@ -2244,6 +2245,14 @@ | ||
| 28 | ((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN)))) | ||
| 29 | return IZ_EF_TRUNC; /* no/bad compressed data! */ | ||
| 30 | |||
| 31 | + /* 2014-11-03 Michal Zalewski, SMS. | ||
| 32 | + * For STORE method, compressed and uncompressed sizes must agree. | ||
| 33 | + * http://www.info-zip.org/phpBB3/viewtopic.php?f=7&t=450 | ||
| 34 | + */ | ||
| 35 | + eb_compr_method = makeword( eb + (EB_HEADSIZE + compr_offset)); | ||
| 36 | + if ((eb_compr_method == STORED) && (eb_size - compr_offset != eb_ucsize)) | ||
| 37 | + return PK_ERR; | ||
| 38 | + | ||
| 39 | if ( | ||
| 40 | #ifdef INT_16BIT | ||
| 41 | (((ulg)(extent)eb_ucsize) != eb_ucsize) || | ||
diff --git a/gnu/packages/patches/unzip-allow-greater-hostver-values.patch b/gnu/packages/patches/unzip-allow-greater-hostver-values.patch new file mode 100644 index 00000000000..d98937f1cb4 --- /dev/null +++ b/gnu/packages/patches/unzip-allow-greater-hostver-values.patch | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Copied from Debian. | ||
| 2 | |||
| 3 | From: Santiago Vila <sanvila@debian.org> | ||
| 4 | Subject: zipinfo.c: Do not crash when hostver byte is >= 100 | ||
| 5 | |||
| 6 | --- a/zipinfo.c | ||
| 7 | +++ b/zipinfo.c | ||
| 8 | @@ -2114,7 +2114,7 @@ | ||
| 9 | else | ||
| 10 | attribs[9] = (xattr & UNX_ISVTX)? 'T' : '-'; /* T==undefined */ | ||
| 11 | |||
| 12 | - sprintf(&attribs[12], "%u.%u", hostver/10, hostver%10); | ||
| 13 | + sprintf(&attribs[11], "%2u.%u", hostver/10, hostver%10); | ||
| 14 | break; | ||
| 15 | |||
| 16 | } /* end switch (hostnum: external attributes format) */ | ||
diff --git a/gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch b/gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch new file mode 100644 index 00000000000..3417ad873d1 --- /dev/null +++ b/gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Copied from Debian. | ||
| 2 | |||
| 3 | From: sms | ||
| 4 | Subject: Increase size of cfactorstr array to avoid buffer overflow | ||
| 5 | Bug-Debian: http://bugs.debian.org/741384 | ||
| 6 | X-Debian-version: 6.0-11 | ||
| 7 | |||
| 8 | --- a/list.c | ||
| 9 | +++ b/list.c | ||
| 10 | @@ -97,7 +97,7 @@ | ||
| 11 | { | ||
| 12 | int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL; | ||
| 13 | #ifndef WINDLL | ||
| 14 | - char sgn, cfactorstr[10]; | ||
| 15 | + char sgn, cfactorstr[12]; | ||
| 16 | int longhdr=(uO.vflag>1); | ||
| 17 | #endif | ||
| 18 | int date_format; | ||
diff --git a/gnu/packages/patches/unzip-initialize-symlink-flag.patch b/gnu/packages/patches/unzip-initialize-symlink-flag.patch new file mode 100644 index 00000000000..3b0f391300b --- /dev/null +++ b/gnu/packages/patches/unzip-initialize-symlink-flag.patch | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | Copied from Debian. | ||
| 2 | |||
| 3 | From: Andreas Schwab <schwab@linux-m68k.org> | ||
| 4 | Subject: Initialize the symlink flag | ||
| 5 | Bug-Debian: http://bugs.debian.org/717029 | ||
| 6 | X-Debian-version: 6.0-10 | ||
| 7 | |||
| 8 | --- a/process.c | ||
| 9 | +++ b/process.c | ||
| 10 | @@ -1758,6 +1758,12 @@ | ||
| 11 | = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); | ||
| 12 | #endif | ||
| 13 | |||
| 14 | +#ifdef SYMLINKS | ||
| 15 | + /* Initialize the symlink flag, may be set by the platform-specific | ||
| 16 | + mapattr function. */ | ||
| 17 | + G.pInfo->symlink = 0; | ||
| 18 | +#endif | ||
| 19 | + | ||
| 20 | return PK_COOL; | ||
| 21 | |||
| 22 | } /* end function process_cdir_file_hdr() */ | ||
diff --git a/gnu/packages/patches/unzip-remove-build-date.patch b/gnu/packages/patches/unzip-remove-build-date.patch new file mode 100644 index 00000000000..8beff92d1a7 --- /dev/null +++ b/gnu/packages/patches/unzip-remove-build-date.patch | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | Copied from Debian. | ||
| 2 | |||
| 3 | From: Jérémy Bobbio <lunar@debian.org> | ||
| 4 | Subject: Remove build date | ||
| 5 | Bug-Debian: http://bugs.debian.org/782851 | ||
| 6 | In order to make unzip build reproducibly, we remove the | ||
| 7 | (already optional) build date from the binary. | ||
| 8 | |||
| 9 | --- a/unix/unix.c | ||
| 10 | +++ b/unix/unix.c | ||
| 11 | @@ -1705,7 +1705,7 @@ | ||
| 12 | #endif /* Sun */ | ||
| 13 | #endif /* SGI */ | ||
| 14 | |||
| 15 | -#ifdef __DATE__ | ||
| 16 | +#if 0 | ||
| 17 | " on ", __DATE__ | ||
| 18 | #else | ||
| 19 | "", "" | ||
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 86d3ca38741..d07e434190b 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm | |||
| @@ -45,6 +45,9 @@ | |||
| 45 | "--enable-pcregrep-libz" | 45 | "--enable-pcregrep-libz" |
| 46 | "--enable-pcregrep-libbz2" | 46 | "--enable-pcregrep-libbz2" |
| 47 | "--enable-pcretest-libreadline" | 47 | "--enable-pcretest-libreadline" |
| 48 | "--enable-unicode-properties" | ||
| 49 | "--enable-pcre16" | ||
| 50 | "--enable-pcre32" | ||
| 48 | "--enable-jit"))) | 51 | "--enable-jit"))) |
| 49 | (synopsis "Perl Compatible Regular Expressions") | 52 | (synopsis "Perl Compatible Regular Expressions") |
| 50 | (description | 53 | (description |
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 900d25498cf..7a8f8323557 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm | |||
| @@ -72,7 +72,15 @@ | |||
| 72 | "-Dinstallstyle=lib/perl5" | 72 | "-Dinstallstyle=lib/perl5" |
| 73 | "-Duseshrplib" | 73 | "-Duseshrplib" |
| 74 | (string-append "-Dlocincpth=" libc "/include") | 74 | (string-append "-Dlocincpth=" libc "/include") |
| 75 | (string-append "-Dloclibpth=" libc "/lib")))))) | 75 | (string-append "-Dloclibpth=" libc "/lib") |
| 76 | |||
| 77 | ;; Force the library search path to contain only libc | ||
| 78 | ;; because it is recorded in Config.pm and | ||
| 79 | ;; Config_heavy.pl; we don't want to keep a reference | ||
| 80 | ;; to everything that's in $LIBRARY_PATH at build | ||
| 81 | ;; time (Binutils, bzip2, file, etc.) | ||
| 82 | (string-append "-Dlibpth=" libc "/lib") | ||
| 83 | (string-append "-Dplibpth=" libc "/lib")))))) | ||
| 76 | 84 | ||
| 77 | (add-before | 85 | (add-before |
| 78 | 'strip 'make-shared-objects-writable | 86 | 'strip 'make-shared-objects-writable |
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0788da0ff3e..4fd5eef8922 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm | |||
| @@ -156,24 +156,40 @@ | |||
| 156 | "-L" zlib "/lib " | 156 | "-L" zlib "/lib " |
| 157 | "-Wl,-rpath=" out "/lib"))) | 157 | "-Wl,-rpath=" out "/lib"))) |
| 158 | 158 | ||
| 159 | #:modules ((ice-9 ftw) | ||
| 160 | ,@%gnu-build-system-modules) | ||
| 159 | #:phases | 161 | #:phases |
| 160 | (alist-cons-before | 162 | (modify-phases %standard-phases |
| 161 | 'configure 'patch-lib-shells | 163 | (add-before |
| 162 | (lambda _ | 164 | 'configure 'patch-lib-shells |
| 163 | ;; Filter for existing files, since some may not exist in all | 165 | (lambda _ |
| 164 | ;; versions of python that are built with this recipe. | 166 | ;; Filter for existing files, since some may not exist in all |
| 165 | (substitute* (filter file-exists? | 167 | ;; versions of python that are built with this recipe. |
| 166 | '("Lib/subprocess.py" | 168 | (substitute* (filter file-exists? |
| 167 | "Lib/popen2.py" | 169 | '("Lib/subprocess.py" |
| 168 | "Lib/distutils/tests/test_spawn.py" | 170 | "Lib/popen2.py" |
| 169 | "Lib/test/test_subprocess.py")) | 171 | "Lib/distutils/tests/test_spawn.py" |
| 170 | (("/bin/sh") (which "sh")))) | 172 | "Lib/test/test_subprocess.py")) |
| 171 | (alist-cons-before | 173 | (("/bin/sh") (which "sh"))) |
| 172 | 'check 'pre-check | 174 | #t)) |
| 173 | (lambda _ | 175 | (add-before |
| 174 | ;; 'Lib/test/test_site.py' needs a valid $HOME | 176 | 'check 'pre-check |
| 175 | (setenv "HOME" (getcwd))) | 177 | (lambda _ |
| 176 | %standard-phases)))) | 178 | ;; 'Lib/test/test_site.py' needs a valid $HOME |
| 179 | (setenv "HOME" (getcwd)) | ||
| 180 | #t)) | ||
| 181 | (add-after | ||
| 182 | 'unpack 'set-source-file-times-to-1980 | ||
| 183 | ;; XXX One of the tests uses a ZIP library to pack up some of the | ||
| 184 | ;; source tree, and fails with "ZIP does not support timestamps | ||
| 185 | ;; before 1980". Work around this by setting the file times in the | ||
| 186 | ;; source tree to sometime in early 1980. | ||
| 187 | (lambda _ | ||
| 188 | (let ((circa-1980 (* 10 366 24 60 60))) | ||
| 189 | (ftw "." (lambda (file stat flag) | ||
| 190 | (utime file circa-1980 circa-1980) | ||
| 191 | #t)) | ||
| 192 | #t)))))) | ||
| 177 | (inputs | 193 | (inputs |
| 178 | `(("bzip2" ,bzip2) | 194 | `(("bzip2" ,bzip2) |
| 179 | ("gdbm" ,gdbm) | 195 | ("gdbm" ,gdbm) |
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 340462dba38..313d63993aa 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm | |||
| @@ -297,8 +297,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") | |||
| 297 | "-no-ssse3" | 297 | "-no-ssse3" |
| 298 | "-no-sse4.1" | 298 | "-no-sse4.1" |
| 299 | "-no-sse4.2" | 299 | "-no-sse4.2" |
| 300 | "-no-avx" | 300 | "-no-avx"))))) |
| 301 | "-no-neon"))))) | ||
| 302 | (add-after | 301 | (add-after |
| 303 | 'install 'move-doc | 302 | 'install 'move-doc |
| 304 | (lambda* (#:key outputs #:allow-other-keys) | 303 | (lambda* (#:key outputs #:allow-other-keys) |
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index bf2e8896d62..a827aa1d90e 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm | |||
| @@ -262,7 +262,7 @@ libssh library.") | |||
| 262 | '(#:phases | 262 | '(#:phases |
| 263 | (alist-replace | 263 | (alist-replace |
| 264 | 'configure | 264 | 'configure |
| 265 | (lambda* (#:key outputs inputs system target | 265 | (lambda* (#:key outputs inputs system build target |
| 266 | #:allow-other-keys #:rest args) | 266 | #:allow-other-keys #:rest args) |
| 267 | (let* ((configure (assoc-ref %standard-phases 'configure)) | 267 | (let* ((configure (assoc-ref %standard-phases 'configure)) |
| 268 | (prefix (assoc-ref outputs "out")) | 268 | (prefix (assoc-ref outputs "out")) |
| @@ -270,9 +270,8 @@ libssh library.") | |||
| 270 | ;; Set --build and --host flags as the provided config.guess | 270 | ;; Set --build and --host flags as the provided config.guess |
| 271 | ;; is not able to detect them | 271 | ;; is not able to detect them |
| 272 | (flags `(,(string-append "--prefix=" prefix) | 272 | (flags `(,(string-append "--prefix=" prefix) |
| 273 | ,(string-append "--build=" system) | 273 | ,(string-append "--build=" build) |
| 274 | ,(string-append "--host=" | 274 | ,(string-append "--host=" (or target build))))) |
| 275 | (or target system))))) | ||
| 276 | (setenv "CONFIG_SHELL" bash) | 275 | (setenv "CONFIG_SHELL" bash) |
| 277 | (zero? (apply system* bash | 276 | (zero? (apply system* bash |
| 278 | (string-append "." "/configure") | 277 | (string-append "." "/configure") |
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index ca411a95ac9..92bd9471dd3 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | 3 | ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> |
| 4 | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||
| 4 | ;;; | 5 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 7 | ;;; |
| @@ -25,20 +26,22 @@ | |||
| 25 | #:use-module (gnu packages) | 26 | #:use-module (gnu packages) |
| 26 | #:use-module (gnu packages compression) | 27 | #:use-module (gnu packages compression) |
| 27 | #:use-module (gnu packages perl) | 28 | #:use-module (gnu packages perl) |
| 29 | #:use-module (gnu packages linux) | ||
| 28 | #:use-module (gnu packages ncurses)) | 30 | #:use-module (gnu packages ncurses)) |
| 29 | 31 | ||
| 30 | (define-public texinfo | 32 | (define-public texinfo |
| 31 | (package | 33 | (package |
| 32 | (name "texinfo") | 34 | (name "texinfo") |
| 33 | (version "5.2") | 35 | (version "6.0") |
| 34 | (source (origin | 36 | (source (origin |
| 35 | (method url-fetch) | 37 | (method url-fetch) |
| 36 | (uri (string-append "mirror://gnu/texinfo/texinfo-" | 38 | (uri (string-append "mirror://gnu/texinfo/texinfo-" |
| 37 | version ".tar.xz")) | 39 | version ".tar.xz")) |
| 38 | (sha256 | 40 | (sha256 |
| 39 | (base32 | 41 | (base32 |
| 40 | "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))) | 42 | "1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi")))) |
| 41 | (build-system gnu-build-system) | 43 | (build-system gnu-build-system) |
| 44 | (native-inputs `(("procps" ,procps))) ;one of the tests needs pgrep | ||
| 42 | (inputs `(("ncurses" ,ncurses) | 45 | (inputs `(("ncurses" ,ncurses) |
| 43 | ("xz" ,xz) | 46 | ("xz" ,xz) |
| 44 | ("perl" ,perl))) | 47 | ("perl" ,perl))) |
| @@ -53,17 +56,17 @@ their source and the command-line Info reader. The emphasis of the language | |||
| 53 | is on expressing the content semantically, avoiding physical markup commands.") | 56 | is on expressing the content semantically, avoiding physical markup commands.") |
| 54 | (license gpl3+))) | 57 | (license gpl3+))) |
| 55 | 58 | ||
| 56 | (define-public texinfo-6 | 59 | (define-public texinfo-5 |
| 57 | (package | 60 | (package (inherit texinfo) |
| 58 | (inherit texinfo) | 61 | (version "5.2") |
| 59 | (version "6.0") | ||
| 60 | (source (origin | 62 | (source (origin |
| 61 | (method url-fetch) | 63 | (method url-fetch) |
| 62 | (uri (string-append "mirror://gnu/texinfo/texinfo-" | 64 | (uri (string-append "mirror://gnu/texinfo/texinfo-" |
| 63 | version ".tar.xz")) | 65 | version ".tar.xz")) |
| 64 | (sha256 | 66 | (sha256 |
| 65 | (base32 | 67 | (base32 |
| 66 | "1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi")))))) | 68 | "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))) |
| 69 | (native-inputs '()))) | ||
| 67 | 70 | ||
| 68 | (define-public texinfo-4 | 71 | (define-public texinfo-4 |
| 69 | (package (inherit texinfo) | 72 | (package (inherit texinfo) |
| @@ -77,6 +80,7 @@ is on expressing the content semantically, avoiding physical markup commands.") | |||
| 77 | (sha256 | 80 | (sha256 |
| 78 | (base32 | 81 | (base32 |
| 79 | "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) | 82 | "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) |
| 83 | (native-inputs '()) | ||
| 80 | (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) | 84 | (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) |
| 81 | 85 | ||
| 82 | (define-public texi2html | 86 | (define-public texi2html |
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 68771c79579..3212d8040e0 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm | |||
| @@ -190,7 +190,7 @@ required structures.") | |||
| 190 | (build-system gnu-build-system) | 190 | (build-system gnu-build-system) |
| 191 | (native-inputs `(("perl" ,perl))) | 191 | (native-inputs `(("perl" ,perl))) |
| 192 | (arguments | 192 | (arguments |
| 193 | '(#:parallel-build? #f | 193 | `(#:parallel-build? #f |
| 194 | #:parallel-tests? #f | 194 | #:parallel-tests? #f |
| 195 | #:test-target "test" | 195 | #:test-target "test" |
| 196 | #:phases | 196 | #:phases |
| @@ -202,7 +202,13 @@ required structures.") | |||
| 202 | (system* "./config" | 202 | (system* "./config" |
| 203 | "shared" ; build shared libraries | 203 | "shared" ; build shared libraries |
| 204 | "--libdir=lib" | 204 | "--libdir=lib" |
| 205 | (string-append "--prefix=" out))))) | 205 | (string-append "--prefix=" out) |
| 206 | ;; XXX FIXME: Work around a code generation bug in GCC | ||
| 207 | ;; 4.9.3 on ARM when compiled with -mfpu=neon. | ||
| 208 | ,@(if (and (not (%current-target-system)) | ||
| 209 | (string-prefix? "armhf" (%current-system))) | ||
| 210 | '("-mfpu=vfpv3") | ||
| 211 | '()))))) | ||
| 206 | (alist-cons-before | 212 | (alist-cons-before |
| 207 | 'patch-source-shebangs 'patch-tests | 213 | 'patch-source-shebangs 'patch-tests |
| 208 | (lambda* (#:key inputs native-inputs #:allow-other-keys) | 214 | (lambda* (#:key inputs native-inputs #:allow-other-keys) |
| @@ -276,18 +282,30 @@ security, and applying best practice development processes.") | |||
| 276 | "Net-SSLeay-" version ".tar.gz")) | 282 | "Net-SSLeay-" version ".tar.gz")) |
| 277 | (sha256 | 283 | (sha256 |
| 278 | (base32 | 284 | (base32 |
| 279 | "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p")) | 285 | "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p")))) |
| 280 | (patches | ||
| 281 | ;; XXX Try removing this patch for perl-net-ssleay > 1.68 | ||
| 282 | (list (search-patch "perl-net-ssleay-disable-ede-test.patch"))))) | ||
| 283 | (build-system perl-build-system) | 286 | (build-system perl-build-system) |
| 287 | (native-inputs | ||
| 288 | `(("patch" ,patch) | ||
| 289 | ("patch/disable-ede-test" | ||
| 290 | ,(search-patch "perl-net-ssleay-disable-ede-test.patch")))) | ||
| 284 | (inputs `(("openssl" ,openssl))) | 291 | (inputs `(("openssl" ,openssl))) |
| 285 | (arguments | 292 | (arguments |
| 286 | `(#:phases (alist-cons-before | 293 | `(#:phases |
| 287 | 'configure 'set-ssl-prefix | 294 | (modify-phases %standard-phases |
| 288 | (lambda* (#:key inputs #:allow-other-keys) | 295 | (add-after |
| 289 | (setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl"))) | 296 | 'unpack 'apply-patch |
| 290 | %standard-phases))) | 297 | (lambda* (#:key inputs #:allow-other-keys) |
| 298 | ;; XXX We apply this patch here instead of in the 'origin' because | ||
| 299 | ;; this package's build system fails badly when the source file | ||
| 300 | ;; times are zeroed. | ||
| 301 | ;; XXX Try removing this patch for perl-net-ssleay > 1.68 | ||
| 302 | (zero? (system* "patch" "--force" "-p1" "-i" | ||
| 303 | (assoc-ref inputs "patch/disable-ede-test"))))) | ||
| 304 | (add-before | ||
| 305 | 'configure 'set-ssl-prefix | ||
| 306 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 307 | (setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl")) | ||
| 308 | #t))))) | ||
| 291 | (synopsis "Perl extension for using OpenSSL") | 309 | (synopsis "Perl extension for using OpenSSL") |
| 292 | (description | 310 | (description |
| 293 | "This module offers some high level convenience functions for accessing | 311 | "This module offers some high level convenience functions for accessing |
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index eac0235da93..c3f501b4a47 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm | |||
| @@ -104,7 +104,7 @@ as well as the classic centralized workflow.") | |||
| 104 | `(,name | 104 | `(,name |
| 105 | ,@(map (match-lambda | 105 | ,@(map (match-lambda |
| 106 | ((label (? package? _) . _) | 106 | ((label (? package? _) . _) |
| 107 | (string-append name "/" label))) | 107 | label)) |
| 108 | (package-transitive-propagated-inputs package))))) | 108 | (package-transitive-propagated-inputs package))))) |
| 109 | 109 | ||
| 110 | (define (package-propagated-input-refs inputs packages) | 110 | (define (package-propagated-input-refs inputs packages) |
| @@ -112,8 +112,9 @@ as well as the classic centralized workflow.") | |||
| 112 | PACKAGES and their propagated inputs." | 112 | PACKAGES and their propagated inputs." |
| 113 | (map (lambda (l) | 113 | (map (lambda (l) |
| 114 | `(assoc-ref ,inputs ,l)) | 114 | `(assoc-ref ,inputs ,l)) |
| 115 | (append-map package-transitive-propagated-labels* | 115 | (delete-duplicates ;XXX: efficiency |
| 116 | packages))) | 116 | (append-map package-transitive-propagated-labels* |
| 117 | packages)))) | ||
| 117 | 118 | ||
| 118 | (define-public git | 119 | (define-public git |
| 119 | ;; Keep in sync with 'git-manpages'! | 120 | ;; Keep in sync with 'git-manpages'! |
| @@ -236,13 +237,12 @@ PACKAGES and their propagated inputs." | |||
| 236 | (wrap-program git-se* | 237 | (wrap-program git-se* |
| 237 | `("PERL5LIB" ":" prefix | 238 | `("PERL5LIB" ":" prefix |
| 238 | ,(map (lambda (o) (string-append o "/lib/perl5/site_perl")) | 239 | ,(map (lambda (o) (string-append o "/lib/perl5/site_perl")) |
| 239 | (delete-duplicates | 240 | (list |
| 240 | (list | 241 | ,@(package-propagated-input-refs |
| 241 | ,@(package-propagated-input-refs | 242 | 'inputs |
| 242 | 'inputs | 243 | (list perl-authen-sasl |
| 243 | `(,perl-authen-sasl | 244 | perl-net-smtp-ssl |
| 244 | ,perl-net-smtp-ssl | 245 | perl-io-socket-ssl)))))) |
| 245 | ,perl-io-socket-ssl))))))) | ||
| 246 | 246 | ||
| 247 | ;; Tell 'git-submodule' where Perl is. | 247 | ;; Tell 'git-submodule' where Perl is. |
| 248 | (wrap-program git-sm | 248 | (wrap-program git-sm |
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9472b4e91cf..6b6d9ec9afe 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm | |||
| @@ -139,14 +139,7 @@ old-fashioned output methods with powerful ascii-art renderer.") | |||
| 139 | `(("autoconf" ,autoconf) | 139 | `(("autoconf" ,autoconf) |
| 140 | ("automake" ,automake) | 140 | ("automake" ,automake) |
| 141 | ("libtool" ,libtool))) | 141 | ("libtool" ,libtool))) |
| 142 | (arguments `(#:configure-flags | 142 | (arguments `(#:configure-flags '("--enable-shared") |
| 143 | '("--enable-shared" | ||
| 144 | ;; FIXME: liba52-0.7.4's config.guess fails on mips64el. | ||
| 145 | ,@(if (%current-target-system) | ||
| 146 | '() | ||
| 147 | (let ((triplet | ||
| 148 | (nix-system->gnu-triplet (%current-system)))) | ||
| 149 | (list (string-append "--build=" triplet))))) | ||
| 150 | #:phases | 143 | #:phases |
| 151 | (modify-phases %standard-phases | 144 | (modify-phases %standard-phases |
| 152 | ;; XXX We need to run ./bootstrap because of the build | 145 | ;; XXX We need to run ./bootstrap because of the build |
| @@ -665,7 +658,6 @@ treaming protocols.") | |||
| 665 | (or (%current-target-system) | 658 | (or (%current-target-system) |
| 666 | (nix-system->gnu-triplet | 659 | (nix-system->gnu-triplet |
| 667 | (%current-system))))))) | 660 | (%current-system))))))) |
| 668 | "--disable-neon" | ||
| 669 | "--disable-iwmmxt")))) | 661 | "--disable-iwmmxt")))) |
| 670 | %standard-phases))) | 662 | %standard-phases))) |
| 671 | (home-page "http://www.mplayerhq.hu/design7/news.html") | 663 | (home-page "http://www.mplayerhq.hu/design7/news.html") |
| @@ -905,23 +897,6 @@ projects while introducing many more.") | |||
| 905 | (zero? (system* "./configure" | 897 | (zero? (system* "./configure" |
| 906 | "--enable-shared" | 898 | "--enable-shared" |
| 907 | "--as=yasm" | 899 | "--as=yasm" |
| 908 | ,@(if (and (not (%current-target-system)) | ||
| 909 | (string-prefix? | ||
| 910 | "armhf-" | ||
| 911 | (%current-system))) | ||
| 912 | ;; When building on ARMv7, libvpx | ||
| 913 | ;; assumes that NEON will be | ||
| 914 | ;; available. On Guix, armhf | ||
| 915 | ;; does not require NEON, so we | ||
| 916 | ;; build for ARMv6 and -marm (since | ||
| 917 | ;; no thumb2 on ARMv6) to ensure | ||
| 918 | ;; compatibility with all ARMv7 | ||
| 919 | ;; cores we support. Based on | ||
| 920 | ;; the Debian libvpx package. | ||
| 921 | '("--target=armv6-linux-gcc" | ||
| 922 | "--extra-cflags=-marm" | ||
| 923 | "--enable-small") | ||
| 924 | '()) | ||
| 925 | (string-append "--prefix=" out))))) | 900 | (string-append "--prefix=" out))))) |
| 926 | %standard-phases) | 901 | %standard-phases) |
| 927 | #:tests? #f)) ; no check target | 902 | #:tests? #f)) ; no check target |
| @@ -1157,7 +1132,9 @@ for use with HTML5 video.") | |||
| 1157 | (with-directory-excursion "avidemux_core/ffmpeg_package" | 1132 | (with-directory-excursion "avidemux_core/ffmpeg_package" |
| 1158 | (substitute* "ffmpeg-1.2.1/configure" | 1133 | (substitute* "ffmpeg-1.2.1/configure" |
| 1159 | (("#! /bin/sh") (string-append "#!" (which "bash")))) | 1134 | (("#! /bin/sh") (string-append "#!" (which "bash")))) |
| 1160 | (system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1") | 1135 | (system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1" |
| 1136 | ;; avoid non-determinism in the archive | ||
| 1137 | "--mtime=@0" "--owner=root:0" "--group=root:0") | ||
| 1161 | (delete-file-recursively "ffmpeg-1.2.1"))) | 1138 | (delete-file-recursively "ffmpeg-1.2.1"))) |
| 1162 | (alist-replace 'configure | 1139 | (alist-replace 'configure |
| 1163 | (lambda _ | 1140 | (lambda _ |
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6c24b6253a7..28bd2c7c68b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm | |||
| @@ -272,7 +272,13 @@ parse JSON formatted strings back into the C representation of JSON objects.") | |||
| 272 | (file-name (string-append name "-" version ".tar.gz")) | 272 | (file-name (string-append name "-" version ".tar.gz")) |
| 273 | (sha256 | 273 | (sha256 |
| 274 | (base32 | 274 | (base32 |
| 275 | "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3")))) | 275 | "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3")) |
| 276 | (modules '((guix build utils))) | ||
| 277 | (snippet | ||
| 278 | ;; Building with GCC 4.8 with -Werror was fine, but 4.9.3 | ||
| 279 | ;; complains in new ways, so turn of -Werror. | ||
| 280 | '(substitute* (find-files "." "^CMakeLists\\.txt$") | ||
| 281 | (("-Werror") ""))))) | ||
| 276 | (build-system cmake-build-system) | 282 | (build-system cmake-build-system) |
| 277 | (home-page "https://github.com/miloyip/rapidjson") | 283 | (home-page "https://github.com/miloyip/rapidjson") |
| 278 | (synopsis "JSON parser/generator for C++ with both SAX/DOM style API") | 284 | (synopsis "JSON parser/generator for C++ with both SAX/DOM style API") |
| @@ -320,20 +326,14 @@ for efficient socket-like bidirectional reliable communication channels.") | |||
| 320 | (define-public libpsl | 326 | (define-public libpsl |
| 321 | (package | 327 | (package |
| 322 | (name "libpsl") | 328 | (name "libpsl") |
| 323 | (version "0.6.0") | 329 | (version "0.7.1") |
| 324 | (source (origin | 330 | (source (origin |
| 325 | (method url-fetch) | 331 | (method url-fetch) |
| 326 | (uri (string-append "https://github.com/rockdaboot/libpsl/" | 332 | (uri (string-append "https://github.com/rockdaboot/libpsl/" |
| 327 | "archive/" version ".tar.gz")) | 333 | "archive/libpsl-" version ".tar.gz")) |
| 328 | (sha256 | 334 | (sha256 |
| 329 | (base32 | 335 | (base32 |
| 330 | "10s7xxxx6pp4ydp3san69sa6q379ih3pv92fyi565ggmlw8igv7a")) | 336 | "1k0klj668c9v0r4993vfs3kq773mzdz61vsigqw6v1mjcwnf1si3")))) |
| 331 | (file-name (string-append name "-" version ".tar.gz")) | ||
| 332 | (modules '((guix build utils))) | ||
| 333 | (snippet | ||
| 334 | ;; Believe it or not, the .pc is invalid. Fix it. | ||
| 335 | '(substitute* "libpsl.pc.in" | ||
| 336 | (("-llibpsl") "-lpsl"))))) | ||
| 337 | (build-system gnu-build-system) | 337 | (build-system gnu-build-system) |
| 338 | (inputs `(("icu4c" ,icu4c))) | 338 | (inputs `(("icu4c" ,icu4c))) |
| 339 | ;; The release tarball lacks the generated files. | 339 | ;; The release tarball lacks the generated files. |
| @@ -341,7 +341,8 @@ for efficient socket-like bidirectional reliable communication channels.") | |||
| 341 | ("automake" ,automake) | 341 | ("automake" ,automake) |
| 342 | ("gettext" ,gnu-gettext) | 342 | ("gettext" ,gnu-gettext) |
| 343 | ("which" ,which) | 343 | ("which" ,which) |
| 344 | ("libtool" ,libtool))) | 344 | ("libtool" ,libtool) |
| 345 | ("pkg-config" ,pkg-config))) | ||
| 345 | (arguments | 346 | (arguments |
| 346 | `(#:phases (alist-cons-after | 347 | `(#:phases (alist-cons-after |
| 347 | 'unpack 'bootstrap | 348 | 'unpack 'bootstrap |
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 1ed33e1629c..9fd9f4a321f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm | |||
| @@ -447,13 +447,6 @@ transparent text on your screen.") | |||
| 447 | (inputs | 447 | (inputs |
| 448 | `(("libx11" ,libx11) | 448 | `(("libx11" ,libx11) |
| 449 | ("guile" ,guile-2.0))) | 449 | ("guile" ,guile-2.0))) |
| 450 | (arguments `(#:configure-flags | ||
| 451 | '(;; FIXME: xbindkeys-1.8.6's config.guess fails on mips64el. | ||
| 452 | ,@(if (%current-target-system) | ||
| 453 | '() | ||
| 454 | (let ((triplet | ||
| 455 | (nix-system->gnu-triplet (%current-system)))) | ||
| 456 | (list (string-append "--build=" triplet))))))) | ||
| 457 | (home-page "http://www.nongnu.org/xbindkeys/") | 450 | (home-page "http://www.nongnu.org/xbindkeys/") |
| 458 | (synopsis "Associate a combination of keys with a shell command") | 451 | (synopsis "Associate a combination of keys with a shell command") |
| 459 | (description | 452 | (description |
diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index e6f50672956..f0f27ddfe26 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | 2 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> |
| 3 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | 3 | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> |
| 4 | ;;; | 4 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 6 | ;;; |
| @@ -81,23 +81,29 @@ Compression ratios of 2:1 to 3:1 are common for text files.") | |||
| 81 | (sha256 | 81 | (sha256 |
| 82 | (base32 | 82 | (base32 |
| 83 | "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83")) | 83 | "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83")) |
| 84 | (patches (list (search-patch "unzip-CVE-2014-8139.patch") | 84 | (patches (map search-patch '("unzip-CVE-2014-8139.patch" |
| 85 | (search-patch "unzip-CVE-2014-8140.patch") | 85 | "unzip-CVE-2014-8140.patch" |
| 86 | (search-patch "unzip-CVE-2014-8141.patch"))))) | 86 | "unzip-CVE-2014-8141.patch" |
| 87 | "unzip-CVE-2014-9636.patch" | ||
| 88 | "unzip-allow-greater-hostver-values.patch" | ||
| 89 | "unzip-increase-size-of-cfactorstr.patch" | ||
| 90 | "unzip-initialize-symlink-flag.patch" | ||
| 91 | "unzip-remove-build-date.patch"))))) | ||
| 87 | (build-system gnu-build-system) | 92 | (build-system gnu-build-system) |
| 88 | ;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO | 93 | ;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO |
| 89 | (arguments | 94 | (arguments |
| 90 | `(#:make-flags '("generic_gcc") | 95 | `(#:phases (modify-phases %standard-phases |
| 91 | #:phases | 96 | (delete 'configure) |
| 92 | (alist-replace | 97 | (replace 'build |
| 93 | 'configure | 98 | (lambda* (#:key make-flags #:allow-other-keys) |
| 94 | (lambda* (#:key inputs outputs #:allow-other-keys) | 99 | (zero? (apply system* "make" |
| 95 | (let* ((out (assoc-ref outputs "out"))) | 100 | `("-j" ,(number->string |
| 96 | (copy-file "unix/Makefile" "Makefile") | 101 | (parallel-job-count)) |
| 97 | (substitute* "Makefile" | 102 | ,@make-flags |
| 98 | (("/usr/local") out) | 103 | "generic_gcc")))))) |
| 99 | (("/man/") "/share/man/")))) | 104 | #:make-flags (list "-f" "unix/Makefile" |
| 100 | %standard-phases))) | 105 | (string-append "prefix=" %output) |
| 106 | (string-append "MANDIR=" %output "/share/man/man1")))) | ||
| 101 | (home-page "http://www.info-zip.org/UnZip.html") | 107 | (home-page "http://www.info-zip.org/UnZip.html") |
| 102 | (synopsis "Decompression and file extraction utility") | 108 | (synopsis "Decompression and file extraction utility") |
| 103 | (description | 109 | (description |
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 8702c6c9157..1f302447c2a 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm | |||
| @@ -289,6 +289,7 @@ standard packages used as implicit inputs of the GNU build system." | |||
| 289 | (phases '%standard-phases) | 289 | (phases '%standard-phases) |
| 290 | (locale "en_US.UTF-8") | 290 | (locale "en_US.UTF-8") |
| 291 | (system (%current-system)) | 291 | (system (%current-system)) |
| 292 | (build (nix-system->gnu-triplet system)) | ||
| 292 | (imported-modules %gnu-build-system-modules) | 293 | (imported-modules %gnu-build-system-modules) |
| 293 | (modules %default-modules) | 294 | (modules %default-modules) |
| 294 | (substitutable? #t) | 295 | (substitutable? #t) |
| @@ -333,6 +334,7 @@ are allowed to refer to." | |||
| 333 | (source | 334 | (source |
| 334 | source)) | 335 | source)) |
| 335 | #:system ,system | 336 | #:system ,system |
| 337 | #:build ,build | ||
| 336 | #:outputs %outputs | 338 | #:outputs %outputs |
| 337 | #:inputs %build-inputs | 339 | #:inputs %build-inputs |
| 338 | #:search-paths ',(map search-path-specification->sexp | 340 | #:search-paths ',(map search-path-specification->sexp |
| @@ -422,6 +424,7 @@ is one of `host' or `target'." | |||
| 422 | (phases '%standard-phases) | 424 | (phases '%standard-phases) |
| 423 | (locale "en_US.UTF-8") | 425 | (locale "en_US.UTF-8") |
| 424 | (system (%current-system)) | 426 | (system (%current-system)) |
| 427 | (build (nix-system->gnu-triplet system)) | ||
| 425 | (imported-modules %gnu-build-system-modules) | 428 | (imported-modules %gnu-build-system-modules) |
| 426 | (modules %default-modules) | 429 | (modules %default-modules) |
| 427 | (substitutable? #t) | 430 | (substitutable? #t) |
| @@ -472,6 +475,7 @@ platform." | |||
| 472 | (source | 475 | (source |
| 473 | source)) | 476 | source)) |
| 474 | #:system ,system | 477 | #:system ,system |
| 478 | #:build ,build | ||
| 475 | #:target ,target | 479 | #:target ,target |
| 476 | #:outputs %outputs | 480 | #:outputs %outputs |
| 477 | #:inputs %build-target-inputs | 481 | #:inputs %build-target-inputs |
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 50624793604..102207b0226 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm | |||
| @@ -184,7 +184,7 @@ makefiles." | |||
| 184 | ;; Patch `SHELL' in generated makefiles. | 184 | ;; Patch `SHELL' in generated makefiles. |
| 185 | (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$"))) | 185 | (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$"))) |
| 186 | 186 | ||
| 187 | (define* (configure #:key target native-inputs inputs outputs | 187 | (define* (configure #:key build target native-inputs inputs outputs |
| 188 | (configure-flags '()) out-of-source? | 188 | (configure-flags '()) out-of-source? |
| 189 | #:allow-other-keys) | 189 | #:allow-other-keys) |
| 190 | (define (package-name) | 190 | (define (package-name) |
| @@ -234,6 +234,9 @@ makefiles." | |||
| 234 | (list (string-append "--docdir=" docdir | 234 | (list (string-append "--docdir=" docdir |
| 235 | "/share/doc/" (package-name))) | 235 | "/share/doc/" (package-name))) |
| 236 | '()) | 236 | '()) |
| 237 | ,@(if build | ||
| 238 | (list (string-append "--build=" build)) | ||
| 239 | '()) | ||
| 237 | ,@(if target ; cross building | 240 | ,@(if target ; cross building |
| 238 | (list (string-append "--host=" target)) | 241 | (list (string-append "--host=" target)) |
| 239 | '()) | 242 | '()) |
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index 26a7254db9b..d008ac2c69b 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> | 3 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> |
| 4 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | 4 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> |
| 5 | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||
| 5 | ;;; | 6 | ;;; |
| 6 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 7 | ;;; | 8 | ;;; |
| @@ -119,10 +120,24 @@ installed with setuptools." | |||
| 119 | (rename-file easy-install-pth new-pth)) | 120 | (rename-file easy-install-pth new-pth)) |
| 120 | #t)) | 121 | #t)) |
| 121 | 122 | ||
| 123 | (define* (ensure-no-mtimes-pre-1980 #:rest _) | ||
| 124 | "Ensure that there are no mtimes before 1980-01-02 in the source tree." | ||
| 125 | ;; Rationale: patch-and-repack creates tarballs with timestamps at the POSIX | ||
| 126 | ;; epoch, 1970-01-01 UTC. This causes problems with Python packages, | ||
| 127 | ;; because Python eggs are ZIP files, and the ZIP format does not support | ||
| 128 | ;; timestamps before 1980. | ||
| 129 | (let ((early-1980 315619200)) ; 1980-01-02 UTC | ||
| 130 | (ftw "." (lambda (file stat flag) | ||
| 131 | (unless (<= early-1980 (stat:mtime stat)) | ||
| 132 | (utime file early-1980 early-1980)) | ||
| 133 | #t)) | ||
| 134 | #t)) | ||
| 135 | |||
| 122 | (define %standard-phases | 136 | (define %standard-phases |
| 123 | ;; 'configure' and 'build' phases are not needed. Everything is done during | 137 | ;; 'configure' and 'build' phases are not needed. Everything is done during |
| 124 | ;; 'install'. | 138 | ;; 'install'. |
| 125 | (modify-phases gnu:%standard-phases | 139 | (modify-phases gnu:%standard-phases |
| 140 | (add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980) | ||
| 126 | (delete 'configure) | 141 | (delete 'configure) |
| 127 | (replace 'install install) | 142 | (replace 'install install) |
| 128 | (replace 'check check) | 143 | (replace 'check check) |
diff --git a/guix/packages.scm b/guix/packages.scm index 5a280857ea7..3983d1409ac 100644 --- a/guix/packages.scm +++ b/guix/packages.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | 3 | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> |
| 4 | ;;; | 4 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 6 | ;;; |
| @@ -480,7 +480,11 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET." | |||
| 480 | 480 | ||
| 481 | (begin (chdir "..") #t) | 481 | (begin (chdir "..") #t) |
| 482 | (zero? (system* (string-append #+tar "/bin/tar") | 482 | (zero? (system* (string-append #+tar "/bin/tar") |
| 483 | "cvfa" #$output directory))))))) | 483 | "cvfa" #$output directory |
| 484 | ;; avoid non-determinism in the archive | ||
| 485 | "--mtime=@0" | ||
| 486 | "--owner=root:0" | ||
| 487 | "--group=root:0"))))))) | ||
| 484 | 488 | ||
| 485 | (let ((name (tarxz-name original-file-name)) | 489 | (let ((name (tarxz-name original-file-name)) |
| 486 | (modules (delete-duplicates (cons '(guix build utils) modules)))) | 490 | (modules (delete-duplicates (cons '(guix build utils) modules)))) |
| @@ -491,21 +495,37 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET." | |||
| 491 | #:guile-for-build guile-for-build)))) | 495 | #:guile-for-build guile-for-build)))) |
| 492 | 496 | ||
| 493 | (define (transitive-inputs inputs) | 497 | (define (transitive-inputs inputs) |
| 494 | (let loop ((inputs inputs) | 498 | "Return the closure of INPUTS when considering the 'propagated-inputs' |
| 495 | (result '())) | 499 | edges. Omit duplicate inputs, except for those already present in INPUTS |
| 500 | itself. | ||
| 501 | |||
| 502 | This is implemented as a breadth-first traversal such that INPUTS is | ||
| 503 | preserved, and only duplicate propagated inputs are removed." | ||
| 504 | (define (seen? seen item outputs) | ||
| 505 | (match (vhash-assq item seen) | ||
| 506 | ((_ . o) (equal? o outputs)) | ||
| 507 | (_ #f))) | ||
| 508 | |||
| 509 | (let loop ((inputs inputs) | ||
| 510 | (result '()) | ||
| 511 | (propagated '()) | ||
| 512 | (first? #t) | ||
| 513 | (seen vlist-null)) | ||
| 496 | (match inputs | 514 | (match inputs |
| 497 | (() | 515 | (() |
| 498 | (delete-duplicates (reverse result))) ; XXX: efficiency | 516 | (if (null? propagated) |
| 499 | (((and i (name (? package? p) sub ...)) rest ...) | 517 | (reverse result) |
| 500 | (let ((t (map (match-lambda | 518 | (loop (reverse (concatenate propagated)) result '() #f seen))) |
| 501 | ((dep-name derivation ...) | 519 | (((and input (label (? package? package) outputs ...)) rest ...) |
| 502 | (cons (string-append name "/" dep-name) | 520 | (if (and (not first?) (seen? seen package outputs)) |
| 503 | derivation))) | 521 | (loop rest result propagated first? seen) |
| 504 | (package-propagated-inputs p)))) | 522 | (loop rest |
| 505 | (loop (append t rest) | 523 | (cons input result) |
| 506 | (append t (cons i result))))) | 524 | (cons (package-propagated-inputs package) propagated) |
| 525 | first? | ||
| 526 | (vhash-consq package outputs seen)))) | ||
| 507 | ((input rest ...) | 527 | ((input rest ...) |
| 508 | (loop rest (cons input result)))))) | 528 | (loop rest (cons input result) propagated first? seen))))) |
| 509 | 529 | ||
| 510 | (define (package-direct-sources package) | 530 | (define (package-direct-sources package) |
| 511 | "Return all source origins associated with PACKAGE; including origins in | 531 | "Return all source origins associated with PACKAGE; including origins in |
diff --git a/tests/gexp.scm b/tests/gexp.scm index 5c9a4fc031a..740d74620ee 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm | |||
| @@ -536,6 +536,9 @@ | |||
| 536 | (guix build utils)))) | 536 | (guix build utils)))) |
| 537 | (ok? (built-derivations (list drv))) | 537 | (ok? (built-derivations (list drv))) |
| 538 | (guile-drv (package->derivation %bootstrap-guile)) | 538 | (guile-drv (package->derivation %bootstrap-guile)) |
| 539 | (bash (interned-file (search-bootstrap-binary "bash" | ||
| 540 | (%current-system)) | ||
| 541 | "bash" #:recursive? #t)) | ||
| 539 | (g-one -> (derivation->output-path drv "one")) | 542 | (g-one -> (derivation->output-path drv "one")) |
| 540 | (g-two -> (derivation->output-path drv "two")) | 543 | (g-two -> (derivation->output-path drv "two")) |
| 541 | (g-guile -> (derivation->output-path drv))) | 544 | (g-guile -> (derivation->output-path drv))) |
| @@ -543,8 +546,10 @@ | |||
| 543 | (equal? (call-with-input-file g-one read) (list one)) | 546 | (equal? (call-with-input-file g-one read) (list one)) |
| 544 | (equal? (call-with-input-file g-two read) | 547 | (equal? (call-with-input-file g-two read) |
| 545 | (list one (derivation->output-path two "chbouib"))) | 548 | (list one (derivation->output-path two "chbouib"))) |
| 549 | |||
| 550 | ;; Note: %BOOTSTRAP-GUILE depends on the bootstrap Bash. | ||
| 546 | (equal? (call-with-input-file g-guile read) | 551 | (equal? (call-with-input-file g-guile read) |
| 547 | (list (derivation->output-path guile-drv))))))) | 552 | (list (derivation->output-path guile-drv) bash)))))) |
| 548 | 553 | ||
| 549 | (test-assertm "gexp->derivation #:allowed-references" | 554 | (test-assertm "gexp->derivation #:allowed-references" |
| 550 | (mlet %store-monad ((drv (gexp->derivation "allowed-refs" | 555 | (mlet %store-monad ((drv (gexp->derivation "allowed-refs" |
diff --git a/tests/packages.scm b/tests/packages.scm index 511ad78b6c8..3cb532df1a9 100644 --- a/tests/packages.scm +++ b/tests/packages.scm | |||
| @@ -118,10 +118,32 @@ | |||
| 118 | (equal? `(("a" ,a)) (package-transitive-inputs c)) | 118 | (equal? `(("a" ,a)) (package-transitive-inputs c)) |
| 119 | (equal? (package-propagated-inputs d) | 119 | (equal? (package-propagated-inputs d) |
| 120 | (package-transitive-inputs d)) | 120 | (package-transitive-inputs d)) |
| 121 | (equal? `(("b" ,b) ("b/a" ,a) ("c" ,c) | 121 | (equal? `(("b" ,b) ("c" ,c) ("d" ,d) |
| 122 | ("d" ,d) ("d/x" "something.drv")) | 122 | ("a" ,a) ("x" "something.drv")) |
| 123 | (pk 'x (package-transitive-inputs e)))))) | 123 | (pk 'x (package-transitive-inputs e)))))) |
| 124 | 124 | ||
| 125 | (test-assert "package-transitive-inputs, no duplicates" | ||
| 126 | (let* ((a (dummy-package "a")) | ||
| 127 | (b (dummy-package "b" | ||
| 128 | (inputs `(("a+" ,a))) | ||
| 129 | (native-inputs `(("a*" ,a))) | ||
| 130 | (propagated-inputs `(("a" ,a))))) | ||
| 131 | (c (dummy-package "c" | ||
| 132 | (propagated-inputs `(("b" ,b))))) | ||
| 133 | (d (dummy-package "d" | ||
| 134 | (inputs `(("a" ,a) ("c" ,c))))) | ||
| 135 | (e (dummy-package "e" | ||
| 136 | (inputs `(("b" ,b) ("c" ,c)))))) | ||
| 137 | (and (null? (package-transitive-inputs a)) | ||
| 138 | (equal? `(("a*" ,a) ("a+" ,a) ("a" ,a)) ;here duplicates are kept | ||
| 139 | (package-transitive-inputs b)) | ||
| 140 | (equal? `(("b" ,b) ("a" ,a)) | ||
| 141 | (package-transitive-inputs c)) | ||
| 142 | (equal? `(("a" ,a) ("c" ,c) ("b" ,b)) ;duplicate A removed | ||
| 143 | (package-transitive-inputs d)) | ||
| 144 | (equal? `(("b" ,b) ("c" ,c) ("a" ,a)) | ||
| 145 | (package-transitive-inputs e))))) ;ditto | ||
| 146 | |||
| 125 | (test-equal "package-transitive-supported-systems" | 147 | (test-equal "package-transitive-supported-systems" |
| 126 | '(("x" "y" "z") ;a | 148 | '(("x" "y" "z") ;a |
| 127 | ("x" "y") ;b | 149 | ("x" "y") ;b |
| @@ -573,8 +595,8 @@ | |||
| 573 | (dummy (dummy-package "dummy" | 595 | (dummy (dummy-package "dummy" |
| 574 | (inputs `(("prop" ,prop))))) | 596 | (inputs `(("prop" ,prop))))) |
| 575 | (inputs (bag-transitive-inputs (package->bag dummy #:graft? #f)))) | 597 | (inputs (bag-transitive-inputs (package->bag dummy #:graft? #f)))) |
| 576 | (match (assoc "prop/dep" inputs) | 598 | (match (assoc "dep" inputs) |
| 577 | (("prop/dep" package) | 599 | (("dep" package) |
| 578 | (eq? package dep))))) | 600 | (eq? package dep))))) |
| 579 | 601 | ||
| 580 | (test-assert "bag->derivation" | 602 | (test-assert "bag->derivation" |
diff --git a/tests/size.scm b/tests/size.scm index 95b99a88ef7..a1106045f84 100644 --- a/tests/size.scm +++ b/tests/size.scm | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #:use-module (guix gexp) | 24 | #:use-module (guix gexp) |
| 25 | #:use-module (guix tests) | 25 | #:use-module (guix tests) |
| 26 | #:use-module (guix scripts size) | 26 | #:use-module (guix scripts size) |
| 27 | #:use-module (gnu packages) | ||
| 27 | #:use-module (gnu packages bootstrap) | 28 | #:use-module (gnu packages bootstrap) |
| 28 | #:use-module (ice-9 match) | 29 | #:use-module (ice-9 match) |
| 29 | #:use-module (srfi srfi-1) | 30 | #:use-module (srfi srfi-1) |
| @@ -54,9 +55,15 @@ | |||
| 54 | (built-derivations (list file2)) | 55 | (built-derivations (list file2)) |
| 55 | (mlet %store-monad ((profiles (store-profile | 56 | (mlet %store-monad ((profiles (store-profile |
| 56 | (derivation->output-path file2))) | 57 | (derivation->output-path file2))) |
| 58 | (bash (interned-file | ||
| 59 | (search-bootstrap-binary | ||
| 60 | "bash" (%current-system)) "bash" | ||
| 61 | #:recursive? #t)) | ||
| 57 | (guile (package->derivation %bootstrap-guile))) | 62 | (guile (package->derivation %bootstrap-guile))) |
| 58 | (define (lookup-profile drv) | 63 | (define (lookup-profile item) |
| 59 | (find (matching-profile (derivation->output-path drv)) | 64 | (find (matching-profile (if (derivation? item) |
| 65 | (derivation->output-path item) | ||
| 66 | item)) | ||
| 60 | profiles)) | 67 | profiles)) |
| 61 | 68 | ||
| 62 | (letrec-syntax ((match* (syntax-rules (=>) | 69 | (letrec-syntax ((match* (syntax-rules (=>) |
| @@ -67,15 +74,17 @@ | |||
| 67 | ((_ () body) | 74 | ((_ () body) |
| 68 | body)))) | 75 | body)))) |
| 69 | ;; Make sure we get all three profiles with sensible values. | 76 | ;; Make sure we get all three profiles with sensible values. |
| 70 | (return (and (= (length profiles) 3) | 77 | (return (and (= (length profiles) 4) |
| 71 | (match* ((file1 => profile1) | 78 | (match* ((file1 => profile1) |
| 72 | (file2 => profile2) | 79 | (file2 => profile2) |
| 73 | (guile => profile3)) | 80 | (guile => profile3) |
| 81 | (bash => profile4)) ;dependency of GUILE | ||
| 74 | (and (> (profile-closure-size profile2) 0) | 82 | (and (> (profile-closure-size profile2) 0) |
| 75 | (= (profile-closure-size profile2) | 83 | (= (profile-closure-size profile2) |
| 76 | (+ (profile-self-size profile1) | 84 | (+ (profile-self-size profile1) |
| 77 | (profile-self-size profile2) | 85 | (profile-self-size profile2) |
| 78 | (profile-self-size profile3)))))))))))) | 86 | (profile-self-size profile3) |
| 87 | (profile-self-size profile4)))))))))))) | ||
| 79 | 88 | ||
| 80 | (test-end "size") | 89 | (test-end "size") |
| 81 | 90 | ||
