Add openjpeg2_bigendian.patch (#1232739)

This commit is contained in:
Sandro Mani 2015-06-25 22:36:57 +02:00
parent 7b852e2d68
commit afa5824d68
3 changed files with 45 additions and 129 deletions

View File

@ -1,27 +1,24 @@
%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
#global master 1
Name: openjpeg2
Version: 2.1.0
Release: 4%{?dist}
Release: 5%{?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
URL: https://github.com/uclouvain/openjpeg
%if 0%{?master}
Source0: https://github.com/uclouvain/openjpeg/archive/master.tar.gz
%else
Source0: http://sourceforge.net/projects/openjpeg.mirror/files/%{upname}-%{version}.tar.gz
Source0: https://github.com/uclouvain/openjpeg/archive/version.2.1.tar.gz
%endif
%if 0%{?runcheck}
# svn checkout http://openjpeg.googlecode.com/svn/data
@ -30,6 +27,8 @@ Source1: data.tar.xz
# Remove bundled libraries
Patch0: openjpeg2_remove-thirdparty.patch
# Bigendian fixes
Patch1: openjpeg2_bigendian.patch
BuildRequires: cmake
BuildRequires: zlib-devel
@ -204,8 +203,13 @@ OpenJPEG2 JP3D module command line tools
%prep
%if 0%{?master}
%setup -q -n %{upname}-master %{?runcheck:-a 1}
%else
%setup -q -n %{upname}-%{version} %{?runcheck:-a 1}
%endif
%patch0 -p1
%patch1 -p1
# Remove all third party libraries just to be sure
rm -rf thirdparty
@ -253,7 +257,6 @@ chmod +x %{buildroot}%{_bindir}/opj2_jpip_viewer
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -264,7 +267,8 @@ make test -C %{_target_platform}
%files
%doc AUTHORS LICENSE NEWS README THANKS
%license LICENSE
%doc AUTHORS NEWS README.md THANKS
%{_libdir}/libopenjp2.so.*
%{_mandir}/man3/libopenjp2.3*
@ -334,6 +338,9 @@ make test -C %{_target_platform}
%changelog
* Thu Jun 25 2015 Sandro Mani <manisandro@gmail.com> - 2.1.0-5
- Add openjpeg2_bigendian.patch (#1232739)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

26
openjpeg2_bigendian.patch Normal file
View File

@ -0,0 +1,26 @@
diff -rupN openjpeg-master/src/lib/openjp2/cio.c openjpeg-master-new/src/lib/openjp2/cio.c
--- openjpeg-master/src/lib/openjp2/cio.c 2015-06-24 17:11:09.000000000 +0200
+++ openjpeg-master-new/src/lib/openjp2/cio.c 2015-06-25 22:28:19.840764480 +0200
@@ -46,11 +46,11 @@
void opj_write_bytes_BE (OPJ_BYTE * p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
{
- const OPJ_BYTE * l_data_ptr = ((const OPJ_BYTE *) &p_value) + p_nb_bytes;
+ const OPJ_BYTE * l_data_ptr = ((const OPJ_BYTE *) &p_value);
assert(p_nb_bytes > 0 && p_nb_bytes <= sizeof(OPJ_UINT32));
- memcpy(p_buffer,l_data_ptr,p_nb_bytes);
+ memcpy(p_buffer,l_data_ptr+sizeof(OPJ_UINT32)-p_nb_bytes,p_nb_bytes);
}
void opj_write_bytes_LE (OPJ_BYTE * p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
@@ -72,7 +72,7 @@ void opj_read_bytes_BE(const OPJ_BYTE *
assert(p_nb_bytes > 0 && p_nb_bytes <= sizeof(OPJ_UINT32));
*p_value = 0;
- memcpy(l_data_ptr+4-p_nb_bytes,p_buffer,p_nb_bytes);
+ memcpy(l_data_ptr+sizeof(OPJ_UINT32)-p_nb_bytes,p_buffer,p_nb_bytes);
}
void opj_read_bytes_LE(const OPJ_BYTE * p_buffer, OPJ_UINT32 * p_value, OPJ_UINT32 p_nb_bytes)

View File

@ -1,117 +0,0 @@
diff -rupN openjpeg-2.0.0/CMakeLists.txt openjpeg-2.0.0-new/CMakeLists.txt
--- openjpeg-2.0.0/CMakeLists.txt 2012-11-19 15:26:08.000000000 +0100
+++ openjpeg-2.0.0-new/CMakeLists.txt 2014-04-16 22:39:57.624505784 +0200
@@ -287,3 +287,39 @@ endif()
install(FILES LICENSE DESTINATION ${OPENJPEG_INSTALL_DOC_DIR})
include (cmake/OpenJPEGCPack.cmake)
+
+#-----------------------------------------------------------------------------
+# pkgconfig support
+if(UNIX)
+ # install in lib and not share (see multi-arch note above)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc @ONLY)
+ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjp2.pc DESTINATION
+ ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+#
+ if(BUILD_JPWL)
+ # install in lib and not share (see multi-arch note above)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjpwl/libopenjpwl.pc.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libopenjpwl.pc @ONLY)
+ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpwl.pc DESTINATION
+ ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ endif()
+#
+ if(BUILD_JPIP)
+ # install in lib and not share (see multi-arch note above)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjpip/libopenjpip.pc.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libopenjpip.pc @ONLY)
+ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjpip.pc DESTINATION
+ ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ endif()
+#
+ if(BUILD_JP3D)
+ # install in lib and not share (see multi-arch note above)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp3d/libopenjp3d.pc.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/libopenjp3d.pc @ONLY)
+ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenjp3d.pc DESTINATION
+ ${OPENJPEG_INSTALL_LIB_DIR}/pkgconfig )
+ endif()
+endif()
+
+#-----------------------------------------------------------------------------
diff -rupN openjpeg-2.0.0/src/lib/openjp2/libopenjp2.pc.cmake.in openjpeg-2.0.0-new/src/lib/openjp2/libopenjp2.pc.cmake.in
--- openjpeg-2.0.0/src/lib/openjp2/libopenjp2.pc.cmake.in 1970-01-01 01:00:00.000000000 +0100
+++ openjpeg-2.0.0-new/src/lib/openjp2/libopenjp2.pc.cmake.in 2014-04-16 22:39:20.356926842 +0200
@@ -0,0 +1,14 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
+mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
+docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
+libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
+includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+
+Name: openjp2
+Description: JPEG2000 library (Part 1 and 2)
+URL: http://www.openjpeg.org/
+Version: @OPENJPEG_VERSION@
+Libs: -L${libdir} -lopenjp2
+Libs.private: -lm
+Cflags: -I${includedir}
diff -rupN openjpeg-2.0.0/src/lib/openjp3d/libopenjp3d.pc.cmake.in openjpeg-2.0.0-new/src/lib/openjp3d/libopenjp3d.pc.cmake.in
--- openjpeg-2.0.0/src/lib/openjp3d/libopenjp3d.pc.cmake.in 1970-01-01 01:00:00.000000000 +0100
+++ openjpeg-2.0.0-new/src/lib/openjp3d/libopenjp3d.pc.cmake.in 2014-04-16 22:39:20.359926889 +0200
@@ -0,0 +1,14 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
+mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
+docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
+libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
+includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+
+Name: openjp3d
+Description: JPEG2000 Extensions for three-dimensional data (Part 10)
+URL: http://www.openjpeg.org/
+Version: @OPENJPEG_VERSION@
+Libs: -L${libdir} -lopenjp3d
+Libs.private: -lm
+Cflags: -I${includedir}
diff -rupN openjpeg-2.0.0/src/lib/openjpip/libopenjpip.pc.cmake.in openjpeg-2.0.0-new/src/lib/openjpip/libopenjpip.pc.cmake.in
--- openjpeg-2.0.0/src/lib/openjpip/libopenjpip.pc.cmake.in 1970-01-01 01:00:00.000000000 +0100
+++ openjpeg-2.0.0-new/src/lib/openjpip/libopenjpip.pc.cmake.in 2014-04-16 22:39:20.363926951 +0200
@@ -0,0 +1,15 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
+mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
+docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
+libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
+includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+
+Name: openjpip
+Description: JPEG2000 Interactivity tools, APIs and protocols (Part 9)
+URL: http://www.openjpeg.org/
+Version: @OPENJPEG_VERSION@
+Requires: openjp2
+Libs: -L${libdir} -lopenjpip
+Libs.private: -lm -lcurl -lfcgi -lpthread
+Cflags: -I${includedir}
diff -rupN openjpeg-2.0.0/src/lib/openjpwl/libopenjpwl.pc.cmake.in openjpeg-2.0.0-new/src/lib/openjpwl/libopenjpwl.pc.cmake.in
--- openjpeg-2.0.0/src/lib/openjpwl/libopenjpwl.pc.cmake.in 1970-01-01 01:00:00.000000000 +0100
+++ openjpeg-2.0.0-new/src/lib/openjpwl/libopenjpwl.pc.cmake.in 2014-04-16 22:39:20.367927013 +0200
@@ -0,0 +1,15 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+bindir=${prefix}/@OPENJPEG_INSTALL_BIN_DIR@
+mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@
+docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@
+libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@
+includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@
+
+Name: openjpwl
+Description: JPEG2000 Wireless library (Part 11)
+URL: http://www.openjpeg.org/
+Version: @OPENJPEG_VERSION@
+Requires: openjp2
+Libs: -L${libdir} -lopenjpwl
+Libs.private: -lm
+Cflags: -I${includedir}