From 88da729ff78676c61a225956af92d2c8e95b7643 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 24 Apr 2016 14:06:56 +0200 Subject: gnu: guile-2.0: support mingw. * gnu/packages/guile.scm (guile-2.0): Support MinGW. --- gnu/packages/guile.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gnu/packages/guile.scm') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 4572544ec3..1c1b35c34b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -146,8 +146,8 @@ without requiring the source code to be rewritten.") (native-inputs `(("pkgconfig" ,pkg-config))) (inputs `(("libffi" ,libffi) ("readline" ,readline) - ("bash" ,bash))) - + ,@(libiconv-if-needed) + ,@(if (target-mingw?) '() `(("bash" ,bash))))) (propagated-inputs `( ;; These ones aren't normally needed here, but since `libguile-2.0.la' ;; reads `-lltdl -lunistring', adding them here will add the needed @@ -176,8 +176,15 @@ without requiring the source code to be rewritten.") ;; Tell (ice-9 popen) the file name of Bash. (let ((bash (assoc-ref inputs "bash"))) (substitute* "module/ice-9/popen.scm" + ;; If bash is #f allow fallback for user to provide + ;; "bash" in PATH. This happens when cross-building to + ;; MinGW for which we do not have Bash yet. (("/bin/sh") - (string-append bash "/bin/bash"))))) + ,@(if (target-mingw?) + '((if bash + (string-append bash "/bin/bash") + "bash")) + '((string-append bash "/bin/bash"))))))) %standard-phases))) (native-search-paths -- cgit v1.2.3 From 4fbd0f4f86df30b6522260f727b39eaa8a3d1e52 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 14 Dec 2016 08:48:38 +0100 Subject: gnu: guile-next: Update to 2.1.5. * gnu/packages/guile.scm (guile-next): Update to 2.1.5. [properties]: Add 'upstream-name', 'ftp-server', and 'ftp-directory'. --- gnu/packages/guile.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gnu/packages/guile.scm') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 1c1b35c34b..758b277cbb 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -230,7 +230,7 @@ without requiring the source code to be rewritten.") (define-public guile-next (package (inherit guile-2.0) (name "guile-next") - (version "2.1.4") + (version "2.1.5") (replacement #f) (source (origin (method url-fetch) @@ -238,7 +238,7 @@ without requiring the source code to be rewritten.") version ".tar.xz")) (sha256 (base32 - "1w8kyy8nz6489d092fix6lvgjrk0bww7i0c2k67ym4hq0kjl0r1j")) + "0r9y4hw17dlxahik4zsccfb2f3p2a07wqndfm251bgmam9hln6gi")) (modules '((guix build utils))) ;; Remove the pre-built object files. Instead, build everything @@ -247,7 +247,10 @@ without requiring the source code to be rewritten.") (snippet '(for-each delete-file (find-files "prebuilt" "\\.go$"))))) (synopsis "Snapshot of what will become version 2.2 of GNU Guile") - (properties '((timeout . 72000))) ; 20 hours + (properties '((timeout . 72000) ;20 hours + (upstream-name . "guile") + (ftp-server . "alpha.gnu.org") + (ftp-directory . "/gnu/guile"))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") -- cgit v1.2.3 From fb73f07a0fe05890d44300a81ab1623161552244 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 15 Dec 2016 18:39:20 -0500 Subject: gnu: guile-irregex: Update to 0.9.6 [fixes CVE-2016-9954]. * gnu/packages/guile.scm (guile-irregex): Update to 0.9.6. --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/guile.scm') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 758b277cbb..1653685c75 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -692,7 +692,7 @@ See http://minikanren.org/ for more on miniKanren generally.") (define-public guile-irregex (package (name "guile-irregex") - (version "0.9.4") + (version "0.9.6") (source (origin (method url-fetch) (uri (string-append @@ -700,7 +700,7 @@ See http://minikanren.org/ for more on miniKanren generally.") version ".tar.gz")) (sha256 (base32 - "0cmaqvqvyarcnnsyrl2p6vwyv1r3k1q7qw8p9zrlnz1vpbj7vb90")))) + "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build utils) -- cgit v1.2.3 From 8c4e99cca393608f8be4b163249379590195bdfd Mon Sep 17 00:00:00 2001 From: John Darrington Date: Mon, 19 Dec 2016 14:03:40 +0100 Subject: gnu: Fix load-extension path in packaging of guile-ncurses. * gnu/packages/guile.scm (guile-ncurses) [arguments]: Install shared object before attempting to build the package. Patch load-extension path before building instead of after. --- gnu/packages/guile.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'gnu/packages/guile.scm') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 1653685c75..741728d4a8 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -431,16 +431,20 @@ many readers as needed).") "--with-gnu-filesystem-hierarchy") #:phases (modify-phases %standard-phases - (add-after 'install 'post-install + (add-before 'build 'fix-libguile-ncurses-file-name (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/share/guile/site/")) - (files (find-files dir ".scm"))) - (substitute* files - (("\"libguile-ncurses\"") - (format #f "\"~a/lib/guile/2.0/libguile-ncurses\"" - out))) - #t)))))) + (and (zero? (system* "make" "install" + "-C" "src/ncurses" + "-j" (number->string + (parallel-job-count)))) + (let* ((out (assoc-ref outputs "out")) + (dir "src/ncurses") + (files (find-files dir ".scm"))) + (substitute* files + (("\"libguile-ncurses\"") + (format #f "\"~a/lib/guile/2.0/libguile-ncurses\"" + out))) + #t))))))) (home-page "https://www.gnu.org/software/guile-ncurses/") (synopsis "Guile bindings to ncurses") (description -- cgit v1.2.3 From a614ce389f473d7b2792176a1022ccb28bc8f587 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 4 Jan 2017 15:14:33 +0100 Subject: gnu: Add Guile-Bash. * gnu/packages/guile.scm (guile-bash): New variable. --- gnu/packages/guile.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) (limited to 'gnu/packages/guile.scm') diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 741728d4a8..9458ab714f 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen @@ -1426,4 +1426,74 @@ type system, elevating types to first-class status.") dictionary and suggesting spelling corrections.") (license gpl3+))) +(define-public guile-bash + ;; This project is currently retired. It was initially announced here: + ;; . + (let ((commit "1eabc563ca5692b3e08d84f1f0e6fd2283284469") + (revision "0")) + (package + (name "guile-bash") + (version (string-append "0.1.6-" revision "." (string-take commit 7))) + (home-page + "https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git") + (source (origin + (method git-fetch) + (uri (git-reference + (commit commit) + (url home-page))) + (sha256 + (base32 + "097vny990wp2qpjij6a5a5gwc6fxzg5wk56inhy18iki5v6pif1p")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (zero? (system* "sh" "bootstrap"))))) + + #:configure-flags + ;; Add -I to match 'bash.pc' of Bash 4.4. + (list (string-append "CPPFLAGS=-I" + (assoc-ref %build-inputs "bash:include") + "/include/bash/include") + + ;; The '.a' file is useless. + "--disable-static" + + ;; Install 'lib/bash' as Bash 4.4 expects. + (string-append "--libdir=" (assoc-ref %outputs "out") + "/lib/bash")))) + (native-inputs `(("pkg-config" ,pkg-config) + ("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool) + ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. + ("gettext" ,gettext-minimal))) + (inputs `(("guile" ,guile-2.0) + ("bash:include" ,bash "include"))) + (synopsis "Extend Bash using Guile") + (description + "Guile-Bash provides a shared library and set of Guile modules, +allowing you to extend Bash in Scheme. Scheme interfaces allow you to access +the following aspects of Bash: + +@itemize +@item aliases; +@item setting and getting Bash variables; +@item creating dynamic variables; +@item creating Bash functions with a Scheme implementation; +@item reader macro for output capturing; +@item reader macro for evaluating raw Bash commands. +@end itemize + +To enable it, run: + +@example +enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm +@end example + +and then run @command{scm example.scm}.") + (license gpl3+)))) + ;;; guile.scm ends here -- cgit v1.2.3