diff --git a/.gitignore b/.gitignore index e69de29..a0585cd 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/openjpeg-2.0.0-svn20140403.tar.gz diff --git a/openjpeg2.spec b/openjpeg2.spec new file mode 100644 index 0000000..84b0108 --- /dev/null +++ b/openjpeg2.spec @@ -0,0 +1,357 @@ +%global upname openjpeg +%global snap svn20140403 + +# Conformance tests disabled by default since it requires 1 GB of test data +#global runcheck 1 + +#global optional_components 1 + +Name: openjpeg2 +Version: 2.0.0 +Release: 4.svn20140403%{?dist} +Summary: C-Library for JPEG 2000 + +# windirent.h is MIT, the rest is BSD +License: BSD and MIT +URL: http://www.openjpeg.org/ +%if 0%{?snap:1} +# Snapshots taken from stable release branch: +# svn co http://openjpeg.googlecode.com/svn/branches/openjpeg-2.0 openjpeg-2.0.0 +# find openjpeg-2.0.0 -name ".svn" -exec rm -rf {} \; +# tar -cf openjpeg-2.0.0-$snap.tar.gz openjpeg-2.0.0 +Source0: %{upname}-%{version}-%{snap}.tar.gz +%else +Source0: http://sourceforge.net/projects/openjpeg.mirror/files/%{upname}-%{version}.tar.gz +%endif +%if 0%{?runcheck} +# svn checkout http://openjpeg.googlecode.com/svn/data +Source1: data.tar.xz +%endif + +# Remove bundled libraries +Patch0: openjpeg2_remove-thirdparty.patch + +BuildRequires: cmake +BuildRequires: zlib-devel +BuildRequires: libpng-devel +BuildRequires: libtiff-devel +BuildRequires: lcms2-devel +BuildRequires: doxygen + +%if 0%{?optional_components} +BuildRequires: java-devel +BuildRequires: xerces-j2 +%endif + +%description +The OpenJPEG library is an open-source JPEG 2000 library developed in order to +promote the use of JPEG 2000. + +This package contains +* JPEG 2000 codec compliant with the Part 1 of the standard (Class-1 Profile-1 + compliance). +* JP2 (JPEG 2000 standard Part 2 - Handling of JP2 boxes and extended multiple + component transforms for multispectral and hyperspectral imagery) + + +%package devel +Summary: Development files for OpenJPEG 2 +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for developing +applications that use OpenJPEG 2. + + +%package devel-docs +Summary: Developer documentation for OpenJPEG 2 +BuildArch: noarch + +%description devel-docs +The %{name}-devel-docs package contains documentation files for developing +applications that use OpenJPEG 2. + + +%package tools +Summary: OpenJPEG 2 command line tools +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +Command line tools for JPEG 2000 file manipulation, using OpenJPEG2: + * opj2_compress + * opj2_decompress + * opj2_dump + +%if 0%{?optional_components} +##### MJ2 ##### + +%package mj2 +Summary: OpenJPEG2 MJ2 module +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description mj2 +The OpenJPEG library is an open-source JPEG 2000 library developed in order to +promote the use of JPEG 2000. + +This package contains the MJ2 module (JPEG 2000 standard Part 3) + + +%package mj2-devel +Summary: Development files for OpenJPEG2 MJ2 module +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-mj2%{?_isa} = %{version}-%{release} + +%description mj2-devel +Development files for OpenJPEG2 MJ2 module + + +%package mj2-tools +Summary: OpenJPEG2 MJ2 module command line tools +Requires: %{name}-mj2%{?_isa} = %{version}-%{release} + +%description mj2-tools +OpenJPEG2 MJ2 module command line tools + +##### JPWL ##### + +%package jpwl +Summary: OpenJPEG2 JPWL module +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description jpwl +The OpenJPEG library is an open-source JPEG 2000 library developed in order to +promote the use of JPEG 2000. + +This package contains the JPWL (JPEG 2000 standard Part 11 - Jpeg 2000 Wireless) + + +%package jpwl-devel +Summary: Development files for OpenJPEG2 JPWL module +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-jpwl%{?_isa} = %{version}-%{release} + +%description jpwl-devel +Development files for OpenJPEG2 JPWL module + + +%package jpwl-tools +Summary: OpenJPEG2 JPWL module command line tools +Requires: %{name}-jpwl%{?_isa} = %{version}-%{release} + +%description jpwl-tools +OpenJPEG2 JPWL module command line tools + +##### JPIP ##### + +%package jpip +Summary: OpenJPEG2 JPIP module +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description jpip +The OpenJPEG library is an open-source JPEG 2000 library developed in order to +promote the use of JPEG 2000. + +This package contains the JPWL (JPEG 2000 standard Part 9 - Jpeg 2000 Interactive Protocol) + + +%package jpip-devel +Summary: Development files for OpenJPEG2 JPIP module +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-jpwl%{?_isa} = %{version}-%{release} + +%description jpip-devel +Development files for OpenJPEG2 JPIP module + + +%package jpip-tools +Summary: OpenJPEG2 JPIP module command line tools +Requires: %{name}-jpip%{?_isa} = %{version}-%{release} +Requires: jpackage-utils +Requires: java + +%description jpip-tools +OpenJPEG2 JPIP module command line tools + +##### JP3D ##### + +%package jp3d +Summary: OpenJPEG2 JP3D module +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description jp3d +The OpenJPEG library is an open-source JPEG 2000 library developed in order to +promote the use of JPEG 2000. + +This package contains the JP3D (JPEG 2000 standard Part 10 - Jpeg 2000 3D) + + +%package jp3d-devel +Summary: Development files for OpenJPEG2 JP3D module +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-jp3d%{?_isa} = %{version}-%{release} + +%description jp3d-devel +Development files for OpenJPEG2 JP3D module + + +%package jp3d-tools +Summary: OpenJPEG2 JP3D module command line tools +Requires: %{name}-jp3d%{?_isa} = %{version}-%{release} + +%description jp3d-tools +OpenJPEG2 JP3D module command line tools +%endif + + +%prep +%setup -q -n %{upname}-%{version} %{?runcheck:-a 1} +%patch0 -p1 + +# Remove all third party libraries just to be sure +rm -rf thirdparty + + +%build +mkdir %{_target_platform} +pushd %{_target_platform} +# TODO: Consider +# -DBUILD_JPIP_SERVER=ON -DBUILD_JAVA=ON +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPENJPEG_INSTALL_LIB_DIR=%{_lib} \ + %{?optional_components:-DBUILD_MJ2=ON -DBUILD_JPWL=ON -DBUILD_JPIP=ON -DBUILD_JP3D=ON} \ + -DBUILD_DOC=ON \ + %{?runcheck:-DBUILD_TESTING:BOOL=ON -DOPJ_DATA_ROOT=$PWD/../data} \ + .. +popd + +make VERBOSE=1 -C %{_target_platform} %{?_smp_mflags} + + +%install +%make_install -C %{_target_platform} + +# Rename to avoid conflicts with openjpeg-1.x +for file in %{buildroot}%{_bindir}/opj_*; do + mv $file ${file/opj_/opj2_} +done +mv %{buildroot}%{_mandir}/man1/opj_compress.1 %{buildroot}%{_mandir}/man1/opj2_compress.1 +mv %{buildroot}%{_mandir}/man1/opj_decompress.1 %{buildroot}%{_mandir}/man1/opj2_decompress.1 +mv %{buildroot}%{_mandir}/man1/opj_dump.1 %{buildroot}%{_mandir}/man1/opj2_dump.1 + +# Docs are installed through %%doc +rm -rf %{buildroot}%{_datadir}/doc/ + +%if 0%{?optional_components} +# Move the jar to the correct place +mkdir -p %{buildroot}%{_javadir} +mv %{buildroot}%{_datadir}/opj_jpip_viewer.jar %{buildroot}%{_javadir}/opj2_jpip_viewer.jar +cat > %{buildroot}%{_bindir}/opj2_jpip_viewer < - 2.0.0-4.svn20140403 +- Replace define with global +- Fix #define optional_components 1S typo +- Fix %%(pwd) -> $PWD for test data +- Added some BR for optional components +- Include opj2_jpip_viewer.jar in %%files + +* Wed Apr 09 2014 Sandro Mani - 2.0.0-3.svn20140403 +- Fix source url +- Fix mixed tabs and spaces +- Fix description too long + +* Wed Apr 09 2014 Sandro Mani - 2.0.0-2.svn20140403 +- Remove thirdparty libraries folder in prep +- Own %%{_libdir}/openjpeg-2.0/ +- Fix Requires +- Add missing ldconfig +- Add possibility to run conformance tests if desired + +* Thu Apr 03 2014 Sandro Mani - 2.0.0-1.svn20140403 +- Initial package diff --git a/openjpeg2_remove-thirdparty.patch b/openjpeg2_remove-thirdparty.patch new file mode 100644 index 0000000..f84684b --- /dev/null +++ b/openjpeg2_remove-thirdparty.patch @@ -0,0 +1,11 @@ +diff -rupN openjpeg-2.0.0/CMakeLists.txt openjpeg-2.0.0-new/CMakeLists.txt +--- openjpeg-2.0.0/CMakeLists.txt 2014-04-03 14:12:58.000000000 +0200 ++++ openjpeg-2.0.0-new/CMakeLists.txt 2014-04-09 00:31:52.738863206 +0200 +@@ -244,7 +244,6 @@ if(BUILD_CODEC OR BUILD_MJ2) + # OFF: It will only build 3rd party libs if they are not found on the system + # ON: 3rd party libs will ALWAYS be build, and used + option(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF) +- add_subdirectory(thirdparty) + add_subdirectory(src/bin) + endif () + add_subdirectory(wrapping) diff --git a/sources b/sources index e69de29..841f443 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +5a9e86c4dfc2d95cb416cc6f08d6d60f openjpeg-2.0.0-svn20140403.tar.gz