Archived
1
0
Fork 0

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.
This commit is contained in:
Maxim Cournoyer 2020-01-24 23:13:46 -05:00
parent 89c34f5e48
commit f977fe92c4
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 15 additions and 33 deletions

View file

@ -1377,7 +1377,6 @@ dist_patch_DATA = \
%D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2011-4620.patch \
%D%/packages/patches/plib-CVE-2012-4552.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/podofo-cmake-3.12.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/portmidi-modular-build.patch \

View file

@ -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

View file

@ -3,6 +3,7 @@
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -56,7 +57,6 @@
(sha256 (sha256
(base32 (base32
"1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg")) "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg"))
(patches (search-patches "plotutils-libpng-jmpbuf.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Force the use of libXaw7 instead of libXaw. When not doing ;; Force the use of libXaw7 instead of libXaw. When not doing
@ -67,22 +67,28 @@
(substitute* "configure" (substitute* "configure"
(("-lXaw") (("-lXaw")
"-lXaw7")) "-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)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-libplotter")))
(inputs `(("libpng" ,libpng) (inputs `(("libpng" ,libpng)
("libx11" ,libx11) ("libx11" ,libx11)
("libxt" ,libxt) ("libxt" ,libxt)
("libxaw" ,libxaw))) ("libxaw" ,libxaw)))
(home-page "https://www.gnu.org/software/plotutils/")
(home-page
"https://www.gnu.org/software/plotutils/")
(synopsis "Plotting utilities and library") (synopsis "Plotting utilities and library")
(description (description
"GNU Plotutils is a package for plotting and working with 2D graphics. "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 It includes the C library @code{libplot} and the C++ @code{libplotter} library
graphics in many file formats. It also has support for 2D vector graphics for exporting 2D vector graphics in many file formats. It also has support
animations. The package also contains command-line programs for plotting for 2D vector graphics animations. The package also contains command-line
scientific data.") programs for plotting scientific data.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public guile-charting (define-public guile-charting