#:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages gettext)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
".tar.bz2"))
(sha256
(base32
- "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))))
+ "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))
+ (patches (list (search-patch "sed-hurd-path-max.patch")))))
(build-system gnu-build-system)
(synopsis "Stream editor")
(arguments
version ".tar.xz"))
(sha256
(base32
- "1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))))
+ "1wi2zwm4c9r3h3b8y4w0nm0qq897kn8kyj9k22ba0iqvxj48vvk4"))
+ (patches (map search-patch
+ '("tar-d_ino_in_dirent-fix.patch"
+ "tar-skip-unreliable-tests.patch")))))
(build-system gnu-build-system)
(synopsis "Managing tar archives")
(description
version ".tar.xz"))
(sha256
(base32
- "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))))
+ "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))
+ (patches (list (search-patch "patch-hurd-path-max.patch")))))
(build-system gnu-build-system)
(native-inputs `(("ed", ed)))
(synopsis "Apply differences to originals, with optional backups")
(sha256
(base32
"0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"))
- (patches (list (search-patch "findutils-absolute-paths.patch")))))
+ (patches (map search-patch
+ '("findutils-absolute-paths.patch"
+ "findutils-localstatedir.patch")))))
(build-system gnu-build-system)
(arguments
- ;; Work around cross-compilation failure.
- ;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
- (if (%current-target-system)
- '(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
- '()))
+ `(#:configure-flags (list
+ ;; Tell 'updatedb' to write to /var.
+ "--localstatedir=/var"
+
+ ;; Work around cross-compilation failure. See
+ ;; <http://savannah.gnu.org/bugs/?27299#comment1>.
+ ,@(if (%current-target-system)
+ '("gl_cv_func_wcwidth_works=yes")
+ '()))))
(synopsis "Operating on files matching given criteria")
(description
"Findutils supplies the basic file directory searching utilities of the
(license gpl3+)
(home-page "http://www.gnu.org/software/binutils/")))
+(define* (make-ld-wrapper name #:key binutils
+ (guile (canonical-package guile-2.0))
+ (bash (canonical-package bash)) target
+ (guile-for-build guile))
+ "Return a package called NAME that contains a wrapper for the 'ld' program
+of BINUTILS, which adds '-rpath' flags to the actual 'ld' command line. When
+TARGET is not #f, make a wrapper for the cross-linker for TARGET, called
+'TARGET-ld'. The wrapper uses GUILE and BASH."
+ (package
+ (name name)
+ (version "0")
+ (source #f)
+ (build-system trivial-build-system)
+ (inputs `(("binutils" ,binutils)
+ ("guile" ,guile)
+ ("bash" ,bash)
+ ("wrapper" ,(search-path %load-path
+ "gnu/packages/ld-wrapper.in"))))
+ (arguments
+ `(#:guile ,guile-for-build
+ #:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (system base compile))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (ld ,(if target
+ `(string-append bin "/" ,target "-ld")
+ '(string-append bin "/ld")))
+ (go (string-append ld ".go")))
+
+ (setvbuf (current-output-port) _IOLBF)
+ (format #t "building ~s/bin/ld wrapper in ~s~%"
+ (assoc-ref %build-inputs "binutils")
+ out)
+
+ (mkdir-p bin)
+ (copy-file (assoc-ref %build-inputs "wrapper") ld)
+ (substitute* ld
+ (("@SELF@")
+ ld)
+ (("@GUILE@")
+ (string-append (assoc-ref %build-inputs "guile")
+ "/bin/guile"))
+ (("@BASH@")
+ (string-append (assoc-ref %build-inputs "bash")
+ "/bin/bash"))
+ (("@LD@")
+ (string-append (assoc-ref %build-inputs "binutils")
+ ,(if target
+ (string-append "/bin/"
+ target "-ld")
+ "/bin/ld"))))
+ (chmod ld #o555)
+ (compile-file ld #:output-file go)))))
+ (synopsis "The linker wrapper")
+ (description
+ "The linker wrapper (or 'ld-wrapper') wraps the linker to add any
+missing '-rpath' flags, and to detect any misuse of libraries outside of the
+store.")
+ (home-page "http://www.gnu.org/software/guix/")
+ (license gpl3+)))
+
+(export make-ld-wrapper)
+
(define-public glibc
(package
(name "glibc")
(inputs `(("static-bash" ,(static-package bash-light))))
- ;; To build the manual, we need Texinfo and Perl.
+ ;; To build the manual, we need Texinfo and Perl. Gettext is needed to
+ ;; install the message catalogs, with 'msgfmt'.
(native-inputs `(("texinfo" ,texinfo)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("gettext" ,gnu-gettext)))
(native-search-paths
;; Search path for packages that provide locale data. This is useful
(define-public which
(package
(name "which")
- (version "2.20")
+ (version "2.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/which/which-"
version ".tar.gz"))
(sha256
(base32
- "1y2p50zadb36izzh2zw4dm5hvdiydqf3qa88l8kav20dcmfbc5yl"))))
+ "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl"))))
(build-system gnu-build-system)
(home-page "https://gnu.org/software/which/")
(synopsis "Find full path of shell commands")
(define-public tzdata
(package
(name "tzdata")
- (version "2015b")
+ (version "2015c")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0qmdr1yqqn94b5a54axwszfzimyxg27i6xsfmp0sswd3nfjw2sjm"))))
+ "0nin48g5dmkfgckp25bngxchn3sw3yyjss5sq7gs5xspbxgsq3w6"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
version ".tar.gz"))
(sha256
(base32
- "0xjxlgzva13y8qi3vfbb3nq5pii8ax9wi4yc7vj9134rbciz2s76"))))))
+ "0bplibiy70dvlrhwqzkzxgmg81j6d2kklvjgi2f1g2zz1nkb3vkz"))))))
(home-page "http://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)