;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
#:use-module (gnu packages compression)
(modules '((guix build utils)))
(snippet
'(begin
- ;; Use the standard location for modules.
- (substitute* "Makefile.in"
- (("godir = .*$")
- "godir = $(moddir)\n"))
+ ;; Allow builds with Guile 3.0.
+ (substitute* "configure"
+ (("2\\.2 2\\.0")
+ "3.0 2.2 2.0"))
+
+ ;; By default, .go files would be installed to
+ ;; $libdir/…/ccache instead of $libdir/…/site-ccache. Fix
+ ;; that.
+ (substitute* (find-files "." "^Makefile\\.in$")
+ (("/ccache") "/site-ccache"))
#t))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
using the Cairo drawing library.")
(license license:lgpl2.1+)))
+(define-public guile3.0-charting
+ (package
+ (inherit guile-charting)
+ (name "guile3.0-charting")
+ (inputs `(("guile" ,guile-3.0)))
+ (propagated-inputs `(("guile-cairo" ,guile3.0-cairo)))))
+
(define-public ploticus
(package
(name "ploticus")
(define-public asymptote
(package
(name "asymptote")
- (version "2.41")
+ (version "2.62")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32
- "1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx"))))
+ "0510vnlpfyrvshsxr5lh3klwyhmn2cf4ba1ja476mbv5dcqqbc30"))))
(build-system gnu-build-system)
;; Note: The 'asy' binary retains a reference to docdir for use with its
;; "help" command in interactive mode, so adding a "doc" output is not
;; currently useful.
(native-inputs
- `(("gs" ,ghostscript) ;For tests
+ `(("emacs" ,emacs-minimal)
+ ("gs" ,ghostscript) ;For tests
+ ("perl" ,perl)
("texinfo" ,texinfo) ;For generating documentation
- ("texlive" ,texlive) ;For tests and documentation
- ("emacs" ,emacs-minimal)
- ("perl" ,perl)))
+ ;; For the manual and the tests.
+ ("texlive" ,(texlive-union (list texlive-amsfonts
+ texlive-epsf
+ texlive-latex-base
+ texlive-latex-geometry
+ texlive-latex-graphics
+ texlive-latex-oberdiek ; for ifluatex
+ texlive-latex-parskip
+ texlive-tex-texinfo)))))
(inputs
`(("fftw" ,fftw)
("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("glm" ,glm)
("gsl" ,gsl)
("libgc" ,libgc)
- ("python" ,python-2)
+ ("python" ,python)
+ ("python-cson" ,python-cson)
+ ("python-numpy" ,python-numpy)
+ ("python-pyqt" ,python-pyqt)
("readline" ,readline)
("zlib" ,zlib)))
(arguments
"/share/texmf/tex/context/third"))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build
+ ;; XXX: Build process complains about missing "config.h"
+ ;; and "primitives.h" files.
+ (lambda _
+ (substitute* (find-files "." "\\.in$")
+ (("#include <primitives.h>") "#include \"primitives.h\""))
+ (invoke "touch" "prc/config.h")))
+ (add-after 'unpack 'move-info-location
+ ;; Build process installs info file in the unusual
+ ;; "%out/share/info/asymptote/" location. Move it to
+ ;; "%out/share/info/" so it appears in the top-level directory.
+ (lambda _
+ (substitute* "doc/png/Makefile.in"
+ (("(\\$\\(infodir\\))/asymptote" _ infodir) infodir))
+ (substitute* "doc/asymptote.texi"
+ (("asymptote/asymptote") "asymptote"))
+ #t))
(add-before 'build 'patch-pdf-viewer
(lambda _
;; Default to a free pdf viewer.
(for-each (cut install-file <> lisp-dir)
(find-files "." "\\.el$"))
(emacs-generate-autoloads ,name lisp-dir))
+ #t))
+ (add-after 'install-Emacs-data 'wrap-python-script
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'xasy' runs with the correct PYTHONPATH.
+ (let* ((out (assoc-ref outputs "out"))
+ (path (getenv "PYTHONPATH")))
+ (wrap-program (string-append out "/share/asymptote/GUI/xasy.py")
+ `("PYTHONPATH" ":" prefix (,path))))
#t)))))
(home-page "http://asymptote.sourceforge.net")
(synopsis "Script-based vector graphics language")