gnu: bigloo: Update to "4.3b2".
Fixes <https://bugs.gnu.org/33525>. * gnu/packages/scheme.scm (bigloo): Update to "4.3b2".
This commit is contained in:
parent
13bcc6b45f
commit
1fe1bb96f2
|
@ -206,98 +206,102 @@ features an integrated Emacs-like editor and a large runtime library.")
|
|||
(properties '((ftp-directory . "/gnu/mit-scheme/stable.pkg")))))
|
||||
|
||||
(define-public bigloo
|
||||
(package
|
||||
(name "bigloo")
|
||||
(version "4.3b")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x7xdgsls277zlf6gcaxs2cj62xj6yvb0qxh0ddmxfamvxba0cf4"))
|
||||
;; Remove bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file-recursively
|
||||
'("gc" "gmp" "libuv"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Upstream modifies source tarballs in place, making significant changes
|
||||
;; long after the initial publication: <https://bugs.gnu.org/33525>. For
|
||||
;; transparency, we give this "second 4.3b" release a different version
|
||||
;; number.
|
||||
(let ((upstream-version "4.3b"))
|
||||
(package
|
||||
(name "bigloo")
|
||||
(version "4.3b2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
|
||||
upstream-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02s0wrz5b1p0yqk9x6kax1vwzil7g9cyxfvl3vmy7fzznsza9gs4"))
|
||||
;; Remove bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file-recursively
|
||||
'("gc" "gmp" "libuv"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
||||
(substitute* "configure"
|
||||
(("^shell=.*$")
|
||||
(string-append "shell=" (which "bash") "\n"))
|
||||
(("`date`") "0"))
|
||||
(substitute* "autoconf/runtest.in"
|
||||
((", @DATE@") ""))
|
||||
(substitute* "autoconf/osversion"
|
||||
(("^version.*$") "version=\"\"\n"))
|
||||
(substitute* "comptime/Makefile"
|
||||
(("\\$\\(LDCOMPLIBS\\)")
|
||||
"$(LDCOMPLIBS) $(LDFLAGS)"))
|
||||
(substitute* "configure"
|
||||
(("^shell=.*$")
|
||||
(string-append "shell=" (which "bash") "\n"))
|
||||
(("`date`") "0"))
|
||||
(substitute* "autoconf/runtest.in"
|
||||
((", @DATE@") ""))
|
||||
(substitute* "autoconf/osversion"
|
||||
(("^version.*$") "version=\"\"\n"))
|
||||
(substitute* "comptime/Makefile"
|
||||
(("\\$\\(LDCOMPLIBS\\)")
|
||||
"$(LDCOMPLIBS) $(LDFLAGS)"))
|
||||
|
||||
;; The `configure' script doesn't understand options
|
||||
;; of those of Autoconf.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
; 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)
|
||||
(string-append "--lispdir=" out
|
||||
"/share/emacs/site-lisp")
|
||||
"--sharedbde=yes"
|
||||
"--sharedcompiler=yes"
|
||||
"--disable-patch"))))
|
||||
(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")))
|
||||
(invoke "make" "-C" "bmacs" "all" "install"
|
||||
(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)
|
||||
;; The `configure' script doesn't understand options
|
||||
;; of those of Autoconf.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
; 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/" ,upstream-version)
|
||||
(string-append "--lispdir=" out
|
||||
"/share/emacs/site-lisp")
|
||||
"--sharedbde=yes"
|
||||
"--sharedcompiler=yes"
|
||||
"--disable-patch"))))
|
||||
(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")))
|
||||
(invoke "make" "-C" "bmacs" "all" "install"
|
||||
(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)
|
||||
("pcre" ,pcre)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("gmp" ,gmp))) ; bigloo.h refers to gmp.h
|
||||
(home-page "http://www-sop.inria.fr/indes/fp/Bigloo/")
|
||||
(synopsis "Efficient Scheme compiler")
|
||||
(description
|
||||
"Bigloo is a Scheme implementation devoted to one goal: enabling
|
||||
Scheme based programming style where C(++) is usually
|
||||
required. Bigloo attempts to make Scheme practical by offering
|
||||
features usually presented by traditional programming languages
|
||||
but not offered by Scheme and functional programming. Bigloo
|
||||
compiles Scheme modules. It delivers small and fast stand alone
|
||||
binary executables. Bigloo enables full connections between
|
||||
Scheme and C programs and between Scheme and Java programs.")
|
||||
(license gpl2+)))
|
||||
;; Optional APIs for which Bigloo has bindings.
|
||||
("avahi" ,avahi)
|
||||
("libphidget" ,libphidget)
|
||||
("pcre" ,pcre)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("gmp" ,gmp))) ; bigloo.h refers to gmp.h
|
||||
(home-page "http://www-sop.inria.fr/indes/fp/Bigloo/")
|
||||
(synopsis "Efficient Scheme compiler")
|
||||
(description
|
||||
"Bigloo is a Scheme implementation devoted to one goal: enabling Scheme
|
||||
based programming style where C(++) is usually required. Bigloo attempts to
|
||||
make Scheme practical by offering features usually presented by traditional
|
||||
programming languages but not offered by Scheme and functional programming.
|
||||
Bigloo compiles Scheme modules. It delivers small and fast stand alone binary
|
||||
executables. Bigloo enables full connections between Scheme and C programs
|
||||
and between Scheme and Java programs.")
|
||||
(license gpl2+))))
|
||||
|
||||
(define-public hop
|
||||
(package
|
||||
|
|
Loading…
Reference in New Issue