gnu: gap: Update to 4.12.2.

* gnu/packages/algebra.scm (gap): Update to 4.12.2.
[snippet]: Delete only bundled libraries inside hpcgap instead of the
complete subdirectory. Update package names and add new packages.
[arguments]: Use "make install" and a phase to install packages.
This commit is contained in:
Andreas Enge 2023-03-03 17:33:57 +01:00
parent 9584b1daa6
commit 1ed227d795
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -1257,7 +1257,7 @@ xtensor provides:
(define-public gap (define-public gap
(package (package
(name "gap") (name "gap")
(version "4.11.1") (version "4.12.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1267,14 +1267,13 @@ xtensor provides:
version version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 "01535s81h254zcs84zi95xqmhvvn6fn9qss8761myxc2gpdcadb6")) (base32 "1a47slldnjq6mib69k3g8lqw6nyxdrwdd3gfjhj252mpbrs0h8v7"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet (snippet
'(begin '(begin
;; Delete the external gmp and zlib libraries ;; Delete bundled external libraries.
;; and a subdirectory not needed for our build.
(for-each delete-file-recursively (for-each delete-file-recursively
'("extern" "hpcgap")) '("extern" "hpcgap/extern"))
;; Delete a failing test. ;; Delete a failing test.
;; FIXME: This might be fixed in the next release, see ;; FIXME: This might be fixed in the next release, see
;; https://github.com/gap-system/gap/issues/3292 ;; https://github.com/gap-system/gap/issues/3292
@ -1288,47 +1287,69 @@ xtensor provides:
(scandir ".") (scandir ".")
'("." ".." '("." ".."
;; Necessary packages. ;; Necessary packages.
"GAPDoc-" "gapdoc"
"primgrp-" "primgrp"
"SmallGrp-" ; artistic2.0 "smallgrp" ; artistic2.0
"transgrp" ; artistic2.0 for data, "transgrp" ; artistic2.0 for data,
; gpl2 or gpl3 for code ; gpl2 or gpl3 for code
;; Optional packages. ;; Optional packages.
"alnuth-" "4ti2interface"
"AutoDoc-" "alnuth"
"automata-" "autodoc"
"autpgrp-" "automata"
"crime-" "autpgrp"
"crisp-" ; bsd-2 "cap"
"crime"
"crisp" ; bsd-2
"ctbllib" ; gpl3+ "ctbllib" ; gpl3+
"datastructures" "datastructures"
"FactInt-" "examplesforhomalg"
"factint"
"fga" "fga"
"format" "format"
"groupoids-" "gauss"
"gaussforhomalg"
"generalizedmorphismsforcap"
"gradedmodules"
"gradedringforhomalg"
"groupoids"
"guarana" "guarana"
"idrel-" "homalg"
"images-" ; mpl2.0 "homalgtocas"
"IntPic-" "idrel"
"io-" ; gpl3+ "images" ; mpl2.0
"irredsol-" ; bsd-2 "intpic"
"laguna-" "io" ; gpl3+
"liering-" "ioforhomalg"
"MapClass-" "irredsol" ; bsd-2
"nilmat-" "laguna"
"NumericalSgps-" "liering"
"OpenMath-" "linearalgebraforcap"
"orb-" ; gpl3+ "localizeringforhomalg"
"polenta-" "mapclass"
"polycyclic-" "matricesforhomalg"
"radiroot-" "modulepresentationsforcap"
"repsn-" "modules"
"resclasses-" "monoidalcategories"
"nconvex"
"nilmat"
"numericalsgps"
"openmath"
"orb" ; gpl3+
"polenta"
"polycyclic"
"radiroot"
"recog" ; gpl3+
"repsn"
"resclasses"
"ringsforhomalg"
"sco"
"simpcomp" "simpcomp"
"sophus-" "sophus"
"tomlib-" "tomlib"
"unipot-" "toolsforhomalg"
"utils-")))))))) "unipot"
"utils"))))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list gmp readline zlib)) (list gmp readline zlib))
@ -1351,41 +1372,10 @@ xtensor provides:
(lambda _ (lambda _
(with-directory-excursion "doc" (with-directory-excursion "doc"
(invoke "./make_doc")))) (invoke "./make_doc"))))
(replace 'install (add-after 'install 'install-packages
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(prog (string-append bin "/gap"))
(prog-real (string-append bin "/.gap-real"))
(share (string-append out "/share/gap"))) (share (string-append out "/share/gap")))
;; Install only the gap binary; the gac compiler is left
;; for maybe later. "Wrap" it in a shell script that calls
;; the binary with the correct parameter.
;; The make target install-bin is supposed to do that, but
;; is not currently working.
(mkdir-p bin)
(copy-file "gap" prog-real)
(call-with-output-file prog
(lambda (port)
(format port
"#!~a~%exec ~a -l ~a \"$@\"~%"
(which "bash")
prog-real
share)))
(chmod prog #o755)
;; Install the headers and library, which are needed by Sage.
(invoke "make" "install-headers")
(install-file "gen/config.h"
(string-append out "/include/gap"))
(invoke "make" "install-libgap")
;; Remove information on the build directory from sysinfo.gap.
(substitute* "sysinfo.gap"
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
(invoke "make" "install-gaproot")
;; Copy the directory of compiled packages; the make target
;; install-pkg is currently empty.
(copy-recursively "pkg" (string-append share "/pkg")))))))) (copy-recursively "pkg" (string-append share "/pkg"))))))))
(home-page "https://www.gap-system.org/") (home-page "https://www.gap-system.org/")
(synopsis (synopsis