summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/drawtiming')
-rw-r--r--sci-electronics/drawtiming/drawtiming-0.7.1-r2.ebuild37
-rw-r--r--sci-electronics/drawtiming/files/drawtiming-0.7.1-imagemagick-7.patch137
2 files changed, 174 insertions, 0 deletions
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);