gnu: gcl: Update to 2.6.14.

* gnu/packages/lisp.scm (gcl): Update to 2.6.14.
This commit is contained in:
Guillaume Le Vaillant 2023-03-02 15:00:09 +01:00
parent dfc5d6628f
commit d5e41d7166
No known key found for this signature in database
GPG key ID: 6BE8208ADF21FE3F

View file

@ -139,25 +139,27 @@ Definition Facility.")
(license license:expat)))
(define-public gcl
(let ((commit "ff7ef981765cc0efdb4b1db27c292f5c11a72753")
(revision "3")) ;Guix package revision
(package
(name "gcl")
(version (git-version "2.6.12" revision commit))
(version "2.6.14")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/r/gcl.git")
(commit commit)))
(commit (string-append "Version_"
(string-map (lambda (c)
(if (char=? c #\.) #\_ c))
version)))))
(file-name (git-file-name name version))
(sha256
(base32 "0z64fxxcaial2i1s1hms8r095dm1ff3wd8ivwdx894a3yln9c0an"))))
(base32 "1b9m02rfnyflsr8n57v7llxz5m3mi7ip3ypwdww4pdhbgh0lzyg7"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
(list
#:parallel-build? #f ; The build system seems not to be thread safe.
#:test-target "ansi-tests/test_results"
#:configure-flags ,#~(list
#:configure-flags #~(list
"--enable-ansi" ; required by the maxima package
(string-append "CFLAGS=-I"
#$(this-package-input "libtirpc")
@ -166,11 +168,11 @@ Definition Facility.")
#$(this-package-input "libtirpc")
"/lib")
"LIBS=-ltirpc")
#:make-flags ,#~(let ((gcc (search-input-file %build-inputs "/bin/gcc")))
#:make-flags #~(let ((gcc (search-input-file %build-inputs "/bin/gcc")))
(list (string-append "GCL_CC=" gcc)
(string-append "CC=" gcc)))
#:phases
(modify-phases %standard-phases
#~(modify-phases %standard-phases
(add-after 'unpack 'realpath-workaround
;; Calls to the realpath function can set errno even if the return
;; value of the function indicates that there is no error, which
@ -179,6 +181,13 @@ Definition Facility.")
(substitute* "gcl/o/main.c"
(("massert\\(realpath\\(s,o\\)\\);" all)
"massert((realpath(s, o) != NULL) && ((errno = 0) == 0));"))))
(add-after 'unpack 'fix-missing-enum
(lambda _
;; The 'disassembler_style' enum is not defined anywhere,
;; and the parameter is not used...
(substitute* "gcl/o/main.c"
(("my_fprintf_styled\\(void \\*v,enum disassembler_style,")
"my_fprintf_styled(void *v,int disassembler_style,"))))
(add-after 'unpack 'fix-makefile
;; The "final" target doesn't exist.
(lambda _
@ -216,11 +225,10 @@ Definition Facility.")
(("\\(or \\(get-path \\*ld\\*\\) \\*ld\\*\\)") "*ld*")
(("\\(get-path \"objdump --source \"\\)")
(string-append "\"" (assoc-ref %build-inputs "binutils")
"/bin/objdump --source \"")))
#t))
"/bin/objdump --source \"")))))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcl (assoc-ref outputs "out"))
(let* ((gcl #$output)
(input-path (lambda (lib path)
(string-append
(assoc-ref inputs lib) path)))
@ -233,8 +241,7 @@ Definition Facility.")
(wrap-program (string-append gcl "/bin/gcl")
`("PATH" prefix ,(map (lambda (binary)
(input-path binary "/bin"))
binaries))))
#t))
binaries))))))
;; drop strip phase to make maxima build, see
;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html
(delete 'strip))))
@ -249,7 +256,7 @@ features the ability to compile to native object code and to load native
object code modules directly into its lisp core. It also features a
stratified garbage collection strategy, a source-level debugger and a built-in
interface to the Tk widget system.")
(license license:lgpl2.0+))))
(license license:lgpl2.0+)))
(define-public ecl
(package