gnu: bigloo: Update to 4.3a.

* gnu/packages/scheme.scm (bigloo): Update to 4.3a.
[source]: Remove old patch. Add snippet.
[arguments]: Adjust the build phases accordingly.
[inputs]: Add libgc, libunistring, libuv, openssl, pcre and sqlite.
This commit is contained in:
Kei Kebreau 2017-07-02 14:22:05 -04:00
parent b48063536b
commit 5e3ea571c5
No known key found for this signature in database
GPG key ID: E6A5EE3C19467A0D
3 changed files with 35 additions and 51 deletions

View file

@ -518,7 +518,6 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \ %D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bigloo-gc-shebangs.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mips-bash-bug.patch \ %D%/packages/patches/binutils-mips-bash-bug.patch \

View file

@ -1,18 +0,0 @@
Patch shebangs in source that gets unpacked by `configure'.
--- bigloo4.1a/gc/install-gc-7.4.0 2014-02-04 14:55:03.000000000 +0100
+++ bigloo4.1a/gc/install-gc-7.4.0 2014-02-04 14:55:36.000000000 +0100
@@ -29,10 +29,12 @@ fi
# untar the two versions of the GC
$tar xfz $src -C ../gc || (echo "$tar xfz $src failed"; exit 1)
-/bin/rm -rf "../gc/$gc"_fth
+rm -rf "../gc/$gc"_fth
+find ../gc/$gc -perm /111 -type f | xargs sed -i -e"s|/bin/sh|`type -P sh`|g"
mv ../gc/$gc "../gc/$gc"_fth || (echo "mv $gc failed"; exit 1)
$tar xfz $src -C ../gc || (echo "$tar xfz $src failed"; exit 1)
+find ../gc/$gc -perm /111 -type f | xargs sed -i -e"s|/bin/sh|`type -P sh`|g"
# general Bigloo patch
(cd "../gc/$gc"_fth && $patch -p1 < ../$gc.patch > /dev/null)

View file

@ -35,10 +35,14 @@ (define-module (gnu packages scheme)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
@ -195,47 +199,35 @@ (define-public mit-scheme
(define-public bigloo (define-public bigloo
(package (package
(name "bigloo") (name "bigloo")
(version "4.1a") (version "4.3a")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo" (uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"170q7nh08n4v20xl81fxb0xcdxphqqacfa643hsa8i2ar6pki04c")) "03rcqs6kvy2j5lqk4fidqay5qfyp474qqspbh6wk4qdbds6w599w"))
(patches (search-patches "bigloo-gc-shebangs.patch")))) ;; Remove bundled libraries.
(modules '((guix build utils)))
(snippet
'(for-each delete-file-recursively
'("gc" "gmp" "libuv")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "configure" (substitute* "configure"
(("^shell=.*$") (("^shell=.*$")
(string-append "shell=" (which "bash") "\n"))) (string-append "shell=" (which "bash") "\n"))
(("`date`") "0"))
;; Since libgc's pthread redirects are used, we end up (substitute* "autoconf/runtest.in"
;; using libgc symbols, so we must link against it. ((", @DATE@") ""))
;; Reported on 2013-06-25. (substitute* "autoconf/osversion"
(substitute* "api/pthread/src/Makefile" (("^version.*$") "version=\"\"\n"))
(("^EXTRALIBS[[:blank:]]*=(.*)$" _ value)
(string-append "EXTRALIBS = "
(string-trim-right value)
" -l$(GCLIB)_fth-$(RELEASE)"
" -Wl,-rpath=" (assoc-ref outputs "out")
"/lib/bigloo/" ,version)))
;; Those variables are used by libgc's `configure'.
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
;; ... but they turned out to be overridden later, so work
;; around that.
(substitute* (find-files "gc" "^configure-gc")
(("sh=/bin/sh")
(string-append "sh=" (which "sh"))))
;; The `configure' script doesn't understand options ;; The `configure' script doesn't understand options
;; of those of Autoconf. ;; of those of Autoconf.
@ -243,28 +235,39 @@ (define-public bigloo
(zero? (zero?
(system* "./configure" (system* "./configure"
(string-append "--prefix=" out) (string-append "--prefix=" out)
;; FIXME: Currently fails, see ; use system libraries
;; <http://article.gmane.org/gmane.lisp.scheme.bigloo/6126>. "--customgc=no"
;; "--customgc=no" ; use our libgc "--customunistring=no"
"--customlibuv=no"
(string-append"--mv=" (which "mv")) (string-append"--mv=" (which "mv"))
(string-append "--rm=" (which "rm")) (string-append "--rm=" (which "rm"))
"--cflags=-fPIC" "--cflags=-fPIC"
(string-append "--ldflags=-Wl,-rpath=" (string-append "--ldflags=-Wl,-rpath="
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/lib/bigloo/" ,version)))))) "/lib/bigloo/" ,version)
(string-append "--lispdir=" out
"/share/emacs/site-lisp")
"--sharedbde=yes"
"--sharedcompiler=yes")))))
(add-after 'install 'install-emacs-modes (add-after 'install 'install-emacs-modes
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/emacs/site-lisp"))) (dir (string-append out "/share/emacs/site-lisp")))
(zero? (system* "make" "-C" "bmacs" "all" "install" (zero? (system* "make" "-C" "bmacs" "all" "install"
(string-append "EMACSBRAND=emacs24") (string-append "EMACSBRAND=emacs25")
(string-append "EMACSDIR=" dir))))))))) (string-append "EMACSDIR=" dir)))))))))
(inputs (inputs
`(("emacs" ,emacs) ;UDE needs the X version of Emacs `(("emacs" ,emacs) ;UDE needs the X version of Emacs
("libgc" ,libgc)
("libunistring" ,libunistring)
("libuv" ,libuv)
("openssl" ,openssl)
("sqlite" ,sqlite)
;; Optional APIs for which Bigloo has bindings. ;; Optional APIs for which Bigloo has bindings.
("avahi" ,avahi) ("avahi" ,avahi)
("libphidget" ,libphidget))) ("libphidget" ,libphidget)
("pcre" ,pcre)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(propagated-inputs (propagated-inputs