mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 23:46:13 -05:00
gnu: gap: Update to 4.11.0.
* gnu/packages/algebra.scm (gap)[source]: Update to 4.11.0. Identify kept packages by name prefix, dropping version number comparisons. [inputs]: Add readline. [arguments]: Use make targets instead of file copying where possible.
This commit is contained in:
parent
6d6e74ea98
commit
42ed53173e
1 changed files with 42 additions and 72 deletions
|
@ -1118,17 +1118,17 @@ (define-public xtensor
|
||||||
(define-public gap
|
(define-public gap
|
||||||
(package
|
(package
|
||||||
(name "gap")
|
(name "gap")
|
||||||
(version "4.10.2")
|
(version "4.11.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.gap-system.org/pub/gap/gap-"
|
(uri (string-append "https://files.gap-system.org/gap-"
|
||||||
(version-major+minor version)
|
(version-major+minor version)
|
||||||
"/tar.bz2/gap-"
|
"/tar.bz2/gap-"
|
||||||
version
|
version
|
||||||
".tar.bz2"))
|
".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"))
|
(base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
|
||||||
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
|
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
@ -1140,41 +1140,46 @@ (define-public gap
|
||||||
;; 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
|
||||||
(delete-file "tst/testinstall/dir.tst")
|
(delete-file "tst/testinstall/dir.tst")
|
||||||
;; Delete all packages except for a fixed list.
|
;; Delete all packages except for a fixed list,
|
||||||
|
;; given by their names up to version numbers.
|
||||||
(with-directory-excursion "pkg"
|
(with-directory-excursion "pkg"
|
||||||
(for-each delete-file-recursively
|
(for-each delete-file-recursively
|
||||||
(lset-difference string=? (scandir ".")
|
(lset-difference
|
||||||
|
(lambda (all keep) (string-prefix? keep all))
|
||||||
|
(scandir ".")
|
||||||
'("." ".."
|
'("." ".."
|
||||||
;; Necessary packages.
|
;; Necessary packages.
|
||||||
"GAPDoc-1.6.2"
|
"GAPDoc-"
|
||||||
"primgrp-3.3.2"
|
"primgrp-"
|
||||||
"SmallGrp-1.3" ; 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
|
||||||
;; Recommanded package.
|
;; Recommended package.
|
||||||
"io-4.5.4" ; gpl3+
|
"io-" ; gpl3+
|
||||||
;; Optional packages, searched for at start,
|
;; Optional packages, searched for at start,
|
||||||
;; and their depedencies.
|
;; and their depedencies.
|
||||||
"alnuth-3.1.0"
|
"alnuth-"
|
||||||
"autpgrp-1.10"
|
"autpgrp-"
|
||||||
"crisp-1.4.4" ; bsd-2
|
"crisp-" ; bsd-2
|
||||||
"ctbllib" ; gpl3+ according to doc/chap0.txt
|
"ctbllib" ; gpl3+, clarified in the next release;
|
||||||
"FactInt-1.6.2"
|
; see
|
||||||
|
; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
|
||||||
|
"FactInt-"
|
||||||
"fga"
|
"fga"
|
||||||
"irredsol-1.4" ; bsd-2
|
"irredsol-" ; bsd-2
|
||||||
"laguna-3.9.2"
|
"laguna-"
|
||||||
"polenta-1.3.8"
|
"polenta-"
|
||||||
"polycyclic-2.14"
|
"polycyclic-"
|
||||||
"radiroot-2.8"
|
"radiroot-"
|
||||||
"resclasses-4.7.1"
|
"resclasses-"
|
||||||
"sophus-1.24"
|
"sophus-"
|
||||||
"tomlib-1.2.7" ; gpl2+, clarified in the git repository
|
"tomlib-"
|
||||||
; and the next release
|
"utils-"))))
|
||||||
"utils-0.59"))))
|
|
||||||
#t))))
|
#t))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("gmp" ,gmp)
|
`(("gmp" ,gmp)
|
||||||
|
("readline" ,readline)
|
||||||
("zlib" ,zlib)))
|
("zlib" ,zlib)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((ice-9 ftw)
|
`(#:modules ((ice-9 ftw)
|
||||||
|
@ -1201,15 +1206,14 @@ (define-public gap
|
||||||
(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"))
|
(bin (string-append out "/bin"))
|
||||||
(lib (string-append out "/lib"))
|
|
||||||
(prog (string-append bin "/gap"))
|
(prog (string-append bin "/gap"))
|
||||||
(prog-real (string-append bin "/.gap-real"))
|
(prog-real (string-append bin "/.gap-real"))
|
||||||
(share (string-append out "/share/gap"))
|
(share (string-append out "/share/gap")))
|
||||||
(include (string-append out "/include/gap"))
|
|
||||||
(include-hpc (string-append include "/hpc")))
|
|
||||||
;; Install only the gap binary; the gac compiler is left
|
;; Install only the gap binary; the gac compiler is left
|
||||||
;; for maybe later. "Wrap" it in a shell script that calls
|
;; for maybe later. "Wrap" it in a shell script that calls
|
||||||
;; the binary with the correct parameter.
|
;; the binary with the correct parameter.
|
||||||
|
;; The make target install-bin is supposed to do that, but
|
||||||
|
;; is not currently working.
|
||||||
(mkdir-p bin)
|
(mkdir-p bin)
|
||||||
(copy-file "gap" prog-real)
|
(copy-file "gap" prog-real)
|
||||||
(call-with-output-file prog
|
(call-with-output-file prog
|
||||||
|
@ -1220,52 +1224,18 @@ (define-public gap
|
||||||
prog-real
|
prog-real
|
||||||
share)))
|
share)))
|
||||||
(chmod prog #o755)
|
(chmod prog #o755)
|
||||||
;; Install the headers, which are needed by Sage. The
|
;; Install the headers and library, which are needed by Sage.
|
||||||
;; Makefile target "install-headers" was available in
|
(invoke "make" "install-headers")
|
||||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
(invoke "make" "install-libgap")
|
||||||
(mkdir-p include-hpc)
|
|
||||||
(install-file "gen/config.h" include)
|
|
||||||
(let ((file-name-predicate-without-stat
|
|
||||||
(lambda (regex)
|
|
||||||
(cut (file-name-predicate regex) <> #f))))
|
|
||||||
(with-directory-excursion "src"
|
|
||||||
(for-each
|
|
||||||
(cut install-file <> include)
|
|
||||||
(scandir "."
|
|
||||||
(file-name-predicate-without-stat ".*\\.h$"))))
|
|
||||||
(with-directory-excursion "src/hpc"
|
|
||||||
(for-each
|
|
||||||
(cut install-file <> include-hpc)
|
|
||||||
(scandir "."
|
|
||||||
(file-name-predicate-without-stat ".*\\.h$")))))
|
|
||||||
;; Install the library, which is needed by Sage. The
|
|
||||||
;; Makefile target "install-libgap" was available in
|
|
||||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
|
||||||
;; Compared to the Makefile, which used libtool, the
|
|
||||||
;; following approach of copying files and making symlinks
|
|
||||||
;; is rather pedestrian. There is hope that some later
|
|
||||||
;; version of gap reinstates and completes the install
|
|
||||||
;; targets.
|
|
||||||
(invoke "make" "libgap.la")
|
|
||||||
(install-file "libgap.la" lib)
|
|
||||||
(install-file ".libs/libgap.so.0.0.0" lib)
|
|
||||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so"))
|
|
||||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so.0"))
|
|
||||||
;; Install a certain number of files and directories to
|
|
||||||
;; SHARE, where the wrapped shell script expects them.
|
|
||||||
;; Remove information on the build directory from sysinfo.gap.
|
;; Remove information on the build directory from sysinfo.gap.
|
||||||
(substitute* "sysinfo.gap"
|
(substitute* "sysinfo.gap"
|
||||||
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
|
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
|
||||||
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
|
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
|
||||||
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
|
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
|
||||||
(install-file "sysinfo.gap" share)
|
(invoke "make" "install-gaproot")
|
||||||
(copy-recursively "grp" (string-append share "/grp"))
|
;; Copy the directory of compiled packages; the make target
|
||||||
(copy-recursively "pkg" (string-append share "/pkg"))
|
;; install-pkg is currently empty.
|
||||||
;; The following is not the C library libgap.so, but a
|
(copy-recursively "pkg" (string-append share "/pkg")))
|
||||||
;; library of GAP code.
|
|
||||||
(copy-recursively "lib" (string-append share "/lib"))
|
|
||||||
;; The gap binary looks for documentation inside SHARE.
|
|
||||||
(copy-recursively "doc" (string-append share "/doc")))
|
|
||||||
#t)))))
|
#t)))))
|
||||||
(home-page "https://www.gap-system.org/")
|
(home-page "https://www.gap-system.org/")
|
||||||
(synopsis
|
(synopsis
|
||||||
|
|
Loading…
Reference in a new issue