mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
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:
parent
b48063536b
commit
5e3ea571c5
3 changed files with 35 additions and 51 deletions
|
@ -518,7 +518,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/awesome-reproducible-png.patch \
|
||||
%D%/packages/patches/azr3.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-loongson-workaround.patch \
|
||||
%D%/packages/patches/binutils-mips-bash-bug.patch \
|
||||
|
|
|
@ -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)
|
|
@ -35,10 +35,14 @@ (define-module (gnu packages scheme)
|
|||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunistring)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
|
@ -195,47 +199,35 @@ (define-public mit-scheme
|
|||
(define-public bigloo
|
||||
(package
|
||||
(name "bigloo")
|
||||
(version "4.1a")
|
||||
(version "4.3a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"170q7nh08n4v20xl81fxb0xcdxphqqacfa643hsa8i2ar6pki04c"))
|
||||
(patches (search-patches "bigloo-gc-shebangs.patch"))))
|
||||
"03rcqs6kvy2j5lqk4fidqay5qfyp474qqspbh6wk4qdbds6w599w"))
|
||||
;; Remove bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(for-each delete-file-recursively
|
||||
'("gc" "gmp" "libuv")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
||||
(substitute* "configure"
|
||||
(("^shell=.*$")
|
||||
(string-append "shell=" (which "bash") "\n")))
|
||||
|
||||
;; Since libgc's pthread redirects are used, we end up
|
||||
;; using libgc symbols, so we must link against it.
|
||||
;; Reported on 2013-06-25.
|
||||
(substitute* "api/pthread/src/Makefile"
|
||||
(("^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"))))
|
||||
(string-append "shell=" (which "bash") "\n"))
|
||||
(("`date`") "0"))
|
||||
(substitute* "autoconf/runtest.in"
|
||||
((", @DATE@") ""))
|
||||
(substitute* "autoconf/osversion"
|
||||
(("^version.*$") "version=\"\"\n"))
|
||||
|
||||
;; The `configure' script doesn't understand options
|
||||
;; of those of Autoconf.
|
||||
|
@ -243,28 +235,39 @@ (define-public bigloo
|
|||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
;; FIXME: Currently fails, see
|
||||
;; <http://article.gmane.org/gmane.lisp.scheme.bigloo/6126>.
|
||||
;; "--customgc=no" ; use our libgc
|
||||
; use system libraries
|
||||
"--customgc=no"
|
||||
"--customunistring=no"
|
||||
"--customlibuv=no"
|
||||
(string-append"--mv=" (which "mv"))
|
||||
(string-append "--rm=" (which "rm"))
|
||||
"--cflags=-fPIC"
|
||||
(string-append "--ldflags=-Wl,-rpath="
|
||||
(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
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/emacs/site-lisp")))
|
||||
(zero? (system* "make" "-C" "bmacs" "all" "install"
|
||||
(string-append "EMACSBRAND=emacs24")
|
||||
(string-append "EMACSBRAND=emacs25")
|
||||
(string-append "EMACSDIR=" dir)))))))))
|
||||
(inputs
|
||||
`(("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.
|
||||
("avahi" ,avahi)
|
||||
("libphidget" ,libphidget)))
|
||||
("libphidget" ,libphidget)
|
||||
("pcre" ,pcre)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
|
|
Loading…
Reference in a new issue