* [PATCH] gnu: Add giac-xcas @ 2016-04-07 13:55 Nicolas Goaziou 2016-04-10 13:42 ` Nicolas Goaziou 0 siblings, 1 reply; 7+ messages in thread From: Nicolas Goaziou @ 2016-04-07 13:55 UTC (permalink / raw To: Guix-devel [-- Attachment #1: Type: text/plain, Size: 158 bytes --] Hello, I'd like to submit the following package. Feedback welcome. Regards, -- Nicolas Goaziou 0x80A93738 [-- Attachment #2: giac-xcas --] [-- Type: text/x-patch, Size: 4362 bytes --] From fd59ecad1cae741433c4a9f291a7c2a8ea277387 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Thu, 7 Apr 2016 14:43:15 +0200 Subject: [PATCH] gnu: Add giac-xcas * gnu/packages/algebra.scm (giac-xcas): New variable. --- gnu/packages/algebra.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index bbb708f..8cd0228 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -23,7 +24,10 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages doxygen) + #:use-module (gnu packages fltk) + #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) + #:use-module (gnu packages image) #:use-module (gnu packages multiprecision) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -31,6 +35,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) + #:use-module (gnu packages tcsh) #:use-module (gnu packages texlive) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) @@ -158,6 +163,64 @@ PARI is also available as a C library to allow for faster computations.") (license license:gpl2+) (home-page "http://pari.math.u-bordeaux.fr/"))) +(define-public giac-xcas + (package + (name "giac-xcas") + (version "1.2.2-37") + (source (origin + (method url-fetch) + ;; We don't use "~parisse/giac" because the maintainer regularly + ;; overrides the release tarball there, introducing a checksum + ;; mismatch every time. See + ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> + (uri (string-append "https://www-fourier.ujf-grenoble.fr/\ +~parisse/debian/dists/stable/main/source/giac_" + version ".tar.gz")) + (sha256 + (base32 + "0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf")) + ;; Disable failing test. Actually, the results are correct but + ;; a sorting discrepancy prevents the test from being validated. + (modules '((guix build utils))) + (snippet + '(substitute* "check/Makefile.in" + (("chk_fhan16") ""))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Some Make files contain hard-coded "/bin/cp". + (add-after 'unpack 'patch-bin-cp + (lambda _ + (substitute* (find-files "doc" "^Makefile") + (("/bin/cp") (which "cp"))) + #t))))) + ;; FIXME: Add "libao" and "libmpfi" when available. + (inputs `(("fltk" ,fltk) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("lapack" ,lapack) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxft" ,libxft) + ("libxt" ,libxt) + ("mesa" ,mesa) + ("mpfr" ,mpfr) + ("ntl" ,ntl) + ("perl" ,perl) + ("pari-gp" ,pari-gp) + ("tcsh" ,tcsh) + ("texlive" ,texlive-minimal))) + (native-inputs `(("readline" ,readline))) + (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") + (synopsis "Computer algebra system") + (description + "Giac/Xcas is a computer algebra system. It has a compatibility +mode for maple, mupad and the TI89. It is available as a standalone +program (graphic or text interfaces) or as a C++ library.") + (license license:gpl3+))) + (define-public gp2c (package (name "gp2c") -- 2.8.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-07 13:55 [PATCH] gnu: Add giac-xcas Nicolas Goaziou @ 2016-04-10 13:42 ` Nicolas Goaziou 2016-04-11 13:52 ` Mathieu Lirzin 0 siblings, 1 reply; 7+ messages in thread From: Nicolas Goaziou @ 2016-04-10 13:42 UTC (permalink / raw To: Guix-devel [-- Attachment #1: Type: text/plain, Size: 795 bytes --] I realized Guix already provided "libao", as "ao" variable. However, I don't know why it isn't "public". I also packaged "mpfi". Since all dependencies of "giac-xcas" are now available, I can update the package definition. I'm not sure about input "texlive-minimal". Debian package doesn't have it. However, configure script checks for latex, makeindex, pdflatex and dvips, probably so as to build documentation. OTOH, I don't think default make dance builds documentation: it probably copies it directly from the tarball, so it may be useless to provide the input. As a last point, xcas itself provides a feature to print formulas as LaTeX. So, all in all, texlive-minimal may be a propagated-input, AFAIU. WDYT? In any case, here are the patches. Thank you for reading so far. Regards, [-- Attachment #2: mpfi-patch --] [-- Type: text/x-patch, Size: 2322 bytes --] From eab8703a36c405bf01c34db4a5ceb1a5926033b5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Sun, 10 Apr 2016 13:53:42 +0200 Subject: [PATCH 1/2] gnu: Add mpfi * gnu/packages/multiprecision.scm (mpfi): New variable. --- gnu/packages/multiprecision.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index ad50770..a84d7f5 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -119,3 +120,29 @@ floating-point computations with correct rounding.") It supports arbitrarily high precision and it correctly rounds the results.") (license lgpl3+) (home-page "http://mpc.multiprecision.org/"))) + +(define-public mpfi + (package + (name "mpfi") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://gforge.inria.fr/frs/download.php/file/30130/mpfi-" + version ".tar.gz")) + (sha256 + (base32 + "1g2q6i7dqx40p4gw11da6jgfcbzmm26wxc69fwv8zpcdyg32a9za")))) + (build-system gnu-build-system) + (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both + ("mpfr" ,mpfr))) + (synopsis "C library for arbitrary precision interval arithmetic") + (description "MPFI is intended to be a portable library written in C for +arbitrary precision interval arithmetic with intervals represented using MPFR +reliable floating-point numbers. It is based on the GNU MP library and on the +MPFR library. The purpose of an arbitrary precision interval arithmetic is on +the one hand to get guaranteed results, thanks to interval computation, and on +the other hand to obtain accurate results, thanks to multiple precision +arithmetic.") + (license lgpl2.1+) + (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html"))) -- 2.8.0 [-- Attachment #3: giac-xcas patch --] [-- Type: text/x-patch, Size: 4439 bytes --] From b454564510f436ca1150a672970bafc805fbd86b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Thu, 7 Apr 2016 14:43:15 +0200 Subject: [PATCH 2/2] gnu: Add giac-xcas * gnu/packages/algebra.scm (giac-xcas): New variable. --- gnu/packages/algebra.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index abac961..74b3f71 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -23,7 +24,10 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages doxygen) + #:use-module (gnu packages fltk) + #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) + #:use-module (gnu packages image) #:use-module (gnu packages multiprecision) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -31,7 +35,9 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) + #:use-module (gnu packages tcsh) #:use-module (gnu packages texlive) + #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -158,6 +164,65 @@ PARI is also available as a C library to allow for faster computations.") (license license:gpl2+) (home-page "http://pari.math.u-bordeaux.fr/"))) +(define-public giac-xcas + (package + (name "giac-xcas") + (version "1.2.2-37") + (source (origin + (method url-fetch) + ;; We don't use "~parisse/giac" because the maintainer regularly + ;; overrides the release tarball there, introducing a checksum + ;; mismatch every time. See + ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> + (uri (string-append "https://www-fourier.ujf-grenoble.fr/\ +~parisse/debian/dists/stable/main/source/giac_" + version ".tar.gz")) + (sha256 + (base32 + "0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf")) + ;; Disable failing test. Actually, the results are correct but + ;; a sorting discrepancy prevents the test from being validated. + (modules '((guix build utils))) + (snippet + '(substitute* "check/Makefile.in" + (("chk_fhan16") ""))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Some Make files contain hard-coded "/bin/cp". + (add-after 'unpack 'patch-bin-cp + (lambda _ + (substitute* (find-files "doc" "^Makefile") + (("/bin/cp") (which "cp"))) + #t))))) + (inputs `(("fltk" ,fltk) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("lapack" ,lapack) + ("libao" ,ao) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxft" ,libxft) + ("libxt" ,libxt) + ("mesa" ,mesa) + ("mpfi" ,mpfi) + ("mpfr" ,mpfr) + ("ntl" ,ntl) + ("perl" ,perl) + ("pari-gp" ,pari-gp) + ("tcsh" ,tcsh) + ("texlive" ,texlive-minimal))) + (native-inputs `(("readline" ,readline))) + (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") + (synopsis "Computer algebra system") + (description + "Giac/Xcas is a computer algebra system. It has a compatibility +mode for maple, mupad and the TI89. It is available as a standalone +program (graphic or text interfaces) or as a C++ library.") + (license license:gpl3+))) + (define-public gp2c (package (name "gp2c") -- 2.8.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-10 13:42 ` Nicolas Goaziou @ 2016-04-11 13:52 ` Mathieu Lirzin 2016-04-11 22:23 ` Nicolas Goaziou 0 siblings, 1 reply; 7+ messages in thread From: Mathieu Lirzin @ 2016-04-11 13:52 UTC (permalink / raw To: Nicolas Goaziou; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 3218 bytes --] Hello, Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: > I realized Guix already provided "libao", as "ao" variable. However, > I don't know why it isn't "public". In fact it is public. It is just that the module (gnu packages xiph) use a different convention which is to define "public" variable with ‘define’ and to add them to the #:export list of the module, instead of directly using ‘define-public’. Either way is equivalent in Guile. > I'm not sure about input "texlive-minimal". Debian package doesn't have > it. However, configure script checks for latex, makeindex, pdflatex and > dvips, probably so as to build documentation. OTOH, I don't think > default make dance builds documentation: it probably copies it directly > from the tarball, so it may be useless to provide the input. As a last > point, xcas itself provides a feature to print formulas as LaTeX. So, > all in all, texlive-minimal may be a propagated-input, AFAIU. It depends if this feature is essential for using xcas? If yes then adding it as a propagated-input is still not required unless "latex, makeindex, ..." are used using the PATH which could not be the case since those programs are checked at configure time. WDYT? > From: Nicolas Goaziou <mail@nicolasgoaziou.fr> > Date: Sun, 10 Apr 2016 13:53:42 +0200 > Subject: [PATCH 1/2] gnu: Add mpfi > > * gnu/packages/multiprecision.scm (mpfi): New variable. > --- > gnu/packages/multiprecision.scm | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm > index ad50770..a84d7f5 100644 > --- a/gnu/packages/multiprecision.scm > +++ b/gnu/packages/multiprecision.scm [...] > +(define-public mpfi > + (package > + (name "mpfi") > + (version "1.5.1") > + (source (origin > + (method url-fetch) > + (uri (string-append > + "https://gforge.inria.fr/frs/download.php/file/30130/mpfi-" > + version ".tar.gz")) > + (sha256 > + (base32 > + "1g2q6i7dqx40p4gw11da6jgfcbzmm26wxc69fwv8zpcdyg32a9za")))) > + (build-system gnu-build-system) > + (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both > + ("mpfr" ,mpfr))) > + (synopsis "C library for arbitrary precision interval arithmetic") > + (description "MPFI is intended to be a portable library written in C for > +arbitrary precision interval arithmetic with intervals represented using MPFR > +reliable floating-point numbers. It is based on the GNU MP library and on the > +MPFR library. The purpose of an arbitrary precision interval arithmetic is on > +the one hand to get guaranteed results, thanks to interval computation, and on > +the other hand to obtain accurate results, thanks to multiple precision > +arithmetic.") > + (license lgpl2.1+) > + (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html"))) > -- > 2.8.0 Looks good to me. guix lint is happy and the build is reproducible. I have modified the indentation to follow our “custom” Emacs rules. Here is the updated patch. [-- Attachment #2: 0001-gnu-Add-mpfi.patch --] [-- Type: text/x-diff, Size: 2344 bytes --] From ef5aac59d8170c484429aa8f59b27f07dd77307c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Sun, 10 Apr 2016 13:53:42 +0200 Subject: [PATCH 1/2] gnu: Add mpfi * gnu/packages/multiprecision.scm (mpfi): New variable. --- gnu/packages/multiprecision.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index ad50770..d97bf9b 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -119,3 +120,28 @@ floating-point computations with correct rounding.") It supports arbitrarily high precision and it correctly rounds the results.") (license lgpl3+) (home-page "http://mpc.multiprecision.org/"))) + +(define-public mpfi + (package + (name "mpfi") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append "https://gforge.inria.fr/frs/download.php/" + "file/30130/mpfi-" version ".tar.gz")) + (sha256 + (base32 + "1g2q6i7dqx40p4gw11da6jgfcbzmm26wxc69fwv8zpcdyg32a9za")))) + (build-system gnu-build-system) + (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both + ("mpfr" ,mpfr))) + (synopsis "C library for arbitrary precision interval arithmetic") + (description "MPFI is intended to be a portable library written in C for +arbitrary precision interval arithmetic with intervals represented using MPFR +reliable floating-point numbers. It is based on the GNU MP library and on the +MPFR library. The purpose of an arbitrary precision interval arithmetic is on +the one hand to get guaranteed results, thanks to interval computation, and on +the other hand to obtain accurate results, thanks to multiple precision +arithmetic.") + (license lgpl2.1+) + (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html"))) -- 2.8.0.rc3 [-- Attachment #3: Type: text/plain, Size: 1185 bytes --] > From: Nicolas Goaziou <mail@nicolasgoaziou.fr> > Date: Thu, 7 Apr 2016 14:43:15 +0200 > Subject: [PATCH 2/2] gnu: Add giac-xcas > > * gnu/packages/algebra.scm (giac-xcas): New variable. > --- > gnu/packages/algebra.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 65 insertions(+) > > diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm > index abac961..74b3f71 100644 > --- a/gnu/packages/algebra.scm > +++ b/gnu/packages/algebra.scm [...] > + (sha256 > + (base32 > + "0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf")) > + ;; Disable failing test. Actually, the results are correct but > + ;; a sorting discrepancy prevents the test from being validated. > + (modules '((guix build utils))) > + (snippet > + '(substitute* "check/Makefile.in" > + (("chk_fhan16") ""))))) Is there a particular reason for not patching this within the ‘arguments’ field? Otherwise everything looks good to me. Here is an updated patch with the suggested change and minor formatting fixes. [-- Attachment #4: 0002-gnu-Add-giac-xcas.patch --] [-- Type: text/x-diff, Size: 4294 bytes --] From 9227589406b2fc224584690dd40f94955b50e304 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Thu, 7 Apr 2016 14:43:15 +0200 Subject: [PATCH 2/2] gnu: Add giac-xcas * gnu/packages/algebra.scm (giac-xcas): New variable. --- gnu/packages/algebra.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index abac961..98453d0 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -23,7 +24,10 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages doxygen) + #:use-module (gnu packages fltk) + #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) + #:use-module (gnu packages image) #:use-module (gnu packages multiprecision) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -31,7 +35,9 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) + #:use-module (gnu packages tcsh) #:use-module (gnu packages texlive) + #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -158,6 +164,64 @@ PARI is also available as a C library to allow for faster computations.") (license license:gpl2+) (home-page "http://pari.math.u-bordeaux.fr/"))) +(define-public giac-xcas + (package + (name "giac-xcas") + (version "1.2.2-37") + (source (origin + (method url-fetch) + ;; "~parisse/giac" is not used because the maintainer regularly + ;; overrides the release tarball there, introducing a checksum + ;; mismatch every time. See + ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> + (uri (string-append "https://www-fourier.ujf-grenoble.fr/" + "~parisse/debian/dists/stable/main/" + "source/giac_" version ".tar.gz")) + (sha256 + (base32 + "0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-makefiles + (lambda _ + ;; Some Makefiles contain hard-coded "/bin/cp". + (substitute* (find-files "doc" "^Makefile") + (("/bin/cp") (which "cp"))) + ;; Disable failing test. Actually, the results are correct but + ;; a sorting discrepancy prevents the test from being validated. + (substitute* "check/Makefile.in" + (("chk_fhan16") "")) + #t))))) + (inputs + `(("fltk" ,fltk) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("lapack" ,lapack) + ("libao" ,ao) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxft" ,libxft) + ("libxt" ,libxt) + ("mesa" ,mesa) + ("mpfi" ,mpfi) + ("mpfr" ,mpfr) + ("ntl" ,ntl) + ("perl" ,perl) + ("pari-gp" ,pari-gp) + ("tcsh" ,tcsh) + ("texlive" ,texlive-minimal))) + (native-inputs `(("readline" ,readline))) + (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") + (synopsis "Computer algebra system") + (description + "Giac/Xcas is a computer algebra system. It has a compatibility mode for +maple, mupad and the TI89. It is available as a standalone program (graphic +or text interfaces) or as a C++ library.") + (license license:gpl3+))) + (define-public gp2c (package (name "gp2c") -- 2.8.0.rc3 [-- Attachment #5: Type: text/plain, Size: 41 bytes --] Thanks and welcome! -- Mathieu Lirzin ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-11 13:52 ` Mathieu Lirzin @ 2016-04-11 22:23 ` Nicolas Goaziou 2016-04-11 23:21 ` Mathieu Lirzin 0 siblings, 1 reply; 7+ messages in thread From: Nicolas Goaziou @ 2016-04-11 22:23 UTC (permalink / raw To: Mathieu Lirzin; +Cc: Guix-devel Hello, Mathieu Lirzin <mthl@gnu.org> writes: > In fact it is public. It is just that the module (gnu packages xiph) > use a different convention which is to define "public" variable with > ‘define’ and to add them to the #:export list of the module, instead of > directly using ‘define-public’. Either way is equivalent in Guile. OK. Understood. > It depends if this feature is essential for using xcas? If yes then > adding it as a propagated-input is still not required unless "latex, > makeindex, ..." are used using the PATH which could not be the case > since those programs are checked at configure time. > > WDYT? I removed perl, tcsh, texlive-minimal as inputs, and tried guix environment --ad-hoc texlive giac-xcas --fallback -- xcas I could preview the sheet using LaTeX. However, I sometimes got sh: pstopnm: command not found sh: pnmtopng: command not found Not sure it is related. Also, texlive-minimal is still in the closure, probably due to some other input, so it doesn't reduce the size of the package. > Looks good to me. guix lint is happy and the build is reproducible. I > have modified the indentation to follow our “custom” Emacs rules. Here > is the updated patch. Funnily, I broke Emacs indentation on purpose because other package definitions in the file were disagreeing with it. I should have trusted good ole Emacs. > Is there a particular reason for not patching this within the > ‘arguments’ field? This is because the test issue is related to a given release, i.e., a given `source' field. OTOH, `arguments' are for control over the build process, which is not going to change anytime soon. To put it differently, I put the temporary fix in `snippet' and the persistent one in `arguments'. Moreover, you suggest to merge the two fixes into a single phase named `fix-makefiles', which, albeit correct, is less accurate than `patch-bin-cp'. Anyway, this is just nitpicking; I'm fine with all the changes you made. > Thanks and welcome! Thank you for the review. Regards, -- Nicolas Goaziou 0x80A93738 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-11 22:23 ` Nicolas Goaziou @ 2016-04-11 23:21 ` Mathieu Lirzin 2016-04-12 19:04 ` Nicolas Goaziou 0 siblings, 1 reply; 7+ messages in thread From: Mathieu Lirzin @ 2016-04-11 23:21 UTC (permalink / raw To: Nicolas Goaziou; +Cc: Guix-devel Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: > Mathieu Lirzin <mthl@gnu.org> writes: > >> It depends if this feature is essential for using xcas? If yes then >> adding it as a propagated-input is still not required unless "latex, >> makeindex, ..." are used using the PATH which could not be the case >> since those programs are checked at configure time. > > I removed perl, tcsh, texlive-minimal as inputs, and tried > > guix environment --ad-hoc texlive giac-xcas --fallback -- xcas > > I could preview the sheet using LaTeX. However, I sometimes got > > sh: pstopnm: command not found > sh: pnmtopng: command not found with texlive-minimal as input, and without texlive in the environment do you get some errors? > Also, texlive-minimal is still in the closure, probably due to some > other input, so it doesn't reduce the size of the package. OK, so no real benefit. :) >> Looks good to me. guix lint is happy and the build is reproducible. I >> have modified the indentation to follow our “custom” Emacs rules. Here >> is the updated patch. > > Funnily, I broke Emacs indentation on purpose because other package > definitions in the file were disagreeing with it. I should have trusted > good ole Emacs. Yeah it is a known problem. Some people don't use Emacs so they are likely to introduce indentation mistakes. Emacs + rules from .dir-locals.el is our reference indentation (minor some emacs bugs). >> Is there a particular reason for not patching this within the >> ‘arguments’ field? > > This is because the test issue is related to a given release, i.e., > a given `source' field. OTOH, `arguments' are for control over the build > process, which is not going to change anytime soon. > > To put it differently, I put the temporary fix in `snippet' and the > persistent one in `arguments'. OK, I understand what was the intention. However I don't think we usually make this sort of distinction. The ‘arguments’ field is for general purpose build customization, whereas The ‘snippet’ field in origin is meant for removing/modifying parts of the code that don't respect GNU FSDG. It is done this way so that when the user is doing ‘guix build --source PACKAGE’ to get the tarball, a freed version is provided instead of the one from upstream. > Moreover, you suggest to merge the two fixes into a single phase named > `fix-makefiles', which, albeit correct, is less accurate than > `patch-bin-cp'. I think you are right, could you send an updated patch with two separate phases? Sorry I love nitpicking. ;) Thanks, -- Mathieu Lirzin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-11 23:21 ` Mathieu Lirzin @ 2016-04-12 19:04 ` Nicolas Goaziou 2016-04-13 17:57 ` Mathieu Lirzin 0 siblings, 1 reply; 7+ messages in thread From: Nicolas Goaziou @ 2016-04-12 19:04 UTC (permalink / raw To: Mathieu Lirzin; +Cc: Guix-devel [-- Attachment #1: Type: text/plain, Size: 1028 bytes --] Hello, Mathieu Lirzin <mthl@gnu.org> writes: > with texlive-minimal as input, and without texlive in the environment do > you get some errors? Yes, I do. The errors are the same sh: pstopnm: command not found sh: pnmtopng: command not found They do not appear with `netpbm' in the environment, so I think everything is fine, after all. > The ‘arguments’ field is for general purpose build customization, > whereas The ‘snippet’ field in origin is meant for removing/modifying > parts of the code that don't respect GNU FSDG. > > It is done this way so that when the user is doing ‘guix build --source > PACKAGE’ to get the tarball, a freed version is provided instead of the > one from upstream. Point taken. Thank you for the explanation. > I think you are right, could you send an updated patch with two separate > phases? Sorry I love nitpicking. ;) Here is the new patch. Regards, -- Nicolas Goaziou 0x80A93738 [-- Attachment #2: giac-xcas (take 3) --] [-- Type: text/x-patch, Size: 4379 bytes --] From a1b91846b69321239b773df433bd679d31d051d6 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Thu, 7 Apr 2016 14:43:15 +0200 Subject: [PATCH 2/2] gnu: Add giac-xcas * gnu/packages/algebra.scm (giac-xcas): New variable. --- gnu/packages/algebra.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index abac961..8babe28 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -23,7 +24,10 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages doxygen) + #:use-module (gnu packages fltk) + #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) + #:use-module (gnu packages image) #:use-module (gnu packages multiprecision) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) @@ -31,7 +35,9 @@ #:use-module (gnu packages readline) #:use-module (gnu packages flex) #:use-module (gnu packages python) + #:use-module (gnu packages tcsh) #:use-module (gnu packages texlive) + #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -192,6 +198,67 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (license license:gpl2) (home-page "http://pari.math.u-bordeaux.fr/"))) +(define-public giac-xcas + (package + (name "giac-xcas") + (version "1.2.2-37") + (source (origin + (method url-fetch) + ;; "~parisse/giac" is not used because the maintainer regularly + ;; overwrites the release tarball there, introducing a checksum + ;; mismatch every time. See + ;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README> + (uri (string-append "https://www-fourier.ujf-grenoble.fr/" + "~parisse/debian/dists/stable/main/" + "source/giac_" version ".tar.gz")) + (sha256 + (base32 + "0cagh9nnaz7ks299b2bs3lrdclv4xbyis24zc8vf3i25p470bxsf")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-bin-cp + (lambda _ + ;; Some Makefiles contain hard-coded "/bin/cp". + (substitute* (find-files "doc" "^Makefile") + (("/bin/cp") (which "cp"))) + #t)) + (add-after 'unpack 'disable-broken-test + (lambda _ + ;; Disable failing test. Actually, the results are correct but + ;; a sorting discrepancy prevents the test from being validated. + (substitute* "check/Makefile.in" + (("chk_fhan16") "")) + #t))))) + (inputs + `(("fltk" ,fltk) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("lapack" ,lapack) + ("libao" ,ao) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxft" ,libxft) + ("libxt" ,libxt) + ("mesa" ,mesa) + ("mpfi" ,mpfi) + ("mpfr" ,mpfr) + ("ntl" ,ntl) + ("perl" ,perl) + ("pari-gp" ,pari-gp) + ("tcsh" ,tcsh) + ("texlive" ,texlive-minimal))) + (native-inputs `(("readline" ,readline))) + (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") + (synopsis "Computer algebra system") + (description + "Giac/Xcas is a computer algebra system. It has a compatibility mode for +maple, mupad and the TI89. It is available as a standalone program (graphic +or text interfaces) or as a C++ library.") + (license license:gpl3+))) + (define-public flint (package (name "flint") -- 2.8.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add giac-xcas 2016-04-12 19:04 ` Nicolas Goaziou @ 2016-04-13 17:57 ` Mathieu Lirzin 0 siblings, 0 replies; 7+ messages in thread From: Mathieu Lirzin @ 2016-04-13 17:57 UTC (permalink / raw To: Nicolas Goaziou; +Cc: Guix-devel Hello, Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: >> I think you are right, could you send an updated patch with two separate >> phases? Sorry I love nitpicking. ;) > > Here is the new patch. Both patches pushed in commits: 61bb355532f2612ee99d0d9438dbea5ad4ec1f4d 57497c5753465d4c2bbe1427223a51c5c33e12d9 Thanks again for your contribution. -- Mathieu Lirzin ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-04-13 17:57 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-04-07 13:55 [PATCH] gnu: Add giac-xcas Nicolas Goaziou 2016-04-10 13:42 ` Nicolas Goaziou 2016-04-11 13:52 ` Mathieu Lirzin 2016-04-11 22:23 ` Nicolas Goaziou 2016-04-11 23:21 ` Mathieu Lirzin 2016-04-12 19:04 ` Nicolas Goaziou 2016-04-13 17:57 ` Mathieu Lirzin
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).