summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2026-06-06 19:42:14 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2026-06-10 10:47:26 +0200
commit7f97fce07c8d32b22e1568f8a6553228b8567c6a (patch)
treed8dd3fe089eafb874ab9bcedba1bc67501e853f1
parentd8c5da88866e811ff4a4b2a70ebf9efd02513b60 (diff)
gnu: asymptote: Update to 3.12.
* gnu/packages/plotutils.scm (asymptote): Update to 3.12. [native-inputs]: Add libtool, vulkan-headers. [inputs]: Add glfw, glslang, libglvnd, ncurses, spirv-tools, vulkan-loader. Remove libgc. [arguments]: Install LaTeX and ConTeXt ".sty" files at the proper location. Change bootstrap process through phases. Remove workaround for tiprc library. Merges: !9114 Change-Id: Ie372268b4db001d9faac2f631674f188c1e95bd7
-rw-r--r--gnu/packages/plotutils.scm56
1 files changed, 33 insertions, 23 deletions
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 8cb627108b7..98e924a0ee8 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,7 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013-2021, 2025 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013-2021, 2025 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> 3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
4;;; Copyright © 2016-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr> 4;;; Copyright © 2016-2026 Nicolas Goaziou <mail@nicolasgoaziou.fr>
5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> 5;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
6;;; Copyright © 2020 Maxim Cournoyer <maxim@guixotic.coop> 6;;; Copyright © 2020 Maxim Cournoyer <maxim@guixotic.coop>
7;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> 7;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
@@ -49,6 +49,7 @@
49 #:use-module (gnu packages guile) 49 #:use-module (gnu packages guile)
50 #:use-module (gnu packages image) 50 #:use-module (gnu packages image)
51 #:use-module (gnu packages maths) 51 #:use-module (gnu packages maths)
52 #:use-module (gnu packages ncurses)
52 #:use-module (gnu packages onc-rpc) 53 #:use-module (gnu packages onc-rpc)
53 #:use-module (gnu packages perl) 54 #:use-module (gnu packages perl)
54 #:use-module (gnu packages pkg-config) 55 #:use-module (gnu packages pkg-config)
@@ -61,6 +62,7 @@
61 #:use-module (gnu packages statistics) 62 #:use-module (gnu packages statistics)
62 #:use-module (gnu packages tex) 63 #:use-module (gnu packages tex)
63 #:use-module (gnu packages texinfo) 64 #:use-module (gnu packages texinfo)
65 #:use-module (gnu packages vulkan)
64 #:use-module (gnu packages web) 66 #:use-module (gnu packages web)
65 #:use-module (gnu packages wxwidgets) 67 #:use-module (gnu packages wxwidgets)
66 #:use-module (gnu packages xorg)) 68 #:use-module (gnu packages xorg))
@@ -68,19 +70,15 @@
68(define-public asymptote 70(define-public asymptote
69 (package 71 (package
70 (name "asymptote") 72 (name "asymptote")
71 (version "3.05") 73 (version "3.12")
72 (source 74 (source
73 (origin 75 (origin
74 (method url-fetch) 76 (method url-fetch)
75 (uri (string-append "mirror://sourceforge/asymptote/" 77 (uri (string-append "mirror://sourceforge/asymptote/"
76 version "/asymptote-" version ".src.tgz")) 78 version "/asymptote-" version ".src.tgz"))
77 (sha256 79 (sha256
78 (base32 "11wsqvsdn58h8ybd2r5nysr8hfhwz0w4dzzgwib9m1nx7c56vh9m")) 80 (base32 "06wgkff6ah0jp5icj0wliy0v0y1llxkd9263jfii7wiy8sbixv7a"))
79 (modules '((guix build utils))) 81 (modules '((guix build utils)))))
80 (snippet
81 ;; Remove bundled RapidJSON.
82 #~(begin
83 (delete-file-recursively "LspCpp/third_party/rapidjson")))))
84 (build-system gnu-build-system) 82 (build-system gnu-build-system)
85 ;; Note: The 'asy' binary retains a reference to docdir for use with its 83 ;; Note: The 'asy' binary retains a reference to docdir for use with its
86 ;; "help" command in interactive mode, so adding a "doc" output is not 84 ;; "help" command in interactive mode, so adding a "doc" output is not
@@ -94,6 +92,7 @@
94 emacs-minimal 92 emacs-minimal
95 flex 93 flex
96 ghostscript ;for tests 94 ghostscript ;for tests
95 libtool
97 perl 96 perl
98 pkg-config 97 pkg-config
99 rapidjson 98 rapidjson
@@ -111,22 +110,28 @@
111 texlive-parskip 110 texlive-parskip
112 texlive-pdftexcmds 111 texlive-pdftexcmds
113 texlive-texinfo 112 texlive-texinfo
114 texlive-type1cm)))) 113 texlive-type1cm))
114 vulkan-headers))
115 (inputs 115 (inputs
116 (list bash-minimal 116 (list bash-minimal
117 eigen 117 eigen
118 fftw 118 fftw
119 freeglut 119 freeglut
120 glew 120 glew
121 glfw
121 glm 122 glm
123 glslang
122 gsl 124 gsl
123 libgc 125 libglvnd
124 libtirpc 126 libtirpc
127 ncurses
125 python 128 python
126 python-cson 129 python-cson
127 python-numpy 130 python-numpy
128 python-pyqt 131 python-pyqt
129 readline 132 readline
133 spirv-tools
134 vulkan-loader
130 zlib)) 135 zlib))
131 (arguments 136 (arguments
132 (list 137 (list
@@ -137,27 +142,17 @@
137 #:imported-modules `(,@%default-gnu-imported-modules 142 #:imported-modules `(,@%default-gnu-imported-modules
138 (guix build emacs-utils)) 143 (guix build emacs-utils))
139 #:configure-flags 144 #:configure-flags
140 #~(list (string-append "--enable-gc=" #$(this-package-input "libgc")) 145 #~(list (string-append "--with-latex=" #$output "/share/texmf-dist/tex/latex")
141 (string-append "--with-latex=" #$output "/share/texmf/tex/latex")
142 (string-append "--with-context=" 146 (string-append "--with-context="
143 #$output 147 #$output
144 "/share/texmf/tex/context/third")) 148 "/share/texmf-dist/tex/context/third"))
145 #:phases 149 #:phases
146 #~(modify-phases %standard-phases 150 #~(modify-phases %standard-phases
147 (add-after 'unpack 'locate-tirpc 151 (add-after 'unpack 'use-system-rapidjson
148 (lambda* (#:key inputs #:allow-other-keys)
149 (substitute* (list "configure.ac")
150 (("GCLIB=\".*/libgc.a\"") "GCLIB=\"-lgc\"")
151 (("/usr/include/tirpc")
152 (search-input-directory inputs "include/tirpc")))))
153 (add-after 'unpack 'unbundle-rapidjson
154 (lambda* (#:key inputs #:allow-other-keys) 152 (lambda* (#:key inputs #:allow-other-keys)
155 (substitute* (list "Makefile.in") 153 (substitute* (list "Makefile.in")
156 (("\\$\\(CMAKE\\)" all) 154 (("\\$\\(CMAKE\\)" all)
157 (string-append all " -DUSE_SYSTEM_RAPIDJSON=ON"))))) 155 (string-append all " -DUSE_SYSTEM_RAPIDJSON=ON")))))
158 (replace 'bootstrap
159 (lambda _
160 (invoke "autoreconf" "-vfi")))
161 (add-after 'unpack 'move-info-location 156 (add-after 'unpack 'move-info-location
162 ;; Build process installs info file in the unusual 157 ;; Build process installs info file in the unusual
163 ;; "%out/share/info/asymptote/" location. Move it to 158 ;; "%out/share/info/asymptote/" location. Move it to
@@ -167,6 +162,21 @@
167 (("(\\$\\(infodir\\))/asymptote" _ infodir) infodir)) 162 (("(\\$\\(infodir\\))/asymptote" _ infodir) infodir))
168 (substitute* "doc/asymptote.texi" 163 (substitute* "doc/asymptote.texi"
169 (("asymptote/asymptote") "asymptote")))) 164 (("asymptote/asymptote") "asymptote"))))
165 (add-before 'bootstrap 'prepare-bootstrap
166 ;; Bootstrap happens before /bin/sh is replaced with an
167 ;; appropriate location, so set it. Also clear
168 ;; "-lMachineIndependent -lOSDependent -lGenericCodeGen" from
169 ;; VULKAN_LIBS.
170 (lambda _
171 (setenv "CONFIG_SHELL" (which "bash"))
172 (substitute* (list "autogen.sh" "gc/autogen.sh" "gc/configure")
173 (("/bin/sh") (which "sh")))
174 (substitute* "configure.ac"
175 (("(^[ \t]*VULKAN_LIBS=\").*" _ pre)
176 (string-append pre "\"\n")))))
177 (replace 'bootstrap
178 (lambda _
179 (invoke "./autogen.sh")))
170 (add-before 'build 'patch-pdf-viewer 180 (add-before 'build 'patch-pdf-viewer
171 (lambda _ 181 (lambda _
172 ;; Default to a free pdf viewer. 182 ;; Default to a free pdf viewer.