From 5ec749a0133f6ce2a0bc0a4f5a99ec3f20a2a789 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Tue, 2 May 2017 03:10:54 +0200 Subject: [PATCH] libexif, new recipe (#1314) --- media-libs/libexif/libexif-0.6.21.recipe | 72 +++++++++++++++++++ .../libexif/patches/libexif-0.6.21.patchset | 31 ++++++++ 2 files changed, 103 insertions(+) create mode 100644 media-libs/libexif/libexif-0.6.21.recipe create mode 100644 media-libs/libexif/patches/libexif-0.6.21.patchset diff --git a/media-libs/libexif/libexif-0.6.21.recipe b/media-libs/libexif/libexif-0.6.21.recipe new file mode 100644 index 000000000..7e598ab95 --- /dev/null +++ b/media-libs/libexif/libexif-0.6.21.recipe @@ -0,0 +1,72 @@ +SUMMARY="Library for parsing, editing, and saving EXIF data" +DESCRIPTION="Most digital cameras produce EXIF files, which are JPEG files \ +with extra tags that contain information about the image. The EXIF library \ +allows you to parse an EXIF file and read the data from those tags." +HOMEPAGE="http://libexif.sourceforge.net" +COPYRIGHT="2012 Lutz Mueller + Jan Patera + Hans Ulrich Niedermann + Hubert Figuiere + " +LICENSE="GNU LGPL v2.1" +REVISION="1" +SOURCE_URI="https://sf.net/projects/libexif/files/libexif/0.6.21/libexif-$portVersion.tar.gz" +CHECKSUM_SHA256="edb7eb13664cf950a6edd132b75e99afe61c5effe2f16494e6d27bc404b287bf" +if [ $effectiveTargetArchitecture = x86_gcc2 ]; then + PATCHES="libexif-$portVersion.patchset" +fi + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + libexif$secondaryArchSuffix = $portVersion + lib:libexif$secondaryArchSuffix = 12.3.3 compat >= 12 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + " + +PROVIDES_devel=" + libexif${secondaryArchSuffix}_devel = $portVersion + devel:libexif$secondaryArchSuffix = 12.3.3 compat >= 12 + " +REQUIRES_devel=" + libexif$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libintl$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:awk + cmd:aclocal + cmd:autoconf + cmd:gcc$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + autoreconf -vfi + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + rm $libDir/libexif.la + + prepareInstalledDevelLib libexif + fixPkgconfig + + packageEntries devel \ + $developDir +} diff --git a/media-libs/libexif/patches/libexif-0.6.21.patchset b/media-libs/libexif/patches/libexif-0.6.21.patchset new file mode 100644 index 000000000..ccdfe6a0c --- /dev/null +++ b/media-libs/libexif/patches/libexif-0.6.21.patchset @@ -0,0 +1,31 @@ +From 3ee1412e7c9d070c2a4392be40400f38b8526ac3 Mon Sep 17 00:00:00 2001 +From: begasus +Date: Mon, 1 May 2017 17:13:01 +0200 +Subject: fix gcc2 parse error + + +diff --git a/libexif/exif-entry.c b/libexif/exif-entry.c +index 54a90a2..b008358 100644 +--- a/libexif/exif-entry.c ++++ b/libexif/exif-entry.c +@@ -1380,7 +1380,8 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen) + + /* The tag may not be U+0000-terminated , so make a local + U+0000-terminated copy before converting it */ +- unsigned short *utf16 = exif_mem_alloc (e->priv->mem, e->size+sizeof(unsigned short)); ++ { ++ unsigned short *utf16 = exif_mem_alloc (e->priv->mem, e->size+sizeof(unsigned short)); + if (!utf16) break; + memcpy(utf16, e->data, e->size); + utf16[e->size/sizeof(unsigned short)] = 0; +@@ -1391,6 +1392,7 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen) + exif_mem_free(e->priv->mem, utf16); + break; + } ++ } + + default: + /* Use a generic value formatting */ +-- +2.7.0 +