Merge branch 'core-updates'
This commit is contained in:
commit
e170571887
|
@ -4455,7 +4455,7 @@ Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
||||||
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
||||||
|
|
||||||
@item armhf-linux
|
@item armhf-linux
|
||||||
ARMv7-A architecture with hard float, Thumb-2 and VFP3D16 coprocessor,
|
ARMv7-A architecture with hard float, Thumb-2 and NEON,
|
||||||
using the EABI hard-float ABI, and Linux-Libre kernel.
|
using the EABI hard-float ABI, and Linux-Libre kernel.
|
||||||
|
|
||||||
@item mips64el-linux
|
@item mips64el-linux
|
||||||
|
|
|
@ -403,7 +403,6 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/clang-libc-search-path.patch \
|
gnu/packages/patches/clang-libc-search-path.patch \
|
||||||
gnu/packages/patches/clucene-pkgconfig.patch \
|
gnu/packages/patches/clucene-pkgconfig.patch \
|
||||||
gnu/packages/patches/cmake-fix-tests.patch \
|
gnu/packages/patches/cmake-fix-tests.patch \
|
||||||
gnu/packages/patches/coreutils-dummy-man.patch \
|
|
||||||
gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch \
|
gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch \
|
||||||
gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch \
|
gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch \
|
||||||
gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch \
|
gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch \
|
||||||
|
@ -441,7 +440,6 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/gcc-libvtv-runpath.patch \
|
gnu/packages/patches/gcc-libvtv-runpath.patch \
|
||||||
gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \
|
gnu/packages/patches/gcc-5.0-libvtv-runpath.patch \
|
||||||
gnu/packages/patches/geoclue-config.patch \
|
gnu/packages/patches/geoclue-config.patch \
|
||||||
gnu/packages/patches/gettext-msgunfmt.patch \
|
|
||||||
gnu/packages/patches/ghostscript-runpath.patch \
|
gnu/packages/patches/ghostscript-runpath.patch \
|
||||||
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
|
gnu/packages/patches/gitolite-openssh-6.8-compat.patch \
|
||||||
gnu/packages/patches/glib-tests-desktop.patch \
|
gnu/packages/patches/glib-tests-desktop.patch \
|
||||||
|
@ -473,6 +471,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/hydra-automake-1.15.patch \
|
gnu/packages/patches/hydra-automake-1.15.patch \
|
||||||
gnu/packages/patches/hydra-disable-darcs-test.patch \
|
gnu/packages/patches/hydra-disable-darcs-test.patch \
|
||||||
gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \
|
gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \
|
||||||
|
gnu/packages/patches/icecat-freetype-2.6.patch \
|
||||||
gnu/packages/patches/icecat-libvpx-1.4.patch \
|
gnu/packages/patches/icecat-libvpx-1.4.patch \
|
||||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||||
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
|
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
|
||||||
|
@ -540,6 +539,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/ngircd-handle-zombies.patch \
|
gnu/packages/patches/ngircd-handle-zombies.patch \
|
||||||
gnu/packages/patches/ngircd-no-dns-in-tests.patch \
|
gnu/packages/patches/ngircd-no-dns-in-tests.patch \
|
||||||
gnu/packages/patches/ninja-tests.patch \
|
gnu/packages/patches/ninja-tests.patch \
|
||||||
|
gnu/packages/patches/ninja-zero-mtime.patch \
|
||||||
gnu/packages/patches/nss-pkgconfig.patch \
|
gnu/packages/patches/nss-pkgconfig.patch \
|
||||||
gnu/packages/patches/nvi-assume-preserve-path.patch \
|
gnu/packages/patches/nvi-assume-preserve-path.patch \
|
||||||
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
|
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||||
|
@ -625,6 +625,11 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/unzip-CVE-2014-8139.patch \
|
gnu/packages/patches/unzip-CVE-2014-8139.patch \
|
||||||
gnu/packages/patches/unzip-CVE-2014-8140.patch \
|
gnu/packages/patches/unzip-CVE-2014-8140.patch \
|
||||||
gnu/packages/patches/unzip-CVE-2014-8141.patch \
|
gnu/packages/patches/unzip-CVE-2014-8141.patch \
|
||||||
|
gnu/packages/patches/unzip-CVE-2014-9636.patch \
|
||||||
|
gnu/packages/patches/unzip-allow-greater-hostver-values.patch \
|
||||||
|
gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch \
|
||||||
|
gnu/packages/patches/unzip-initialize-symlink-flag.patch \
|
||||||
|
gnu/packages/patches/unzip-remove-build-date.patch \
|
||||||
gnu/packages/patches/util-linux-tests.patch \
|
gnu/packages/patches/util-linux-tests.patch \
|
||||||
gnu/packages/patches/upower-builddir.patch \
|
gnu/packages/patches/upower-builddir.patch \
|
||||||
gnu/packages/patches/valgrind-glibc-2.21.patch \
|
gnu/packages/patches/valgrind-glibc-2.21.patch \
|
||||||
|
|
|
@ -412,7 +412,11 @@ connection alive.")
|
||||||
(for-each patch-shebang
|
(for-each patch-shebang
|
||||||
(find-files "bind-9.9.5-P1" ".*"))
|
(find-files "bind-9.9.5-P1" ".*"))
|
||||||
(zero? (system* "tar" "cf" "bind.tar.gz"
|
(zero? (system* "tar" "cf" "bind.tar.gz"
|
||||||
"bind-9.9.5-P1"))))
|
"bind-9.9.5-P1"
|
||||||
|
;; avoid non-determinism in the archive
|
||||||
|
"--mtime=@0"
|
||||||
|
"--owner=root:0"
|
||||||
|
"--group=root:0"))))
|
||||||
(alist-cons-after
|
(alist-cons-after
|
||||||
'install 'post-install
|
'install 'post-install
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
|
|
@ -238,15 +238,14 @@ used to apply commands with arbitrarily long arguments.")
|
||||||
(define-public coreutils
|
(define-public coreutils
|
||||||
(package
|
(package
|
||||||
(name "coreutils")
|
(name "coreutils")
|
||||||
(version "8.23")
|
(version "8.24")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc"))
|
"0w11jw3fb5sslf0f72kxy7llxgk1ia3a6bcw0c9kmvxrlj355mx2"))))
|
||||||
(patches (list (search-patch "coreutils-dummy-man.patch")))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
||||||
("gmp" ,gmp)))
|
("gmp" ,gmp)))
|
||||||
|
|
|
@ -86,7 +86,13 @@
|
||||||
(30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278
|
(30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278
|
||||||
(31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
|
(31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
|
||||||
(32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
|
(32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
|
||||||
(33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")))
|
(33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")
|
||||||
|
(34 "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi")
|
||||||
|
(35 "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p")
|
||||||
|
(36 "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc")
|
||||||
|
(37 "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k")
|
||||||
|
(38 "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd")
|
||||||
|
(39 "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b")))
|
||||||
(define (download-patches store count)
|
(define (download-patches store count)
|
||||||
"Download COUNT Bash patches into store. Return a list of
|
"Download COUNT Bash patches into store. Return a list of
|
||||||
number/base32-hash tuples, directly usable in the 'patch-series' form."
|
number/base32-hash tuples, directly usable in the 'patch-series' form."
|
||||||
|
|
|
@ -197,6 +197,33 @@ successful, or false to signal an error."
|
||||||
"guile-2.0.11.tar.xz")
|
"guile-2.0.11.tar.xz")
|
||||||
(_
|
(_
|
||||||
"guile-2.0.9.tar.xz"))))
|
"guile-2.0.9.tar.xz"))))
|
||||||
|
;; The following code, run by the bootstrap guile after it is
|
||||||
|
;; unpacked, creates a wrapper for itself to set its load path.
|
||||||
|
;; This replaces the previous non-portable method based on
|
||||||
|
;; reading the /proc/self/exe symlink.
|
||||||
|
(make-guile-wrapper
|
||||||
|
'(begin
|
||||||
|
(use-modules (ice-9 match))
|
||||||
|
(match (command-line)
|
||||||
|
((_ out bash)
|
||||||
|
(let ((bin-dir (string-append out "/bin"))
|
||||||
|
(guile (string-append out "/bin/guile"))
|
||||||
|
(guile-real (string-append out "/bin/.guile-real"))
|
||||||
|
;; We must avoid using a bare dollar sign in this code,
|
||||||
|
;; because it would be interpreted by the shell.
|
||||||
|
(dollar (string (integer->char 36))))
|
||||||
|
(chmod bin-dir #o755)
|
||||||
|
(rename-file guile guile-real)
|
||||||
|
(call-with-output-file guile
|
||||||
|
(lambda (p)
|
||||||
|
(format p "\
|
||||||
|
#!~a
|
||||||
|
export GUILE_SYSTEM_PATH=~a/share/guile/2.0
|
||||||
|
export GUILE_SYSTEM_COMPILED_PATH=~a/lib/guile/2.0/ccache
|
||||||
|
exec -a \"~a0\" ~a \"~a@\"\n"
|
||||||
|
bash out out dollar guile-real dollar)))
|
||||||
|
(chmod guile #o555)
|
||||||
|
(chmod bin-dir #o555))))))
|
||||||
(builder
|
(builder
|
||||||
(add-text-to-store store
|
(add-text-to-store store
|
||||||
"build-bootstrap-guile.sh"
|
"build-bootstrap-guile.sh"
|
||||||
|
@ -206,10 +233,17 @@ echo \"unpacking bootstrap Guile to '$out'...\"
|
||||||
cd $out
|
cd $out
|
||||||
~a -dc < ~a | ~a xv
|
~a -dc < ~a | ~a xv
|
||||||
|
|
||||||
|
# Use the bootstrap guile to create its own wrapper to set the load path.
|
||||||
|
GUILE_SYSTEM_PATH=$out/share/guile/2.0 \
|
||||||
|
GUILE_SYSTEM_COMPILED_PATH=$out/lib/guile/2.0/ccache \
|
||||||
|
$out/bin/guile -c ~s $out ~a
|
||||||
|
|
||||||
# Sanity check.
|
# Sanity check.
|
||||||
$out/bin/guile --version~%"
|
$out/bin/guile --version~%"
|
||||||
mkdir xz guile tar)
|
mkdir xz guile tar
|
||||||
(list mkdir xz guile tar))))
|
(format #f "~s" make-guile-wrapper)
|
||||||
|
bash)
|
||||||
|
(list mkdir xz guile tar bash))))
|
||||||
(derivation store name
|
(derivation store name
|
||||||
bash `(,builder)
|
bash `(,builder)
|
||||||
#:system system
|
#:system system
|
||||||
|
|
|
@ -284,6 +284,7 @@
|
||||||
;; because we don't need the stand-alone Info reader.
|
;; because we don't need the stand-alone Info reader.
|
||||||
;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
|
;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
|
||||||
(let ((texinfo (package (inherit texinfo)
|
(let ((texinfo (package (inherit texinfo)
|
||||||
|
(native-inputs '())
|
||||||
(inputs (alist-delete "ncurses" (package-inputs texinfo))))))
|
(inputs (alist-delete "ncurses" (package-inputs texinfo))))))
|
||||||
(package-with-bootstrap-guile
|
(package-with-bootstrap-guile
|
||||||
(package-with-explicit-inputs texinfo %boot0-inputs
|
(package-with-explicit-inputs texinfo %boot0-inputs
|
||||||
|
|
|
@ -165,8 +165,7 @@ may be either a libc package or #f.)"
|
||||||
;; Add the cross Linux headers to CROSS_CPATH, and remove them
|
;; Add the cross Linux headers to CROSS_CPATH, and remove them
|
||||||
;; from CPATH.
|
;; from CPATH.
|
||||||
(let ((libc (assoc-ref inputs "libc"))
|
(let ((libc (assoc-ref inputs "libc"))
|
||||||
(linux (assoc-ref inputs
|
(linux (assoc-ref inputs "xlinux-headers")))
|
||||||
"libc/linux-headers")))
|
|
||||||
(define (cross? x)
|
(define (cross? x)
|
||||||
;; Return #t if X is a cross-libc or cross Linux.
|
;; Return #t if X is a cross-libc or cross Linux.
|
||||||
(or (string-prefix? libc x)
|
(or (string-prefix? libc x)
|
||||||
|
@ -245,6 +244,9 @@ GCC that does not target a libc; otherwise, target that libc."
|
||||||
(alist-delete "libc" %final-inputs))))
|
(alist-delete "libc" %final-inputs))))
|
||||||
(if libc
|
(if libc
|
||||||
`(("libc" ,libc)
|
`(("libc" ,libc)
|
||||||
|
("xlinux-headers" ;the target headers
|
||||||
|
,@(assoc-ref (package-propagated-inputs libc)
|
||||||
|
"linux-headers"))
|
||||||
,@inputs)
|
,@inputs)
|
||||||
inputs))))
|
inputs))))
|
||||||
|
|
||||||
|
@ -314,7 +316,7 @@ XBINUTILS and the cross tool chain."
|
||||||
#t))
|
#t))
|
||||||
,phases))))
|
,phases))))
|
||||||
|
|
||||||
;; Shadow the native "linux-headers" because glibc's recipe expect the
|
;; Shadow the native "linux-headers" because glibc's recipe expects the
|
||||||
;; "linux-headers" input to point to the right thing.
|
;; "linux-headers" input to point to the right thing.
|
||||||
(propagated-inputs `(("linux-headers" ,xlinux-headers)))
|
(propagated-inputs `(("linux-headers" ,xlinux-headers)))
|
||||||
|
|
||||||
|
|
|
@ -27,14 +27,14 @@
|
||||||
(define-public ed
|
(define-public ed
|
||||||
(package
|
(package
|
||||||
(name "ed")
|
(name "ed")
|
||||||
(version "1.11")
|
(version "1.12")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/ed/ed-"
|
(uri (string-append "mirror://gnu/ed/ed-"
|
||||||
version ".tar.lz"))
|
version ".tar.lz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0d518yhs3kpdpv9fbpa1rhxk2fbry2yzcknrdaa20pi2bzg6w55x"))))
|
"0bw0187a311rci58vznvncsj6pfp8bhs5phrlrqn03sa2i1mfrfj"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs `(("lzip" ,lzip)))
|
(native-inputs `(("lzip" ,lzip)))
|
||||||
(arguments
|
(arguments
|
||||||
|
|
|
@ -410,8 +410,7 @@ operations.")
|
||||||
"/bin/emacs"))
|
"/bin/emacs"))
|
||||||
(magit (string-append (assoc-ref %build-inputs "magit")
|
(magit (string-append (assoc-ref %build-inputs "magit")
|
||||||
"/share/emacs/site-lisp"))
|
"/share/emacs/site-lisp"))
|
||||||
(commit (string-append (assoc-ref %build-inputs
|
(commit (string-append (assoc-ref %build-inputs "git-modes")
|
||||||
"magit/git-modes")
|
|
||||||
"/share/emacs/site-lisp"))
|
"/share/emacs/site-lisp"))
|
||||||
(source (assoc-ref %build-inputs "source"))
|
(source (assoc-ref %build-inputs "source"))
|
||||||
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
|
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
|
||||||
|
|
|
@ -40,13 +40,13 @@
|
||||||
(define-public freetype
|
(define-public freetype
|
||||||
(package
|
(package
|
||||||
(name "freetype")
|
(name "freetype")
|
||||||
(version "2.5.5")
|
(version "2.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://savannah/freetype/freetype-"
|
(uri (string-append "mirror://savannah/freetype/freetype-"
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256 (base32
|
(sha256 (base32
|
||||||
"1fdgl7js99xv1yy5zx1ravmqd0jxlnqpv7zcl954h4hbg15wqyrq"))))
|
"0zilx15fwcpa8hmcxpc423jwb8ijw4qpq968kh18akvn4j0znsc4"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
|
|
|
@ -59,9 +59,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
||||||
'("--with-arch=armv7-a"
|
'("--with-arch=armv7-a"
|
||||||
"--with-float=hard"
|
"--with-float=hard"
|
||||||
"--with-mode=thumb"
|
"--with-mode=thumb"
|
||||||
|
"--with-fpu=neon"))
|
||||||
;; See <https://wiki.debian.org/ArmHardFloatPort/VfpComparison#FPU>
|
|
||||||
"--with-fpu=vfpv3-d16"))
|
|
||||||
|
|
||||||
(else
|
(else
|
||||||
;; TODO: Add `arm.*-gnueabi', etc.
|
;; TODO: Add `arm.*-gnueabi', etc.
|
||||||
|
@ -323,17 +321,15 @@ Go. It also includes runtime support libraries for these languages.")
|
||||||
|
|
||||||
(define-public gcc-4.9
|
(define-public gcc-4.9
|
||||||
(package (inherit gcc-4.8)
|
(package (inherit gcc-4.8)
|
||||||
(version "4.9.2")
|
(version "4.9.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||||
version "/gcc-" version ".tar.bz2"))
|
version "/gcc-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))
|
"0zmnm00d2a1hsd41g34bhvxzvxisa2l584q3p447bd91lfjv4ci3"))
|
||||||
(patches (map search-patch
|
(patches (list (search-patch "gcc-libvtv-runpath.patch")))))))
|
||||||
'("gcc-arm-link-spec-fix.patch"
|
|
||||||
"gcc-libvtv-runpath.patch")))))))
|
|
||||||
|
|
||||||
(define-public gcc-5.1
|
(define-public gcc-5.1
|
||||||
(package (inherit gcc-4.9)
|
(package (inherit gcc-4.9)
|
||||||
|
|
|
@ -35,15 +35,14 @@
|
||||||
(define-public gnu-gettext
|
(define-public gnu-gettext
|
||||||
(package
|
(package
|
||||||
(name "gettext")
|
(name "gettext")
|
||||||
(version "0.19.4")
|
(version "0.19.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/gettext/gettext-"
|
(uri (string-append "mirror://gnu/gettext/gettext-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca"))
|
"0fppvj4l9maa9q1swvhnv96hsqxx90vcjbdyjhqpir3ll55q2n0j"))))
|
||||||
(patches (list (search-patch "gettext-msgunfmt.patch")))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("expat" ,expat)))
|
`(("expat" ,expat)))
|
||||||
|
|
|
@ -1110,8 +1110,7 @@ to access local and remote files with a single consistent API.")
|
||||||
(substitute* "libgnome/Makefile.in"
|
(substitute* "libgnome/Makefile.in"
|
||||||
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
|
(("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS")))
|
||||||
%standard-phases)))
|
%standard-phases)))
|
||||||
(inputs `(("popt" ,popt)
|
(inputs `(("libxml2" ,libxml2)))
|
||||||
("libxml2" ,libxml2)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("glib" ,glib "bin") ; for glib-mkenums, etc.
|
`(("glib" ,glib "bin") ; for glib-mkenums, etc.
|
||||||
("intltool" ,intltool)
|
("intltool" ,intltool)
|
||||||
|
@ -1124,7 +1123,8 @@ to access local and remote files with a single consistent API.")
|
||||||
`(("libcanberra" ,libcanberra)
|
`(("libcanberra" ,libcanberra)
|
||||||
("libbonobo" ,libbonobo)
|
("libbonobo" ,libbonobo)
|
||||||
("gconf" ,gconf)
|
("gconf" ,gconf)
|
||||||
("gnome-vfs" ,gnome-vfs)))
|
("gnome-vfs" ,gnome-vfs)
|
||||||
|
("popt" ,popt))) ;gnome-program.h includes popt.h
|
||||||
(home-page "https://developer.gnome.org/libgnome/")
|
(home-page "https://developer.gnome.org/libgnome/")
|
||||||
(synopsis "Useful routines for building applications")
|
(synopsis "Useful routines for building applications")
|
||||||
(description "The libgnome library provides a number of useful routines
|
(description "The libgnome library provides a number of useful routines
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
(define-public libgpg-error
|
(define-public libgpg-error
|
||||||
(package
|
(package
|
||||||
(name "libgpg-error")
|
(name "libgpg-error")
|
||||||
(version "1.18")
|
(version "1.19")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0408v19h3h0q6w61g51hgbdg6cyw81nyzkh70qfprvsc3pkddwcz"))))
|
"12wpqhjlsw4iaanifbqm2kich6c7x7lm8a7zhy6x5ifm6c9hw4jk"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "http://gnupg.org")
|
(home-page "http://gnupg.org")
|
||||||
(synopsis "Library of error values for GnuPG components")
|
(synopsis "Library of error values for GnuPG components")
|
||||||
|
|
|
@ -279,6 +279,7 @@ standards.")
|
||||||
"db/sqlite3"))
|
"db/sqlite3"))
|
||||||
#t))
|
#t))
|
||||||
(patches (map search-patch '("icecat-enable-acceleration-and-webgl.patch"
|
(patches (map search-patch '("icecat-enable-acceleration-and-webgl.patch"
|
||||||
|
"icecat-freetype-2.6.patch"
|
||||||
"icecat-libvpx-1.4.patch")))))
|
"icecat-libvpx-1.4.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -116,6 +116,11 @@
|
||||||
;; gremlin) doesn't support it yet, so skip this phase.
|
;; gremlin) doesn't support it yet, so skip this phase.
|
||||||
#:validate-runpath? #f
|
#:validate-runpath? #f
|
||||||
|
|
||||||
|
;; Don't pass --build=<triplet>, because the configure script
|
||||||
|
;; auto-detects slightly different triplets for --host and --target and
|
||||||
|
;; then complains that they don't match.
|
||||||
|
#:build #f
|
||||||
|
|
||||||
#:modules ((guix build gnu-build-system)
|
#:modules ((guix build gnu-build-system)
|
||||||
(guix build utils)
|
(guix build utils)
|
||||||
(guix build rpath)
|
(guix build rpath)
|
||||||
|
|
|
@ -26,13 +26,13 @@
|
||||||
(define-public libidn
|
(define-public libidn
|
||||||
(package
|
(package
|
||||||
(name "libidn")
|
(name "libidn")
|
||||||
(version "1.30")
|
(version "1.31")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/libidn/libidn-" version
|
(uri (string-append "mirror://gnu/libidn/libidn-" version
|
||||||
".tar.gz"))
|
".tar.gz"))
|
||||||
(sha256 (base32
|
(sha256 (base32
|
||||||
"0lxh5r1z8gsk4jxx3rv8aasjv8p53j4y04kvfn2w30a0syagrf9r"))))
|
"026z12mczlag443ms9n954h36pi3m7iva9jfw8y4ispsj772zpxg"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
;; FIXME: No Java and C# libraries are currently built.
|
;; FIXME: No Java and C# libraries are currently built.
|
||||||
(synopsis "Internationalized string processing library")
|
(synopsis "Internationalized string processing library")
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
(define-public libunistring
|
(define-public libunistring
|
||||||
(package
|
(package
|
||||||
(name "libunistring")
|
(name "libunistring")
|
||||||
(version "0.9.5")
|
(version "0.9.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05va4x47ik006nd13grwm276gfxb8igsj63k37vvwl3q8rr0g30s"))))
|
"0ixxmgpgh2v8ifm6hbwsjxl023myk3dfnj7wnvmqjivza31fw9cn"))))
|
||||||
(propagated-inputs '()) ; FIXME: add libiconv when !glibc
|
(propagated-inputs '()) ; FIXME: add libiconv when !glibc
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
|
|
@ -428,17 +428,26 @@ providing the system administrator with some help in common tasks.")
|
||||||
(string-append "--with-bashcompletiondir="
|
(string-append "--with-bashcompletiondir="
|
||||||
(assoc-ref %outputs "out")
|
(assoc-ref %outputs "out")
|
||||||
"/etc/bash_completion.d"))
|
"/etc/bash_completion.d"))
|
||||||
#:phases (alist-cons-before
|
#:phases (modify-phases %standard-phases
|
||||||
'check 'pre-check
|
(add-before
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
'build 'set-umount-file-name
|
||||||
(let ((out (assoc-ref outputs "out"))
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(net (assoc-ref inputs "net-base")))
|
;; Tell 'eject' the right file name of 'umount'.
|
||||||
;; Change the test to refer to the right file.
|
(let ((out (assoc-ref outputs "out")))
|
||||||
(substitute* "tests/ts/misc/mcookie"
|
(substitute* "sys-utils/eject.c"
|
||||||
(("/etc/services")
|
(("\"/bin/umount\"")
|
||||||
(string-append net "/etc/services")))
|
(string-append "\"" out "/bin/umount\"")))
|
||||||
#t))
|
#t)))
|
||||||
%standard-phases)))
|
(add-before
|
||||||
|
'check 'pre-check
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out"))
|
||||||
|
(net (assoc-ref inputs "net-base")))
|
||||||
|
;; Change the test to refer to the right file.
|
||||||
|
(substitute* "tests/ts/misc/mcookie"
|
||||||
|
(("/etc/services")
|
||||||
|
(string-append net "/etc/services")))
|
||||||
|
#t))))))
|
||||||
(inputs `(("zlib" ,zlib)
|
(inputs `(("zlib" ,zlib)
|
||||||
("ncurses" ,ncurses)))
|
("ncurses" ,ncurses)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
|
@ -2132,13 +2141,6 @@ also contains the libsysfs library.")
|
||||||
(substitute* "configure"
|
(substitute* "configure"
|
||||||
(("includedir='(\\$\\{prefix\\}/include)'" all orig)
|
(("includedir='(\\$\\{prefix\\}/include)'" all orig)
|
||||||
(string-append "includedir='" orig "/sysfs'")))))))
|
(string-append "includedir='" orig "/sysfs'")))))))
|
||||||
;; XXX sysfsutils-1.3.0's config.guess fails on mips64el
|
|
||||||
(arguments `(#:configure-flags
|
|
||||||
'(,@(if (%current-target-system)
|
|
||||||
'()
|
|
||||||
(let ((triplet
|
|
||||||
(nix-system->gnu-triplet (%current-system))))
|
|
||||||
(list (string-append "--build=" triplet)))))))
|
|
||||||
(synopsis "System utilities based on Linux sysfs (version 1.x)")))
|
(synopsis "System utilities based on Linux sysfs (version 1.x)")))
|
||||||
|
|
||||||
(define-public cpufrequtils
|
(define-public cpufrequtils
|
||||||
|
|
|
@ -168,7 +168,10 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
|
||||||
("readline" ,readline)
|
("readline" ,readline)
|
||||||
("libsigsegv" ,libsigsegv)))
|
("libsigsegv" ,libsigsegv)))
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
'(;; XXX The custom configure script does not cope well when passed
|
||||||
|
;; --build=<triplet>.
|
||||||
|
#:build #f
|
||||||
|
#:phases
|
||||||
(alist-cons-after
|
(alist-cons-after
|
||||||
'unpack 'patch-sh-and-pwd
|
'unpack 'patch-sh-and-pwd
|
||||||
(lambda _
|
(lambda _
|
||||||
|
|
|
@ -629,7 +629,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||||
,(or (%current-target-system)
|
,(or (%current-target-system)
|
||||||
(%current-system))
|
(%current-system))
|
||||||
".tar.xz")
|
".tar.xz")
|
||||||
"."))))))))))
|
"."
|
||||||
|
;; avoid non-determinism in the archive
|
||||||
|
"--mtime=@0" "--owner=root:0" "--group=root:0"))))))))))
|
||||||
|
|
||||||
(define %bootstrap-binaries-tarball
|
(define %bootstrap-binaries-tarball
|
||||||
;; A tarball with the statically-linked bootstrap binaries.
|
;; A tarball with the statically-linked bootstrap binaries.
|
||||||
|
|
|
@ -47,15 +47,7 @@
|
||||||
'(;; Build a "fat binary", with routines for several
|
'(;; Build a "fat binary", with routines for several
|
||||||
;; sub-architectures.
|
;; sub-architectures.
|
||||||
"--enable-fat"
|
"--enable-fat"
|
||||||
"--enable-cxx"
|
"--enable-cxx")))
|
||||||
|
|
||||||
;; FIXME: gmp-6.0.0a's config.guess fails on
|
|
||||||
;; multi-core armhf systems.
|
|
||||||
,@(if (%current-target-system)
|
|
||||||
'()
|
|
||||||
(let ((triplet
|
|
||||||
(nix-system->gnu-triplet (%current-system))))
|
|
||||||
(list (string-append "--build=" triplet)))))))
|
|
||||||
(synopsis "Multiple-precision arithmetic library")
|
(synopsis "Multiple-precision arithmetic library")
|
||||||
(description
|
(description
|
||||||
"GMP is a library for arbitrary precision arithmetic, operating on
|
"GMP is a library for arbitrary precision arithmetic, operating on
|
||||||
|
@ -69,13 +61,13 @@ cryptography and computational algebra.")
|
||||||
(define-public mpfr
|
(define-public mpfr
|
||||||
(package
|
(package
|
||||||
(name "mpfr")
|
(name "mpfr")
|
||||||
(version "3.1.2")
|
(version "3.1.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
|
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256 (base32
|
(sha256 (base32
|
||||||
"0fs501qi8l523gs3cpy4jjcnvwxggyfbklcys80wq236xx3hz79r"))))
|
"05jaa5z78lvrayld09nyr0v27c1m5dm9l7kr85v2bj4jv65s0db8"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h>
|
(propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h>
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||||
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -36,38 +37,41 @@
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw"))
|
"1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw"))
|
||||||
(patches (list (search-patch "ninja-tests.patch")))))
|
(patches (map search-patch
|
||||||
|
'("ninja-zero-mtime.patch" "ninja-tests.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs `(("python" ,python-2)))
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
'(#:phases
|
||||||
(alist-replace
|
(modify-phases %standard-phases
|
||||||
'configure
|
(replace
|
||||||
(lambda _
|
'configure
|
||||||
(substitute* "src/subprocess-posix.cc"
|
(lambda _
|
||||||
(("/bin/sh") (which "sh"))))
|
(substitute* "src/subprocess-posix.cc"
|
||||||
(alist-replace
|
(("/bin/sh") (which "sh")))
|
||||||
'build
|
#t))
|
||||||
(lambda _
|
(replace
|
||||||
(zero? (system* "./configure.py" "--bootstrap")))
|
'build
|
||||||
(alist-replace
|
(lambda _
|
||||||
|
(zero? (system* "./configure.py" "--bootstrap"))))
|
||||||
|
(replace
|
||||||
'check
|
'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(and (zero? (system* "./configure.py"))
|
(and (zero? (system* "./configure.py"))
|
||||||
(zero? (system* "./ninja" "ninja_test"))
|
(zero? (system* "./ninja" "ninja_test"))
|
||||||
(zero? (system* "./ninja_test"))))
|
(zero? (system* "./ninja_test")))))
|
||||||
(alist-replace
|
(replace
|
||||||
'install
|
'install
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(bin (string-append out "/bin"))
|
(bin (string-append out "/bin"))
|
||||||
(doc (string-append out "/share/doc/ninja")))
|
(doc (string-append out "/share/doc/ninja")))
|
||||||
(mkdir-p bin)
|
(mkdir-p bin)
|
||||||
(copy-file "ninja" (string-append bin "/ninja"))
|
(copy-file "ninja" (string-append bin "/ninja"))
|
||||||
(mkdir-p doc)
|
(mkdir-p doc)
|
||||||
(copy-file "doc/manual.asciidoc"
|
(copy-file "doc/manual.asciidoc"
|
||||||
(string-append doc "/manual.asciidoc"))))
|
(string-append doc "/manual.asciidoc"))
|
||||||
%standard-phases))))))
|
#t))))))
|
||||||
(native-inputs `(("python" ,python-2)))
|
|
||||||
(home-page "http://martine.github.io/ninja/")
|
(home-page "http://martine.github.io/ninja/")
|
||||||
(synopsis "Small build system")
|
(synopsis "Small build system")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
Patch adapted from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
|
|
||||||
|
|
||||||
Fix for 'dummy-man' usage, when cross-compiling.
|
|
||||||
|
|
||||||
The options should be before the final argument, otherwise, the following error
|
|
||||||
would appear when compiling:
|
|
||||||
|
|
||||||
dummy-man: too many non-option arguments
|
|
||||||
|
|
||||||
--- coreutils-8.23/Makefile.in 2014-07-18 18:22:24.000000000 -0400
|
|
||||||
+++ coreutils-8.23/Makefile.in 2014-08-03 20:21:10.849158313 -0400
|
|
||||||
@@ -14076,8 +14076,8 @@
|
|
||||||
&& $(run_help2man) \
|
|
||||||
--source='$(PACKAGE_STRING)' \
|
|
||||||
--include=$(srcdir)/man/$$name.x \
|
|
||||||
- --output=$$t/$$name.1 $$t/$$argv \
|
|
||||||
--info-page='coreutils \(aq'$$name' invocation\(aq' \
|
|
||||||
+ --output=$$t/$$name.1 $$t/$$argv \
|
|
||||||
&& sed \
|
|
||||||
-e 's|$*\.td/||g' \
|
|
||||||
-e '/For complete documentation/d' \
|
|
|
@ -1,58 +0,0 @@
|
||||||
From <http://git.savannah.gnu.org/cgit/gettext.git/patch/?id=5d3eeaa0d3b7f4f6932bd29d859925a940b69459>.
|
|
||||||
|
|
||||||
2015-03-11 Daiki Ueno <ueno@gnu.org>
|
|
||||||
|
|
||||||
msgunfmt: Check allocated size for static segment
|
|
||||||
Reported by Max Lin in:
|
|
||||||
http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html
|
|
||||||
* read-mo.c (get_sysdep_string): Check if the embedded segment
|
|
||||||
size is valid, before adding it to the string length.
|
|
||||||
|
|
||||||
diff --git a/gettext-tools/src/read-mo.c b/gettext-tools/src/read-mo.c
|
|
||||||
index b97bbad..1c024a8 100644
|
|
||||||
--- a/gettext-tools/src/read-mo.c
|
|
||||||
+++ b/gettext-tools/src/read-mo.c
|
|
||||||
@@ -149,6 +149,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
|
|
||||||
nls_uint32 s_offset;
|
|
||||||
|
|
||||||
/* Compute the length. */
|
|
||||||
+ s_offset = get_uint32 (bfp, offset);
|
|
||||||
length = 0;
|
|
||||||
for (i = 4; ; i += 8)
|
|
||||||
{
|
|
||||||
@@ -158,9 +159,14 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
|
|
||||||
nls_uint32 ss_length;
|
|
||||||
nls_uint32 ss_offset;
|
|
||||||
size_t ss_end;
|
|
||||||
+ size_t s_end;
|
|
||||||
size_t n;
|
|
||||||
|
|
||||||
+ s_end = xsum (s_offset, segsize);
|
|
||||||
+ if (size_overflow_p (s_end) || s_end > bfp->size)
|
|
||||||
+ error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
|
|
||||||
length += segsize;
|
|
||||||
+ s_offset += segsize;
|
|
||||||
|
|
||||||
if (sysdepref == SEGMENTS_END)
|
|
||||||
break;
|
|
||||||
@@ -175,7 +181,7 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
|
|
||||||
ss_end = xsum (ss_offset, ss_length);
|
|
||||||
if (size_overflow_p (ss_end) || ss_end > bfp->size)
|
|
||||||
error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
|
|
||||||
- if (!(ss_length > 0 && bfp->data[ss_offset + ss_length - 1] == '\0'))
|
|
||||||
+ if (!(ss_length > 0 && bfp->data[ss_end - 1] == '\0'))
|
|
||||||
{
|
|
||||||
char location[30];
|
|
||||||
sprintf (location, "sysdep_segment[%u]", (unsigned int) sysdepref);
|
|
||||||
@@ -198,11 +204,8 @@ get_sysdep_string (const struct binary_mo_file *bfp, size_t offset,
|
|
||||||
nls_uint32 sysdep_segment_offset;
|
|
||||||
nls_uint32 ss_length;
|
|
||||||
nls_uint32 ss_offset;
|
|
||||||
- size_t s_end = xsum (s_offset, segsize);
|
|
||||||
size_t n;
|
|
||||||
|
|
||||||
- if (size_overflow_p (s_end) || s_end > bfp->size)
|
|
||||||
- error (EXIT_FAILURE, 0, _("file \"%s\" is truncated"), bfp->filename);
|
|
||||||
memcpy (p, bfp->data + s_offset, segsize);
|
|
||||||
p += segsize;
|
|
||||||
s_offset += segsize;
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
Adapt to freetype 2.6. This patch copied from upstream, see:
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1143411
|
||||||
|
https://hg.mozilla.org/mozilla-central/rev/afd840d66e6a
|
||||||
|
|
||||||
|
--- a/config/system-headers
|
||||||
|
+++ b/config/system-headers
|
||||||
|
@@ -415,6 +415,7 @@ freetype/ftbitmap.h
|
||||||
|
freetype/ftxf86.h
|
||||||
|
freetype.h
|
||||||
|
ftcache.h
|
||||||
|
+ftfntfmt.h
|
||||||
|
ftglyph.h
|
||||||
|
ftsynth.h
|
||||||
|
ftoutln.h
|
|
@ -0,0 +1,19 @@
|
||||||
|
Work around a design defect in Ninja whereby a zero mtime is used to
|
||||||
|
denote missing files (we happen to produce files that have a zero mtime
|
||||||
|
and yet really do exist.)
|
||||||
|
|
||||||
|
--- ninja-1.5.3/src/disk_interface.cc 2014-11-24 18:37:47.000000000 +0100
|
||||||
|
+++ ninja-1.5.3/src/disk_interface.cc 2015-07-18 23:20:38.572290139 +0200
|
||||||
|
@@ -194,6 +194,12 @@ TimeStamp RealDiskInterface::Stat(const
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ if (st.st_mtime == 0)
|
||||||
|
+ // All the code assumes that mtime == 0 means "file missing". Here we
|
||||||
|
+ // know the file is not missing, so tweak the mtime.
|
||||||
|
+ st.st_mtime = 1;
|
||||||
|
+
|
||||||
|
return st.st_mtime;
|
||||||
|
#endif
|
||||||
|
}
|
|
@ -1,7 +1,25 @@
|
||||||
|
Despite all the efforts below, the 'wc-queries-test.c' still fails,
|
||||||
|
both with SQLite 3.8.9 and 3.8.10.2. We choose to just skip it
|
||||||
|
until a better solution arises.
|
||||||
|
|
||||||
|
--- subversion/tests/libsvn_wc/wc-queries-test.c 2015-07-16 23:24:03.458279053 +0200
|
||||||
|
+++ subversion/tests/libsvn_wc/wc-queries-test.c 2015-07-16 23:24:18.866423439 +0200
|
||||||
|
@@ -898,8 +898,6 @@ struct svn_test_descriptor_t test_funcs[
|
||||||
|
"sqlite up-to-date"),
|
||||||
|
SVN_TEST_PASS2(test_parsable,
|
||||||
|
"queries are parsable"),
|
||||||
|
- SVN_TEST_PASS2(test_query_expectations,
|
||||||
|
- "test query expectations"),
|
||||||
|
SVN_TEST_PASS2(test_schema_statistics,
|
||||||
|
"test schema statistics"),
|
||||||
|
SVN_TEST_NULL
|
||||||
|
|
||||||
|
|
||||||
This upstream patch (r1672295) is needed to fix a test failure when built
|
This upstream patch (r1672295) is needed to fix a test failure when built
|
||||||
against sqlite 3.8.9. See:
|
against sqlite 3.8.9. See:
|
||||||
|
|
||||||
https://mail-archives.apache.org/mod_mbox/subversion-dev/201504.mbox/%3C5526D197.6020808@gmx.de%3E
|
https://mail-archives.apache.org/mod_mbox/subversion-dev/201504.mbox/%3C5526D197.6020808@gmx.de%3E
|
||||||
|
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785496
|
||||||
|
|
||||||
|
|
||||||
r1672295 | rhuijben | 2015-04-09 07:31:12 -0400 (Thu, 09 Apr 2015) | 15 lines
|
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
|
||||||
/* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is
|
/* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is
|
||||||
a INTEGER PRIMARY KEY AUTOINCREMENT table */
|
a INTEGER PRIMARY KEY AUTOINCREMENT table */
|
||||||
|
|
||||||
|
|
||||||
|
r1673691 | rhuijben | 2015-04-15 05:30:04 -0400 (Wed, 15 Apr 2015) | 5 lines
|
||||||
|
|
||||||
|
* subversion/libsvn_wc/wc-metadata.sql
|
||||||
|
(STMT_INSTALL_SCHEMA_STATISTICS): Delete existing sqlite_stat1 rows for
|
||||||
|
the externals table before installing new rows to avoid duplicate entries.
|
||||||
|
Remove unneeded 'OR REPLACE' from all inserts.
|
||||||
|
|
||||||
|
|
||||||
|
Index: subversion/libsvn_wc/wc-metadata.sql
|
||||||
|
===================================================================
|
||||||
|
--- subversion/libsvn_wc/wc-metadata.sql (revision 1673690)
|
||||||
|
+++ subversion/libsvn_wc/wc-metadata.sql (revision 1673691)
|
||||||
|
@@ -598,30 +598,30 @@
|
||||||
|
ANALYZE sqlite_master; /* Creates empty sqlite_stat1 if necessary */
|
||||||
|
|
||||||
|
DELETE FROM sqlite_stat1
|
||||||
|
-WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK');
|
||||||
|
+WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS');
|
||||||
|
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1');
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1');
|
||||||
|
/* Tell a lie: We ignore that 99.9% of all moved_to values are NULL */
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('NODES', 'I_NODES_MOVED', '8000 8000 1 1');
|
||||||
|
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1');
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1');
|
||||||
|
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1');
|
||||||
|
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1');
|
||||||
|
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1');
|
||||||
|
-INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
+INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||||
|
('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1');
|
||||||
|
|
||||||
|
/* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
Copied from Debian.
|
||||||
|
|
||||||
|
From: mancha <mancha1 AT zoho DOT com>
|
||||||
|
Date: Mon, 3 Nov 2014
|
||||||
|
Subject: Info-ZIP UnZip buffer overflow
|
||||||
|
Bug-Debian: http://bugs.debian.org/776589
|
||||||
|
|
||||||
|
By carefully crafting a corrupt ZIP archive with "extra fields" that
|
||||||
|
purport to have compressed blocks larger than the corresponding
|
||||||
|
uncompressed blocks in STORED no-compression mode, an attacker can
|
||||||
|
trigger a heap overflow that can result in application crash or
|
||||||
|
possibly have other unspecified impact.
|
||||||
|
|
||||||
|
This patch ensures that when extra fields use STORED mode, the
|
||||||
|
"compressed" and uncompressed block sizes match.
|
||||||
|
|
||||||
|
--- a/extract.c
|
||||||
|
+++ b/extract.c
|
||||||
|
@@ -2228,6 +2228,7 @@
|
||||||
|
ulg eb_ucsize;
|
||||||
|
uch *eb_ucptr;
|
||||||
|
int r;
|
||||||
|
+ ush eb_compr_method;
|
||||||
|
|
||||||
|
if (compr_offset < 4) /* field is not compressed: */
|
||||||
|
return PK_OK; /* do nothing and signal OK */
|
||||||
|
@@ -2244,6 +2245,14 @@
|
||||||
|
((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN))))
|
||||||
|
return IZ_EF_TRUNC; /* no/bad compressed data! */
|
||||||
|
|
||||||
|
+ /* 2014-11-03 Michal Zalewski, SMS.
|
||||||
|
+ * For STORE method, compressed and uncompressed sizes must agree.
|
||||||
|
+ * http://www.info-zip.org/phpBB3/viewtopic.php?f=7&t=450
|
||||||
|
+ */
|
||||||
|
+ eb_compr_method = makeword( eb + (EB_HEADSIZE + compr_offset));
|
||||||
|
+ if ((eb_compr_method == STORED) && (eb_size - compr_offset != eb_ucsize))
|
||||||
|
+ return PK_ERR;
|
||||||
|
+
|
||||||
|
if (
|
||||||
|
#ifdef INT_16BIT
|
||||||
|
(((ulg)(extent)eb_ucsize) != eb_ucsize) ||
|
|
@ -0,0 +1,16 @@
|
||||||
|
Copied from Debian.
|
||||||
|
|
||||||
|
From: Santiago Vila <sanvila@debian.org>
|
||||||
|
Subject: zipinfo.c: Do not crash when hostver byte is >= 100
|
||||||
|
|
||||||
|
--- a/zipinfo.c
|
||||||
|
+++ b/zipinfo.c
|
||||||
|
@@ -2114,7 +2114,7 @@
|
||||||
|
else
|
||||||
|
attribs[9] = (xattr & UNX_ISVTX)? 'T' : '-'; /* T==undefined */
|
||||||
|
|
||||||
|
- sprintf(&attribs[12], "%u.%u", hostver/10, hostver%10);
|
||||||
|
+ sprintf(&attribs[11], "%2u.%u", hostver/10, hostver%10);
|
||||||
|
break;
|
||||||
|
|
||||||
|
} /* end switch (hostnum: external attributes format) */
|
|
@ -0,0 +1,18 @@
|
||||||
|
Copied from Debian.
|
||||||
|
|
||||||
|
From: sms
|
||||||
|
Subject: Increase size of cfactorstr array to avoid buffer overflow
|
||||||
|
Bug-Debian: http://bugs.debian.org/741384
|
||||||
|
X-Debian-version: 6.0-11
|
||||||
|
|
||||||
|
--- a/list.c
|
||||||
|
+++ b/list.c
|
||||||
|
@@ -97,7 +97,7 @@
|
||||||
|
{
|
||||||
|
int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
|
||||||
|
#ifndef WINDLL
|
||||||
|
- char sgn, cfactorstr[10];
|
||||||
|
+ char sgn, cfactorstr[12];
|
||||||
|
int longhdr=(uO.vflag>1);
|
||||||
|
#endif
|
||||||
|
int date_format;
|
|
@ -0,0 +1,22 @@
|
||||||
|
Copied from Debian.
|
||||||
|
|
||||||
|
From: Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
Subject: Initialize the symlink flag
|
||||||
|
Bug-Debian: http://bugs.debian.org/717029
|
||||||
|
X-Debian-version: 6.0-10
|
||||||
|
|
||||||
|
--- a/process.c
|
||||||
|
+++ b/process.c
|
||||||
|
@@ -1758,6 +1758,12 @@
|
||||||
|
= (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef SYMLINKS
|
||||||
|
+ /* Initialize the symlink flag, may be set by the platform-specific
|
||||||
|
+ mapattr function. */
|
||||||
|
+ G.pInfo->symlink = 0;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
return PK_COOL;
|
||||||
|
|
||||||
|
} /* end function process_cdir_file_hdr() */
|
|
@ -0,0 +1,19 @@
|
||||||
|
Copied from Debian.
|
||||||
|
|
||||||
|
From: Jérémy Bobbio <lunar@debian.org>
|
||||||
|
Subject: Remove build date
|
||||||
|
Bug-Debian: http://bugs.debian.org/782851
|
||||||
|
In order to make unzip build reproducibly, we remove the
|
||||||
|
(already optional) build date from the binary.
|
||||||
|
|
||||||
|
--- a/unix/unix.c
|
||||||
|
+++ b/unix/unix.c
|
||||||
|
@@ -1705,7 +1705,7 @@
|
||||||
|
#endif /* Sun */
|
||||||
|
#endif /* SGI */
|
||||||
|
|
||||||
|
-#ifdef __DATE__
|
||||||
|
+#if 0
|
||||||
|
" on ", __DATE__
|
||||||
|
#else
|
||||||
|
"", ""
|
|
@ -45,6 +45,9 @@
|
||||||
"--enable-pcregrep-libz"
|
"--enable-pcregrep-libz"
|
||||||
"--enable-pcregrep-libbz2"
|
"--enable-pcregrep-libbz2"
|
||||||
"--enable-pcretest-libreadline"
|
"--enable-pcretest-libreadline"
|
||||||
|
"--enable-unicode-properties"
|
||||||
|
"--enable-pcre16"
|
||||||
|
"--enable-pcre32"
|
||||||
"--enable-jit")))
|
"--enable-jit")))
|
||||||
(synopsis "Perl Compatible Regular Expressions")
|
(synopsis "Perl Compatible Regular Expressions")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -72,7 +72,15 @@
|
||||||
"-Dinstallstyle=lib/perl5"
|
"-Dinstallstyle=lib/perl5"
|
||||||
"-Duseshrplib"
|
"-Duseshrplib"
|
||||||
(string-append "-Dlocincpth=" libc "/include")
|
(string-append "-Dlocincpth=" libc "/include")
|
||||||
(string-append "-Dloclibpth=" libc "/lib"))))))
|
(string-append "-Dloclibpth=" libc "/lib")
|
||||||
|
|
||||||
|
;; Force the library search path to contain only libc
|
||||||
|
;; because it is recorded in Config.pm and
|
||||||
|
;; Config_heavy.pl; we don't want to keep a reference
|
||||||
|
;; to everything that's in $LIBRARY_PATH at build
|
||||||
|
;; time (Binutils, bzip2, file, etc.)
|
||||||
|
(string-append "-Dlibpth=" libc "/lib")
|
||||||
|
(string-append "-Dplibpth=" libc "/lib"))))))
|
||||||
|
|
||||||
(add-before
|
(add-before
|
||||||
'strip 'make-shared-objects-writable
|
'strip 'make-shared-objects-writable
|
||||||
|
|
|
@ -156,24 +156,40 @@
|
||||||
"-L" zlib "/lib "
|
"-L" zlib "/lib "
|
||||||
"-Wl,-rpath=" out "/lib")))
|
"-Wl,-rpath=" out "/lib")))
|
||||||
|
|
||||||
|
#:modules ((ice-9 ftw)
|
||||||
|
,@%gnu-build-system-modules)
|
||||||
#:phases
|
#:phases
|
||||||
(alist-cons-before
|
(modify-phases %standard-phases
|
||||||
'configure 'patch-lib-shells
|
(add-before
|
||||||
(lambda _
|
'configure 'patch-lib-shells
|
||||||
;; Filter for existing files, since some may not exist in all
|
(lambda _
|
||||||
;; versions of python that are built with this recipe.
|
;; Filter for existing files, since some may not exist in all
|
||||||
(substitute* (filter file-exists?
|
;; versions of python that are built with this recipe.
|
||||||
'("Lib/subprocess.py"
|
(substitute* (filter file-exists?
|
||||||
"Lib/popen2.py"
|
'("Lib/subprocess.py"
|
||||||
"Lib/distutils/tests/test_spawn.py"
|
"Lib/popen2.py"
|
||||||
"Lib/test/test_subprocess.py"))
|
"Lib/distutils/tests/test_spawn.py"
|
||||||
(("/bin/sh") (which "sh"))))
|
"Lib/test/test_subprocess.py"))
|
||||||
(alist-cons-before
|
(("/bin/sh") (which "sh")))
|
||||||
'check 'pre-check
|
#t))
|
||||||
(lambda _
|
(add-before
|
||||||
;; 'Lib/test/test_site.py' needs a valid $HOME
|
'check 'pre-check
|
||||||
(setenv "HOME" (getcwd)))
|
(lambda _
|
||||||
%standard-phases))))
|
;; 'Lib/test/test_site.py' needs a valid $HOME
|
||||||
|
(setenv "HOME" (getcwd))
|
||||||
|
#t))
|
||||||
|
(add-after
|
||||||
|
'unpack 'set-source-file-times-to-1980
|
||||||
|
;; XXX One of the tests uses a ZIP library to pack up some of the
|
||||||
|
;; source tree, and fails with "ZIP does not support timestamps
|
||||||
|
;; before 1980". Work around this by setting the file times in the
|
||||||
|
;; source tree to sometime in early 1980.
|
||||||
|
(lambda _
|
||||||
|
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||||
|
(ftw "." (lambda (file stat flag)
|
||||||
|
(utime file circa-1980 circa-1980)
|
||||||
|
#t))
|
||||||
|
#t))))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("bzip2" ,bzip2)
|
`(("bzip2" ,bzip2)
|
||||||
("gdbm" ,gdbm)
|
("gdbm" ,gdbm)
|
||||||
|
|
|
@ -297,8 +297,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
|
||||||
"-no-ssse3"
|
"-no-ssse3"
|
||||||
"-no-sse4.1"
|
"-no-sse4.1"
|
||||||
"-no-sse4.2"
|
"-no-sse4.2"
|
||||||
"-no-avx"
|
"-no-avx")))))
|
||||||
"-no-neon")))))
|
|
||||||
(add-after
|
(add-after
|
||||||
'install 'move-doc
|
'install 'move-doc
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
|
|
@ -262,7 +262,7 @@ libssh library.")
|
||||||
'(#:phases
|
'(#:phases
|
||||||
(alist-replace
|
(alist-replace
|
||||||
'configure
|
'configure
|
||||||
(lambda* (#:key outputs inputs system target
|
(lambda* (#:key outputs inputs system build target
|
||||||
#:allow-other-keys #:rest args)
|
#:allow-other-keys #:rest args)
|
||||||
(let* ((configure (assoc-ref %standard-phases 'configure))
|
(let* ((configure (assoc-ref %standard-phases 'configure))
|
||||||
(prefix (assoc-ref outputs "out"))
|
(prefix (assoc-ref outputs "out"))
|
||||||
|
@ -270,9 +270,8 @@ libssh library.")
|
||||||
;; Set --build and --host flags as the provided config.guess
|
;; Set --build and --host flags as the provided config.guess
|
||||||
;; is not able to detect them
|
;; is not able to detect them
|
||||||
(flags `(,(string-append "--prefix=" prefix)
|
(flags `(,(string-append "--prefix=" prefix)
|
||||||
,(string-append "--build=" system)
|
,(string-append "--build=" build)
|
||||||
,(string-append "--host="
|
,(string-append "--host=" (or target build)))))
|
||||||
(or target system)))))
|
|
||||||
(setenv "CONFIG_SHELL" bash)
|
(setenv "CONFIG_SHELL" bash)
|
||||||
(zero? (apply system* bash
|
(zero? (apply system* bash
|
||||||
(string-append "." "/configure")
|
(string-append "." "/configure")
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||||
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -25,20 +26,22 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages ncurses))
|
#:use-module (gnu packages ncurses))
|
||||||
|
|
||||||
(define-public texinfo
|
(define-public texinfo
|
||||||
(package
|
(package
|
||||||
(name "texinfo")
|
(name "texinfo")
|
||||||
(version "5.2")
|
(version "6.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/texinfo/texinfo-"
|
(uri (string-append "mirror://gnu/texinfo/texinfo-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"))))
|
"1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs `(("procps" ,procps))) ;one of the tests needs pgrep
|
||||||
(inputs `(("ncurses" ,ncurses)
|
(inputs `(("ncurses" ,ncurses)
|
||||||
("xz" ,xz)
|
("xz" ,xz)
|
||||||
("perl" ,perl)))
|
("perl" ,perl)))
|
||||||
|
@ -53,17 +56,17 @@ their source and the command-line Info reader. The emphasis of the language
|
||||||
is on expressing the content semantically, avoiding physical markup commands.")
|
is on expressing the content semantically, avoiding physical markup commands.")
|
||||||
(license gpl3+)))
|
(license gpl3+)))
|
||||||
|
|
||||||
(define-public texinfo-6
|
(define-public texinfo-5
|
||||||
(package
|
(package (inherit texinfo)
|
||||||
(inherit texinfo)
|
(version "5.2")
|
||||||
(version "6.0")
|
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/texinfo/texinfo-"
|
(uri (string-append "mirror://gnu/texinfo/texinfo-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi"))))))
|
"1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"))))
|
||||||
|
(native-inputs '())))
|
||||||
|
|
||||||
(define-public texinfo-4
|
(define-public texinfo-4
|
||||||
(package (inherit texinfo)
|
(package (inherit texinfo)
|
||||||
|
@ -77,6 +80,7 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"))))
|
"1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"))))
|
||||||
|
(native-inputs '())
|
||||||
(inputs `(("ncurses" ,ncurses) ("xz" ,xz)))))
|
(inputs `(("ncurses" ,ncurses) ("xz" ,xz)))))
|
||||||
|
|
||||||
(define-public texi2html
|
(define-public texi2html
|
||||||
|
|
|
@ -190,7 +190,7 @@ required structures.")
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs `(("perl" ,perl)))
|
(native-inputs `(("perl" ,perl)))
|
||||||
(arguments
|
(arguments
|
||||||
'(#:parallel-build? #f
|
`(#:parallel-build? #f
|
||||||
#:parallel-tests? #f
|
#:parallel-tests? #f
|
||||||
#:test-target "test"
|
#:test-target "test"
|
||||||
#:phases
|
#:phases
|
||||||
|
@ -202,7 +202,13 @@ required structures.")
|
||||||
(system* "./config"
|
(system* "./config"
|
||||||
"shared" ; build shared libraries
|
"shared" ; build shared libraries
|
||||||
"--libdir=lib"
|
"--libdir=lib"
|
||||||
(string-append "--prefix=" out)))))
|
(string-append "--prefix=" out)
|
||||||
|
;; XXX FIXME: Work around a code generation bug in GCC
|
||||||
|
;; 4.9.3 on ARM when compiled with -mfpu=neon.
|
||||||
|
,@(if (and (not (%current-target-system))
|
||||||
|
(string-prefix? "armhf" (%current-system)))
|
||||||
|
'("-mfpu=vfpv3")
|
||||||
|
'())))))
|
||||||
(alist-cons-before
|
(alist-cons-before
|
||||||
'patch-source-shebangs 'patch-tests
|
'patch-source-shebangs 'patch-tests
|
||||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||||
|
@ -276,18 +282,30 @@ security, and applying best practice development processes.")
|
||||||
"Net-SSLeay-" version ".tar.gz"))
|
"Net-SSLeay-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))
|
"1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))))
|
||||||
(patches
|
|
||||||
;; XXX Try removing this patch for perl-net-ssleay > 1.68
|
|
||||||
(list (search-patch "perl-net-ssleay-disable-ede-test.patch")))))
|
|
||||||
(build-system perl-build-system)
|
(build-system perl-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("patch" ,patch)
|
||||||
|
("patch/disable-ede-test"
|
||||||
|
,(search-patch "perl-net-ssleay-disable-ede-test.patch"))))
|
||||||
(inputs `(("openssl" ,openssl)))
|
(inputs `(("openssl" ,openssl)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (alist-cons-before
|
`(#:phases
|
||||||
'configure 'set-ssl-prefix
|
(modify-phases %standard-phases
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(add-after
|
||||||
(setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl")))
|
'unpack 'apply-patch
|
||||||
%standard-phases)))
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; XXX We apply this patch here instead of in the 'origin' because
|
||||||
|
;; this package's build system fails badly when the source file
|
||||||
|
;; times are zeroed.
|
||||||
|
;; XXX Try removing this patch for perl-net-ssleay > 1.68
|
||||||
|
(zero? (system* "patch" "--force" "-p1" "-i"
|
||||||
|
(assoc-ref inputs "patch/disable-ede-test")))))
|
||||||
|
(add-before
|
||||||
|
'configure 'set-ssl-prefix
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
|
||||||
|
#t)))))
|
||||||
(synopsis "Perl extension for using OpenSSL")
|
(synopsis "Perl extension for using OpenSSL")
|
||||||
(description
|
(description
|
||||||
"This module offers some high level convenience functions for accessing
|
"This module offers some high level convenience functions for accessing
|
||||||
|
|
|
@ -104,7 +104,7 @@ as well as the classic centralized workflow.")
|
||||||
`(,name
|
`(,name
|
||||||
,@(map (match-lambda
|
,@(map (match-lambda
|
||||||
((label (? package? _) . _)
|
((label (? package? _) . _)
|
||||||
(string-append name "/" label)))
|
label))
|
||||||
(package-transitive-propagated-inputs package)))))
|
(package-transitive-propagated-inputs package)))))
|
||||||
|
|
||||||
(define (package-propagated-input-refs inputs packages)
|
(define (package-propagated-input-refs inputs packages)
|
||||||
|
@ -112,8 +112,9 @@ as well as the classic centralized workflow.")
|
||||||
PACKAGES and their propagated inputs."
|
PACKAGES and their propagated inputs."
|
||||||
(map (lambda (l)
|
(map (lambda (l)
|
||||||
`(assoc-ref ,inputs ,l))
|
`(assoc-ref ,inputs ,l))
|
||||||
(append-map package-transitive-propagated-labels*
|
(delete-duplicates ;XXX: efficiency
|
||||||
packages)))
|
(append-map package-transitive-propagated-labels*
|
||||||
|
packages))))
|
||||||
|
|
||||||
(define-public git
|
(define-public git
|
||||||
;; Keep in sync with 'git-manpages'!
|
;; Keep in sync with 'git-manpages'!
|
||||||
|
@ -236,13 +237,12 @@ PACKAGES and their propagated inputs."
|
||||||
(wrap-program git-se*
|
(wrap-program git-se*
|
||||||
`("PERL5LIB" ":" prefix
|
`("PERL5LIB" ":" prefix
|
||||||
,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
|
,(map (lambda (o) (string-append o "/lib/perl5/site_perl"))
|
||||||
(delete-duplicates
|
(list
|
||||||
(list
|
,@(package-propagated-input-refs
|
||||||
,@(package-propagated-input-refs
|
'inputs
|
||||||
'inputs
|
(list perl-authen-sasl
|
||||||
`(,perl-authen-sasl
|
perl-net-smtp-ssl
|
||||||
,perl-net-smtp-ssl
|
perl-io-socket-ssl))))))
|
||||||
,perl-io-socket-ssl)))))))
|
|
||||||
|
|
||||||
;; Tell 'git-submodule' where Perl is.
|
;; Tell 'git-submodule' where Perl is.
|
||||||
(wrap-program git-sm
|
(wrap-program git-sm
|
||||||
|
|
|
@ -139,14 +139,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
|
||||||
`(("autoconf" ,autoconf)
|
`(("autoconf" ,autoconf)
|
||||||
("automake" ,automake)
|
("automake" ,automake)
|
||||||
("libtool" ,libtool)))
|
("libtool" ,libtool)))
|
||||||
(arguments `(#:configure-flags
|
(arguments `(#:configure-flags '("--enable-shared")
|
||||||
'("--enable-shared"
|
|
||||||
;; FIXME: liba52-0.7.4's config.guess fails on mips64el.
|
|
||||||
,@(if (%current-target-system)
|
|
||||||
'()
|
|
||||||
(let ((triplet
|
|
||||||
(nix-system->gnu-triplet (%current-system))))
|
|
||||||
(list (string-append "--build=" triplet)))))
|
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
;; XXX We need to run ./bootstrap because of the build
|
;; XXX We need to run ./bootstrap because of the build
|
||||||
|
@ -665,7 +658,6 @@ treaming protocols.")
|
||||||
(or (%current-target-system)
|
(or (%current-target-system)
|
||||||
(nix-system->gnu-triplet
|
(nix-system->gnu-triplet
|
||||||
(%current-system)))))))
|
(%current-system)))))))
|
||||||
"--disable-neon"
|
|
||||||
"--disable-iwmmxt"))))
|
"--disable-iwmmxt"))))
|
||||||
%standard-phases)))
|
%standard-phases)))
|
||||||
(home-page "http://www.mplayerhq.hu/design7/news.html")
|
(home-page "http://www.mplayerhq.hu/design7/news.html")
|
||||||
|
@ -905,23 +897,6 @@ projects while introducing many more.")
|
||||||
(zero? (system* "./configure"
|
(zero? (system* "./configure"
|
||||||
"--enable-shared"
|
"--enable-shared"
|
||||||
"--as=yasm"
|
"--as=yasm"
|
||||||
,@(if (and (not (%current-target-system))
|
|
||||||
(string-prefix?
|
|
||||||
"armhf-"
|
|
||||||
(%current-system)))
|
|
||||||
;; When building on ARMv7, libvpx
|
|
||||||
;; assumes that NEON will be
|
|
||||||
;; available. On Guix, armhf
|
|
||||||
;; does not require NEON, so we
|
|
||||||
;; build for ARMv6 and -marm (since
|
|
||||||
;; no thumb2 on ARMv6) to ensure
|
|
||||||
;; compatibility with all ARMv7
|
|
||||||
;; cores we support. Based on
|
|
||||||
;; the Debian libvpx package.
|
|
||||||
'("--target=armv6-linux-gcc"
|
|
||||||
"--extra-cflags=-marm"
|
|
||||||
"--enable-small")
|
|
||||||
'())
|
|
||||||
(string-append "--prefix=" out)))))
|
(string-append "--prefix=" out)))))
|
||||||
%standard-phases)
|
%standard-phases)
|
||||||
#:tests? #f)) ; no check target
|
#:tests? #f)) ; no check target
|
||||||
|
@ -1157,7 +1132,9 @@ for use with HTML5 video.")
|
||||||
(with-directory-excursion "avidemux_core/ffmpeg_package"
|
(with-directory-excursion "avidemux_core/ffmpeg_package"
|
||||||
(substitute* "ffmpeg-1.2.1/configure"
|
(substitute* "ffmpeg-1.2.1/configure"
|
||||||
(("#! /bin/sh") (string-append "#!" (which "bash"))))
|
(("#! /bin/sh") (string-append "#!" (which "bash"))))
|
||||||
(system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1")
|
(system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1"
|
||||||
|
;; avoid non-determinism in the archive
|
||||||
|
"--mtime=@0" "--owner=root:0" "--group=root:0")
|
||||||
(delete-file-recursively "ffmpeg-1.2.1")))
|
(delete-file-recursively "ffmpeg-1.2.1")))
|
||||||
(alist-replace 'configure
|
(alist-replace 'configure
|
||||||
(lambda _
|
(lambda _
|
||||||
|
|
|
@ -272,7 +272,13 @@ parse JSON formatted strings back into the C representation of JSON objects.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3"))))
|
"0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Building with GCC 4.8 with -Werror was fine, but 4.9.3
|
||||||
|
;; complains in new ways, so turn of -Werror.
|
||||||
|
'(substitute* (find-files "." "^CMakeLists\\.txt$")
|
||||||
|
(("-Werror") "")))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(home-page "https://github.com/miloyip/rapidjson")
|
(home-page "https://github.com/miloyip/rapidjson")
|
||||||
(synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
|
(synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
|
||||||
|
@ -320,20 +326,14 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
(define-public libpsl
|
(define-public libpsl
|
||||||
(package
|
(package
|
||||||
(name "libpsl")
|
(name "libpsl")
|
||||||
(version "0.6.0")
|
(version "0.7.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
(uri (string-append "https://github.com/rockdaboot/libpsl/"
|
||||||
"archive/" version ".tar.gz"))
|
"archive/libpsl-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"10s7xxxx6pp4ydp3san69sa6q379ih3pv92fyi565ggmlw8igv7a"))
|
"1k0klj668c9v0r4993vfs3kq773mzdz61vsigqw6v1mjcwnf1si3"))))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
|
||||||
(modules '((guix build utils)))
|
|
||||||
(snippet
|
|
||||||
;; Believe it or not, the .pc is invalid. Fix it.
|
|
||||||
'(substitute* "libpsl.pc.in"
|
|
||||||
(("-llibpsl") "-lpsl")))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs `(("icu4c" ,icu4c)))
|
(inputs `(("icu4c" ,icu4c)))
|
||||||
;; The release tarball lacks the generated files.
|
;; The release tarball lacks the generated files.
|
||||||
|
@ -341,7 +341,8 @@ for efficient socket-like bidirectional reliable communication channels.")
|
||||||
("automake" ,automake)
|
("automake" ,automake)
|
||||||
("gettext" ,gnu-gettext)
|
("gettext" ,gnu-gettext)
|
||||||
("which" ,which)
|
("which" ,which)
|
||||||
("libtool" ,libtool)))
|
("libtool" ,libtool)
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (alist-cons-after
|
`(#:phases (alist-cons-after
|
||||||
'unpack 'bootstrap
|
'unpack 'bootstrap
|
||||||
|
|
|
@ -447,13 +447,6 @@ transparent text on your screen.")
|
||||||
(inputs
|
(inputs
|
||||||
`(("libx11" ,libx11)
|
`(("libx11" ,libx11)
|
||||||
("guile" ,guile-2.0)))
|
("guile" ,guile-2.0)))
|
||||||
(arguments `(#:configure-flags
|
|
||||||
'(;; FIXME: xbindkeys-1.8.6's config.guess fails on mips64el.
|
|
||||||
,@(if (%current-target-system)
|
|
||||||
'()
|
|
||||||
(let ((triplet
|
|
||||||
(nix-system->gnu-triplet (%current-system))))
|
|
||||||
(list (string-append "--build=" triplet)))))))
|
|
||||||
(home-page "http://www.nongnu.org/xbindkeys/")
|
(home-page "http://www.nongnu.org/xbindkeys/")
|
||||||
(synopsis "Associate a combination of keys with a shell command")
|
(synopsis "Associate a combination of keys with a shell command")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -81,23 +81,29 @@ Compression ratios of 2:1 to 3:1 are common for text files.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
|
"0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
|
||||||
(patches (list (search-patch "unzip-CVE-2014-8139.patch")
|
(patches (map search-patch '("unzip-CVE-2014-8139.patch"
|
||||||
(search-patch "unzip-CVE-2014-8140.patch")
|
"unzip-CVE-2014-8140.patch"
|
||||||
(search-patch "unzip-CVE-2014-8141.patch")))))
|
"unzip-CVE-2014-8141.patch"
|
||||||
|
"unzip-CVE-2014-9636.patch"
|
||||||
|
"unzip-allow-greater-hostver-values.patch"
|
||||||
|
"unzip-increase-size-of-cfactorstr.patch"
|
||||||
|
"unzip-initialize-symlink-flag.patch"
|
||||||
|
"unzip-remove-build-date.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
|
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags '("generic_gcc")
|
`(#:phases (modify-phases %standard-phases
|
||||||
#:phases
|
(delete 'configure)
|
||||||
(alist-replace
|
(replace 'build
|
||||||
'configure
|
(lambda* (#:key make-flags #:allow-other-keys)
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(zero? (apply system* "make"
|
||||||
(let* ((out (assoc-ref outputs "out")))
|
`("-j" ,(number->string
|
||||||
(copy-file "unix/Makefile" "Makefile")
|
(parallel-job-count))
|
||||||
(substitute* "Makefile"
|
,@make-flags
|
||||||
(("/usr/local") out)
|
"generic_gcc"))))))
|
||||||
(("/man/") "/share/man/"))))
|
#:make-flags (list "-f" "unix/Makefile"
|
||||||
%standard-phases)))
|
(string-append "prefix=" %output)
|
||||||
|
(string-append "MANDIR=" %output "/share/man/man1"))))
|
||||||
(home-page "http://www.info-zip.org/UnZip.html")
|
(home-page "http://www.info-zip.org/UnZip.html")
|
||||||
(synopsis "Decompression and file extraction utility")
|
(synopsis "Decompression and file extraction utility")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -289,6 +289,7 @@ standard packages used as implicit inputs of the GNU build system."
|
||||||
(phases '%standard-phases)
|
(phases '%standard-phases)
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
|
(build (nix-system->gnu-triplet system))
|
||||||
(imported-modules %gnu-build-system-modules)
|
(imported-modules %gnu-build-system-modules)
|
||||||
(modules %default-modules)
|
(modules %default-modules)
|
||||||
(substitutable? #t)
|
(substitutable? #t)
|
||||||
|
@ -333,6 +334,7 @@ are allowed to refer to."
|
||||||
(source
|
(source
|
||||||
source))
|
source))
|
||||||
#:system ,system
|
#:system ,system
|
||||||
|
#:build ,build
|
||||||
#:outputs %outputs
|
#:outputs %outputs
|
||||||
#:inputs %build-inputs
|
#:inputs %build-inputs
|
||||||
#:search-paths ',(map search-path-specification->sexp
|
#:search-paths ',(map search-path-specification->sexp
|
||||||
|
@ -422,6 +424,7 @@ is one of `host' or `target'."
|
||||||
(phases '%standard-phases)
|
(phases '%standard-phases)
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
|
(build (nix-system->gnu-triplet system))
|
||||||
(imported-modules %gnu-build-system-modules)
|
(imported-modules %gnu-build-system-modules)
|
||||||
(modules %default-modules)
|
(modules %default-modules)
|
||||||
(substitutable? #t)
|
(substitutable? #t)
|
||||||
|
@ -472,6 +475,7 @@ platform."
|
||||||
(source
|
(source
|
||||||
source))
|
source))
|
||||||
#:system ,system
|
#:system ,system
|
||||||
|
#:build ,build
|
||||||
#:target ,target
|
#:target ,target
|
||||||
#:outputs %outputs
|
#:outputs %outputs
|
||||||
#:inputs %build-target-inputs
|
#:inputs %build-target-inputs
|
||||||
|
|
|
@ -184,7 +184,7 @@ makefiles."
|
||||||
;; Patch `SHELL' in generated makefiles.
|
;; Patch `SHELL' in generated makefiles.
|
||||||
(for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$")))
|
(for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$")))
|
||||||
|
|
||||||
(define* (configure #:key target native-inputs inputs outputs
|
(define* (configure #:key build target native-inputs inputs outputs
|
||||||
(configure-flags '()) out-of-source?
|
(configure-flags '()) out-of-source?
|
||||||
#:allow-other-keys)
|
#:allow-other-keys)
|
||||||
(define (package-name)
|
(define (package-name)
|
||||||
|
@ -234,6 +234,9 @@ makefiles."
|
||||||
(list (string-append "--docdir=" docdir
|
(list (string-append "--docdir=" docdir
|
||||||
"/share/doc/" (package-name)))
|
"/share/doc/" (package-name)))
|
||||||
'())
|
'())
|
||||||
|
,@(if build
|
||||||
|
(list (string-append "--build=" build))
|
||||||
|
'())
|
||||||
,@(if target ; cross building
|
,@(if target ; cross building
|
||||||
(list (string-append "--host=" target))
|
(list (string-append "--host=" target))
|
||||||
'())
|
'())
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -119,10 +120,24 @@ installed with setuptools."
|
||||||
(rename-file easy-install-pth new-pth))
|
(rename-file easy-install-pth new-pth))
|
||||||
#t))
|
#t))
|
||||||
|
|
||||||
|
(define* (ensure-no-mtimes-pre-1980 #:rest _)
|
||||||
|
"Ensure that there are no mtimes before 1980-01-02 in the source tree."
|
||||||
|
;; Rationale: patch-and-repack creates tarballs with timestamps at the POSIX
|
||||||
|
;; epoch, 1970-01-01 UTC. This causes problems with Python packages,
|
||||||
|
;; because Python eggs are ZIP files, and the ZIP format does not support
|
||||||
|
;; timestamps before 1980.
|
||||||
|
(let ((early-1980 315619200)) ; 1980-01-02 UTC
|
||||||
|
(ftw "." (lambda (file stat flag)
|
||||||
|
(unless (<= early-1980 (stat:mtime stat))
|
||||||
|
(utime file early-1980 early-1980))
|
||||||
|
#t))
|
||||||
|
#t))
|
||||||
|
|
||||||
(define %standard-phases
|
(define %standard-phases
|
||||||
;; 'configure' and 'build' phases are not needed. Everything is done during
|
;; 'configure' and 'build' phases are not needed. Everything is done during
|
||||||
;; 'install'.
|
;; 'install'.
|
||||||
(modify-phases gnu:%standard-phases
|
(modify-phases gnu:%standard-phases
|
||||||
|
(add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980)
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
(replace 'install install)
|
(replace 'install install)
|
||||||
(replace 'check check)
|
(replace 'check check)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -480,7 +480,11 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
|
|
||||||
(begin (chdir "..") #t)
|
(begin (chdir "..") #t)
|
||||||
(zero? (system* (string-append #+tar "/bin/tar")
|
(zero? (system* (string-append #+tar "/bin/tar")
|
||||||
"cvfa" #$output directory)))))))
|
"cvfa" #$output directory
|
||||||
|
;; avoid non-determinism in the archive
|
||||||
|
"--mtime=@0"
|
||||||
|
"--owner=root:0"
|
||||||
|
"--group=root:0")))))))
|
||||||
|
|
||||||
(let ((name (tarxz-name original-file-name))
|
(let ((name (tarxz-name original-file-name))
|
||||||
(modules (delete-duplicates (cons '(guix build utils) modules))))
|
(modules (delete-duplicates (cons '(guix build utils) modules))))
|
||||||
|
@ -491,21 +495,37 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
#:guile-for-build guile-for-build))))
|
#:guile-for-build guile-for-build))))
|
||||||
|
|
||||||
(define (transitive-inputs inputs)
|
(define (transitive-inputs inputs)
|
||||||
(let loop ((inputs inputs)
|
"Return the closure of INPUTS when considering the 'propagated-inputs'
|
||||||
(result '()))
|
edges. Omit duplicate inputs, except for those already present in INPUTS
|
||||||
|
itself.
|
||||||
|
|
||||||
|
This is implemented as a breadth-first traversal such that INPUTS is
|
||||||
|
preserved, and only duplicate propagated inputs are removed."
|
||||||
|
(define (seen? seen item outputs)
|
||||||
|
(match (vhash-assq item seen)
|
||||||
|
((_ . o) (equal? o outputs))
|
||||||
|
(_ #f)))
|
||||||
|
|
||||||
|
(let loop ((inputs inputs)
|
||||||
|
(result '())
|
||||||
|
(propagated '())
|
||||||
|
(first? #t)
|
||||||
|
(seen vlist-null))
|
||||||
(match inputs
|
(match inputs
|
||||||
(()
|
(()
|
||||||
(delete-duplicates (reverse result))) ; XXX: efficiency
|
(if (null? propagated)
|
||||||
(((and i (name (? package? p) sub ...)) rest ...)
|
(reverse result)
|
||||||
(let ((t (map (match-lambda
|
(loop (reverse (concatenate propagated)) result '() #f seen)))
|
||||||
((dep-name derivation ...)
|
(((and input (label (? package? package) outputs ...)) rest ...)
|
||||||
(cons (string-append name "/" dep-name)
|
(if (and (not first?) (seen? seen package outputs))
|
||||||
derivation)))
|
(loop rest result propagated first? seen)
|
||||||
(package-propagated-inputs p))))
|
(loop rest
|
||||||
(loop (append t rest)
|
(cons input result)
|
||||||
(append t (cons i result)))))
|
(cons (package-propagated-inputs package) propagated)
|
||||||
|
first?
|
||||||
|
(vhash-consq package outputs seen))))
|
||||||
((input rest ...)
|
((input rest ...)
|
||||||
(loop rest (cons input result))))))
|
(loop rest (cons input result) propagated first? seen)))))
|
||||||
|
|
||||||
(define (package-direct-sources package)
|
(define (package-direct-sources package)
|
||||||
"Return all source origins associated with PACKAGE; including origins in
|
"Return all source origins associated with PACKAGE; including origins in
|
||||||
|
|
|
@ -536,6 +536,9 @@
|
||||||
(guix build utils))))
|
(guix build utils))))
|
||||||
(ok? (built-derivations (list drv)))
|
(ok? (built-derivations (list drv)))
|
||||||
(guile-drv (package->derivation %bootstrap-guile))
|
(guile-drv (package->derivation %bootstrap-guile))
|
||||||
|
(bash (interned-file (search-bootstrap-binary "bash"
|
||||||
|
(%current-system))
|
||||||
|
"bash" #:recursive? #t))
|
||||||
(g-one -> (derivation->output-path drv "one"))
|
(g-one -> (derivation->output-path drv "one"))
|
||||||
(g-two -> (derivation->output-path drv "two"))
|
(g-two -> (derivation->output-path drv "two"))
|
||||||
(g-guile -> (derivation->output-path drv)))
|
(g-guile -> (derivation->output-path drv)))
|
||||||
|
@ -543,8 +546,10 @@
|
||||||
(equal? (call-with-input-file g-one read) (list one))
|
(equal? (call-with-input-file g-one read) (list one))
|
||||||
(equal? (call-with-input-file g-two read)
|
(equal? (call-with-input-file g-two read)
|
||||||
(list one (derivation->output-path two "chbouib")))
|
(list one (derivation->output-path two "chbouib")))
|
||||||
|
|
||||||
|
;; Note: %BOOTSTRAP-GUILE depends on the bootstrap Bash.
|
||||||
(equal? (call-with-input-file g-guile read)
|
(equal? (call-with-input-file g-guile read)
|
||||||
(list (derivation->output-path guile-drv)))))))
|
(list (derivation->output-path guile-drv) bash))))))
|
||||||
|
|
||||||
(test-assertm "gexp->derivation #:allowed-references"
|
(test-assertm "gexp->derivation #:allowed-references"
|
||||||
(mlet %store-monad ((drv (gexp->derivation "allowed-refs"
|
(mlet %store-monad ((drv (gexp->derivation "allowed-refs"
|
||||||
|
|
|
@ -118,10 +118,32 @@
|
||||||
(equal? `(("a" ,a)) (package-transitive-inputs c))
|
(equal? `(("a" ,a)) (package-transitive-inputs c))
|
||||||
(equal? (package-propagated-inputs d)
|
(equal? (package-propagated-inputs d)
|
||||||
(package-transitive-inputs d))
|
(package-transitive-inputs d))
|
||||||
(equal? `(("b" ,b) ("b/a" ,a) ("c" ,c)
|
(equal? `(("b" ,b) ("c" ,c) ("d" ,d)
|
||||||
("d" ,d) ("d/x" "something.drv"))
|
("a" ,a) ("x" "something.drv"))
|
||||||
(pk 'x (package-transitive-inputs e))))))
|
(pk 'x (package-transitive-inputs e))))))
|
||||||
|
|
||||||
|
(test-assert "package-transitive-inputs, no duplicates"
|
||||||
|
(let* ((a (dummy-package "a"))
|
||||||
|
(b (dummy-package "b"
|
||||||
|
(inputs `(("a+" ,a)))
|
||||||
|
(native-inputs `(("a*" ,a)))
|
||||||
|
(propagated-inputs `(("a" ,a)))))
|
||||||
|
(c (dummy-package "c"
|
||||||
|
(propagated-inputs `(("b" ,b)))))
|
||||||
|
(d (dummy-package "d"
|
||||||
|
(inputs `(("a" ,a) ("c" ,c)))))
|
||||||
|
(e (dummy-package "e"
|
||||||
|
(inputs `(("b" ,b) ("c" ,c))))))
|
||||||
|
(and (null? (package-transitive-inputs a))
|
||||||
|
(equal? `(("a*" ,a) ("a+" ,a) ("a" ,a)) ;here duplicates are kept
|
||||||
|
(package-transitive-inputs b))
|
||||||
|
(equal? `(("b" ,b) ("a" ,a))
|
||||||
|
(package-transitive-inputs c))
|
||||||
|
(equal? `(("a" ,a) ("c" ,c) ("b" ,b)) ;duplicate A removed
|
||||||
|
(package-transitive-inputs d))
|
||||||
|
(equal? `(("b" ,b) ("c" ,c) ("a" ,a))
|
||||||
|
(package-transitive-inputs e))))) ;ditto
|
||||||
|
|
||||||
(test-equal "package-transitive-supported-systems"
|
(test-equal "package-transitive-supported-systems"
|
||||||
'(("x" "y" "z") ;a
|
'(("x" "y" "z") ;a
|
||||||
("x" "y") ;b
|
("x" "y") ;b
|
||||||
|
@ -573,8 +595,8 @@
|
||||||
(dummy (dummy-package "dummy"
|
(dummy (dummy-package "dummy"
|
||||||
(inputs `(("prop" ,prop)))))
|
(inputs `(("prop" ,prop)))))
|
||||||
(inputs (bag-transitive-inputs (package->bag dummy #:graft? #f))))
|
(inputs (bag-transitive-inputs (package->bag dummy #:graft? #f))))
|
||||||
(match (assoc "prop/dep" inputs)
|
(match (assoc "dep" inputs)
|
||||||
(("prop/dep" package)
|
(("dep" package)
|
||||||
(eq? package dep)))))
|
(eq? package dep)))))
|
||||||
|
|
||||||
(test-assert "bag->derivation"
|
(test-assert "bag->derivation"
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix tests)
|
#:use-module (guix tests)
|
||||||
#:use-module (guix scripts size)
|
#:use-module (guix scripts size)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages bootstrap)
|
#:use-module (gnu packages bootstrap)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
@ -54,9 +55,15 @@
|
||||||
(built-derivations (list file2))
|
(built-derivations (list file2))
|
||||||
(mlet %store-monad ((profiles (store-profile
|
(mlet %store-monad ((profiles (store-profile
|
||||||
(derivation->output-path file2)))
|
(derivation->output-path file2)))
|
||||||
|
(bash (interned-file
|
||||||
|
(search-bootstrap-binary
|
||||||
|
"bash" (%current-system)) "bash"
|
||||||
|
#:recursive? #t))
|
||||||
(guile (package->derivation %bootstrap-guile)))
|
(guile (package->derivation %bootstrap-guile)))
|
||||||
(define (lookup-profile drv)
|
(define (lookup-profile item)
|
||||||
(find (matching-profile (derivation->output-path drv))
|
(find (matching-profile (if (derivation? item)
|
||||||
|
(derivation->output-path item)
|
||||||
|
item))
|
||||||
profiles))
|
profiles))
|
||||||
|
|
||||||
(letrec-syntax ((match* (syntax-rules (=>)
|
(letrec-syntax ((match* (syntax-rules (=>)
|
||||||
|
@ -67,15 +74,17 @@
|
||||||
((_ () body)
|
((_ () body)
|
||||||
body))))
|
body))))
|
||||||
;; Make sure we get all three profiles with sensible values.
|
;; Make sure we get all three profiles with sensible values.
|
||||||
(return (and (= (length profiles) 3)
|
(return (and (= (length profiles) 4)
|
||||||
(match* ((file1 => profile1)
|
(match* ((file1 => profile1)
|
||||||
(file2 => profile2)
|
(file2 => profile2)
|
||||||
(guile => profile3))
|
(guile => profile3)
|
||||||
|
(bash => profile4)) ;dependency of GUILE
|
||||||
(and (> (profile-closure-size profile2) 0)
|
(and (> (profile-closure-size profile2) 0)
|
||||||
(= (profile-closure-size profile2)
|
(= (profile-closure-size profile2)
|
||||||
(+ (profile-self-size profile1)
|
(+ (profile-self-size profile1)
|
||||||
(profile-self-size profile2)
|
(profile-self-size profile2)
|
||||||
(profile-self-size profile3))))))))))))
|
(profile-self-size profile3)
|
||||||
|
(profile-self-size profile4))))))))))))
|
||||||
|
|
||||||
(test-end "size")
|
(test-end "size")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue