distro: bash, readline: Patch so that `make' uses the right shell.
* distro/packages/readline.scm (readline): Add `pre-configure-phase' to patch `MAKE_SHELL' in `configure. Move `post-install-phase' body to a variable. * distro/packages/bash.scm (bash): Likewise.
This commit is contained in:
parent
c20313637f
commit
530c169561
|
@ -32,7 +32,20 @@
|
|||
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
|
||||
"-DNON_INTERACTIVE_LOGIN_SHELLS"
|
||||
"-DSSH_SOURCE_BASHRC")
|
||||
" ")))
|
||||
" "))
|
||||
(pre-configure-phase
|
||||
'(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Use the right shell for makefiles.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "configure"
|
||||
(("MAKE_SHELL=[^ ]+")
|
||||
(format #f "MAKE_SHELL=~a/bin/bash" bash))))))
|
||||
(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"))))))
|
||||
(package
|
||||
(name "bash")
|
||||
(version "4.2")
|
||||
|
@ -67,15 +80,12 @@
|
|||
;; for now.
|
||||
#:tests? #f
|
||||
|
||||
#:phases
|
||||
(alist-cons-after 'install 'post-install
|
||||
(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"))))
|
||||
%standard-phases)))
|
||||
#:phases (alist-cons-before
|
||||
'configure 'pre-configure
|
||||
,pre-configure-phase
|
||||
(alist-cons-after 'install 'post-install
|
||||
,post-install-phase
|
||||
%standard-phases))))
|
||||
(synopsis "GNU Bourne-Again Shell")
|
||||
(description
|
||||
"Bash is the shell, or command language interpreter, that will appear in
|
||||
|
|
|
@ -26,44 +26,56 @@
|
|||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public readline
|
||||
(package
|
||||
(name "readline")
|
||||
(version "6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/readline/readline-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs `(("ncurses" ,ncurses)))
|
||||
(inputs `(("patch/link-ncurses"
|
||||
,(search-patch "readline-link-ncurses.patch"))))
|
||||
(arguments `(#:patches (list (assoc-ref %build-inputs
|
||||
"patch/link-ncurses"))
|
||||
#:patch-flags '("-p0")
|
||||
#:configure-flags
|
||||
(list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
(assoc-ref %build-inputs "ncurses")
|
||||
"/lib"))
|
||||
(let ((post-install-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
;; Make libraries writable so that `strip' can work.
|
||||
;; Failing to do that, it bails out with "Permission
|
||||
;; denied".
|
||||
(for-each (lambda (f) (chmod f #o755))
|
||||
(find-files lib "\\.so"))
|
||||
(for-each (lambda (f) (chmod f #o644))
|
||||
(find-files lib "\\.a")))))
|
||||
(pre-configure-phase
|
||||
'(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Use the right shell for makefiles.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* "configure"
|
||||
(("^MAKE_SHELL=.*")
|
||||
(format #f "MAKE_SHELL=~a/bin/bash" bash)))))))
|
||||
(package
|
||||
(name "readline")
|
||||
(version "6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/readline/readline-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs `(("ncurses" ,ncurses)))
|
||||
(inputs `(("patch/link-ncurses"
|
||||
,(search-patch "readline-link-ncurses.patch"))))
|
||||
(arguments `(#:patches (list (assoc-ref %build-inputs
|
||||
"patch/link-ncurses"))
|
||||
#:patch-flags '("-p0")
|
||||
#:configure-flags
|
||||
(list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
(assoc-ref %build-inputs "ncurses")
|
||||
"/lib"))
|
||||
|
||||
#:phases (alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
;; Make libraries writable so that `strip' can
|
||||
;; work. Failing to do that, it bails out with
|
||||
;; "Permission denied".
|
||||
(for-each (lambda (f) (chmod f #o755))
|
||||
(find-files lib "\\.so"))
|
||||
(for-each (lambda (f) (chmod f #o644))
|
||||
(find-files lib "\\.a"))))
|
||||
%standard-phases)))
|
||||
(synopsis "GNU Readline, a library for interactive line editing")
|
||||
(description
|
||||
"The GNU Readline library provides a set of functions for use by
|
||||
#:phases (alist-cons-after
|
||||
'install 'post-install
|
||||
,post-install-phase
|
||||
(alist-cons-before
|
||||
'configure 'pre-configure
|
||||
,pre-configure-phase
|
||||
%standard-phases))))
|
||||
(synopsis "GNU Readline, a library for interactive line editing")
|
||||
(description
|
||||
"The GNU Readline library provides a set of functions for use by
|
||||
applications that allow users to edit command lines as they are typed in.
|
||||
Both Emacs and vi editing modes are available. The Readline library includes
|
||||
additional functions to maintain a list of previously-entered command lines,
|
||||
|
@ -73,5 +85,5 @@ expansion on previous commands.
|
|||
The history facilites are also placed into a separate library, the History
|
||||
library, as part of the build process. The History library may be used
|
||||
without Readline in applications which desire its capabilities.")
|
||||
(license gpl3+)
|
||||
(home-page "http://savannah.gnu.org/projects/readline/")))
|
||||
(license gpl3+)
|
||||
(home-page "http://savannah.gnu.org/projects/readline/"))))
|
||||
|
|
Loading…
Reference in New Issue