From d75acc293dd3e63db8739aa04c021df917aa1b80 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Fri, 24 Jun 2016 16:10:15 +0300 Subject: gnu: commencement: Add support for a native GNU/Hurd system. * gnu/packages/commencement.scm (kernel-headers-boot0, ld-wrapper-boot0, bison-boot0, flex-boot0, gnumach-headers-boot0, mig-boot0, hurd-headers-boot0, hurd-minimal-boot0, hurd-kernel-headers-boot0): New variables. (bison-boot1): Remove. (%boot1-inputs): Add ld-wrapper-boot0. (glibc-final-with-bootstrap-bash)[arguments]: Allow libpthread to find libihash. [propagated-inputs]: Use kernel-headers-boot0. [inputs]: Add "mig". (glibc-final)[arguments]: Use kernel-headers-boot0. (static-bash-for-glibc, bash-final)[native-inputs]: Use bison-boot0. --- gnu/packages/commencement.scm | 158 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 128 insertions(+), 30 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index cce831bfb6..8f1ecf899d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -27,15 +27,18 @@ #:use-module (gnu packages bash) #:use-module (gnu packages gcc) #:use-module (gnu packages m4) + #:use-module (gnu packages indent) #:use-module (gnu packages file) #:use-module (gnu packages gawk) #:use-module (gnu packages bison) + #:use-module (gnu packages flex) #:use-module (gnu packages guile) #:use-module (gnu packages gettext) #:use-module (gnu packages multiprecision) #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages linux) + #:use-module (gnu packages hurd) #:use-module (gnu packages texinfo) #:use-module (gnu packages pkg-config) #:use-module (guix packages) @@ -46,7 +49,8 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 vlist) - #:use-module (ice-9 match)) + #:use-module (ice-9 match) + #:use-module (ice-9 regex)) ;;; Commentary: ;;; @@ -289,6 +293,44 @@ (current-source-location) #:guile %bootstrap-guile)))) +(define bison-boot0 + ;; This Bison is needed to build MiG so we need it early in the process. + ;; It is also needed to rebuild Bash's parser, which is modified by + ;; its CVE patches. Remove it when it's no longer needed. + (let* ((m4 (package-with-bootstrap-guile + (package-with-explicit-inputs m4 %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile))) + (bison (package (inherit bison) + (propagated-inputs `(("m4" ,m4))) + (inputs '()) ;remove Flex... + (arguments + '(#:tests? #f ;... and thus disable tests + + ;; Zero timestamps in liby.a; this must be done + ;; explicitly here because the bootstrap Binutils don't + ;; do that (default is "cru".) + #:make-flags '("ARFLAGS=crD" "RANLIB=ranlib -D" + "V=1")))))) + (package + (inherit (package-with-bootstrap-guile + (package-with-explicit-inputs bison %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile))) + (native-inputs `(("perl" ,perl-boot0)))))) + +(define flex-boot0 + ;; This Flex is needed to build MiG. + (let* ((flex (package (inherit flex) + (native-inputs `(("bison" ,bison-boot0))) + (propagated-inputs `(("m4" ,m4))) + (inputs `(("indent" ,indent))) + (arguments '(#:tests? #f))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs flex %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile)))) + (define (linux-libre-headers-boot0) "Return Linux-Libre header files for the bootstrap environment." ;; Note: this is wrapped in a thunk to nicely handle circular dependencies @@ -302,6 +344,63 @@ `(("perl" ,perl-boot0) ,@%boot0-inputs))))) +(define gnumach-headers-boot0 + (package-with-bootstrap-guile + (package-with-explicit-inputs gnumach-headers + %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile))) + +(define mig-boot0 + (let* ((mig (package (inherit mig) + (native-inputs `(("bison" ,bison-boot0) + ("flex" ,flex-boot0))) + (inputs `(("flex" ,flex-boot0))) + (arguments + `(#:configure-flags + `(,(string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %build-inputs "flex") "/lib/"))))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs mig %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile)))) + +(define hurd-headers-boot0 + (let ((hurd-headers (package (inherit hurd-headers) + (native-inputs `(("mig" ,mig-boot0))) + (inputs '())))) + (package-with-bootstrap-guile + (package-with-explicit-inputs hurd-headers %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile)))) + +(define hurd-minimal-boot0 + (let ((hurd-minimal (package (inherit hurd-minimal) + (native-inputs `(("mig" ,mig-boot0))) + (inputs '())))) + (package-with-bootstrap-guile + (package-with-explicit-inputs hurd-minimal %boot0-inputs + (current-source-location) + #:guile %bootstrap-guile)))) + +(define (hurd-core-headers-boot0) + "Return the Hurd and Mach headers as well as initial Hurd libraries for +the bootstrap environment." + (package-with-bootstrap-guile + (package (inherit hurd-core-headers) + (arguments `(#:guile ,%bootstrap-guile + ,@(package-arguments hurd-core-headers))) + (inputs + `(("gnumach-headers" ,gnumach-headers-boot0) + ("hurd-headers" ,hurd-headers-boot0) + ("hurd-minimal" ,hurd-minimal-boot0) + ,@%boot0-inputs))))) + +(define* (kernel-headers-boot0 #:optional (system (%current-system))) + (match system + ("i586-gnu" (hurd-core-headers-boot0)) + (_ (linux-libre-headers-boot0)))) + (define texinfo-boot0 ;; Texinfo used to build libc's manual. ;; We build without ncurses because it fails to build at this stage, and @@ -320,9 +419,19 @@ (current-source-location) #:guile %bootstrap-guile)))) +(define ld-wrapper-boot0 + ;; We need this so binaries on Hurd will have libmachuser and libhurduser + ;; in their RUNPATH, otherwise validate-runpath will fail. + (make-ld-wrapper (string-append "ld-wrapper-" (boot-triplet)) + #:target (boot-triplet) + #:binutils binutils-boot0 + #:guile %bootstrap-guile + #:bash (car (assoc-ref %boot0-inputs "bash")))) + (define %boot1-inputs ;; 2nd stage inputs. `(("gcc" ,gcc-boot0) + ("ld-wrapper-cross" ,ld-wrapper-boot0) ("binutils-cross" ,binutils-boot0) ,@(alist-delete "binutils" %boot0-inputs))) @@ -356,6 +465,15 @@ (setenv "NATIVE_CPATH" (getenv "CPATH")) (unsetenv "CPATH") + ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. + ,@(if (string-match "i586-gnu" (%current-system)) + `((substitute* "libpthread/Makefile" + (("LDLIBS-pthread.so =.*") + (string-append "LDLIBS-pthread.so = " + (assoc-ref %build-inputs "kernel-headers") + "/lib/libihash.a\n")))) + '()) + ;; 'rpcgen' needs native libc headers to be built. (substitute* "sunrpc/Makefile" (("sunrpc-CPPFLAGS =.*" all) @@ -363,7 +481,7 @@ "export CPATH\n" all "\n")))) ,phases))))) - (propagated-inputs `(("kernel-headers" ,(linux-libre-headers-boot0)))) + (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0)))) (native-inputs `(("texinfo" ,texinfo-boot0) ("perl" ,perl-boot0))) @@ -372,6 +490,11 @@ ;; it in $CPATH, hence the 'pre-configure' phase above. ,@%boot1-inputs + ;; A native MiG is needed to build Glibc on Hurd. + ,@(if (string-match "i586-gnu" (%current-system)) + `(("mig" ,mig-boot0)) + '()) + ;; A native GCC is needed to build `cross-rpcgen'. ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc")) @@ -430,31 +553,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("bash" ,bash))) (inputs '()))) -(define bison-boot1 - ;; XXX: This Bison is needed to rebuild Bash's parser, which is modified by - ;; its CVE patches. Remove it when it's no longer needed. - (let* ((m4 (package-with-bootstrap-guile - (package-with-explicit-inputs m4 %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile))) - (bison (package (inherit bison) - (propagated-inputs `(("m4" ,m4))) - (inputs '()) ;remove Flex... - (arguments - '(#:tests? #f ;... and thus disable tests - - ;; Zero timestamps in liby.a; this must be done - ;; explicitly here because the bootstrap Binutils don't - ;; do that (default is "cru".) - #:make-flags '("ARFLAGS=crD" "RANLIB=ranlib -D" - "V=1")))))) - (package - (inherit (package-with-bootstrap-guile - (package-with-explicit-inputs bison %boot0-inputs - (current-source-location) - #:guile %bootstrap-guile))) - (native-inputs `(("perl" ,perl-boot0)))))) - (define static-bash-for-glibc ;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co. (let* ((gcc (cross-gcc-wrapper gcc-boot0 binutils-boot0 @@ -473,7 +571,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (package-with-explicit-inputs bash inputs (current-source-location) #:guile %bootstrap-guile))) - (native-inputs `(("bison" ,bison-boot1)))))) + (native-inputs `(("bison" ,bison-boot0)))))) (define gettext-boot0 ;; A minimal gettext used during bootstrap. @@ -527,7 +625,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; if 'allowed-references' were per-output. (arguments `(#:allowed-references - ,(cons* `(,gcc-boot0 "lib") (linux-libre-headers-boot0) + ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) static-bash-for-glibc (package-outputs glibc-final-with-bootstrap-bash)) @@ -685,7 +783,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" %boot3-inputs (current-source-location) #:guile %bootstrap-guile))) - (native-inputs `(("bison" ,bison-boot1))))) + (native-inputs `(("bison" ,bison-boot0))))) (define %boot4-inputs ;; Now use the final Bash. -- cgit v1.2.3 From b94a6ca074f00b3f769933d074853d3c3ca50d00 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 25 Sep 2016 10:33:02 +0300 Subject: gnu: Add and use gettext-minimal. * gnu/packages/gettext.scm (gnu-gettext): Rename to... (gettext-minimal): ... this. Adjust synopsis and description. (gnu-gettext): Inherit from it. (po4a): Use 'gettext-minimal' instead of 'gnu-gettext'. * gnu/packages/acl.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/apl.scm: Likewise. * gnu/packages/attr.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/base.scm: Likewise. * gnu/packages/cdrom.scm: Likewise. * gnu/packages/commencement.scm: Likewise. * gnu/packages/crypto.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/disk.scm: Likewise. * gnu/packages/documentation.scm: Likewise. * gnu/packages/education.scm: Likewise. * gnu/packages/engineering.scm: Likewise. * gnu/packages/enlightenment.scm: Likewise. * gnu/packages/fcitx.scm: Likewise. * gnu/packages/fontutils.scm: Likewise. * gnu/packages/freedesktop.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gkrellm.scm: Likewise. * gnu/packages/glib.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/grub.scm: Likewise. * gnu/packages/gtk.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/ibus.scm: Likewise. * gnu/packages/irc.scm: Likewise. * gnu/packages/iso-codes.scm: Likewise. * gnu/packages/kde-frameworks.scm: Likewise. * gnu/packages/kodi.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/man.scm: Likewise. * gnu/packages/maths.scm: Likewise. * gnu/packages/mono.scm: Likewise. * gnu/packages/mp3.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/nano.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/package-management.scm: Likewise. * gnu/packages/pdf.scm: Likewise. * gnu/packages/sawfish.scm: Likewise. * gnu/packages/statistics.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/vpn.scm: Likewise. * gnu/packages/w3m.scm: Likewise. * gnu/packages/webkit.scm: Likewise. * gnu/packages/wicd.scm: Likewise. * gnu/packages/wine.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/packages/xorg.scm: Likewise. --- gnu/packages/acl.scm | 2 +- gnu/packages/admin.scm | 4 ++-- gnu/packages/apl.scm | 2 +- gnu/packages/attr.scm | 2 +- gnu/packages/audio.scm | 4 ++-- gnu/packages/base.scm | 2 +- gnu/packages/cdrom.scm | 2 +- gnu/packages/commencement.scm | 4 ++-- gnu/packages/crypto.scm | 2 +- gnu/packages/databases.scm | 2 +- gnu/packages/disk.scm | 6 +++--- gnu/packages/documentation.scm | 2 +- gnu/packages/education.scm | 2 +- gnu/packages/engineering.scm | 2 +- gnu/packages/enlightenment.scm | 2 +- gnu/packages/fcitx.scm | 2 +- gnu/packages/fontutils.scm | 2 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/games.scm | 12 ++++++------ gnu/packages/gettext.scm | 34 ++++++++++++++++++++-------------- gnu/packages/gkrellm.scm | 2 +- gnu/packages/glib.scm | 4 ++-- gnu/packages/gnome.scm | 6 +++--- gnu/packages/grub.scm | 2 +- gnu/packages/gtk.scm | 8 ++++---- gnu/packages/guile.scm | 2 +- gnu/packages/ibus.scm | 2 +- gnu/packages/irc.scm | 2 +- gnu/packages/iso-codes.scm | 2 +- gnu/packages/kde-frameworks.scm | 2 +- gnu/packages/kodi.scm | 2 +- gnu/packages/linux.scm | 8 ++++---- gnu/packages/man.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/mono.scm | 2 +- gnu/packages/mp3.scm | 2 +- gnu/packages/music.scm | 10 +++++----- gnu/packages/nano.scm | 2 +- gnu/packages/networking.scm | 2 +- gnu/packages/package-management.scm | 2 +- gnu/packages/pdf.scm | 2 +- gnu/packages/sawfish.scm | 2 +- gnu/packages/statistics.scm | 2 +- gnu/packages/terminals.scm | 2 +- gnu/packages/version-control.scm | 6 +++--- gnu/packages/vpn.scm | 2 +- gnu/packages/w3m.scm | 2 +- gnu/packages/webkit.scm | 2 +- gnu/packages/wicd.scm | 2 +- gnu/packages/wine.scm | 2 +- gnu/packages/xdisorg.scm | 4 ++-- gnu/packages/xorg.scm | 6 +++--- 52 files changed, 99 insertions(+), 93 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 415fae496b..ae6764993b 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -59,7 +59,7 @@ %standard-phases)))) (inputs `(("attr" ,attr))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl))) (home-page "http://savannah.nongnu.org/projects/acl") (synopsis diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 474c0d7556..0a16640909 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -176,7 +176,7 @@ interface and is based on GNU Guile.") "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; There are no tests. - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (home-page "http://projects.gw-computing.net/projects/dfc") (synopsis "Display file system space usage using graphs and colors") (description @@ -1729,7 +1729,7 @@ highly portable. Great for heterogenous networks.") (delete 'configure)))) ; no configure script (inputs `(("gtk+" ,gtk+) - ("gnu-gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libnotify" ,libnotify))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 5b55c9cef3..1c7d42b713 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -41,7 +41,7 @@ (build-system gnu-build-system) (home-page "http://www.gnu.org/software/apl/") (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("lapack" ,lapack) ("sqlite" ,sqlite) ("readline" ,readline))) diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 53766af06f..907a568bdd 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -69,7 +69,7 @@ '() `(("perl" ,perl)))) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (home-page "http://savannah.nongnu.org/projects/attr/") (synopsis "Library and tools for manipulating extended attributes") diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 67701a0f37..594b8d005b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -358,7 +358,7 @@ tools (analyzer, mono/stereo tools, crossovers).") ("liblo" ,liblo) ("ladspa" ,ladspa) ("jack" ,jack-1) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("bison" ,bison) ("flex" ,flex) @@ -909,7 +909,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.") `(("gperf" ,gperf) ("faust" ,faust) ("intltool" ,intltool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (native-search-paths (list (search-path-specification diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index a0d781cc24..cab5793a24 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -642,7 +642,7 @@ store.") ;; install the message catalogs, with 'msgfmt'. (native-inputs `(("texinfo" ,texinfo) ("perl" ,perl) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-search-paths ;; Search path for packages that provide locale data. This is useful diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 4263cdebb7..621f08d8c1 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -205,7 +205,7 @@ reconstruction capability.") (inputs `(("gtk+" ,gtk+-2))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("which" ,which))) (arguments diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8f1ecf899d..1d5c7b57f0 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -576,13 +576,13 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define gettext-boot0 ;; A minimal gettext used during bootstrap. (let ((gettext-minimal - (package (inherit gnu-gettext) + (package (inherit gettext-minimal) (name "gettext-boot0") (inputs '()) ;zero dependencies (arguments (substitute-keyword-arguments `(#:tests? #f - ,@(package-arguments gnu-gettext)) + ,@(package-arguments gettext-minimal)) ((#:phases phases) `(modify-phases ,phases ;; Build only the tools. diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 5dad97c72f..920c346b70 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -204,7 +204,7 @@ communication.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("perl" ,perl) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ce51d28d28..0ac71b930c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -86,7 +86,7 @@ ("python" ,python-2) ("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("pcre" ,pcre "bin") ;for 'pcre-config' ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 27ab7a698b..a322576f14 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -72,7 +72,7 @@ ("readline" ,readline) ("util-linux" ,util-linux))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ;; For the tests. ("perl" ,perl) ("python" ,python-2))) @@ -97,7 +97,7 @@ tables. It includes a library and command-line utility.") "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("guile" ,guile-1.8) ("util-linux" ,util-linux) ("parted" ,parted))) @@ -123,7 +123,7 @@ tables, and it understands a variety of different formats.") "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses) ("popt" ,popt) ("util-linux" ,util-linux))) ; libuuid diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 080c0dba8e..bbc25e8797 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -126,7 +126,7 @@ and to some extent D.") (build-system gnu-build-system) (native-inputs `(("flex" ,flex) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (home-page "http://docpp.sourceforge.net/") (synopsis "Documentation system for C, C++, IDL, and Java") (description diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 14c1bac322..3a883079fe 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -59,7 +59,7 @@ ("zlib" ,zlib) ("qtserialport" ,qtserialport) ("qtscript" ,qtscript) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time ("qttools" ,qttools) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index daa70c6071..c8391f0798 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -443,7 +443,7 @@ ready for production.") `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("po4a" ,po4a) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 818dbac942..b1cc401bdc 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -300,7 +300,7 @@ Libraries with some extra bells and whistles.") (arguments `(#:configure-flags '("--enable-mount-eeze"))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index c89896eafe..dd8eead7fb 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -70,7 +70,7 @@ (inputs `(("dbus" ,dbus) ("enchant" ,enchant) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gtk2" ,gtk+-2) ("gtk3" ,gtk+) ("icu4c" ,icu4c) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index df8d1589a6..e4ad1cd8ce 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -523,7 +523,7 @@ definitions.") (inputs `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ;dlopen'd ("freetype" ,freetype) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib) ;needed for pango detection ("libICE" ,libice) ("libSM" ,libsm) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 2032dce66a..19ce0ee6e4 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -189,7 +189,7 @@ the freedesktop.org XDG Base Directory specification.") "/libexec/elogind/elogind\n")))))))) (native-inputs `(("intltool" ,intltool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("xsltproc" ,libxslt) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 88330c7293..4a9cafe91f 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -158,7 +158,7 @@ representation of the playing board.") ("libx11" ,libx11) ("guile" ,guile-2.0) ("gtkglext" ,gtkglext))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/gnubik/") (synopsis "3d Rubik's cube game") @@ -354,7 +354,7 @@ interface or via an external visual interface such as GNU XBoard.") "08c51imfjfcydm7h0va09z8qfw5nc837bi2x754ni2z737hb5kw2")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-embedded-resources"))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("sdl" ,sdl) ("sdl-image" ,sdl-image) @@ -730,7 +730,7 @@ match, cannon keep, and grave-itation pit.") ("freetype" ,(@ (gnu packages fontutils) freetype)) ("curl" ,curl) ("luajit" ,luajit) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("sqlite" ,sqlite))) (propagated-inputs `(("minetest-data" ,minetest-data))) @@ -1050,7 +1050,7 @@ falling, themeable graphics and sounds, and replays.") ;; cc1plus: all warnings being treated as errors '("-DENABLE_STRICT_COMPILATION=OFF"))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) @@ -2572,7 +2572,7 @@ safety of the Chromium vessel.") (inputs `(("cairo" ,cairo) ("fribidi" ,fribidi) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libpng" ,libpng) ("librsvg" ,librsvg) ("libpaper" ,libpaper) @@ -2668,7 +2668,7 @@ with the \"Stamp\" tool within Tux Paint.") "1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("fltk" ,fltk) ("libpaper" ,libpaper) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 1ad1ce84ec..a5767ddedf 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -31,16 +31,9 @@ #:use-module (gnu packages tex) #:use-module (gnu packages xml)) -;; Use that name to avoid clashes with Guile's 'gettext' procedure. -;; -;; We used to resort to #:renamer on the user side, but that prevented -;; circular dependencies involving (gnu packages gettext). This is because -;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used -;; module when there's a #:renamer, and that module may be empty at that point -;; in case or circular dependencies. -(define-public gnu-gettext +(define-public gettext-minimal (package - (name "gettext") + (name "gettext-minimal") (version "0.19.8.1") (source (origin (method url-fetch) @@ -90,15 +83,28 @@ ;; When tests fail, we want to know the details. #:make-flags '("VERBOSE=yes"))) (home-page "http://www.gnu.org/software/gettext/") - (synopsis "Tools and documentation for translation") + (synopsis + "Tools and documentation for translation (used to build other packages)") (description "GNU Gettext is a package providing a framework for translating the textual output of programs into multiple languages. It provides translators -with the means to create message catalogs, as well as an Emacs mode to work -with them, and a runtime library to load translated messages from the -catalogs. Nearly all GNU packages use Gettext.") +with the means to create message catalogs, and a runtime library to load +translated messages from the catalogs. Nearly all GNU packages use Gettext.") (license gpl3+))) ;some files are under GPLv2+ +;; Use that name to avoid clashes with Guile's 'gettext' procedure. +;; +;; We used to resort to #:renamer on the user side, but that prevented +;; circular dependencies involving (gnu packages gettext). This is because +;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used +;; module when there's a #:renamer, and that module may be empty at that point +;; in case or circular dependencies. +(define-public gnu-gettext + (package + (inherit gettext-minimal) + (name "gettext") + (synopsis "Tools and documentation for translation"))) + (define-public po4a (package (name "po4a") @@ -140,7 +146,7 @@ catalogs. Nearly all GNU packages use Gettext.") (find-files bin "\\.*$")) #t)))))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl-module-build" ,perl-module-build) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ;for tests diff --git a/gnu/packages/gkrellm.scm b/gnu/packages/gkrellm.scm index ed83186ae8..68853eb8fc 100644 --- a/gnu/packages/gkrellm.scm +++ b/gnu/packages/gkrellm.scm @@ -41,7 +41,7 @@ "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("gtk+" ,gtk+-2) ("libice" ,libice) ("libsm" ,libsm))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index f20eb5f907..20229f2b76 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -153,7 +153,7 @@ shared NFS home directories.") ("zlib" ,zlib) ("tzdata" ,tzdata))) ; for tests/gdatetime.c (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("dbus" ,dbus) ; for GDBus tests ("pkg-config" ,pkg-config) ("python" ,python-wrapper) @@ -343,7 +343,7 @@ bindings to call into the C library.") (propagated-inputs `(;; Propagate gettext because users expect it to be there, and so does ;; the `intltool-update' script. - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("perl-xml-parser" ,perl-xml-parser) ("perl" ,perl))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 90ca4bd1c0..fb671c8679 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3568,7 +3568,7 @@ USB transfers with your high-level application or system daemon.") ("gusb" ,gusb) ("libsane" ,sane-backends))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("itstool" ,itstool) ("colord" ,colord) ("glib" ,glib "bin") ; glib-compile-schemas, etc. @@ -3879,7 +3879,7 @@ metadata in photo and video files of various formats.") (native-inputs `(("pkg-config" ,pkg-config) ("itstool" ,itstool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("itstool" ,itstool) ("vala" ,vala))) (inputs @@ -4153,7 +4153,7 @@ powerful general purpose text editor.") "0j2sy6imwp41l75hy3fwr68n35drvanbwgmr42kc04zqjy9pbs02")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("itstool" ,itstool) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 3229b868c5..ec6bd84ab8 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -112,7 +112,7 @@ #t))))) (inputs `(;; ("lvm2" ,lvm2) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("freetype" ,freetype) ;; ("libusb" ,libusb) ;; ("fuse" ,fuse) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 58d3503b98..b7be57c7bb 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -580,7 +580,7 @@ is part of the GNOME accessibility project.") ("libxrandr" ,libxrandr))) (native-inputs `(("perl" ,perl) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) @@ -648,7 +648,7 @@ application suites.") (native-inputs `(("perl" ,perl) ("glib" ,glib "bin") - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper) @@ -1165,7 +1165,7 @@ write GNOME applications.") (base32 "03wsxj27hvcbs3x96nah7j3paclifwlfag8kdph4kldl48srp9pb")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("gtk+" ,gtk+) ("check" ,check))) (arguments @@ -1229,7 +1229,7 @@ information.") `(("pkg-config" ,pkg-config) ("itstool" ,itstool) ("libxml" ,libxml2) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("bc" ,bc))) (inputs `(("perl" ,perl) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 296b6154d2..c6d1bfbcf4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -261,7 +261,7 @@ without requiring the source code to be rewritten.") ("libtool" ,libtool) ("flex" ,flex) ("texinfo" ,texinfo) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ,@(package-native-inputs guile-next))) ;; Same as in guile-2.0 (native-search-paths diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 814984f16f..8dc5cdb742 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -265,7 +265,7 @@ Chinese pinyin input methods.") '("ibus-engine-anthy" "ibus-setup-anthy")) #t)))))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python))) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index d52edd8373..a39596307a 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -155,7 +155,7 @@ SILC and ICB protocols via plugins.") ("libtool" ,libtool))) (inputs `(("ncurses" ,ncurses) ("diffutils" ,diffutils) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libltdl" ,libltdl) ("libgcrypt" ,libgcrypt "out") ("zlib" ,zlib) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 0a9427cef2..dbdd868b3b 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -40,7 +40,7 @@ "037hmfs5pk3g36psm378vap1mbrkk86vv8wsdnv65mzbnph52gv0")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl) ("python" ,python-wrapper))) (home-page "https://pkg-isocodes.alioth.debian.org/") diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 011f9e0deb..3790e8f63f 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -601,7 +601,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") "0cw24spmwsqa3ppkw03cm6yjd3sfll0dbbk2ya76fd4nw9hb00dv")))) (build-system cmake-build-system) (propagated-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("python" ,python))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index ec4e72e8ba..929894d61e 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -199,7 +199,7 @@ generator library for C++.") ("cmake" ,cmake) ("doxygen" ,doxygen) ("gawk" ,gawk) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("icedtea" ,icedtea) ; needed at build-time only, mandatory ("libtool" ,libtool) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 08cbe36908..50568d2125 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -919,7 +919,7 @@ MIDI functionality to the Linux-based operating system.") ("ncurses" ,ncurses) ("alsa-lib" ,alsa-lib) ("xmlto" ,xmlto) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (home-page "http://www.alsa-project.org/") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (description @@ -1108,7 +1108,7 @@ manpages.") (sha256 (base32 "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (synopsis "Tools for controlling the network subsystem in Linux") (description @@ -2528,7 +2528,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") #t)))))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("glib" ,glib) ("dbus" ,dbus) @@ -2868,7 +2868,7 @@ from that to the system kernel's @file{/dev/random} machinery.") "DEBUG=false" "PACKAGE_BUGREPORT=bug-guix@gnu.org")) #:tests? #f)) ;no tests - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("pciutils" ,pciutils))) (home-page (package-home-page linux-libre)) (synopsis "CPU frequency and voltage scaling tools for Linux") diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 9ffbba9de9..7d266cf91d 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -184,7 +184,7 @@ Linux kernel and C library interfaces employed by user-space programs.") `(("perl" ,perl) ;; TODO: Add these optional dependencies. ;; ("perl-LocaleGettext" ,perl-LocaleGettext) - ;; ("gettext" ,gnu-gettext) + ;; ("gettext" ,gettext-minimal) )) (home-page "http://www.gnu.org/software/help2man/") (synopsis "Automatically generate man pages from program --help") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a99c798420..db53e717f8 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2405,7 +2405,7 @@ evaluates expressions using the standard order of operations.") (base32 "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq")))) (build-system gnu-build-system) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("libx11" ,libx11) ("zlib" ,zlib) ("libpng" ,libpng) diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm index 75e39afdf0..343cebc99f 100644 --- a/gnu/packages/mono.scm +++ b/gnu/packages/mono.scm @@ -44,7 +44,7 @@ "0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("glib" ,glib) ("libxslt" ,libxslt) ("perl" ,perl) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 37407cdc17..73a9a23efd 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -443,7 +443,7 @@ format.") (install-file "mpc123" bin))))) #:tests? #f)) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("libao" ,ao) ("libmpcdec" ,libmpcdec))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c3f8aa1524..bdba7bc96a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -344,7 +344,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite ("python2-pyliblo" ,python2-pyliblo) ("python2-pygtk" ,python2-pygtk))) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (home-page "http://das.nasophon.de/gtklick/") (synopsis "Simple metronome with an easy-to-use graphical interface") (description @@ -415,7 +415,7 @@ interface. It is implemented as a frontend to @code{klick}.") ("flex" ,flex) ("fontforge" ,fontforge) ("dblatex" ,dblatex) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("imagemagick" ,imagemagick) ("netpbm" ,netpbm) ;for pngtopnm ("texlive" ,texlive) ;metafont and metapost @@ -563,7 +563,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite (inputs `(("python" ,python-2) ("pygtk" ,python2-pygtk) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gtk" ,gtk+) ("lilypond" ,lilypond) ;; players needed at runtime @@ -838,7 +838,7 @@ Laurens Hammond and Don Leslie.") ("flac" ,flac) ("alsa-lib" ,alsa-lib) ("libvorbis" ,libvorbis) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("pkg-config" ,pkg-config) ("glib:bin" ,glib "bin") @@ -1031,7 +1031,7 @@ export.") `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("tk" ,tk) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index eabfaa5c96..b29788599c 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -39,7 +39,7 @@ "1vhjrcydcfxqq1719vcsvqqnbjbq2523m00dhzag5vwzkc961c5j")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("ncurses" ,ncurses))) (home-page "http://www.nano-editor.org/") (synopsis "Small, user-friendly console text editor") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 07f0b9d957..787b5dba38 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -400,7 +400,7 @@ network frames.") "1110r3gpsj9xmybdw7w4zkhj3zmn5mnv2nq0ijbvrywbn019zdfs")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("fftw" ,fftw) ("ncurses" ,ncurses) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0fcd0b1646..f0e1769e25 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -247,7 +247,7 @@ the Nix package manager.") (native-inputs `(("autoconf" ,(autoconf-wrapper)) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) ("graphviz" ,graphviz) ("help2man" ,help2man) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7313ee3974..b2598afa20 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -396,7 +396,7 @@ by using the poppler rendering engine.") (patches (search-patches "zathura-plugindir-environment-variable.patch")))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("girara" ,girara) ("sqlite" ,sqlite) ("gtk+" ,gtk+))) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 9b09b6171e..54b72ffe03 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -152,7 +152,7 @@ backend of Sawfish.") "/lib/sawfish/sawfish-menu"))) %standard-phases)))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("makeinfo" ,texinfo) ("pkg-config" ,pkg-config) ("which" ,which))) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c72ffeb92a..838428fde9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -74,7 +74,7 @@ (build-system gnu-build-system) (inputs `(("cairo" ,cairo) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("gsl" ,gsl) ("libxml2" ,libxml2) ("pango" ,pango) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 7837723e39..aaffa13696 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -65,7 +65,7 @@ (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib "bin") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 34cfedf4ed..5022297b31 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -88,7 +88,7 @@ (inputs ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh' ;; require Zsh. - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (arguments `(#:tests? #f ; no test target #:python ,python-2 ; Python 3 apparently not yet supported, see @@ -122,7 +122,7 @@ as well as the classic centralized workflow.") (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("git-manpages" ,(origin (method url-fetch) @@ -921,7 +921,7 @@ accessed and migrated on modern systems.") ("file" ,file) ("libxml2" ,libxml2) ("zlib" ,zlib) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (native-inputs `(("bison" ,bison) ("groff" ,groff) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 477b05189c..6449f0d57a 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -130,7 +130,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") ("vpnc" ,vpnc) ("zlib" ,zlib))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (arguments `(#:configure-flags diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index e7dd583c11..afda239356 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -69,7 +69,7 @@ ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("perl" ,perl) ("pkg-config" ,pkg-config))) (home-page "http://w3m.sourceforge.net/") diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 2c940285c7..4391ac6035 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -87,7 +87,7 @@ "/include/gstreamer-1.0"))))))) (native-inputs `(("bison" ,bison) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) ("gperf" ,gperf) diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm index f9aa657e56..e70bf736a5 100644 --- a/gnu/packages/wicd.scm +++ b/gnu/packages/wicd.scm @@ -52,7 +52,7 @@ "wicd-urwid-1.3.patch" "wicd-wpa2-ttls.patch")))) (build-system python-build-system) - (native-inputs `(("gettext" ,gnu-gettext))) + (native-inputs `(("gettext" ,gettext-minimal))) (inputs `(("dbus-glib" ,dbus-glib) ("python2-dbus" ,python2-dbus) ("python2-pygtk" ,python2-pygtk) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 03a896b8e1..9a1bd56608 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -63,7 +63,7 @@ "1nmd65knzyh8b0yhxlqqvzai5rpnmhhm0c46n789zr5hj74jm6fg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("flex" ,flex) ("bison" ,bison) ("perl" ,perl))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index cb9c767aaa..a26c716866 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -90,7 +90,7 @@ #t))))) (inputs `(("pygtk" ,python2-pygtk) ("xrandr" ,xrandr))) - (native-inputs `(("gettext" ,gnu-gettext) + (native-inputs `(("gettext" ,gettext-minimal) ("python-docutils" ,python2-docutils) ("python-setuptools" ,python2-setuptools))) (home-page "https://christian.amsuess.com/tools/arandr/") @@ -1010,7 +1010,7 @@ by name.") ("libxrandr" ,libxrandr) ("startup-notification" ,startup-notification))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://gitlab.com/o9000/tint2") (synopsis "Lightweight task bar") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6a6bb22382..aafb781ddf 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1430,7 +1430,7 @@ treat it as part of their software base when porting.") "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("libxt" ,libxt) ("xproto" ,xproto) ("libxext" ,libxext))) @@ -3800,7 +3800,7 @@ extension to the X11 protocol. It includes: "1l6x2w357ja8vm94ns79s7yj9a5dlr01r9dxrjvzwncadiyr27f4")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("libx11" ,libx11) ("xkbcomp-intermediate" ,xkbcomp-intermediate))) (native-inputs @@ -4006,7 +4006,7 @@ Font Description (XLFD) full name for a font.") ("libxmu" ,libxmu) ("libxrender" ,libxrender))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") (synopsis "Display all the characters in an X font") -- cgit v1.2.3 From c573f5a5a5395d6b5cee3d06cbbc6a19573cf542 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 30 Sep 2016 13:23:23 +0200 Subject: gnu: bash: Update to 4.4. * gnu/packages/bash.scm (%patch-series-4.3): Remove. (%patch-series-4.4): New variable. (bash)[source]: Update to 4.4. [native-inputs]: Remove. [arguments]: Remove (ice-9 regex) modules; add (srfi srfi-26). Inline 'install-sh-symlink' phase. Remove 'install-headers' phase. Add 'move-development-files' phase. [native-search-paths]: New field. (static-bash)[outputs]: New field. [arguments]: Delete 'move-development-files' phase. * gnu/packages/commencement.scm (static-bash-for-glibc) (bash-final): Remove 'native-inputs'. --- gnu/packages/bash.scm | 137 +++++++++++++++--------------------------- gnu/packages/commencement.scm | 22 +++---- 2 files changed, 57 insertions(+), 102 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 885e3cb226..9f107aa354 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Leo Famulari ;;; @@ -51,52 +51,10 @@ (list (bash-patch seqno (base32 hash)) ...)) -(define %patch-series-4.3 - ;; This is the current patches series for 4.3, generated using +(define %patch-series-4.4 + ;; This is the current patches series for 4.4, generated using ;; 'download-patches' below. - (patch-series - (1 "0hip2n2s5hws8p4nfcz37379zn6cak83ljsm64z52rw6ckrdzczc") - (2 "0ashj5d1g3zbyr7zf0r72s5wnk96cz1xj919y3jajadbc9qcvrzf") - (3 "0z88q4daq7dmw93iqd9c5i5d1sndklih3nrh0v75746da2n6w3h0") - (4 "0f0kh9j5k4ym6knshscx31przm50x5cc7ifkwqk0swh6clna982y") - (5 "1ym3b8b7lgmdp3dklp8qaqhyq965wd5392namq8mz7rb0d231j0s") - (6 "04q20igq49py49ynb0f83f6f52cdkyqwd9bpic6akr0m5pkqwr50") - (7 "18zkz23d9myshrwfcwcdjk7qmkqp8az5n91ni9jaixlwqlhy64qi") - (8 "0pprcwvh7ngdli0x95pc1cpssg4qg7layi9xrv2jq6c7965ajhcr") - (9 "19a0pf0alp30d1bjj0zf3zq2f5n0s6y91w7brm9jyswl51kns8n0") - (10 "1dzhr5ammyijisz48cqi5vaw26hfr5vh9smnqxq4qc9p06f7j1ff") - (11 "0fvzdzzi142a8rf3v965r6gbpn0k7fv2gif1yq8a4160vcn40qvw") - (12 "04lcgfcyz7p3zagb4hkia3hkpd7lii9m8ycy9qqwzyrm1c1pj4ry") - (13 "0y9cqi378z6flapkd5k5lfl4lq3ivzg4njj3i3wmw7xb6r9wma5z") - (14 "04xcb0k9fxxq4vashgzb98567xzdnm4655nlm4jvfvjv6si6ykas") - (15 "13ay6lldy1p00xj41nfjpq8lai3vw2qwca79gx6s80z04j53wa8k") - (16 "0wq7bvx3pfw90pnfb86yg5nr9jgjsvm2nq5rrkqxf6zn977hpmlj") - (17 "103p7sibihv6cshqj12k546zsbz0dnd5cv5vlx1719avddfc4rqj") - (18 "0n1x3812y1brb9xbabaj3fvr4cpvm2225iwckmqk2fcpkq5b9a3s") - (19 "08rd1p7zpzgbpmmmnj2im8wj2pcwmbbx51psr9vdc5c049si9ad7") - (20 "163c6g05qpag2plx5q795pmw3f3m904jy7z93xj2i08pgzc8cpna") - (21 "1a90cl3h10dh8k9f2ddrsjmw5ywaw2d5x78xb4fd2sryi039yhs1") - (22 "120s0s4qcqd0q12j1iv0hkpf9fp3w5jnqw646kv66n66jnxlfkgx") - (23 "1m00sfi88p2akgiyrg4hw0gvz3s1586pkzjdr3dm73vs773m1hls") - (24 "0v0gjqzjsqjfgj5x17fq7g649k94jn8zq92qsxkhc2d6l215hl1v") - (25 "0lcj96i659q35f1jcmwwbnw3p7w7vvlxjxqi989vn6d6qksqcl8y") ;CVE-2014-6271 - (26 "0k919ir0inwn4wai2vdzpbwqq5h54fnrlkmgccxjg91v3ch15k1f") ;CVE-2014-7169 - (27 "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy") - (28 "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") ;CVE-2014-7186 - (29 "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") ;CVE-2014-6277 - (30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278 - (31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd") - (32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8") - (33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv") - (34 "12gq9whkq3naa3iy7c7x5pfpvrg7d0kwqld8609zxphhy424ysgi") - (35 "1qy1jflmbazjykq766gwabkaiswnx7pwa66whqiny0w02zjqa39p") - (36 "0z6jbyy70lfdm6d3x0sbazbqdxb3xnpn9bmz7madpvrnbd284pxc") - (37 "04sqr8zkl6s5fccfvb775ppn3ldij5imria9swc39aq0fkfp1w9k") - (38 "0rv3g14mpgv8br267bf7rmgqlgwnc4v6g3g8y0sjba571i8amgmd") - (39 "1v3l3vkc3g2b6fjycqwlakr8xhiw6bmw6q0zd6bi0m0m4bnxr55b") - (40 "0sypv66vsldmc95gwvf7ylz1k7y37vnvdsjg8ajjr6b2j9mkkfw4") - (41 "06ic2gdpbi1afik3wqf9d4vh95if4bz8bmhcgr555621dsb35i2f") - (42 "06a90k0p6bqc4wk2dsmapna69124an76xvlnlj3xm497vci968dc"))) + (patch-series)) (define (download-patches store count) "Download COUNT Bash patches into store. Return a list of @@ -134,34 +92,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." " -Wl,-rpath -Wl," (assoc-ref %build-inputs "ncurses") "/lib"))) - (post-install-phase - '(lambda* (#:key outputs #:allow-other-keys) - ;; Add a `bash' -> `sh' link. - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/bin") - (symlink "bash" "sh"))))) - (install-headers-phase - '(lambda* (#:key outputs #:allow-other-keys) - ;; Install Bash headers so that packages that provide extensions - ;; can use them. We install them in include/bash; that's what - ;; Debian does and what Bash extensions like recutils or - ;; guile-bash expect. - (let ((include (string-append (assoc-ref outputs "include") - "/include/bash")) - (includes "^\\./include/[^/]+\\.h$") - (headers "^\\./(builtins/|lib/glob/|lib/tilde/|)[^/]+\\.h$")) - (mkdir-p include) - (for-each (lambda (file) - (when (string-match includes file) - (install-file file include)) - (when (string-match headers file) - (install-file file - (string-append include "/" - (dirname file))))) - (find-files "." "\\.h$")) - (delete-file (string-append include "/" "y.tab.h")) - #t))) - (version "4.3")) + (version "4.4")) (package (name "bash") (source (origin @@ -170,22 +101,16 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." "mirror://gnu/bash/bash-" version ".tar.gz")) (sha256 (base32 - "1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg")) + "1jyz6snd63xjn6skk7za6psgidsd53k05cr3lksqybi0q6936syq")) (patch-flags '("-p0")) - (patches %patch-series-4.3) - - ;; The patches above modify 'parse.y', so force a rebuild of the - ;; parser. - (snippet '(for-each delete-file - '("y.tab.c" "y.tab.h" "parser-built"))))) + (patches %patch-series-4.4))) (version (string-append version "." - (number->string (length %patch-series-4.3)))) + (number->string (length %patch-series-4.4)))) (build-system gnu-build-system) (outputs '("out" "doc" ;1.7 MiB of HTML and extra files "include")) ;headers used by extensions - (native-inputs `(("bison" ,bison))) ;to rebuild the parser (inputs `(("readline" ,readline) ("ncurses" ,ncurses))) ;TODO: add texinfo (arguments @@ -206,14 +131,41 @@ number/base32-hash tuples, directly usable in the 'patch-series' form." ;; for now. #:tests? #f - #:modules ((ice-9 regex) + #:modules ((srfi srfi-26) (guix build utils) (guix build gnu-build-system)) - #:phases (modify-phases %standard-phases - (add-after 'install 'post-install ,post-install-phase) - (add-after 'install 'install-headers - ,install-headers-phase)))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-sh-symlink + (lambda* (#:key outputs #:allow-other-keys) + ;; Add a `sh' -> `bash' link. + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion (string-append out "/bin") + (symlink "bash" "sh"))))) + + (add-after 'install 'move-development-files + (lambda* (#:key outputs #:allow-other-keys) + ;; Move 'Makefile.inc' and 'bash.pc' to "include" to avoid + ;; circular references among the outputs. + (let ((out (assoc-ref outputs "out")) + (include (assoc-ref outputs "include")) + (lib (cut string-append <> "/lib/bash"))) + (mkdir-p (lib include)) + (rename-file (string-append (lib out) + "/Makefile.inc") + (string-append (lib include) + "/Makefile.inc")) + (rename-file (string-append out "/lib/pkgconfig") + (string-append include + "/lib/pkgconfig")) + #t)))))) + + (native-search-paths + (list (search-path-specification ;new in 4.4 + (variable "BASH_LOADABLES_PATH") + (files '("lib/bash"))))) + (synopsis "The GNU Bourne-Again SHell") (description "Bash is the shell, or command-line interpreter, of the GNU system. It @@ -257,6 +209,10 @@ without modification.") (package (inherit bash) (name "bash-static") + + ;; No "include" output because there's no support for loadable modules. + (outputs (delete "include" (package-outputs bash))) + (arguments (substitute-keyword-arguments `(#:allowed-references ("out") ,@(package-arguments bash)) @@ -269,7 +225,10 @@ without modification.") (remove-store-references (string-append bin "/bash")) (delete-file (string-append bin "/bashbug")) (delete-file-recursively (string-append out "/share")) - #t)))))))))) + #t))) + + ;; No loadable modules. + (delete 'move-development-files)))))))) (define-public bash-completion (package diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1d5c7b57f0..700de685a7 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -566,12 +566,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("libc" ,glibc-final-with-bootstrap-bash) ,@(fold alist-delete %boot1-inputs '("gcc" "libc"))))) - (package - (inherit (package-with-bootstrap-guile - (package-with-explicit-inputs bash inputs - (current-source-location) - #:guile %bootstrap-guile))) - (native-inputs `(("bison" ,bison-boot0)))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs bash inputs + (current-source-location) + #:guile %bootstrap-guile)))) (define gettext-boot0 ;; A minimal gettext used during bootstrap. @@ -777,13 +775,11 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define bash-final ;; Link with `-static-libgcc' to make sure we don't retain a reference ;; to the bootstrap GCC. - (package - (inherit (package-with-bootstrap-guile - (package-with-explicit-inputs (static-libgcc-package bash) - %boot3-inputs - (current-source-location) - #:guile %bootstrap-guile))) - (native-inputs `(("bison" ,bison-boot0))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs (static-libgcc-package bash) + %boot3-inputs + (current-source-location) + #:guile %bootstrap-guile))) (define %boot4-inputs ;; Now use the final Bash. -- cgit v1.2.3 From 8e5e8724d26033fabe207cfea05b26bcab8c1c99 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 1 Oct 2016 11:43:33 +0200 Subject: gnu: make-boot0: Use 'modify-phases'. * gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Use 'modify-phases'. --- gnu/packages/commencement.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 700de685a7..976b0ac87d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -75,17 +75,17 @@ #:tests? #f ; cannot run "make check" ,@(substitute-keyword-arguments (package-arguments gnu-make) ((#:phases phases) - `(alist-replace - 'build (lambda _ - (zero? (system* "./build.sh"))) - (alist-replace - 'install (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (copy-file "make" - (string-append bin "/make")))) - ,phases)))))) + `(modify-phases ,phases + (replace 'build + (lambda _ + (zero? (system* "./build.sh")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (copy-file "make" + (string-append bin "/make")))))))))) (native-inputs '()) ; no need for 'pkg-config' (inputs %bootstrap-inputs)))) -- cgit v1.2.3 From 712b62d8f73f554d646eead198a39cd5e2c772ff Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 1 Oct 2016 11:44:32 +0200 Subject: gnu: make-boot0: Use 'install-file'. * gnu/packages/commencement.scm (gnu-make-boot0)[arguments]: Use 'install-file' in 'install' phase instead of 'copy-file' etc. --- gnu/packages/commencement.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 976b0ac87d..265b709a11 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -83,9 +83,7 @@ (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))) - (mkdir-p bin) - (copy-file "make" - (string-append bin "/make")))))))))) + (install-file "make" bin))))))))) (native-inputs '()) ; no need for 'pkg-config' (inputs %bootstrap-inputs)))) -- cgit v1.2.3 From 156c0810e936413ac554e2883343b3b40695cfdc Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 24 Sep 2016 23:22:54 +1000 Subject: gnu: perl: Enable threading support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/perl.scm (perl)[arguments]: Configure with '-Dusethreads'. * gnu/packages/commencement.scm (perl-boot0)[arguments]: Omit inherited '-Dusethreads' flag during configure. Co-authored-by: Ludovic Courtès --- gnu/packages/commencement.scm | 6 +++++- gnu/packages/perl.scm | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 265b709a11..53ba7189b4 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -284,7 +284,11 @@ (lambda _ (substitute* "Configure" (("^libswanted=(.*)pthread" _ before) - (string-append "libswanted=" before))))))))))))) + (string-append "libswanted=" before))))))) + ;; Do not configure with '-Dusethreads' since pthread + ;; support is missing. + ((#:configure-flags configure-flags) + `(delete "-Dusethreads" ,configure-flags)))))))) (package-with-bootstrap-guile (package-with-explicit-inputs perl %boot0-inputs diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index fbccff2550..b5e6e54f7f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -73,7 +73,8 @@ "-Dinstallstyle=lib/perl5" "-Duseshrplib" (string-append "-Dlocincpth=" libc "/include") - (string-append "-Dloclibpth=" libc "/lib"))) + (string-append "-Dloclibpth=" libc "/lib") + "-Dusethreads")) #:phases (modify-phases %standard-phases (add-before 'configure 'setup-configure -- cgit v1.2.3 From 5bde4503eeaa1d772744abcf87afc29eb0e9329d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 31 Oct 2016 15:41:14 +0100 Subject: gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system). Reported by Mark H Weaver Partly fixes . 'ld-wrapper-boot0' was evaluating strictly instead of lazily, leading to invalid system types. * gnu/packages/base.scm (make-ld-wrapper): Turn #:target into a one-argument procedure. Honor it. * gnu/packages/commencement.scm (ld-wrapper-boot0): Fix 'name' argument to 'make-ld-wrapper'. Make #:target argument a procedure. * gnu/packages/cross-base.scm (cross-gcc): Adjust #:target argument. --- gnu/packages/base.scm | 93 ++++++++++++++++++++++++------------------- gnu/packages/commencement.scm | 10 ++++- gnu/packages/cross-base.scm | 2 +- 3 files changed, 60 insertions(+), 45 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5aea2cee0e..76052ef902 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -422,14 +422,22 @@ included.") (license gpl3+) (home-page "http://www.gnu.org/software/binutils/"))) -(define* (make-ld-wrapper name #:key binutils +(define* (make-ld-wrapper name #:key + (target (const #f)) + binutils (guile (canonical-package guile-2.0)) - (bash (canonical-package bash)) target + (bash (canonical-package bash)) (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." +of BINUTILS, which adds '-rpath' flags to the actual 'ld' command line. The +wrapper uses GUILE and BASH. + +TARGET must be a one-argument procedure that, given a system type, returns a +cross-compilation target triplet or #f. When the result is not #f, make a +wrapper for the cross-linker for that target, called 'TARGET-ld'." + ;; Note: #:system->target-triplet is a procedure so that the evaluation of + ;; its result can be delayed until the 'arguments' field is evaluated, thus + ;; in a context where '%current-system' is accurate. (package (name name) (version "0") @@ -441,43 +449,44 @@ TARGET is not #f, make a wrapper for the cross-linker for TARGET, called ("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))))) + (let ((target (target (%current-system)))) + `(#: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 diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 53ba7189b4..2431babcad 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -424,8 +424,14 @@ the bootstrap environment." (define ld-wrapper-boot0 ;; We need this so binaries on Hurd will have libmachuser and libhurduser ;; in their RUNPATH, otherwise validate-runpath will fail. - (make-ld-wrapper (string-append "ld-wrapper-" (boot-triplet)) - #:target (boot-triplet) + ;; + ;; XXX: Work around by fixing the name and + ;; triplet on GNU/Linux. For GNU/Hurd, use the right triplet. + (make-ld-wrapper (string-append "ld-wrapper-" "x86_64-guix-linux-gnu") + #:target (lambda (system) + (if (string-suffix? "-linux" system) + "x86_64-guix-linux-gnu" + (boot-triplet system))) #:binutils binutils-boot0 #:guile %bootstrap-guile #:bash (car (assoc-ref %boot0-inputs "bash")))) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index b4324c2aeb..470bae7bea 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -254,7 +254,7 @@ GCC that does not target a libc; otherwise, target that libc." (native-inputs `(("ld-wrapper-cross" ,(make-ld-wrapper (string-append "ld-wrapper-" target) - #:target target + #:target (const target) #:binutils xbinutils)) ("binutils-cross" ,xbinutils) -- cgit v1.2.3