From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [PATCH] gnu: Add giac-xcas Date: Sun, 10 Apr 2016 15:42:59 +0200 Message-ID: <87h9f9mvfg.fsf@nicolasgoaziou.fr> References: <87inzt7cc3.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apFbg-0004Nh-2f for guix-devel@gnu.org; Sun, 10 Apr 2016 09:40:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1apFbe-0004Sn-9l for guix-devel@gnu.org; Sun, 10 Apr 2016 09:40:52 -0400 Received: from relay3-d.mail.gandi.net ([2001:4b98:c:538::195]:51869) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1apFbd-0004Si-VK for guix-devel@gnu.org; Sun, 10 Apr 2016 09:40:50 -0400 Received: from selenimh (unknown [IPv6:2a03:a0a0:0:4301::2de]) (Authenticated sender: mail@nicolasgoaziou.fr) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id E479CA80BF for ; Sun, 10 Apr 2016 15:40:48 +0200 (CEST) In-Reply-To: <87inzt7cc3.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Thu, 07 Apr 2016 15:55:24 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Guix-devel --=-=-= Content-Type: text/plain 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, --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-mpfi.patch Content-Transfer-Encoding: quoted-printable Content-Description: mpfi-patch >From eab8703a36c405bf01c34db4a5ceb1a5926033b5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou 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 =C2=A9 2012, 2013, 2015 Ludovic Court=C3=A8s ;;; Copyright =C2=A9 2014 Mark H Weaver ;;; Copyright =C2=A9 2015 Andreas Enge +;;; Copyright =C2=A9 2016 Nicolas Goaziou ;;; ;;; 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/mpf= i-" + version ".tar.gz")) + (sha256 + (base32 + "1g2q6i7dqx40p4gw11da6jgfcbzmm26wxc69fwv8zpcdyg32a9za")))) + (build-system gnu-build-system) + (propagated-inputs `(("gmp" ,gmp) ; 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 M= PFR +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 i= s on +the one hand to get guaranteed results, thanks to interval computation, an= d 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"))) --=20 2.8.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0002-gnu-Add-giac-xcas.patch Content-Transfer-Encoding: quoted-printable Content-Description: giac-xcas patch >From b454564510f436ca1150a672970bafc805fbd86b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou 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 =C2=A9 2012, 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright =C2=A9 2013, 2015 Ludovic Court=C3=A8s +;;; Copyright =C2=A9 2016 Nicolas Goaziou ;;; Copyright =C2=A9 2014 Mark H Weaver ;;; ;;; 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 fas= ter computations.") (license license:gpl2+) (home-page "http://pari.math.u-bordeaux.fr/"))) =20 +(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 regul= arly + ;; overrides the release tarball there, introducing a checks= um + ;; mismatch every time. See + ;; + (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 b= ut + ;; a sorting discrepancy prevents the test from being valida= ted. + (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") --=20 2.8.0 --=-=-=--