From 61e17e2f0dfd6f6ce224bfea63a1e173fed851a1 Mon Sep 17 00:00:00 2001 From: Jake Leporte Date: Mon, 6 Mar 2023 06:47:59 -0600 Subject: gnu: Add dozenal. * gnu/packages/maths.scm (dozenal): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/maths.scm | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 238352f278..1853c77a14 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -59,6 +59,7 @@ ;;; Copyright © 2022 Maximilian Heisinger ;;; Copyright © 2022 Akira Kyle ;;; Copyright © 2022 Roman Scherer +;;; Copyright © 2023 Jake Leporte ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +106,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -127,6 +129,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) + #:use-module (gnu packages groff) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) @@ -176,6 +179,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -459,6 +463,101 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) +(define-public dozenal + ;; There is no recent release, so use the latest commit. + (let ((revision "1") + (commit "328bc03ad544179f2cccda36763358c4216f188e")) + (package + (name "dozenal") + (version (git-version "12010904-3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/dgoodmaniii/dozenal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0knwfwjqdv854l5ny7csdpvp7r0md6a2k43a1l2lkyw9k3cglpph")))) + (build-system gnu-build-system) + (arguments + (list + ;; Some test scripts are included, but no makefile-driven + ;; tests, and they are all quite manual to run and check. + #:tests? #f + ;; Running with `make -j' causes the build to fail. This is likely + ;; because this project uses the "recursive make" structure, where + ;; each subdirectory contains its own make file, which is called by + ;; the top-level makefile. + #:parallel-build? #f + #:make-flags + #~(list (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "dozenal"))) + (add-after 'chdir 'patch-lua-references + (lambda _ + (let ((lua-name (strip-store-file-name + #$(this-package-input "lua")))) + (substitute* '("dozcal/Makefile" + "dozlua/Makefile") + (("lua52") + (string-take lua-name + (string-rindex lua-name #\.))))))) + (delete 'configure) + (add-before 'install 'make-bin-dir + (lambda _ + (mkdir-p (string-append #$output "/bin")))) + (add-after 'install 'install-html-docs + (lambda _ + (invoke "make" + (string-append "prefix=" #$output) + "installhtml"))) + (add-after 'install-html-docs 'split-outputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each + (lambda (prog) + (let ((orig (string-append #$output "/bin/" prog)) + (dst (string-append #$output:gui "/bin/" prog)) + (man-orig (string-append #$output + "/share/man/man1/" + prog ".1")) + (man-dst (string-append #$output:gui + "/share/man/man1/" + prog ".1"))) + (mkdir-p (dirname dst)) + (rename-file orig dst) + (mkdir-p (dirname man-dst)) + (rename-file man-orig man-dst))) + '("xdozdc" "gdozdc")) + (wrap-program (string-append #$output:gui "/bin/" "gdozdc") + `("PATH" = (,(string-append #$output "/bin"))) + `("PERL5LIB" = (,(getenv "PERL5LIB"))))))))) + (outputs '("out" "gui")) + (native-inputs (list groff pkg-config)) + (inputs (list bash-minimal ;for wrap-program + libhdate + lua + ncurses + perl + perl-tk + perl-par + xforms)) + (synopsis "Suite of dozenal programs") + (description + "The dozenal suite is a set of programs designed to assist with working +in the dozenal (also called \"duodecimal\" or \"base twelve\") system. It +includes number converters (dozenal-to-decimal and decimal-to-dozenal), an RPN +calculator, a graphical calculator, a metric system converter (works with +imperial, U.S. customary, SI metric, and the dozenal TGM), a pretty-printer +for dozenal numbers, a date-and-time program, and a dozenal calendar programs, +complete with events and to-dos.") + (home-page "https://codeberg.org/dgoodmaniii/dozenal") + (license license:gpl3+)))) + (define-public dsfmt (package (name "dsfmt") -- cgit 1.4.1 From c494ef1abb6adff5a168b9b3460c1dfdf3000af7 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 14:12:20 +0000 Subject: gnu: octave: Update to 8.1.0. * gnu/packages/maths.scm (octave): Update to 8.1.0. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1853c77a14..1492753223 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3041,7 +3041,7 @@ can solve two kinds of problems: (define-public octave-cli (package (name "octave-cli") - (version "7.3.0") + (version "8.1.0") (source (origin (method url-fetch) @@ -3049,7 +3049,7 @@ can solve two kinds of problems: version ".tar.xz")) (sha256 (base32 - "1wap9p9imxxqpnm27rxcvpjahk1wg440lzlygjb6iyncxdmfw255")))) + "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) -- cgit 1.4.1 From 28f046eadc041ed17ae5c063a7f24b9bdb85290e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Mar 2023 23:08:31 -0400 Subject: gnu: octave: Remove input labels. * gnu/packages/maths.scm (octave-cli) [source]: Fix indentation. [inputs]: Remove labels. [arguments]: Delete trailing #t. --- gnu/packages/maths.scm | 73 +++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1492753223..93afc6ed40 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3044,44 +3044,44 @@ can solve two kinds of problems: (version "8.1.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/octave/octave-" - version ".tar.xz")) - (sha256 - (base32 - "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) + (method url-fetch) + (uri (string-append "mirror://gnu/octave/octave-" + version ".tar.xz")) + (sha256 + (base32 + "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) (build-system gnu-build-system) (inputs - `(("alsa-lib" ,alsa-lib) - ("arpack" ,arpack-ng) - ("bdb" ,bdb) - ("curl" ,curl) - ("fftw" ,fftw) - ("fftwf" ,fftwf) - ("fltk" ,fltk) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("gl2ps" ,gl2ps) - ("glpk" ,glpk) - ("glu" ,glu) - ("graphicsmagick" ,graphicsmagick) - - ;; TODO: libjpeg-turbo is indirectly required through libtiff. In - ;; the next rebuild cycle, add an absolute reference for -ljpeg in - ;; libtiff.la instead of having to provide it here. - ("libjpeg" ,libjpeg-turbo) + (list alsa-lib + arpack-ng + bdb + curl + fftw + fftwf + fltk + fontconfig + freetype + gl2ps + glpk + glu + graphicsmagick - ("hdf5" ,hdf5) - ("lapack" ,lapack) - ("libsndfile" ,libsndfile) - ("libxft" ,libxft) - ("mesa" ,mesa) - ("pcre" ,pcre) - ("portaudio" ,portaudio) - ("qhull" ,qhull) - ("readline" ,readline) - ("suitesparse" ,suitesparse) - ("zlib" ,zlib))) + ;; TODO: libjpeg-turbo is indirectly required through libtiff. In + ;; the next rebuild cycle, add an absolute reference for -ljpeg in + ;; libtiff.la instead of having to provide it here. + libjpeg-turbo + + hdf5 + lapack + libsndfile + libxft + mesa + pcre + portaudio + qhull + readline + suitesparse + zlib)) (native-inputs (list gfortran pkg-config @@ -3121,8 +3121,7 @@ can solve two kinds of problems: (substitute* "libinterp/corefcn/help.h" (("\"makeinfo\"") (string-append - "\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\""))) - #t))))) + "\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\"")))))))) (home-page "https://www.gnu.org/software/octave/") (synopsis "High-level language for numerical computation (no GUI)") (description "GNU Octave is a high-level interpreted language that is -- cgit 1.4.1 From 8d5a4fe1460c7d628ec2854834dcfbef7784e30e Mon Sep 17 00:00:00 2001 From: Philippe SWARTVAGHER Date: Fri, 3 Mar 2023 21:44:26 +0100 Subject: gnu: gnuplot: Update to 5.4.6. * gnu/packages/maths.scm (gnuplot): Update to 5.4.6. Signed-off-by: Christopher Baines --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 93afc6ed40..95bd5a6578 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1235,14 +1235,14 @@ in the terminal or with an external viewer.") (define-public gnuplot (package (name "gnuplot") - (version "5.4.4") + (version "5.4.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" version "/gnuplot-" version ".tar.gz")) (sha256 - (base32 "00h97y8njhvfjbdvc0njw0znxbrlfynd1iazn8w3anvzhsvh08rp")))) + (base32 "06bly8cpqjdf744jg7yrgba9rdcm3gl4zf63y3c69v80ha8jgz02")))) (build-system gnu-build-system) (native-inputs (list pkg-config texlive-tiny)) -- cgit 1.4.1 From f4d7b901db90b029a5d6a1f54699d3ab04ada2af Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 25 Mar 2023 15:15:20 +0100 Subject: gnu: matio: Add header file. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (matio): [arguments] (phases): Add phase install-matioConfig.h. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 95bd5a6578..bb88873a0d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -6056,6 +6056,14 @@ structured and unstructured grid problems."))) (base32 "0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4")))) (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'install-matioConfig.h + (lambda _ + (install-file "src/matioConfig.h" + (string-append #$output "/include"))))))) (inputs (list zlib hdf5-1.8)) (home-page "http://matio.sourceforge.net/") -- cgit 1.4.1 From 13b2d110eec89f856964dce0a66783fbd824c4a4 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 25 Mar 2023 15:15:21 +0100 Subject: gnu: Add suitesparse-3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (suitesparse-3): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index bb88873a0d..22464ea3d1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5202,6 +5202,95 @@ packages.") ;; GPUQREngine, RBio, SuiteSparse_GPURuntime, SuiteSparseQR, UMFPACK (license (list license:gpl2+ license:lgpl2.1+)))) + +;; This outdated version is used to build the scilab package. +(define-public suitesparse-3 + (package + (inherit suitesparse) + (name "suitesparse") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DrTimothyAldenDavis/SuiteSparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wxk755nzps0c9la24zqknqkzjp6rcj5q9jhd973mff1pqja3clz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no "check" target + #:make-flags + ,#~(list + (string-append "CC=gcc") + "AR=gcc -shared -o" + "RANLIB=touch" + "CFLAGS=-O3 -fPIC -I../Include" + "TBB=-ltbb" + + ;; Disable metis@4 (nonfree) support. + "CHOLMOD_CONFIG=-DNPARTITION" + "METIS=" + "METIS_PATH=" + + ;; The default is to link against netlib lapack. Use OpenBLAS + ;; instead. + "BLAS=-lopenblas" "LAPACK=-lopenblas" + + (string-append "INSTALL_LIB=" + (assoc-ref %outputs "out") "/lib") + (string-append "INSTALL_INCLUDE=" + (assoc-ref %outputs "out") "/include") + "library") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'correct-build-configuration + (lambda _ + ;; Invert build order: CHOLMOD before KLU. + (substitute* "Makefile" + (("\t\\( cd CHOLMOD ; \\$\\(MAKE\\) \\)\n$") + "") + (("\\( cd KLU ; \\$\\(MAKE\\) \\)") + (string-append "( cd CHOLMOD ; $(MAKE) )\n\t" + "( cd KLU ; $(MAKE) )"))) + ;; Build shared libraries. + (substitute* (find-files "." "akefile$") + (("lib([a-z]+)\\.a" all libname) + (string-append "lib" libname ".so"))) + ;; Delete broken KLU Demo step. + (substitute* "KLU/Makefile" + (("\\( cd Demo ; \\$\\(MAKE\\) \\)") + "")))) + (replace 'install + (lambda _ + ;; Install libraries. + (for-each + (lambda (x) + (install-file + x + (string-append (assoc-ref %outputs "out") "/lib"))) + (find-files "." "\\.so$")) + ;; Install header files. + (for-each + (lambda (x) + (install-file + x + (string-append (assoc-ref %outputs "out") "/include"))) + (find-files "." "\\.h$")))) + ,@(if (target-riscv64?) + ;; GraphBLAS FTBFS on riscv64-linux + `((add-after 'unpack 'skip-graphblas + (lambda _ + (substitute* "Makefile" + ((".*cd GraphBLAS.*") "") + (("metisinstall gbinstall moninstall") + "moninstall"))))) + '()) + (delete 'configure)))) ;no configure script + (inputs + (list tbb openblas gmp mpfr)))) + (define-public atlas (package (name "atlas") -- cgit 1.4.1 From 1984d56b0e437af7be7fa6cf8e1a00e45eb8ffa1 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sat, 25 Mar 2023 15:15:22 +0100 Subject: gnu: Add scilab. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (scilab): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 22464ea3d1..72dccd04bf 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8650,3 +8650,109 @@ primal-dual interior-point method are made available. Interfaces are provided for applications written in C++ and Python. Parallel computation is supported via MPI.") (license license:bsd-2)))) + +(define-public scilab + (package + (name "scilab") + (version "5.5.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://oos.eu-west-2.outscale.com/scilab-releases/" + version "/scilab-" version "-src.tar.gz")) + (sha256 + (base32 "1hx57aji5d78brwqcf8a34i1hasm3h4nw46xjg7cgxj09s8yz5kq")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config gfortran)) + (inputs (list libxml2 + `(,pcre "bin") + `(,pcre "out") + readline + hdf5-1.8 + curl + openblas + lapack + arpack-ng + fftw + gettext-minimal + suitesparse-3 + tcl + tk + libx11 + matio)) + (arguments + `(#:tests? #f + #:configure-flags + ,#~(list + "--enable-relocatable" + "--disable-static-system-lib" + ;; Disable all java code. + "--without-gui" + "--without-javasci" + "--disable-build-help" + "--with-external-scirenderer" + ;; Tcl and Tk library locations. + (string-append "--with-tcl-include=" + (string-drop-right + (search-input-file %build-inputs "include/tcl.h") + (string-length "/tcl.h"))) + (string-append "--with-tcl-library=" + (string-drop-right + (search-input-directory %build-inputs "lib/tcl8") + (string-length "/tcl8"))) + (string-append "--with-tk-include=" + (string-drop-right + (search-input-file %build-inputs "include/tk.h") + (string-length "/tk.h"))) + (string-append "--with-tk-library=" + (string-drop-right + (search-input-directory %build-inputs "lib/tk8.6") + (string-length "/tk8.6"))) + ;; There are some 2018-fortran errors that are ignored + ;; with this fortran compiler flag. + "FFLAGS=-fallow-argument-mismatch") + #:phases + ,#~(modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + ;; Fix scilab script. + (substitute* "bin/scilab" + (("\\/bin\\/ls") + (which "ls"))) + ;; Fix core.start. + (substitute* "modules/core/etc/core.start" + (("'SCI/modules") + "SCI+'/modules")) + ;; Fix fortran compilation error. + (substitute* + "modules/differential_equations/src/fortran/twodq.f" + (("node\\(10\\),node1\\(10\\),node2\\(10\\),coef") + "node(9),node1(9),node2(9),coef")) + ;; Fix C compilation errors. + ;; remove & + (substitute* "modules/hdf5/src/c/h5_readDataFromFile_v1.c" + (("(H5Rdereference\\(_iDatasetId, H5R_OBJECT, )&(.*)\\);$" + all common ref) + (string-append common ref))) + ;; fix multiple definitions + (substitute* "modules/tclsci/src/c/TCL_Command.h" + (("^__thread") + "extern __thread")) + (substitute* "modules/tclsci/src/c/InitTclTk.c" + (("BOOL TK_Started = FALSE;" all) + (string-append all "\n" + "__threadId TclThread;" "\n" + "__threadSignal InterpReady;" "\n" + "__threadSignalLock InterpReadyLock;" + "\n"))) + ;; Set SCIHOME to /tmp before macros compilation. + (setenv "SCIHOME" "/tmp")))))) + (home-page "https://scilab.org") + (synopsis "Software for engineers and scientists") + (description "This package provides the non-graphical version of the Scilab +software for engineers and scientists. Scilab is used for signal processing, +statistical analysis, image enhancement, fluid dynamics simulations, numerical +optimization, and modeling, simulation of explicit and implicit dynamical +systems and symbolic manipulations.") + (license license:cecill))) ;CeCILL v2.1 -- cgit 1.4.1 From 895de955ae7c1640add70c8d2354942e36eccdf6 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 13:57:08 +0000 Subject: gnu: hdf5@1.8: Update to 1.8.23. * gnu/packages/maths.scm (hdf5-1.8): Update to 1.8.23. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 95bd5a6578..53295babb1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1389,7 +1389,7 @@ incompatible with HDF5.") (define-public hdf5-1.8 (package (name "hdf5") - (version "1.8.22") + (version "1.8.23") (source (origin (method url-fetch) @@ -1404,7 +1404,7 @@ incompatible with HDF5.") (string-append major minor))) "/src/hdf5-" version ".tar.bz2"))) (sha256 - (base32 "194ki2s5jrgl4czkvy5nc9nwjyapah0fj72l0gb0aysplp38i6v8")) + (base32 "0km65mr6dgk4ia2dqr1b9dzw9qg15j5z35ymbys9cnny51z1zb39")) (patches (search-patches "hdf5-config-date.patch")))) (build-system gnu-build-system) (inputs -- cgit 1.4.1 From 2df9cf44b1a5a2211cb63e631414b83da15f2e6d Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 13:57:09 +0000 Subject: gnu: hdf5@1.10: Update to 1.10.9. * gnu/packages/maths.scm (hdf5-1.10): Update to 1.10.9. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 53295babb1..180092810a 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1514,7 +1514,7 @@ extremely large and complex data collections.") (define-public hdf5-1.10 (package (inherit hdf5-1.8) - (version "1.10.7") + (version "1.10.9") (source (origin (method url-fetch) @@ -1528,7 +1528,7 @@ extremely large and complex data collections.") (take (string-split version #\.) 2)) "/src/hdf5-" version ".tar.bz2"))) (sha256 - (base32 "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082")) + (base32 "14gih7kmjx4h3lc7pg4fwcl28hf1qqkf2x7rljpxqvzkjrqbxi00")) (patches (search-patches "hdf5-config-date.patch")))))) (define-public hdf5-1.12 -- cgit 1.4.1 From cca7f2d7aef99e7a2624c61bdfdb94e94ffa316f Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 13:57:10 +0000 Subject: gnu: hdf5@1.12: Update to 1.12.2. * gnu/packages/maths.scm (hdf5-1.12): Update to 1.12.2. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 180092810a..9c8f1d89e2 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1534,7 +1534,7 @@ extremely large and complex data collections.") (define-public hdf5-1.12 (package (inherit hdf5-1.8) - (version "1.12.1") + (version "1.12.2") (source (origin (method url-fetch) @@ -1548,7 +1548,7 @@ extremely large and complex data collections.") (take (string-split version #\.) 2)) "/src/hdf5-" version ".tar.bz2"))) (sha256 - (base32 "074g3z504xf77ff38igs30i1aqxpm508p7yw78ykva7dncrgbyda")) + (base32 "1zlawdzb0gsvcxif14fwr5ap2gk4b6j02wirr2hcx8hkcbivp20s")) (patches (search-patches "hdf5-config-date.patch")))))) (define-public hdf5 -- cgit 1.4.1 From 8af64f3963366b4800b3d8cc84c94edb9f5eaac0 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 13:57:11 +0000 Subject: gnu: Add hdf5@1.14. * gnu/packages/maths.scm (hdf5-1.14): New variable. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9c8f1d89e2..3a5b2d4863 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1551,6 +1551,26 @@ extremely large and complex data collections.") (base32 "1zlawdzb0gsvcxif14fwr5ap2gk4b6j02wirr2hcx8hkcbivp20s")) (patches (search-patches "hdf5-config-date.patch")))))) +(define-public hdf5-1.14 + (package + (inherit hdf5-1.8) + (version "1.14.0") + (source + (origin + (method url-fetch) + (uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/" + "hdf5-" (version-major+minor version) + "/hdf5-" version "/src/hdf5-" + version ".tar.bz2") + (string-append "https://support.hdfgroup.org/ftp/HDF5/" + "current" + (apply string-append + (take (string-split version #\.) 2)) + "/src/hdf5-" version ".tar.bz2"))) + (sha256 + (base32 "181bdh8hp7v9xqwcby3lknr92lxlicc2hqscba3f5nhf8lrr9rz4")) + (patches (search-patches "hdf5-config-date.patch")))))) + (define-public hdf5 ;; Default version of HDF5. hdf5-1.10) -- cgit 1.4.1 From 3fa69a8d5d83d439b10a51c2a0feb747c91b0de6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 30 Mar 2023 23:20:21 -0400 Subject: gnu: hdf5-1.8: Delete trailing #t. * gnu/packages/maths.scm (hdf5-1.8) [arguments]: Delete trailing #t. --- gnu/packages/maths.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 3a5b2d4863..a304d4befa 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1444,8 +1444,7 @@ incompatible with HDF5.") (substitute* "hl/fortran/src/Makefile.in" (("libhdf5hl_fortran_la_LDFLAGS =") (string-append "libhdf5hl_fortran_la_LDFLAGS = -Wl,-rpath=" - (assoc-ref outputs "fortran") "/lib"))) - #t)) + (assoc-ref outputs "fortran") "/lib"))))) (add-after 'configure 'patch-settings (lambda _ ;; libhdf5.settings contains the full path of the @@ -1458,16 +1457,14 @@ incompatible with HDF5.") ;; Don't record the build-time kernel version to make the ;; settings file reproducible. (("Uname information:.*") - "Uname information: Linux\n")) - #t)) + "Uname information: Linux\n")))) (add-after 'install 'patch-references (lambda* (#:key inputs outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin")) (zlib (assoc-ref inputs "zlib"))) (substitute* (find-files bin "h5p?cc") (("-lz" lib) - (string-append "-L" zlib "/lib " lib))) - #t))) + (string-append "-L" zlib "/lib " lib)))))) (add-after 'install 'split (lambda* (#:key inputs outputs #:allow-other-keys) ;; Move all fortran-related files @@ -1502,8 +1499,7 @@ incompatible with HDF5.") (rename-file file (string-append fex "/" (basename file)))) (find-files ex ".*")) - (delete-file-recursively ex)) - #t))))) + (delete-file-recursively ex))))))) (home-page "https://www.hdfgroup.org") (synopsis "Management suite for extremely large and complex data") (description "HDF5 is a suite that makes possible the management of -- cgit 1.4.1 From 3a1a70b447bd88b6bc4e581a596dd484ce2ee4a4 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 18 Mar 2023 08:23:00 +0100 Subject: gnu: Separate potassco packages into their own module. * gnu/packages/potassco.scm: New file. * gnu/packages/maths.scm (libpotassco, clasp, clingo, python-clingo) (python-telingo): Move to potassco module. Adjust imports accordingly. * gnu/packages/emacs-xyz.scm (emacs-pasp-mode): Move to potassco module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add %D%/packages/potassco.scm. --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 47 ------ gnu/packages/maths.scm | 263 ---------------------------------- gnu/packages/potassco.scm | 345 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 346 insertions(+), 310 deletions(-) create mode 100644 gnu/packages/potassco.scm (limited to 'gnu/packages/maths.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 05edf8b0b5..d0a6e9a864 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ %D%/packages/popt.scm \ + %D%/packages/potassco.scm \ %D%/packages/printers.scm \ %D%/packages/profiling.scm \ %D%/packages/prolog.scm \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b11fbaf7b7..ed8f7f6820 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4601,53 +4601,6 @@ written text. Unlike dynamic abbreviation, the text is analysed during idle time, while Emacs is doing nothing else.") (license license:gpl3+))) -(define-public emacs-pasp-mode - (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") - (revision "1")) - (package - (name "emacs-pasp-mode") - (version (git-version "0.1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/santifa/pasp-mode") - (commit commit))) - (patches - (search-patches "emacs-pasp-mode-quote-file-names.patch")) - (sha256 - (base32 - "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf")))) - (build-system emacs-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'defconst-version - (lambda _ - (emacs-batch-edit-file "pasp-mode.el" - '(progn - (search-forward-regexp "(defcustom pasp-mode-version") - (forward-sexp) - (kill-sexp) - (backward-sexp) - (beginning-of-line) - (kill-sexp) - (insert (format "(defconst emacs-pasp-version \"%s\" %s)" - #$version (cadr kill-ring))) - (basic-save-buffer))))) - (add-after 'unpack 'hardcode-clingo - (lambda* (#:key inputs #:allow-other-keys) - (emacs-substitute-variables "pasp-mode.el" - ("pasp-clingo-path" - (search-input-file inputs "/bin/clingo")))))))) - (inputs (list clingo)) - (home-page "https://github.com/santifa/pasp-mode") - (synopsis "Major mode for editing answer set programs") - (description - "This package provides a major mode for editing answer set programs, -in particular ones that can be solved by @command{clingo}.") - (license license:gpl3+)))) - (define-public emacs-pdf-tools (package (name "emacs-pdf-tools") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 286532fa70..be93d4a26f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -97,7 +97,6 @@ #:use-module (guix build-system ocaml) #:use-module (guix build-system perl) #:use-module (guix build-system python) - #:use-module (guix build-system pyproject) #:use-module (guix build-system ruby) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) @@ -135,7 +134,6 @@ #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages less) - #:use-module (gnu packages libffi) #:use-module (gnu packages lisp) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -2660,267 +2658,6 @@ Computational Engineering and Sciences} at The University of Texas at Austin. includes a complete LAPACK implementation.") (license license:bsd-3))) -(define-public libpotassco - ;; No public release, update together with clasp - (let ((revision "1") - (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821")) - (package - (name "libpotassco") - (version (git-version "0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/libpotassco") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn")))) - (arguments - `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on" - "-DLIB_POTASSCO_INSTALL_LIB=on" - "-DBUILD_SHARED_LIBS=on") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - ;; clasp expects lowercase potassco and include directory is - ;; lowercase as well, so let's use that - (("\"cmake/Potassco\"") "\"cmake/potassco\"") - (("PotasscoConfig\\.cmake") "potassco-config.cmake") - (("PotasscoConfigVersion\\.cmake") - "potassco-config-version.cmake")) - (rename-file "cmake/PotasscoConfig.cmake.in" - "cmake/potassco-config.cmake.in")))))) - (build-system cmake-build-system) - (home-page "https://potassco.org/") - (synopsis "Utility library for Potassco's projects") - (description "@code{libpotassco} is a utility library providing functions -and datatypes for -@itemize -@item parsing, writing, and converting logic programs in aspif and smodels -format, -@item passing information between a grounder and a solver, -@item and defining and parsing command-line options and for creating -command-line applications. -@end itemize -Furthermore, it comes with the tool @command{lpconvert} that converts either -between aspif and smodels format or to a human-readable text format.") - (license license:expat)))) - -(define-public clasp - (package - (name "clasp") - (version "3.3.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clasp") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("-DCLASP_BUILD_TESTS=on" - "-DCLASP_INSTALL_LIB=on" - "-DCLASP_USE_LOCAL_LIB_POTASSCO=off" - "-DBUILD_SHARED_LIBS=on") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - ;; Use lowercase to be consistent with libpotassco - (("\"cmake/Clasp\"") "\"cmake/clasp\"") - (("ClaspConfig\\.cmake") "clasp-config.cmake") - (("ClaspConfigVersion\\.cmake") - "clasp-config-version.cmake")) - (substitute* "cmake/ClaspConfig.cmake.in" - (("find_package\\(Potassco") "find_package(potassco")) - (rename-file "cmake/ClaspConfig.cmake.in" - "cmake/clasp-config.cmake.in")))))) - (inputs - (list libpotassco)) - (home-page "https://potassco.org/") - (synopsis "Answer set solver") - (description "clasp is an answer set solver for (extended) normal and -disjunctive logic programs. The primary algorithm of clasp relies on -conflict-driven nogood learning, a technique that proved very successful for -satisfiability checking (SAT).") - (license license:expat))) - -(define-public clingo - (package - (name "clingo") - (version "5.6.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clingo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - #~(begin - (delete-file-recursively "clasp") - ;; TODO: Unvendor other third-party stuff - (delete-file-recursively "third_party/catch"))) - (sha256 - (base32 - "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys")))) - (build-system cmake-build-system) - (arguments - (list - #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on" - "-DCLINGO_INSTALL_LIB=on" - "-DCLINGO_BUILD_STATIC=off" - "-DCLINGO_BUILD_SHARED=on" - "-DCLINGO_USE_LOCAL_CLASP=off" - "-DCLINGO_USE_LOCAL_CATCH=off") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-cmake - (lambda _ - (substitute* "CMakeLists.txt" - (("add_subdirectory\\(clasp\\)") - "find_package(clasp REQUIRED)")) - (substitute* "libclingo/CMakeLists.txt" - (("\"cmake/Clingo\"") "\"cmake/clingo\"") - (("ClingoConfig\\.cmake") "clingo-config.cmake") - (("ClingoConfigVersion\\.cmake") - "clingo-config-version.cmake")) - (substitute* "cmake/ClingoConfig.cmake.in" - (("find_package\\(Clasp") "find_package(clasp")) - (rename-file "cmake/ClingoConfig.cmake.in" - "cmake/clingo-config.cmake.in"))) - (add-after 'unpack 'skip-failing-tests - (lambda _ - (with-directory-excursion "libclingo/tests" - (substitute* "CMakeLists.txt" - (("COMMAND test_clingo" all) - (string-append all - " -f " - "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\""))) - (call-with-output-file "good.txt" - (lambda (port) - (for-each (lambda (test) (format port "~s~%" test)) - '("parse-ast-v2" "add-ast-v2" "build-ast-v2" - "unpool-ast-v2" "parse_term" - "propagator" "propgator-sequence-mining" - "symbol" "visitor")))))))))) - (inputs (list catch2-3.1 clasp libpotassco)) - (native-inputs (list pkg-config)) - (home-page "https://potassco.org/") - (synopsis "Grounder and solver for logic programs") - (description "Clingo computes answer sets for a given logic program.") - (license license:expat))) - -(define-public python-clingo - (package - (inherit clingo) - (name "python-clingo") - (version (package-version clingo)) ; for #$version in arguments - (arguments - (substitute-keyword-arguments (package-arguments clingo) - ((#:configure-flags flags #~'()) - #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip" - "-DCLINGO_USE_LIB=yes" - #$flags)) - ((#:imported-modules _ '()) - `(,@%cmake-build-system-modules - (guix build python-build-system))) - ((#:modules _ '()) - '((guix build cmake-build-system) - ((guix build python-build-system) #:prefix python:) - (guix build utils))) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'unpack 'fix-failing-tests - (lambda _ - (substitute* "libpyclingo/clingo/tests/test_conf.py" - (("ctl\\.solve\\(on_statistics=on_statistics\\)" all) - (string-append - all - "; self.skipTest(\"You shall not fail.\")"))))) - (add-after 'install 'install-distinfo - (lambda* (#:key inputs outputs #:allow-other-keys) - (with-directory-excursion (python:site-packages inputs outputs) - (let ((dir (string-append "clingo-" #$version ".dist-info"))) - (mkdir-p dir) - (call-with-output-file (string-append dir "/METADATA") - (lambda (port) - (format port "Metadata-Version: 1.1~%") - (format port "Name: clingo~%") - (format port "Version: ~a~%" #$version))))))))))) - (inputs (list clingo python-wrapper)) - (propagated-inputs (list python-cffi)) - (native-inputs (modify-inputs (package-native-inputs clingo) - (prepend python-scikit-build))) - (synopsis "Python bindings for clingo") - (description "This package provides Python bindings to the clingo package, -making it so that you can write @acronym{ASPs, Answer Set Programs} through -Python code."))) - -(define-public python-clorm - (package - (name "python-clorm") - (version "1.4.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/clorm") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5")))) - (build-system pyproject-build-system) - (arguments - (list #:phases - #~(modify-phases %standard-phases - (add-before 'check 'fix-breaking-tests - (lambda _ - ;; noclingo tests rely on this being set - (setenv "CLORM_NOCLINGO" "1") - (delete-file "tests/test_mypy_query.py") - (substitute* "tests/test_clingo.py" - (("self\\.assertTrue\\(os_called\\)" all) - (string-append "# " all)))))))) - (propagated-inputs (list python-clingo)) - (native-inputs (list python-typing-extensions)) - (home-page "https://potassco.org") - (synopsis "Object relational mapping to clingo") - (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM, -Object Relational Mapping} interface to the @acronym{ASP, answer set -programming} solver clingo. Its goal is to make integration of clingo -into Python programs easier.") - (license license:expat))) - -(define-public python-telingo - (package - (name "python-telingo") - (version "2.1.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/potassco/telingo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (patches (search-patches "python-telingo-fix-comparison.patch")) - (sha256 - (base32 - "0g3khxfdzc2hc7dkiyyqhb399h6h21m5wkp6wy8w71n0m32fiy53")))) - (build-system pyproject-build-system) - (propagated-inputs (list python-clingo)) - (home-page "https://potassco.org/") - (synopsis "Solve dynamic temporal logic programs") - (description "This package provides a system to solve dynamic temporal -logic programs based on clingo.") - (license license:expat))) - (define-public scasp (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51") (revision "1")) diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm new file mode 100644 index 0000000000..22f70eba7f --- /dev/null +++ b/gnu/packages/potassco.scm @@ -0,0 +1,345 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022, 2023 Liliana Marie Prikler +;;; Copyright © 2023 Simon Tournier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages potassco) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system emacs) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) + #:use-module (gnu packages check) + #:use-module (gnu packages libffi) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz)) + +(define-public libpotassco + ;; No public release, update together with clasp + (let ((revision "1") + (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821")) + (package + (name "libpotassco") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/libpotassco") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn")))) + (arguments + `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on" + "-DLIB_POTASSCO_INSTALL_LIB=on" + "-DBUILD_SHARED_LIBS=on") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda _ + (substitute* "CMakeLists.txt" + ;; clasp expects lowercase potassco and include directory is + ;; lowercase as well, so let's use that + (("\"cmake/Potassco\"") "\"cmake/potassco\"") + (("PotasscoConfig\\.cmake") "potassco-config.cmake") + (("PotasscoConfigVersion\\.cmake") + "potassco-config-version.cmake")) + (rename-file "cmake/PotasscoConfig.cmake.in" + "cmake/potassco-config.cmake.in")))))) + (build-system cmake-build-system) + (home-page "https://potassco.org/") + (synopsis "Utility library for Potassco's projects") + (description "@code{libpotassco} is a utility library providing functions +and datatypes for +@itemize +@item parsing, writing, and converting logic programs in aspif and smodels +format, +@item passing information between a grounder and a solver, +@item and defining and parsing command-line options and for creating +command-line applications. +@end itemize +Furthermore, it comes with the tool @command{lpconvert} that converts either +between aspif and smodels format or to a human-readable text format.") + (license license:expat)))) + +(define-public clasp + (package + (name "clasp") + (version "3.3.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/clasp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DCLASP_BUILD_TESTS=on" + "-DCLASP_INSTALL_LIB=on" + "-DCLASP_USE_LOCAL_LIB_POTASSCO=off" + "-DBUILD_SHARED_LIBS=on") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda _ + (substitute* "CMakeLists.txt" + ;; Use lowercase to be consistent with libpotassco + (("\"cmake/Clasp\"") "\"cmake/clasp\"") + (("ClaspConfig\\.cmake") "clasp-config.cmake") + (("ClaspConfigVersion\\.cmake") + "clasp-config-version.cmake")) + (substitute* "cmake/ClaspConfig.cmake.in" + (("find_package\\(Potassco") "find_package(potassco")) + (rename-file "cmake/ClaspConfig.cmake.in" + "cmake/clasp-config.cmake.in")))))) + (inputs + (list libpotassco)) + (home-page "https://potassco.org/") + (synopsis "Answer set solver") + (description "clasp is an answer set solver for (extended) normal and +disjunctive logic programs. The primary algorithm of clasp relies on +conflict-driven nogood learning, a technique that proved very successful for +satisfiability checking (SAT).") + (license license:expat))) + +(define-public clingo + (package + (name "clingo") + (version "5.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/clingo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + #~(begin + (delete-file-recursively "clasp") + ;; TODO: Unvendor other third-party stuff + (delete-file-recursively "third_party/catch"))) + (sha256 + (base32 + "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on" + "-DCLINGO_INSTALL_LIB=on" + "-DCLINGO_BUILD_STATIC=off" + "-DCLINGO_BUILD_SHARED=on" + "-DCLINGO_USE_LOCAL_CLASP=off" + "-DCLINGO_USE_LOCAL_CATCH=off") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda _ + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(clasp\\)") + "find_package(clasp REQUIRED)")) + (substitute* "libclingo/CMakeLists.txt" + (("\"cmake/Clingo\"") "\"cmake/clingo\"") + (("ClingoConfig\\.cmake") "clingo-config.cmake") + (("ClingoConfigVersion\\.cmake") + "clingo-config-version.cmake")) + (substitute* "cmake/ClingoConfig.cmake.in" + (("find_package\\(Clasp") "find_package(clasp")) + (rename-file "cmake/ClingoConfig.cmake.in" + "cmake/clingo-config.cmake.in"))) + (add-after 'unpack 'skip-failing-tests + (lambda _ + (with-directory-excursion "libclingo/tests" + (substitute* "CMakeLists.txt" + (("COMMAND test_clingo" all) + (string-append all + " -f " + "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\""))) + (call-with-output-file "good.txt" + (lambda (port) + (for-each (lambda (test) (format port "~s~%" test)) + '("parse-ast-v2" "add-ast-v2" "build-ast-v2" + "unpool-ast-v2" "parse_term" + "propagator" "propgator-sequence-mining" + "symbol" "visitor")))))))))) + (inputs (list catch2-3.1 clasp libpotassco)) + (native-inputs (list pkg-config)) + (home-page "https://potassco.org/") + (synopsis "Grounder and solver for logic programs") + (description "Clingo computes answer sets for a given logic program.") + (license license:expat))) + +(define-public emacs-pasp-mode + (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92") + (revision "1")) + (package + (name "emacs-pasp-mode") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/santifa/pasp-mode") + (commit commit))) + (patches + (search-patches "emacs-pasp-mode-quote-file-names.patch")) + (sha256 + (base32 + "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'defconst-version + (lambda _ + (emacs-batch-edit-file "pasp-mode.el" + '(progn + (search-forward-regexp "(defcustom pasp-mode-version") + (forward-sexp) + (kill-sexp) + (backward-sexp) + (beginning-of-line) + (kill-sexp) + (insert (format "(defconst emacs-pasp-version \"%s\" %s)" + #$version (cadr kill-ring))) + (basic-save-buffer))))) + (add-after 'unpack 'hardcode-clingo + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "pasp-mode.el" + ("pasp-clingo-path" + (search-input-file inputs "/bin/clingo")))))))) + (inputs (list clingo)) + (home-page "https://github.com/santifa/pasp-mode") + (synopsis "Major mode for editing answer set programs") + (description + "This package provides a major mode for editing answer set programs, +in particular ones that can be solved by @command{clingo}.") + (license license:gpl3+)))) + +(define-public python-clingo + (package + (inherit clingo) + (name "python-clingo") + (version (package-version clingo)) ; for #$version in arguments + (arguments + (substitute-keyword-arguments (package-arguments clingo) + ((#:configure-flags flags #~'()) + #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip" + "-DCLINGO_USE_LIB=yes" + #$flags)) + ((#:imported-modules _ '()) + `(,@%cmake-build-system-modules + (guix build python-build-system))) + ((#:modules _ '()) + '((guix build cmake-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils))) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-after 'unpack 'fix-failing-tests + (lambda _ + (substitute* "libpyclingo/clingo/tests/test_conf.py" + (("ctl\\.solve\\(on_statistics=on_statistics\\)" all) + (string-append + all + "; self.skipTest(\"You shall not fail.\")"))))) + (add-after 'install 'install-distinfo + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion (python:site-packages inputs outputs) + (let ((dir (string-append "clingo-" #$version ".dist-info"))) + (mkdir-p dir) + (call-with-output-file (string-append dir "/METADATA") + (lambda (port) + (format port "Metadata-Version: 1.1~%") + (format port "Name: clingo~%") + (format port "Version: ~a~%" #$version))))))))))) + (inputs (list clingo python-wrapper)) + (propagated-inputs (list python-cffi)) + (native-inputs (modify-inputs (package-native-inputs clingo) + (prepend python-scikit-build))) + (synopsis "Python bindings for clingo") + (description "This package provides Python bindings to the clingo package, +making it so that you can write @acronym{ASPs, Answer Set Programs} through +Python code."))) + +(define-public python-clorm + (package + (name "python-clorm") + (version "1.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/clorm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-breaking-tests + (lambda _ + ;; noclingo tests rely on this being set + (setenv "CLORM_NOCLINGO" "1") + (delete-file "tests/test_mypy_query.py") + (substitute* "tests/test_clingo.py" + (("self\\.assertTrue\\(os_called\\)" all) + (string-append "# " all)))))))) + (propagated-inputs (list python-clingo)) + (native-inputs (list python-typing-extensions)) + (home-page "https://potassco.org") + (synopsis "Object relational mapping to clingo") + (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM, +Object Relational Mapping} interface to the @acronym{ASP, answer set +programming} solver clingo. Its goal is to make integration of clingo +into Python programs easier.") + (license license:expat))) + +(define-public python-telingo + (package + (name "python-telingo") + (version "2.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/potassco/telingo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "python-telingo-fix-comparison.patch")) + (sha256 + (base32 + "0g3khxfdzc2hc7dkiyyqhb399h6h21m5wkp6wy8w71n0m32fiy53")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-clingo)) + (home-page "https://potassco.org/") + (synopsis "Solve dynamic temporal logic programs") + (description "This package provides a system to solve dynamic temporal +logic programs based on clingo.") + (license license:expat))) -- cgit 1.4.1 From c4d18b9e653e95fcb339e1c09a228c8ace305e2e Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Mon, 27 Feb 2023 00:11:34 +0000 Subject: gnu: Purge pre-1.3.0 deprecated packages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm (deeptools): Remove variable. * gnu/packages/efi.scm (efi_analyzer): Ditto. * gnu/packages/guile.scm (guile-2.2/bug-fix, guile-json): Ditto. * gnu/packages/image.scm (libjpeg): Ditto. * gnu/packages/kde.scm (kdevplatform): Ditto * gnu/packages/linphone.scm (linphoneqt): Ditto. * gnu/packages/maths.scm (blis-sandybridge, blis-haswell, blis-knl): Ditto. * gnu/packages/mpi.scm (hwloc-2.0): Ditto. * gnu/packages/music.scm (python-abjad, zlfo): Ditto. * gnu/packages/perl.scm (perl-base, perl-parent): Ditto. * gnu/packages/tryton.scm (python-trytond): Ditto. * gnu/packages/video.scm (gnome-mpv): Ditto. * tests/graph.scm: Use guile-json-1. Signed-off-by: Ludovic Courtès --- gnu/packages/bioinformatics.scm | 2 -- gnu/packages/efi.scm | 4 ---- gnu/packages/guile.scm | 8 -------- gnu/packages/image.scm | 3 --- gnu/packages/kde.scm | 3 --- gnu/packages/linphone.scm | 3 --- gnu/packages/maths.scm | 4 ---- gnu/packages/mpi.scm | 2 -- gnu/packages/music.scm | 7 ------- gnu/packages/perl.scm | 6 ------ gnu/packages/tryton.scm | 3 --- gnu/packages/video.scm | 3 --- tests/graph.scm | 2 +- 13 files changed, 1 insertion(+), 49 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f7adca0860..99cc056f9f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3521,8 +3521,6 @@ annotations of the genome.") ;; remainder of the code is licensed under the MIT license. (license (list license:bsd-3 license:expat)))) -(define-deprecated deeptools python-deeptools) - (define-public cutadapt (package (name "cutadapt") diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index 4625538d26..75eb24bf86 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -96,10 +96,6 @@ environment presented by Intel's EFI.") information.") (license license:bsd-2)))) -(define-public efi_analyzer - ;; For a short while the package name contained an underscore. - (deprecated-package "efi_analyzer" efi-analyzer)) - (define-public sbsigntools (package (name "sbsigntools") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b6db506140..dc2c42cdc9 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -291,8 +291,6 @@ without requiring the source code to be rewritten.") (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.2/site-ccache"))))))) -(define-deprecated guile-2.2/bug-fix guile-2.2) - (define-public guile-2.2.4 (package (inherit guile-2.2) @@ -652,12 +650,6 @@ specification. These are the main features: ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). (license license:gpl3+))) -;; Deprecate the 'guile-json' alias to force the use 'guile-json-1' or -;; 'guile-json-3'. In the future, we may reuse 'guile-json' as an alias for -;; 'guile-json-3'. -(define-deprecated guile-json guile-json-1) -(export guile-json) - (define-public guile2.0-json (package-for-guile-2.0 guile-json-1)) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 47a48febc6..6140f35f4f 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1744,9 +1744,6 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") license:ijg ;the libjpeg library and associated tools license:zlib)))) ;the libjpeg-turbo SIMD extensions -(define-deprecated libjpeg libjpeg-turbo) -(export libjpeg) - (define-public niftilib (package (name "niftilib") diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 8a69ef5bad..f9c0a260f0 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -412,9 +412,6 @@ software (Git, Subversion, Mercurial, CVS and Bazaar).") for some KDevelop language plugins (Ruby, PHP, CSS...).") (license license:lgpl2.0+))) -;; kdevplatform was merged into kdevelop as of 5.2.x -(define-deprecated kdevplatform kdevelop) - (define-public kdiagram (package (name "kdiagram") diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 84bc16805c..d41d368e67 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -876,9 +876,6 @@ and video calls or instant messaging capabilities to an application.") (home-page "https://linphone.org/technical-corner/linphone") (license license:gpl3+))) -(define-public linphoneqt - (deprecated-package "linphoneqt" linphone-desktop)) - (define-public msopenh264 (let ((commit "88697cc95140017760d6da408cb0efdc5e86e40a") (revision "0")) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index be93d4a26f..ff3f1cf007 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4792,10 +4792,6 @@ it also includes a BLAS compatibility layer which gives application developers access to BLIS implementations via traditional BLAS routine calls.") (license license:bsd-3))) -(define-public blis-sandybridge (deprecated-package "blis-sandybridge" blis)) -(define-public blis-haswell (deprecated-package "blis-haswell" blis)) -(define-public blis-knl (deprecated-package "blis-knl" blis)) - (define ignorance blis) (define-public openlibm diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 6faa47c669..f21bd16d3a 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -177,8 +177,6 @@ bind processes, and much more.") (("hwloc_topology_init" all) (string-append "exit (77);\n" all))))))))))) -(define-deprecated hwloc-2.0 hwloc-2) - (define-public hwloc ;; The latest stable series of hwloc. hwloc-2) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c63dc69972..bdf30c67a1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1609,9 +1609,6 @@ Because Abjad wraps the LilyPond music notation package, you can use Abjad to co typographic detail of symbols on the page.") (license license:expat))) -(define-public python-abjad - (deprecated-package "python-abjad" abjad)) - (define-public abjad-ext-rmakers (package (name "abjad-ext-rmakers") @@ -6577,10 +6574,6 @@ to be bundled with the Zrythm @dfn{digital audio workstation} (DAW).") (home-page "https://www.zrythm.org/en/plugins.html") (license license:agpl3+))) -(define-public zlfo - ;; The "zlfo" package is now included in zplugins - (deprecated-package "zlfo" zplugins)) - (define-public remid-lv2 (package (name "remid-lv2") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8d9e92c223..335e08d146 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -843,9 +843,6 @@ error when it would have happened.") (description "This module disables bareword filehandles.") (license (package-license perl)))) -(define-public perl-base - (deprecated-package "perl-base" perl)) - (define-public perl-browser-open (package (name "perl-browser-open") @@ -8694,9 +8691,6 @@ distributions.") libraries from which Perl modules can be loaded.") (license license:perl-license))) -(define-public perl-parent - (deprecated-package "perl-parent" perl)) - (define-public perl-path-class (package (name "perl-path-class") diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 8e561cad45..0b367675ae 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -100,9 +100,6 @@ core base of a complete business solution providing modularity, scalability and security.") (license license:gpl3+))) -(define-public python-trytond - (deprecated-package "python-trytond" trytond)) - (define-public tryton (package (name "tryton") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 78698054ed..e493888bd9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2344,9 +2344,6 @@ can use youtube-dl or yt-dlp packages to download videos, the focus is more on images and image hosting sites.") (license license:gpl2))) -(define-public gnome-mpv - (deprecated-package "gnome-mpv" celluloid)) - (define-public mpv-mpris (package (name "mpv-mpris") diff --git a/tests/graph.scm b/tests/graph.scm index 6674b5cc8f..a6186ff7e8 100644 --- a/tests/graph.scm +++ b/tests/graph.scm @@ -477,7 +477,7 @@ edges." '("libffi" "guile" "guile-json") (run-with-store %store (mlet %store-monad ((path (shortest-path (specification->package "libffi") - guile-json + guile-json-1 %reverse-package-node-type))) (return (map package-name path))))) -- cgit 1.4.1