gnu: bigloo: Update to "4.3b2".

Fixes <https://bugs.gnu.org/33525>.

* gnu/packages/scheme.scm (bigloo): Update to "4.3b2".
master
Ludovic Courtès 2018-11-28 22:55:12 +01:00
parent 13bcc6b45f
commit 1fe1bb96f2
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 93 additions and 89 deletions

View File

@ -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