media-video/dvdauthor: adjust imagemagick-7 patch
authorBranko Grubic <bitlord0xff@gmail.com>
Wed, 14 Feb 2018 23:31:21 +0000 (00:31 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Tue, 20 Feb 2018 10:31:15 +0000 (11:31 +0100)
Bug: https://bugs.gentoo.org/647670
Closes: https://github.com/gentoo/gentoo/pull/7189

media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild [new file with mode: 0644]
media-video/dvdauthor/files/dvdauthor-0.7.2-r2-imagemagick7.patch [new file with mode: 0644]

diff --git a/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild b/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild
new file mode 100644 (file)
index 0000000..bab0a74
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Tools for generating DVD files to be played on standalone DVD players"
+HOMEPAGE="http://dvdauthor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="graphicsmagick +imagemagick"
+REQUIRED_USE="^^ ( graphicsmagick imagemagick )"
+
+RDEPEND=">=dev-libs/fribidi-0.19.2
+       dev-libs/libxml2
+       >=media-libs/freetype-2
+       media-libs/libdvdread
+       media-libs/libpng:0=
+       graphicsmagick? ( media-gfx/graphicsmagick:= )
+       imagemagick? ( media-gfx/imagemagick:= )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS ChangeLog README TODO )
+
+src_prepare() {
+       default
+
+       if use imagemagick && has_version '>=media-gfx/imagemagick-7.0.1.0' ; then
+               eapply "${FILESDIR}/${PN}-0.7.2-r2-imagemagick7.patch"
+       fi
+
+       if use graphicsmagick ; then
+               sed -i -e 's:ExportImagePixels:dIsAbLeAuToMaGiC&:' configure \
+                       || die
+       fi
+}
+
+src_configure() {
+       use graphicsmagick && \
+               append-cppflags "$($(tc-getPKG_CONFIG) --cflags GraphicsMagick)" #459976
+       append-cppflags "$($(tc-getPKG_CONFIG) --cflags fribidi)" #417041
+       econf
+}
diff --git a/media-video/dvdauthor/files/dvdauthor-0.7.2-r2-imagemagick7.patch b/media-video/dvdauthor/files/dvdauthor-0.7.2-r2-imagemagick7.patch
new file mode 100644 (file)
index 0000000..0f6bed4
--- /dev/null
@@ -0,0 +1,75 @@
+--- dvdauthor/src/subgen-image.c       2014-01-21 00:12:37.000000000 +0100
++++ dvdauthor/src/subgen-image.c       2017-11-27 20:26:53.682914041 +0100
+@@ -30,7 +30,7 @@
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+ #include <stdarg.h>
+-#include <magick/api.h>
++#include <MagickWand/MagickWand.h>
+ #else
+ #include <png.h>
+ #endif
+@@ -176,18 +176,18 @@
+ {
+     Image *im;
+     ImageInfo *ii;
+-    ExceptionInfo ei;
++    ExceptionInfo *ei;
+     int x,y;
+     unsigned long magickver;
+     unsigned char amask;
+-    GetExceptionInfo(&ei);
++    ei = AcquireExceptionInfo();
+     ii=CloneImageInfo(NULL);
+     strcpy(ii->filename,s->fname);
+-    im=ReadImage(ii,&ei);
++    im=ReadImage(ii,ei);
+     if( !im ) {
+-        MagickError(ei.severity,"Unable to load file",ii->filename);
++        MagickError(ei->severity,"Unable to load file",ii->filename);
+         return -1;
+     }
+@@ -202,10 +202,10 @@
+     for( y=0; y<im->rows; y++ ) {
+         char pdata[MAXX*4];
+-        if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,&ei)) {
+-            fprintf(stderr,"ERR:  Extracting row %d from %s (%s,%s)\n",y,s->fname,ei.reason,ei.description);
+-            CatchException(&ei);
+-            MagickError(ei.severity,ei.reason,ei.description);
++        if(!ExportImagePixels(im,0,y,im->columns,1,"RGBA",CharPixel,pdata,ei)) {
++            fprintf(stderr,"ERR:  Extracting row %d from %s (%s,%s)\n",y,s->fname,ei->reason,ei->description);
++            CatchException(ei);
++            MagickError(ei->severity,ei->reason,ei->description);
+             DestroyImage(im);
+             return -1;
+         }
+@@ -219,7 +219,7 @@
+         }
+     }
+     DestroyImage(im);
+-    DestroyExceptionInfo(&ei);
++    DestroyExceptionInfo(ei);
+     fprintf(stderr,"INFO: Picture %s had %d colors\n",s->fname,s->numpal);
+     return 0;
+@@ -1098,13 +1098,13 @@
+ void image_init()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+-    InitializeMagick(NULL);
++    MagickCoreGenesis("", MagickFalse);
+ #endif
+ }
+ void image_shutdown()
+ {
+ #if defined(HAVE_MAGICK) || defined(HAVE_GMAGICK)
+-    DestroyMagick();
++    MagickCoreTerminus();
+ #endif
+ }
+