diff options
| author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2026-06-06 19:42:14 +0200 |
|---|---|---|
| committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2026-06-10 10:47:26 +0200 |
| commit | 7f97fce07c8d32b22e1568f8a6553228b8567c6a (patch) | |
| tree | d8dd3fe089eafb874ab9bcedba1bc67501e853f1 /gnu/packages/plotutils.scm | |
| parent | d8c5da88866e811ff4a4b2a70ebf9efd02513b60 (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
Diffstat (limited to 'gnu/packages/plotutils.scm')
| -rw-r--r-- | gnu/packages/plotutils.scm | 56 |
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. |
