commit: f61eaf087ab2663833f24157f815c4e3e2c4da87 Author: Thomas Beierlein <tomjbe <AT> gentoo <DOT> org> AuthorDate: Mon Jun 5 16:55:00 2017 +0000 Commit: Thomas Beierlein <tomjbe <AT> gentoo <DOT> org> CommitDate: Mon Jun 5 16:57:02 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f61eaf08
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(+) 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 00000000000..baa109d58d3 --- /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 00000000000..8f075a57200 --- /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<Coordinate> shaft, head; ++ vector<Coordinate> 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<Coordinate> head; ++ vector<Coordinate> head; + + gc.push (); + gc.stroke_color ("blue"); +@@ -688,7 +688,7 @@ + + // ------------------------------------------------------------ + +-void magick_gc::bezier (const std::list<Magick::Coordinate> &points) { ++void magick_gc::bezier (const std::vector<Magick::Coordinate> &points) { + drawables.push_back (DrawableBezier (points)); + } + +@@ -724,7 +724,7 @@ + + // ------------------------------------------------------------ + +-void magick_gc::polygon (const std::list<Magick::Coordinate> &points) ++void magick_gc::polygon (const std::vector<Magick::Coordinate> &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<Magick::Coordinate> &points) = 0; ++ virtual void bezier (const std::vector<Magick::Coordinate> &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<Magick::Coordinate> &points) = 0; ++ virtual void polygon (const std::vector<Magick::Coordinate> &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<Magick::Drawable> drawables; ++ std::vector<Magick::Drawable> drawables; + + public: + ~magick_gc (void); + +- void bezier (const std::list<Magick::Coordinate> &points); ++ void bezier (const std::vector<Magick::Coordinate> &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<Magick::Coordinate> &points); ++ void polygon (const std::vector<Magick::Coordinate> &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<Magick::Coordinate> &points) { +- std::list<Magick::Coordinate>::const_iterator i = points.begin(); ++void postscript_gc::bezier (const std::vector<Magick::Coordinate> &points) { ++ std::vector<Magick::Coordinate>::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<Magick::Coordinate> &points) { ++void postscript_gc::polygon (const std::vector<Magick::Coordinate> &points) { + static const char *ops[] = {"stroke", "fill"}; +- std::list<Magick::Coordinate>::const_iterator i; ++ std::vector<Magick::Coordinate>::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<Magick::Coordinate> &points); ++ void bezier (const std::vector<Magick::Coordinate> &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<Magick::Coordinate> &points); ++ void polygon (const std::vector<Magick::Coordinate> &points); + void pop (void); + void push (void); + void scaling (double hscale, double vscale);