summaryrefslogtreecommitdiff
path: root/gnu/packages/scheme.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/scheme.scm')
-rw-r--r--gnu/packages/scheme.scm93
1 files changed, 52 insertions, 41 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index dae00732af..161138285e 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -35,10 +35,14 @@
#: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 @@ features an integrated Emacs-like editor and a large runtime library.")
(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 @@ features an integrated Emacs-like editor and a large runtime library.")
(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
@@ -285,21 +288,23 @@ Scheme and C programs and between Scheme and Java programs.")
(define-public hop
(package
(name "hop")
- (version "2.5.1")
+ (version "3.1.0-pre2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-"
version ".tar.gz"))
(sha256
(base32
- "1bvp7pc71bln5yvfj87s8750c6l53wjl6f8m12v62q9926adhwys"))
- (patches (search-patches "hop-linker-flags.patch"))))
+ "09m7pahjsp7wxzd20cdph9j3mgf2nq5dyckcjljcd40m25v85kks"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:test-target "test"
+ #:make-flags '("BIGLOO=bigloo")
+ #:parallel-build? #f
+ #:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero?
(system* "./configure"
@@ -307,11 +312,16 @@ Scheme and C programs and between Scheme and Java programs.")
(string-append "--blflags="
;; user flags completely override useful
;; default flags, so repeat them here.
- "-copt \\$(CPICFLAGS) -L\\$(BUILDLIBDIR) "
- "-ldopt -Wl,-rpath," out "/lib")))))))
- #:tests? #f)) ; no test suite
+ "-copt \\$(CPICFLAGS) "
+ "-L \\$(BUILDLIBDIR) "
+ "-ldopt -Wl,-rpath," out "/lib")))))))))
(inputs `(("avahi" ,avahi)
("bigloo" ,bigloo)
+ ("libgc" ,libgc)
+ ("libunistring" ,libunistring)
+ ("libuv" ,libuv)
+ ("pcre" ,pcre)
+ ("sqlite" ,sqlite)
("which" ,which)))
(home-page "http://hop.inria.fr/")
(synopsis "Multi-tier programming language for the Web 2.0")
@@ -335,7 +345,8 @@ mashups, office (web agendas, mail clients, ...), etc.")
(base32
"12b9gaa9lqh39lj1v4wm48f6z8ww3jdkvc5bh9gqqvn6kd2wwnk0"))
(patches
- (search-patches "chicken-CVE-2017-6949.patch"))))
+ (search-patches "chicken-CVE-2017-6949.patch"
+ "chicken-CVE-2017-11343.patch"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)