diff --git a/.gitignore b/.gitignore index 98f26db..124d50e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /exiv2-0.21.1.tar.gz /exiv2-0.22.tar.gz /exiv2-0.23.tar.gz +/exiv2-0.24.tar.gz diff --git a/exiv2-0.24-cmake_LIB_SUFFIX.patch b/exiv2-0.24-cmake_LIB_SUFFIX.patch new file mode 100644 index 0000000..6f33f6d --- /dev/null +++ b/exiv2-0.24-cmake_LIB_SUFFIX.patch @@ -0,0 +1,29 @@ +diff -up exiv2-0.24/CMakeLists.txt.cmake_LIB_SUFFIX exiv2-0.24/CMakeLists.txt +--- exiv2-0.24/CMakeLists.txt.cmake_LIB_SUFFIX 2013-09-23 05:58:43.000000000 -0500 ++++ exiv2-0.24/CMakeLists.txt 2013-12-02 12:09:15.191761985 -0600 +@@ -123,8 +123,8 @@ INCLUDE( config/CMakeChecks.txt ) + + SET( INSTALL_TARGET_STANDARD_ARGS + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib${LIB_SUFFIX} ++ ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + + ## +diff -up exiv2-0.24/config/CMakeChecks.txt.cmake_LIB_SUFFIX exiv2-0.24/config/CMakeChecks.txt +--- exiv2-0.24/config/CMakeChecks.txt.cmake_LIB_SUFFIX 2013-07-23 19:34:42.000000000 -0500 ++++ exiv2-0.24/config/CMakeChecks.txt 2013-12-02 12:10:55.277711848 -0600 +@@ -251,9 +251,9 @@ ADD_CUSTOM_TARGET(uninstall "${CMAKE_COM + + 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 lib${LIB_SUFFIX}/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 lib${LIB_SUFFIX}/pkgconfig ) + ENDIF( NOT MSVC ) + + # ****************************************************************************** diff --git a/exiv2-0.24-cmake_mandir.patch b/exiv2-0.24-cmake_mandir.patch new file mode 100644 index 0000000..2448cb0 --- /dev/null +++ b/exiv2-0.24-cmake_mandir.patch @@ -0,0 +1,12 @@ +diff -up exiv2-0.24/src/CMakeLists.txt.mandir exiv2-0.24/src/CMakeLists.txt +--- exiv2-0.24/src/CMakeLists.txt.mandir 2013-03-29 22:32:26.000000000 -0500 ++++ exiv2-0.24/src/CMakeLists.txt 2013-12-02 12:14:04.264728159 -0600 +@@ -284,7 +284,7 @@ INSTALL( FILES ${LIBEXIV2_HDR} DESTINATI + + # ****************************************************************************** + # Man page +-INSTALL( FILES exiv2.1 DESTINATION man/man1 ) ++INSTALL( FILES exiv2.1 DESTINATION share/man/man1 ) + + # That's all Folks! + ## diff --git a/exiv2-0.24-doxygen_config.patch b/exiv2-0.24-doxygen_config.patch new file mode 100644 index 0000000..f6a87d1 --- /dev/null +++ b/exiv2-0.24-doxygen_config.patch @@ -0,0 +1,21 @@ +diff -up exiv2-0.24/config/Doxyfile.doxygen_config exiv2-0.24/config/Doxyfile +--- exiv2-0.24/config/Doxyfile.doxygen_config 2013-07-24 20:16:43.000000000 -0500 ++++ exiv2-0.24/config/Doxyfile 2013-12-02 12:21:09.606260306 -0600 +@@ -343,7 +343,7 @@ TYPEDEF_HIDES_STRUCT = NO + # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, + # corresponding to a cache size of 2^16 = 65536 symbols. + +-SYMBOL_CACHE_SIZE = 0 ++#SYMBOL_CACHE_SIZE = 0 + + # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be + # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given +@@ -1698,7 +1698,7 @@ DOT_NUM_THREADS = 0 + # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the + # directory containing the font. + +-DOT_FONTNAME = FreeSans ++#DOT_FONTNAME = FreeSans + + # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. + # The default size is 10pt. diff --git a/exiv2.spec b/exiv2.spec index 3ad78cb..f951066 100644 --- a/exiv2.spec +++ b/exiv2.spec @@ -1,17 +1,27 @@ +## enable experimental cmake build support (or not) +## still lacks some features, like visibility +#define cmake_build 1 + Summary: Exif and Iptc metadata manipulation library Name: exiv2 -Version: 0.23 -Release: 5%{?dist} +Version: 0.24 +Release: 1%{?dist} License: GPLv2+ -Group: Applications/Multimedia URL: http://www.exiv2.org/ Source0: http://www.exiv2.org/exiv2-%{version}%{?pre:-%{pre}}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ## upstream patches +## upstreamable patches +Patch50: exiv2-0.24-cmake_LIB_SUFFIX.patch +Patch51: exiv2-0.24-cmake_mandir.patch +Patch52: exiv2-0.24-doxygen_config.patch + +%if 0%{?cmake_build} +BuildRequires: cmake +%endif BuildRequires: expat-devel BuildRequires: gettext BuildRequires: pkgconfig @@ -21,7 +31,6 @@ BuildRequires: doxygen graphviz libxslt Requires: %{name}-libs%{?_isa} = %{version}-%{release} - %description A command line utility to access image metadata, allowing one to: * print the Exif metadata of Jpeg images as summary info, interpreted values, @@ -36,26 +45,45 @@ A command line utility to access image metadata, allowing one to: %package devel Summary: Header files, libraries and development documentation for %{name} -Group: Development/Libraries Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: pkgconfig %description devel %{summary}. %package libs Summary: Exif and Iptc metadata manipulation library -Group: System Environment/Libraries %description libs A C++ library to access image metadata, supporting full read and write access to the Exif and Iptc metadata, Exif MakerNote support, extract and delete methods for Exif thumbnails, classes to access Ifd and so on. +%package doc +Summary: Api documentation for %{name} +BuildArch: noarch +%description doc +%{summary}. + %prep %setup -q -n %{name}-%{version}%{?pre:-%{pre}} +%patch50 -p1 -b .cmake_LIB_SUFFIX +%patch51 -p1 -b .cmake_mandir +%patch52 -p1 -b .doxygen_config + %build +%if 0%{?cmake_build} +mkdir -p %{_target_platform} +pushd %{_target_platform} +%{cmake} \ + -DEXIV2_ENABLE_BUILD_PO:BOOL=ON \ + -DEXIV2_ENABLE_BUILD_SAMPLES:BOOL=OFF \ + .. + +make %{?_smp_mflags} +make doc -k ||: +popd +%else %configure \ --disable-rpath \ --disable-static @@ -63,37 +91,36 @@ methods for Exif thumbnails, classes to access Ifd and so on. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -make %{?_smp_mflags} +make %{?_smp_mflags} +make doc -k ||: +%endif -make doc %install -rm -rf %{buildroot} - +%if 0%{?cmake_build} +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +%else make install DESTDIR=%{buildroot} -%find_lang exiv2 - -## Unpackaged files -rm -fv %{buildroot}%{_libdir}/libexiv2.la - ## fix perms on installed lib ls -l %{buildroot}%{_libdir}/libexiv2.so.* chmod 755 %{buildroot}%{_libdir}/libexiv2.so.* +%endif + +%find_lang exiv2 + +## unpackaged files +rm -fv %{buildroot}%{_libdir}/pkgconfig/exiv2.lsm +rm -fv %{buildroot}%{_libdir}/libexiv2.la %check -export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig +export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig test "$(pkg-config --modversion exiv2)" = "%{version}" test -x %{buildroot}%{_libdir}/libexiv2.so -%clean -rm -rf %{buildroot} - - %files -%defattr(-,root,root,-) %doc COPYING README %{_bindir}/exiv2 %{_mandir}/man1/* @@ -102,19 +129,23 @@ rm -rf %{buildroot} %postun libs -p /sbin/ldconfig %files libs -f exiv2.lang -%defattr(-,root,root,-) -%{_libdir}/libexiv2.so.12* +%{_libdir}/libexiv2.so.13* %files devel -%defattr(-,root,root,-) -# last checked, this came in at ~39mb, consider some noarch -doc subpkg -- rex -%doc doc/html %{_includedir}/exiv2/ %{_libdir}/libexiv2.so %{_libdir}/pkgconfig/exiv2.pc +%files doc +%doc doc/html + %changelog +* Mon Dec 02 2013 Rex Dieter - 0.24-1 +- exiv2-0.24, abi bump +- -doc subpkg +- ready experimental cmake buildsystem support + * Sat Aug 03 2013 Fedora Release Engineering - 0.23-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index cca7a04..5fc8f71 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dab67c07bb63a4386d4ea607a8e06eaf exiv2-0.23.tar.gz +b8a23dc56a98ede85c00718a97a8d6fc exiv2-0.24.tar.gz