diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-01-24 23:13:46 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-05-31 22:12:12 -0400 |
commit | f977fe92c4456c3a051832a96c5338e646771c05 (patch) | |
tree | 9f9235c3ea6d45583f08bbb6bf088f0e3b091969 | |
parent | 89c34f5e48431de070c057cf4162a4519afbb0ba (diff) | |
download | guix-f977fe92c4456c3a051832a96c5338e646771c05.tar guix-f977fe92c4456c3a051832a96c5338e646771c05.tar.gz |
gnu: plotutils: Build libplotter.
* gnu/packages/plotutils.scm (plotutils)[origin]: Port the patch to a snippet,
which catches all the problematic occurrences.
[configure-flags]: Pass "--enable-libplotter".
[description]: Mention the newly added C++ libplotter library.
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/plotutils-libpng-jmpbuf.patch | 23 | ||||
-rw-r--r-- | gnu/packages/plotutils.scm | 24 |
3 files changed, 15 insertions, 33 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index befe89ff3e..6d775828e0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1377,7 +1377,6 @@ dist_patch_DATA = \ %D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ - %D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/podofo-cmake-3.12.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ diff --git a/gnu/packages/patches/plotutils-libpng-jmpbuf.patch b/gnu/packages/patches/plotutils-libpng-jmpbuf.patch deleted file mode 100644 index 07ef60996c..0000000000 --- a/gnu/packages/patches/plotutils-libpng-jmpbuf.patch +++ /dev/null @@ -1,23 +0,0 @@ -Use the `png_jmpbuf' accessor, as recommended since libpng 1.4.0: -http://www.libpng.org/pub/png/src/libpng-1.2.x-to-1.4.x-summary.txt . - ---- plotutils-2.6/libplot/z_write.c 2013-07-12 17:19:12.000000000 +0200 -+++ plotutils-2.6/libplot/z_write.c 2013-07-12 17:19:07.000000000 +0200 -@@ -164,7 +164,7 @@ _pl_z_maybe_output_image (S___(Plotter * - } - - /* cleanup after libpng errors (error handler does a longjmp) */ -- if (setjmp (png_ptr->jmpbuf)) -+ if (setjmp (png_jmpbuf (png_ptr))) - { - png_destroy_write_struct (&png_ptr, (png_info **)NULL); - return -1; -@@ -444,7 +444,7 @@ _our_error_fn_stdio (png_struct *png_ptr - #endif - } - -- longjmp (png_ptr->jmpbuf, 1); -+ longjmp (png_jmpbuf (png_ptr), 1); - } - - static void diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index edd492c711..f6881f6776 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,7 +57,6 @@ (sha256 (base32 "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg")) - (patches (search-patches "plotutils-libpng-jmpbuf.patch")) (modules '((guix build utils))) (snippet ;; Force the use of libXaw7 instead of libXaw. When not doing @@ -67,22 +67,28 @@ (substitute* "configure" (("-lXaw") "-lXaw7")) + ;; Use the `png_jmpbuf' accessor, as recommended since libpng + ;; 1.4.0 (see: + ;; http://www.libpng.org/pub/png/src/libpng-1.2.x-to-1.4.x-summary.txt). + (substitute* "libplot/z_write.c" + (("png_ptr->jmpbuf") + "png_jmpbuf (png_ptr)")) #t)))) (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--enable-libplotter"))) (inputs `(("libpng" ,libpng) ("libx11" ,libx11) ("libxt" ,libxt) ("libxaw" ,libxaw))) - - (home-page - "https://www.gnu.org/software/plotutils/") + (home-page "https://www.gnu.org/software/plotutils/") (synopsis "Plotting utilities and library") (description - "GNU Plotutils is a package for plotting and working with 2D graphics. -It includes a library, \"libplot\", for C and C++ for exporting 2D vector -graphics in many file formats. It also has support for 2D vector graphics -animations. The package also contains command-line programs for plotting -scientific data.") + "GNU Plotutils is a package for plotting and working with 2D graphics. +It includes the C library @code{libplot} and the C++ @code{libplotter} library +for exporting 2D vector graphics in many file formats. It also has support +for 2D vector graphics animations. The package also contains command-line +programs for plotting scientific data.") (license license:gpl2+))) (define-public guile-charting |