1 %global _docdir %{_defaultdocdir}/%{name}-%{version}
2 %define _prefix @CMAKE_INSTALL_PREFIX@
3 %define _bindir @CMAKE_INSTALL_FULL_BINDIR@
4 %define _datarootdir @CMAKE_INSTALL_FULL_DATAROOTDIR@
5 %define _includedir @CMAKE_INSTALL_FULL_INCLUDEDIR@
6 %define _javadir @CMAKE_INSTALL_FULL_JAVADIR@
7 %define _mandir @CMAKE_INSTALL_FULL_MANDIR@
8 %define _enable_static @ENABLE_STATIC@
9 %define _enable_shared @ENABLE_SHARED@
10 %define _with_turbojpeg @WITH_TURBOJPEG@
11 %define _with_java @WITH_JAVA@
13 %if "%{?__isa_bits:1}" == "1"
14 %define _bits %{__isa_bits}
17 %if "%{_lib}" == "lib64"
24 %if "%{_bits}" == "64"
25 %define _syslibdir /usr/lib64
27 %define _syslibdir /usr/lib
31 %if "%{_bits}" == "64"
32 %define _libdir %{_exec_prefix}/lib64
34 %if "%{_prefix}" == "/opt/libjpeg-turbo"
35 %define _libdir %{_exec_prefix}/lib32
39 %define _libdir @CMAKE_INSTALL_FULL_LIBDIR@
42 Summary: A SIMD-accelerated JPEG codec that provides both the libjpeg and TurboJPEG APIs
47 Group: System Environment/Libraries
48 #-->Source0: http://prdownloads.sourceforge.net/@CMAKE_PROJECT_NAME@/@CMAKE_PROJECT_NAME@-%{version}.tar.gz
51 BuildRoot: %{_blddir}/%{name}-buildroot-%{version}-%{release}
52 Requires: /sbin/ldconfig
53 %if "%{_bits}" == "64"
54 Provides: %{name} = %{version}-%{release}, @CMAKE_PROJECT_NAME@ = %{version}-%{release}, libturbojpeg.so()(64bit)
56 Provides: %{name} = %{version}-%{release}, @CMAKE_PROJECT_NAME@ = %{version}-%{release}, libturbojpeg.so
60 libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate
61 baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and
62 MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm
63 systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg,
64 all else being equal. On other types of systems, libjpeg-turbo can still
65 outperform libjpeg by a significant amount, by virtue of its highly-optimized
66 Huffman coding routines. In many cases, the performance of libjpeg-turbo
67 rivals that of proprietary high-speed JPEG codecs.
69 libjpeg-turbo implements both the traditional libjpeg API as well as the less
70 powerful but more straightforward TurboJPEG API. libjpeg-turbo also features
71 colorspace extensions that allow it to compress from/decompress to 32-bit and
72 big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java
75 libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated
76 derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and
77 VirtualGL projects made numerous enhancements to the codec in 2009, and in
78 early 2010, libjpeg-turbo spun off into an independent project, with the goal
79 of making high-speed JPEG compression/decompression technology available to a
80 broader range of users and developers. libjpeg-turbo is an ISO/IEC and ITU-T
81 reference implementation of the JPEG standard.
84 #-->%setup -q -n @CMAKE_PROJECT_NAME@-%{version}
87 #-->cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=@CMAKE_BUILD_TYPE@ \
88 #--> -DBUILD=%{release} \
89 #--> -DCMAKE_INSTALL_BINDIR=%{_bindir} \
90 #--> -DCMAKE_INSTALL_DATAROOTDIR=%{_datarootdir} \
91 #--> -DCMAKE_INSTALL_DOCDIR=%{_docdir} \
92 #--> -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
93 #--> -DCMAKE_INSTALL_JAVADIR=%{_javadir} \
94 #--> -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
95 #--> -DCMAKE_INSTALL_MANDIR=%{_mandir} \
96 #--> -DCMAKE_INSTALL_PREFIX=%{_prefix} \
97 #--> -DCMAKE_POSITION_INDEPENDENT_CODE=@CMAKE_POSITION_INDEPENDENT_CODE@ \
98 #--> -DENABLE_SHARED=@ENABLE_SHARED@ -DENABLE_STATIC=@ENABLE_STATIC@ \
99 #--> -DSO_MAJOR_VERSION=@SO_MAJOR_VERSION@ \
100 #--> -DSO_MINOR_VERSION=@SO_MINOR_VERSION@ \
101 #--> -DJPEG_LIB_VERSION=@JPEG_LIB_VERSION@ \
102 #--> -DREQUIRE_SIMD=@REQUIRE_SIMD@ \
103 #--> -DWITH_ARITH_DEC=@WITH_ARITH_DEC@ -DWITH_ARITH_ENC=@WITH_ARITH_ENC@ \
104 #--> -DWITH_JAVA=@WITH_JAVA@ \
105 #--> -DWITH_JPEG7=@WITH_JPEG7@ -DWITH_JPEG8=@WITH_JPEG8@ \
106 #--> -DWITH_SIMD=@WITH_SIMD@ -DWITH_TURBOJPEG=@WITH_TURBOJPEG@ .
107 #-->make DESTDIR=$RPM_BUILD_ROOT
110 rm -rf $RPM_BUILD_ROOT
111 DESTDIR=$RPM_BUILD_ROOT @CMAKE_MAKE_PROGRAM@ install
112 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
116 # This is only needed to support in-tree RPM generation via 'make rpm'. When
117 # building from a SRPM, we control where things are installed via CMake
122 if [ "$1" = "$2" ]; then
125 if [ "$1" = "" -o ! -d "$1" ]; then
126 echo safedirmove: source dir $1 is not valid
129 if [ "$2" = "" -o -e "$2" ]; then
130 echo safedirmove: dest dir $2 is not valid
133 if [ "$3" = "" -o -e "$3" ]; then
134 echo safedirmove: tmp dir $3 is not valid
146 LJT_DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
147 if [ ! "$LJT_DOCDIR" = "%{_docdir}" ]; then
148 safedirmove $RPM_BUILD_ROOT/$LJT_DOCDIR $RPM_BUILD_ROOT/%{_docdir} $RPM_BUILD_ROOT/__tmpdoc
153 LJT_DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
154 if [ "%{_prefix}" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a "$LJT_DOCDIR" = "@CMAKE_INSTALL_DEFAULT_PREFIX@/doc" ]; then
155 ln -fs %{_docdir} $RPM_BUILD_ROOT/$LJT_DOCDIR
158 %post -p /sbin/ldconfig
160 %postun -p /sbin/ldconfig
163 rm -rf $RPM_BUILD_ROOT
166 %defattr(-,root,root)
170 %if "%{_prefix}" == "@CMAKE_INSTALL_DEFAULT_PREFIX@" && "%{_docdir}" != "%{_prefix}/doc"
177 %if "%{_with_turbojpeg}" == "1"
182 %if "%{_libdir}" != "%{_syslibdir}"
185 %if "%{_enable_shared}" == "1"
186 %{_libdir}/libjpeg.so.@SO_MAJOR_VERSION@.@SO_AGE@.@SO_MINOR_VERSION@
187 %{_libdir}/libjpeg.so.@SO_MAJOR_VERSION@
188 %{_libdir}/libjpeg.so
190 %if "%{_enable_static}" == "1"
193 %dir %{_libdir}/pkgconfig
194 %{_libdir}/pkgconfig/libjpeg.pc
195 %dir %{_libdir}/cmake
196 %dir %{_libdir}/cmake/@CMAKE_PROJECT_NAME@
197 %{_libdir}/cmake/@CMAKE_PROJECT_NAME@
198 %if "%{_with_turbojpeg}" == "1"
199 %if "%{_enable_shared}" == "1" || "%{_with_java}" == "1"
200 %{_libdir}/libturbojpeg.so.@TURBOJPEG_SO_VERSION@
201 %{_libdir}/libturbojpeg.so.@TURBOJPEG_SO_MAJOR_VERSION@
202 %{_libdir}/libturbojpeg.so
204 %if "%{_enable_static}" == "1"
205 %{_libdir}/libturbojpeg.a
207 %{_libdir}/pkgconfig/libturbojpeg.pc
210 %{_includedir}/jconfig.h
211 %{_includedir}/jerror.h
212 %{_includedir}/jmorecfg.h
213 %{_includedir}/jpeglib.h
214 %if "%{_with_turbojpeg}" == "1"
215 %{_includedir}/turbojpeg.h
219 %{_mandir}/man1/cjpeg.1*
220 %{_mandir}/man1/djpeg.1*
221 %{_mandir}/man1/jpegtran.1*
222 %{_mandir}/man1/rdjpgcom.1*
223 %{_mandir}/man1/wrjpgcom.1*
224 %if "%{_prefix}" != "%{_datarootdir}"
227 %if "%{_with_java}" == "1"
229 %{_javadir}/turbojpeg.jar