From: Andreas Sturmlechner Date: Sun, 16 Aug 2015 11:21:38 +0000 (+0200) Subject: media-gfx/exiv2: Version bump X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3e09d75a96b8f864847a96daee2e255bda10f0d2;p=gentoo.git media-gfx/exiv2: Version bump Switch to cmake Add patch based on Fedora to fix multilib Package-Manager: portage-2.2.20.1 --- 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 @@ graphics kde - 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. - - Build additional contrib components - + Build additional contrib components + Support reading metadata over the internet