gnu: ecl: Run tests conditionally and please lint.

* gnu/packages/lisp.scm (ecl)[source]: Adjust origin URL.
[inputs]: Add bash-minimal.
[arguments]: Move the comment about failing tests above the deleted check
phase.
[tests?]: Do not explicitly set to #t.
[phases]: Delete trailing #t.
[home-page]: Update.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Maxime Devos 2022-03-04 13:01:10 +00:00 committed by Maxim Cournoyer
parent 4b5b3b8eb2
commit 1879d6d810
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -251,7 +251,7 @@ interface to the Tk widget system.")
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://common-lisp.net/project/ecl/static/files/release/" "https://ecl.common-lisp.dev/static/files/release/"
name "-" version ".tgz")) name "-" version ".tgz"))
(sha256 (sha256
(base32 "000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi")))) (base32 "000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi"))))
@ -259,6 +259,7 @@ interface to the Tk widget system.")
;; src/configure uses 'which' to confirm the existence of 'gzip'. ;; src/configure uses 'which' to confirm the existence of 'gzip'.
(native-inputs (native-inputs
(list cl-asdf which texinfo)) (list cl-asdf which texinfo))
(inputs (list bash-minimal))
;; When ECL is embedded in a program that wants to use Common Lisp as an ;; When ECL is embedded in a program that wants to use Common Lisp as an
;; extension language, libgmp, libatomic-ops, libgc and libffi must be ;; extension language, libgmp, libatomic-ops, libgc and libffi must be
;; present when compiling the program because they are required by ECL's ;; present when compiling the program because they are required by ECL's
@ -269,12 +270,11 @@ interface to the Tk widget system.")
(list gmp libatomic-ops libgc libffi)) (list gmp libatomic-ops libgc libffi))
(arguments (arguments
`(#:configure-flags '("--without-rt") `(#:configure-flags '("--without-rt")
;; FIXME: As of version 20.4.24, we pass 17995 tests and fail 7.
;; 2-3 tests may be due to FHS assumptions.
#:tests? #t
#:parallel-tests? #f #:parallel-tests? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; FIXME: As of version 20.4.24, we pass 17995 tests and fail 7.
;; 2-3 tests may be due to FHS assumptions.
(delete 'check) (delete 'check)
(add-after 'unpack 'replace-asdf (add-after 'unpack 'replace-asdf
;; Use system ASDF instead of bundled one. ;; Use system ASDF instead of bundled one.
@ -284,13 +284,11 @@ interface to the Tk widget system.")
cl-asdf cl-asdf
"/share/common-lisp/source/asdf/asdf.lisp")) "/share/common-lisp/source/asdf/asdf.lisp"))
(contrib-asdf "contrib/asdf/asdf.lisp")) (contrib-asdf "contrib/asdf/asdf.lisp"))
(copy-file guix-asdf contrib-asdf)) (copy-file guix-asdf contrib-asdf))))
#t))
(add-after 'install 'remove-build-stamp (add-after 'install 'remove-build-stamp
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(delete-file (string-append (assoc-ref outputs "out") (delete-file (string-append (assoc-ref outputs "out")
"/lib/ecl-" ,version "/build-stamp")) "/lib/ecl-" ,version "/build-stamp"))))
#t))
(add-after 'remove-build-stamp 'wrap (add-after 'remove-build-stamp 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((ecl (assoc-ref outputs "out")) (let* ((ecl (assoc-ref outputs "out"))
@ -313,14 +311,12 @@ interface to the Tk widget system.")
(input-path lib "/include")) (input-path lib "/include"))
`("kernel-headers" ,@libraries))) `("kernel-headers" ,@libraries)))
`("LIBRARY_PATH" suffix ,library-directories) `("LIBRARY_PATH" suffix ,library-directories)
`("LD_LIBRARY_PATH" suffix ,library-directories)) `("LD_LIBRARY_PATH" suffix ,library-directories)))))
#t)))
(add-after 'wrap 'check (assoc-ref %standard-phases 'check)) (add-after 'wrap 'check (assoc-ref %standard-phases 'check))
(add-before 'check 'fix-path-to-ecl (add-before 'check 'fix-path-to-ecl
(lambda _ (lambda _
(substitute* "build/tests/Makefile" (substitute* "build/tests/Makefile"
(("\\$\\{exec_prefix\\}/") "")) (("\\$\\{exec_prefix\\}/") "")))))))
#t)))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "XDG_DATA_DIRS") (variable "XDG_DATA_DIRS")
@ -328,7 +324,7 @@ interface to the Tk widget system.")
(search-path-specification (search-path-specification
(variable "XDG_CONFIG_DIRS") (variable "XDG_CONFIG_DIRS")
(files '("etc"))))) (files '("etc")))))
(home-page "http://ecls.sourceforge.net/") (home-page "https://ecl.common-lisp.dev/")
(synopsis "Embeddable Common Lisp") (synopsis "Embeddable Common Lisp")
(description "ECL is an implementation of the Common Lisp language as (description "ECL is an implementation of the Common Lisp language as
defined by the ANSI X3J13 specification. Its most relevant features are: a defined by the ANSI X3J13 specification. Its most relevant features are: a