summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2019-04-10 22:10:40 +0200
committerPacho Ramos <pacho@gentoo.org>2019-04-10 22:10:40 +0200
commitdc4414d63dc4427f8d3a87a0fccb93ce72d5bcba (patch)
treecfbd91643c3c237d20473c67451e48680038e29f
parentsys-libs/musl: version bump to 1.1.22 (diff)
downloadgentoo-dc4414d6.tar.gz
gentoo-dc4414d6.tar.bz2
gentoo-dc4414d6.zip
media-gfx/dcraw: Fix compat with newer gimp
Thanks-to: Helmut Jarausch Closes: https://bugs.gentoo.org/655390 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
-rw-r--r--media-gfx/dcraw/dcraw-9.28.0-r1.ebuild115
-rw-r--r--media-gfx/dcraw/files/dcraw-9.28.0-gimp-2.10.patch27
2 files changed, 142 insertions, 0 deletions
diff --git a/media-gfx/dcraw/dcraw-9.28.0-r1.ebuild b/media-gfx/dcraw/dcraw-9.28.0-r1.ebuild
new file mode 100644
index 000000000000..dbd2794f170d
--- /dev/null
+++ b/media-gfx/dcraw/dcraw-9.28.0-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit readme.gentoo-r1 toolchain-funcs
+
+DESCRIPTION="Command-line decoder for raw digital photos"
+HOMEPAGE="https://www.cybercom.net/~dcoffin/dcraw/"
+SRC_URI="https://www.cybercom.net/~dcoffin/dcraw/archive/${P}.tar.gz
+ mirror://gentoo/parse-1.73.tar.bz2
+ gimp? ( mirror://gentoo/rawphoto-1.32.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+LANGS=" ca cs de da eo es fr hu it nl pl pt ru sv zh_CN zh_TW"
+IUSE="nls gimp jpeg jpeg2k lcms"
+
+COMMON_DEPEND="
+ jpeg? ( virtual/jpeg:0 )
+ lcms? ( media-libs/lcms:2 )
+ jpeg2k? ( media-libs/jasper:= )
+ gimp? ( media-gfx/gimp )
+"
+DEPEND="${COMMON_DEPEND}
+ nls? ( sys-devel/gettext )
+ gimp? ( virtual/pkgconfig )
+"
+RDEPEND="${COMMON_DEPEND}
+ media-libs/netpbm
+"
+
+S="${WORKDIR}/dcraw"
+
+DOC_CONTENTS="
+ See conversion-examples.txt.gz on how to convert
+ the PPM files produced by dcraw to other image formats.\n
+
+ \nThe functionality of the external program 'fujiturn' was
+ incorporated into dcraw and is automatically used now.\n
+
+ \nThere's an example wrapper script included called 'dcwrap'.
+ This package also includes 'dcparse', which extracts
+ thumbnail images (preferably JPEGs) from any raw digital
+ camera formats that have them, and shows table contents.
+"
+
+PATCHES=(
+ # Support gimp-2.10, bug #655390
+ "${FILESDIR}"/${PN}-9.28.0-gimp-2.10.patch
+)
+
+run_build() {
+ einfo "${@}"
+ ${@} || die
+}
+
+src_prepare() {
+ default
+ rename dcraw_ dcraw. dcraw_*.1 || die "Failed to rename"
+}
+
+src_compile() {
+ local ECFLAGS="-O2" # Without optimisation build fails
+ local ELIBS="-lm"
+
+ use lcms && ELIBS="-llcms2 ${ELIBS}" || ECFLAGS+=" -DNO_LCMS=yes"
+ use jpeg && ELIBS="-ljpeg ${ELIBS}" || ECFLAGS+=" -DNO_JPEG=yes"
+ use jpeg2k && ELIBS="-ljasper ${ELIBS}" || ECFLAGS+=" -DNO_JASPER=yes"
+ use nls && ECFLAGS+=" -DLOCALEDIR=\"/usr/share/locale/\""
+
+ run_build $(tc-getCC) ${ECFLAGS} ${CFLAGS} ${LDFLAGS} -o dcraw dcraw.c ${ELIBS}
+
+ run_build $(tc-getCC) -O2 ${CFLAGS} ${LDFLAGS} -o dcparse parse.c
+
+ # rawphoto gimp plugin
+ if use gimp; then
+ run_build $(tc-getCC) ${CFLAGS} ${LDFLAGS} \
+ $(pkg-config --cflags gimpui-2.0) rawphoto.c -o rawphoto \
+ $(pkg-config --libs gimpui-2.0)
+ fi
+
+ if use nls; then
+ for lang in ${LANGS}; do
+ has ${lang} ${LINGUAS-${lang}} \
+ && run_build msgfmt -c -o dcraw_${lang}.mo dcraw_${lang}.po
+ done
+ fi
+}
+
+src_install() {
+ dobin dcraw dcparse
+ dodoc "${FILESDIR}"/{conversion-examples.txt,dcwrap}
+
+ # rawphoto gimp plugin
+ if use gimp; then
+ insinto "$(pkg-config --variable=gimplibdir gimp-2.0)/plug-ins"
+ insopts -m0755
+ doins rawphoto
+ fi
+
+ doman dcraw.1
+
+ if use nls; then
+ for lang in ${LANGS}; do
+ if has ${lang} ${LINGUAS-${lang}}; then
+ [[ -f dcraw.${lang}.1 ]] && doman dcraw.${lang}.1
+ insinto /usr/share/locale/${lang}/LC_MESSAGES
+ newins dcraw_${lang}.mo dcraw.mo || die "failed to install dcraw_${lang}.mo"
+ fi
+ done
+ fi
+
+ readme.gentoo_create_doc
+}
diff --git a/media-gfx/dcraw/files/dcraw-9.28.0-gimp-2.10.patch b/media-gfx/dcraw/files/dcraw-9.28.0-gimp-2.10.patch
new file mode 100644
index 000000000000..f590243a9867
--- /dev/null
+++ b/media-gfx/dcraw/files/dcraw-9.28.0-gimp-2.10.patch
@@ -0,0 +1,27 @@
+--- a/rawphoto.c.ORIG 2018-05-10 14:06:37.553419235 +0200
++++ b/rawphoto.c 2018-05-10 14:06:37.553419235 +0200
+@@ -105,8 +105,15 @@
+ load_args,
+ load_return_vals);
+
++#if HAVE_GIMP_2_9
++ gimp_register_magic_load_handler ("file_rawphoto_load",
++ "3fr,arw,bay,bmq,cine,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,ia,jpg,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,pxn,qtk,raf,raw,rdc,rw2,sr2,srf,sti,tif,x3f",
++ "","0,string,II*\\0,0,string,MM\\0*,0,string,<?xml");
++ gimp_register_file_handler_raw ("file_rawphoto_load");
++#else
+ gimp_register_load_handler ("file_rawphoto_load",
+ "3fr,arw,bay,bmq,cine,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,ia,jpg,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,pxn,qtk,raf,raw,rdc,rw2,sr2,srf,sti,tif,x3f", "");
++#endif
+ }
+
+ static void run (RAWPHOTO_CONST gchar *name,
+@@ -225,7 +232,7 @@
+ layer = gimp_layer_new (image, "Background", width, height,
+ depth == 3 ? GIMP_RGB_IMAGE : GIMP_GRAY_IMAGE,
+ 100, GIMP_NORMAL_MODE);
+- gimp_image_add_layer (image, layer, 0);
++ gimp_image_insert_layer(image, layer, 0, 0);
+
+ /* Get the drawable and set the pixel region for our load... */
+ drawable = gimp_drawable_get (layer);