From f61eaf087ab2663833f24157f815c4e3e2c4da87 Mon Sep 17 00:00:00 2001 From: Thomas Beierlein Date: Mon, 5 Jun 2017 18:55:00 +0200 Subject: sci-electronics/drawtiming: Let package compile with >=imagemagick-7 (bug #595222). Thanks Toralf. Package-Manager: Portage-2.3.6, Repoman-2.3.2 --- .../drawtiming/drawtiming-0.7.1-r2.ebuild | 37 ++++++ .../files/drawtiming-0.7.1-imagemagick-7.patch | 137 +++++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 sci-electronics/drawtiming/drawtiming-0.7.1-r2.ebuild create mode 100644 sci-electronics/drawtiming/files/drawtiming-0.7.1-imagemagick-7.patch diff --git a/sci-electronics/drawtiming/drawtiming-0.7.1-r2.ebuild b/sci-electronics/drawtiming/drawtiming-0.7.1-r2.ebuild new file mode 100644 index 000000000000..baa109d58d36 --- /dev/null +++ b/sci-electronics/drawtiming/drawtiming-0.7.1-r2.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools eutils + +DESCRIPTION="Command line tool for drawing timing diagrams" +HOMEPAGE="http://drawtiming.sourceforge.net/index.html" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples" + +DEPEND="media-gfx/imagemagick[cxx]" +RDEPEND="${DEPEND}" + +src_prepare() { + mv "${S}"/configure.in "${S}"/configure.ac + epatch "${FILESDIR}"/${P}-gcc43.patch \ + "${FILESDIR}"/${P}-ldflags.patch + if has_version ">=media-gfx/imagemagick-7.0.5.7" ;then + epatch "${FILESDIR}"/${P}-imagemagick-7.patch + fi + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS ChangeLog README THANKS + if use examples; then + insinto "/usr/share/doc/${PF}/examples" + doins samples/*.txt + fi +} diff --git a/sci-electronics/drawtiming/files/drawtiming-0.7.1-imagemagick-7.patch b/sci-electronics/drawtiming/files/drawtiming-0.7.1-imagemagick-7.patch new file mode 100644 index 000000000000..8f075a57200a --- /dev/null +++ b/sci-electronics/drawtiming/files/drawtiming-0.7.1-imagemagick-7.patch @@ -0,0 +1,137 @@ +diff -u drawtiming-0.7.1.old/configure.in drawtiming-0.7.1/configure.in +--- drawtiming-0.7.1.old/configure.ac 2009-04-03 02:59:52.000000000 +0000 ++++ drawtiming-0.7.1/configure.ac 2017-06-01 15:20:15.168508458 +0000 +@@ -15,7 +15,7 @@ + [], [with_magick=check]) + + AS_IF([test "x$with_magick" != "xno"], +- [PKG_CHECK_MODULES([MAGICK], [ImageMagick++])], ++ [PKG_CHECK_MODULES([MAGICK], [Magick++])], + [AC_DEFINE([LITE],[1],[Build without ImageMagick])]) + + AC_OUTPUT(Makefile drawtiming.spec src/Makefile doc/Makefile samples/Makefile) +diff -u -r drawtiming-0.7.1.old/src/timing.cc drawtiming-0.7.1/src/timing.cc +--- drawtiming-0.7.1.old/src/timing.cc 2017-06-05 15:36:36.603638861 +0000 ++++ drawtiming-0.7.1/src/timing.cc 2017-06-02 12:48:03.523309638 +0000 +@@ -517,7 +517,7 @@ + // ------------------------------------------------------------ + + static void draw_dependency (gc &gc, int x0, int y0, int x1, int y1) { +- list shaft, head; ++ vector shaft, head; + + gc.push (); + gc.stroke_color ("blue"); +@@ -571,7 +571,7 @@ + + static void draw_delay (gc &gc, int x0, int y0, int x1, int y1, int y2, + const string &text) { +- list head; ++ vector head; + + gc.push (); + gc.stroke_color ("blue"); +@@ -688,7 +688,7 @@ + + // ------------------------------------------------------------ + +-void magick_gc::bezier (const std::list &points) { ++void magick_gc::bezier (const std::vector &points) { + drawables.push_back (DrawableBezier (points)); + } + +@@ -724,7 +724,7 @@ + + // ------------------------------------------------------------ + +-void magick_gc::polygon (const std::list &points) ++void magick_gc::polygon (const std::vector &points) + { + drawables.push_back (DrawablePolygon (points)); + } +diff -u -r drawtiming-0.7.1.old/src/timing.h drawtiming-0.7.1/src/timing.h +--- drawtiming-0.7.1.old/src/timing.h 2009-04-03 03:02:40.000000000 +0000 ++++ drawtiming-0.7.1/src/timing.h 2017-06-02 12:49:35.780468543 +0000 +@@ -129,13 +129,13 @@ + gc (void) : width(0), height(0) { } + virtual ~gc() { } + +- virtual void bezier (const std::list &points) = 0; ++ virtual void bezier (const std::vector &points) = 0; + virtual void fill_color (const std::string &name) = 0; + virtual void fill_opacity (int op) = 0; + virtual void font (const std::string &name) = 0; + virtual void line (int x1, int y1, int x2, int y2) = 0; + virtual void point_size (int size) = 0; +- virtual void polygon (const std::list &points) = 0; ++ virtual void polygon (const std::vector &points) = 0; + virtual void pop (void) = 0; + virtual void push (void) = 0; + virtual void scaling (double hscale, double vscale) = 0; +@@ -146,18 +146,18 @@ + + #ifndef LITE + class magick_gc : public gc { +- std::list drawables; ++ std::vector drawables; + + public: + ~magick_gc (void); + +- void bezier (const std::list &points); ++ void bezier (const std::vector &points); + void fill_color (const std::string &name); + void fill_opacity (int op); + void font (const std::string &name); + void line (int x1, int y1, int x2, int y2); + void point_size (int size); +- void polygon (const std::list &points); ++ void polygon (const std::vector &points); + void pop (void); + void push (void); + void scaling (double hscale, double vscale); +diff -u -r drawtiming-0.7.1.old/src/timing.cc drawtiming-0.7.1/src/timing.cc +--- drawtiming-0.7.1.old/src/timing.cc 2017-06-05 15:36:36.603638861 +0000 ++++ drawtiming-0.7.1/src/timing.cc 2017-06-02 12:48:03.523309638 +0000 +@@ -790,8 +790,8 @@ + + // ------------------------------------------------------------ + +-void postscript_gc::bezier (const std::list &points) { +- std::list::const_iterator i = points.begin(); ++void postscript_gc::bezier (const std::vector &points) { ++ std::vector::const_iterator i = points.begin(); + + ps_text << "newpath\n"; + ps_text << i->x () << ' ' << (height - i->y ()) << " moveto\n"; +@@ -840,9 +840,9 @@ + + // ------------------------------------------------------------ + +-void postscript_gc::polygon (const std::list &points) { ++void postscript_gc::polygon (const std::vector &points) { + static const char *ops[] = {"stroke", "fill"}; +- std::list::const_iterator i; ++ std::vector::const_iterator i; + int j; + + for (j = 0; j < 2; j++) { +diff -u -r drawtiming-0.7.1.old/src/timing.h drawtiming-0.7.1/src/timing.h +--- drawtiming-0.7.1.old/src/timing.h 2009-04-03 03:02:40.000000000 +0000 ++++ drawtiming-0.7.1/src/timing.h 2017-06-02 12:49:35.780468543 +0000 +@@ -176,13 +176,13 @@ + postscript_gc (void); + ~postscript_gc (void); + +- void bezier (const std::list &points); ++ void bezier (const std::vector &points); + void fill_color (const std::string &name); + void fill_opacity (int op); + void font (const std::string &name); + void line (int x1, int y1, int x2, int y2); + void point_size (int size); +- void polygon (const std::list &points); ++ void polygon (const std::vector &points); + void pop (void); + void push (void); + void scaling (double hscale, double vscale); -- cgit v1.2.3-65-gdbad