summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2015-08-16 13:21:38 +0200
committerAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2015-10-04 16:21:51 +0200
commit3e09d75a96b8f864847a96daee2e255bda10f0d2 (patch)
treefd065106c37efeda72e1e03c2e0ff9d929a497a6 /media-gfx/exiv2
parentapp-emulation/libvirt: fix a typo (diff)
downloadgentoo-3e09d75a96b8f864847a96daee2e255bda10f0d2.tar.gz
gentoo-3e09d75a96b8f864847a96daee2e255bda10f0d2.tar.bz2
gentoo-3e09d75a96b8f864847a96daee2e255bda10f0d2.zip
media-gfx/exiv2: Version bump
Switch to cmake Add patch based on Fedora to fix multilib Package-Manager: portage-2.2.20.1
Diffstat (limited to 'media-gfx/exiv2')
-rw-r--r--media-gfx/exiv2/Manifest1
-rw-r--r--media-gfx/exiv2/exiv2-0.25.ebuild124
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch71
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch64
-rw-r--r--media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch27
-rw-r--r--media-gfx/exiv2/metadata.xml9
6 files changed, 291 insertions, 5 deletions
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index f3ef64868d1c..5cd1ff175d62 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1,2 @@
DIST exiv2-0.24.tar.gz 4635028 SHA256 f4a443e6c7fb9d9f5e787732f76969a64c72c4c04af69b10ed57f949c2dfef8e SHA512 e2d5d076c09a36d88472485c9d9d99b5a50aea1ab59b1e5c9301b1ce9fe2b2af02acae2662c9ff56b4c749a224688387ba58334d31b74f04f3d2d3d3c0e387e9 WHIRLPOOL b5b7eb544975d8e14739b39fc294279b58369944172684c0f881348ebf47ef0f9ccd18e8bc41113d9da3a72f8d6c048641f547a7071a7ca6d93d1d30ea2d7aed
+DIST exiv2-0.25.tar.gz 5434325 SHA256 c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4 SHA512 08d4e655ffdde715e0214f4bef01d55aba9b8ba517456a60e254a0f8541c20479e407545db28ca90a69dee8def6941fdd88f9a557fb382ebebe49e363aca8e8e WHIRLPOOL f9e7a6947dac5870e0574253b8c1cb1e7d31a916a9e1c4417c73168046c0b4bed90b9c77253444604163bcf6dca204dab92a52cb03bdcb0f85c807327623f8ac
diff --git a/media-gfx/exiv2/exiv2-0.25.ebuild b/media-gfx/exiv2/exiv2-0.25.ebuild
new file mode 100644
index 000000000000..252166be13e5
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.25.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="http://www.exiv2.org/"
+SRC_URI="http://www.exiv2.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/14"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE_LINGUAS="bs de es fi fr gl ms pl pt ru sk sv ug uk vi"
+IUSE="doc examples nls png webready xmp $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
+
+RDEPEND="
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ png? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ webready? (
+ net-libs/libssh[${MULTILIB_USEDEP}]
+ net-misc/curl[${MULTILIB_USEDEP}]
+ )
+ xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ dev-libs/libxslt
+ virtual/pkgconfig
+ media-gfx/graphviz
+ ${PYTHON_DEPS}
+ )
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( README doc/ChangeLog doc/cmd.txt )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.25-fix-docs.patch"
+ "${FILESDIR}/${PN}-0.25-fix-install-dirs.patch"
+ "${FILESDIR}/${PN}-0.25-tools-optional.patch"
+)
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ rm -r msvc* build || die "Failed to remove msvc dirs"
+
+ if [[ ${PV} != *9999 ]] ; then
+ if [[ -d po ]] ; then
+ pushd po > /dev/null || die
+ for lang in *.po; do
+ if ! has ${lang%.po} ${LINGUAS} ; then
+ rm -rf ${lang} || die
+ fi
+ done
+ popd > /dev/null || die
+ else
+ die "Failed to prepare LINGUAS - po directory moved?"
+ fi
+ fi
+
+ # convert docs to UTF-8
+ local i
+ for i in doc/cmd.txt; do
+ einfo "Converting "${i}" to UTF-8"
+ iconv -f LATIN1 -t UTF-8 "${i}" > "${i}.tmp" || die
+ mv -f "${i}.tmp" "${i}" || die
+ done
+
+ if use doc; then
+ einfo "Updating doxygen config"
+ doxygen &>/dev/null -u config/Doxyfile || die
+ fi
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DEXIV2_ENABLE_BUILD_PO=YES
+ -DEXIV2_ENABLE_BUILD_SAMPLES=NO
+ -DEXIV2_ENABLE_CURL=$(usex webready)
+ -DEXIV2_ENABLE_NLS=$(usex nls)
+ -DEXIV2_ENABLE_PNG=$(usex png)
+ -DEXIV2_ENABLE_SSH=$(usex webready)
+ -DEXIV2_ENABLE_WEBREADY=$(usex webready)
+ -DEXIV2_ENABLE_XMP=$(usex xmp)
+ -DEXIV2_ENABLE_LIBXMP=NO
+ $(multilib_is_native_abi || \
+ echo -DEXIV2_ENABLE_TOOLS=NO)
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ if multilib_is_native_abi; then
+ use doc && emake -j1 doc
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --all
+
+ use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
+ use doc && dodoc -r "${S}"/doc/html
+
+ if use examples; then
+ docinto examples
+ dodoc samples/*.cpp
+ fi
+}
diff --git a/media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch b/media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch
new file mode 100644
index 000000000000..e2bf677b5125
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fix-docs.patch
@@ -0,0 +1,71 @@
+--- a/CMakeLists.txt 2015-07-19 16:04:35.363628707 +0200
++++ b/CMakeLists.txt 2015-07-19 16:28:31.051680136 +0200
+@@ -216,9 +216,7 @@
+ ADD_SUBDIRECTORY( xmpsdk )
+ ADD_SUBDIRECTORY( src )
+
+-IF( EXIV2_ENABLE_BUILD_SAMPLES )
+- ADD_SUBDIRECTORY( samples )
+-ENDIF( EXIV2_ENABLE_BUILD_SAMPLES )
++ADD_SUBDIRECTORY( samples )
+
+ IF( EXIV2_ENABLE_BUILD_PO )
+ ADD_SUBDIRECTORY( po )
+--- a/samples/CMakeLists.txt 2015-07-19 16:04:35.360628744 +0200
++++ b/samples/CMakeLists.txt 2015-07-19 16:30:46.415987850 +0200
+@@ -20,7 +20,11 @@
+ endif()
+ include_directories("${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src")
+
+-SET( SAMPLES addmoddel.cpp
++SET( SAMPLES taglist.cpp )
++
++IF( EXIV2_ENABLE_BUILD_SAMPLES )
++ SET( SAMPLES ${SAMPLES}
++ addmoddel.cpp
+ convert-test.cpp
+ easyaccess-test.cpp
+ exifcomment.cpp
+@@ -38,7 +42,6 @@
+ mmap-test.cpp
+ prevtest.cpp
+ stringto-test.cpp
+- taglist.cpp
+ tiff-test.cpp
+ werror-test.cpp
+ write-test.cpp
+@@ -47,6 +50,7 @@
+ xmpparser-test.cpp
+ xmpsample.cpp
+ )
++ENDIF()
+
+ FOREACH(entry ${SAMPLES})
+ STRING( REPLACE ".cpp" "" target ${entry})
+@@ -63,6 +67,7 @@
+ SET( MC_SRC ${MC_SRC} ../src/getopt_win32.c )
+ ENDIF( MSVC )
+
++IF( EXIV2_ENABLE_BUILD_SAMPLES )
+ SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp )
+ ADD_EXECUTABLE( metacopy ${MC_SRC} )
+ TARGET_LINK_LIBRARIES( metacopy exiv2lib )
+@@ -79,6 +84,7 @@
+ SET_TARGET_PROPERTIES( exiv2json PROPERTIES OUTPUT_NAME exiv2json )
+ TARGET_LINK_LIBRARIES( exiv2json exiv2lib )
+ INSTALL( TARGETS exiv2json ${INSTALL_TARGET_STANDARD_ARGS} )
++ENDIF()
+
+ # That's all Folks!
+ ##
+--- a/doc/templates/Makefile 2015-07-19 16:50:50.589933604 +0200
++++ b/doc/templates/Makefile 2015-07-19 16:51:07.686719864 +0200
+@@ -143,7 +143,7 @@
+ xmp_mwg-rs \
+ xmp_mwg-kw
+
+-TAGLIST = ../../bin/taglist
++TAGLIST = ../../src/bin/taglist
+
+ # **********************************************************************
+ # ======================================================================
diff --git a/media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch b/media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch
new file mode 100644
index 000000000000..bca79dd4d471
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-fix-install-dirs.patch
@@ -0,0 +1,64 @@
+USE GNUInstallDirs to fix man page and multilib install
+
+See also: http://dev.exiv2.org/issues/1125
+Patch based on: http://pkgs.fedoraproject.org/cgit/exiv2.git/tree/exiv2-0.25-cmake_LIB_SUFFIX.patch
+
+--- b/config/CMakeChecks.txt 2015-07-19 14:23:11.606686135 +0200
++++ b/config/CMakeChecks.txt 2015-06-22 08:41:22.913094633 -0500
+@@ -37,6 +37,8 @@
+ INCLUDE( CheckCSourceCompiles )
+ INCLUDE( CheckCXXSourceCompiles )
+
++INCLUDE( GNUInstallDirs )
++
+ INCLUDE( FindIconv )
+
+ SET( STDC_HEADERS ON )
+@@ -289,9 +291,9 @@
+
+ IF( NOT MSVC )
+ CONFIGURE_FILE( config/exiv2.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc @ONLY )
+- INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION lib/pkgconfig )
++ INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
+ CONFIGURE_FILE( config/exiv2.lsm.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm)
+- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm DESTINATION lib/pkgconfig )
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
+ ENDIF( NOT MSVC )
+
+ # ******************************************************************************
+--- a/src/CMakeLists.txt 2015-07-19 14:06:54.104906589 +0200
++++ b/src/CMakeLists.txt 2015-07-19 14:12:37.982607526 +0200
+@@ -321,7 +321,7 @@
+
+ # ******************************************************************************
+ # Man page
+-INSTALL( FILES exiv2.1 DESTINATION man/man1 )
++INSTALL( FILES exiv2.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 )
+
+ # That's all Folks!
+ ##
+--- a/CMakeLists.txt 2015-06-15 10:32:21.000000000 -0500
++++ b/CMakeLists.txt 2015-06-22 08:48:19.486245765 -0500
+@@ -25,7 +25,7 @@ if( POLICY CMP0042 )
+ else()
+ SET(CMAKE_MACOSX_RPATH 1)
+ endif()
+-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+
+ SET( PACKAGE_COPYRIGHT "Andreas Huggel" )
+@@ -156,10 +156,10 @@ INCLUDE( config/CMakeChecks.txt )
+
+ SET( INSTALL_TARGET_STANDARD_ARGS
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
++#SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+
+ ##
+ # add sources from XMPSDK directory
diff --git a/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch b/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch
new file mode 100644
index 000000000000..2bb030a4c4f2
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.25-tools-optional.patch
@@ -0,0 +1,27 @@
+--- a/CMakeLists.txt 2015-06-15 17:32:21.000000000 +0200
++++ b/CMakeLists.txt 2015-10-04 14:37:05.319679836 +0200
+@@ -55,6 +55,7 @@
+ OPTION( EXIV2_ENABLE_WEBREADY "Build webready support into library" OFF )
+ OPTION( EXIV2_ENABLE_CURL "USE Libcurl for HttpIo" ON )
+ OPTION( EXIV2_ENABLE_SSH "USE Libssh for SshIo" ON )
++OPTION( EXIV2_ENABLE_TOOLS "Build exiv2 executable" ON )
+
+ IF( MINGW OR UNIX )
+ IF ( CMAKE_CXX_COMPILER STREQUAL "g++" OR CMAKE_C_COMPILER STREQUAL "gcc" )
+--- a/src/CMakeLists.txt 2015-06-14 11:12:19.000000000 +0200
++++ b/src/CMakeLists.txt 2015-10-04 14:33:27.784399402 +0200
+@@ -296,9 +296,11 @@
+
+ # ******************************************************************************
+ # exiv2 application
+-ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} )
+-TARGET_LINK_LIBRARIES( exiv2 exiv2lib )
+-INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++IF( EXIV2_ENABLE_TOOLS )
++ ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} )
++ TARGET_LINK_LIBRARIES( exiv2 exiv2lib )
++ INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
++ENDIF( EXIV2_ENABLE_TOOLS )
+
+ # ******************************************************************************
+ # connection test application
diff --git a/media-gfx/exiv2/metadata.xml b/media-gfx/exiv2/metadata.xml
index 0bb7de61697d..795480e38283 100644
--- a/media-gfx/exiv2/metadata.xml
+++ b/media-gfx/exiv2/metadata.xml
@@ -4,12 +4,11 @@
<herd>graphics</herd>
<herd>kde</herd>
<longdescription lang="en">
- Exiv2 is a C++ library and a command line utility to read and
- write EXIF and IPTC image metadata.
+ Exiv2 is a C++ library and command line utility to read and
+ write EXIF, IPTC and XMP image metadata.
</longdescription>
<use>
- <flag name='contrib'>
- Build additional contrib components
- </flag>
+ <flag name='contrib'>Build additional contrib components</flag>
+ <flag name='webready'>Support reading metadata over the internet</flag>
</use>
</pkgmetadata>