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:
parent
89c34f5e48
commit
f977fe92c4
3 changed files with 15 additions and 33 deletions
|
@ -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 \
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
||||||
|
|
Reference in a new issue