• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@
12
13%if "%{?__isa_bits:1}" == "1"
14%define _bits  %{__isa_bits}
15%else
16# RPM < 4.6
17%if "%{_lib}" == "lib64"
18%define _bits  64
19%else
20%define _bits  32
21%endif
22%endif
23
24%if "%{_bits}" == "64"
25%define _syslibdir /usr/lib64
26%else
27%define _syslibdir /usr/lib
28%endif
29
30#-->%if 1
31%if "%{_bits}" == "64"
32%define _libdir  %{_exec_prefix}/lib64
33%else
34%if "%{_prefix}" == "/opt/libjpeg-turbo"
35%define _libdir  %{_exec_prefix}/lib32
36%endif
37%endif
38#-->%else
39%define _libdir  @CMAKE_INSTALL_FULL_LIBDIR@
40#-->%endif
41
42Summary: A SIMD-accelerated JPEG codec that provides both the libjpeg and TurboJPEG APIs
43Name: @PKGNAME@
44Version: @VERSION@
45Vendor: @PKGVENDOR@
46URL: @PKGURL@
47Group: System Environment/Libraries
48#-->Source0: http://prdownloads.sourceforge.net/@CMAKE_PROJECT_NAME@/@CMAKE_PROJECT_NAME@-%{version}.tar.gz
49Release: @BUILD@
50License: BSD-style
51BuildRoot: %{_blddir}/%{name}-buildroot-%{version}-%{release}
52Requires: /sbin/ldconfig
53%if "%{_bits}" == "64"
54Provides: %{name} = %{version}-%{release}, @CMAKE_PROJECT_NAME@ = %{version}-%{release}, libturbojpeg.so()(64bit)
55%else
56Provides: %{name} = %{version}-%{release}, @CMAKE_PROJECT_NAME@ = %{version}-%{release}, libturbojpeg.so
57%endif
58
59%description
60libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate
61baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and
62MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm
63systems.  On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg,
64all else being equal.  On other types of systems, libjpeg-turbo can still
65outperform libjpeg by a significant amount, by virtue of its highly-optimized
66Huffman coding routines.  In many cases, the performance of libjpeg-turbo
67rivals that of proprietary high-speed JPEG codecs.
68
69libjpeg-turbo implements both the traditional libjpeg API as well as the less
70powerful but more straightforward TurboJPEG API.  libjpeg-turbo also features
71colorspace extensions that allow it to compress from/decompress to 32-bit and
72big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java
73interface.
74
75libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated
76derivative of libjpeg v6b developed by Miyasaka Masaru.  The TigerVNC and
77VirtualGL projects made numerous enhancements to the codec in 2009, and in
78early 2010, libjpeg-turbo spun off into an independent project, with the goal
79of making high-speed JPEG compression/decompression technology available to a
80broader range of users and developers.
81
82#-->%prep
83#-->%setup -q -n @CMAKE_PROJECT_NAME@-%{version}
84
85#-->%build
86#-->cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=@CMAKE_BUILD_TYPE@ \
87#-->  -DBUILD=%{release} \
88#-->  -DCMAKE_INSTALL_BINDIR=%{_bindir} \
89#-->  -DCMAKE_INSTALL_DATAROOTDIR=%{_datarootdir} \
90#-->  -DCMAKE_INSTALL_DOCDIR=%{_docdir} \
91#-->  -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
92#-->  -DCMAKE_INSTALL_JAVADIR=%{_javadir} \
93#-->  -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
94#-->  -DCMAKE_INSTALL_MANDIR=%{_mandir} \
95#-->  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
96#-->  -DCMAKE_POSITION_INDEPENDENT_CODE=@CMAKE_POSITION_INDEPENDENT_CODE@ \
97#-->  -DENABLE_SHARED=@ENABLE_SHARED@ -DENABLE_STATIC=@ENABLE_STATIC@ \
98#-->  -DSO_MAJOR_VERSION=@SO_MAJOR_VERSION@ \
99#-->  -DSO_MINOR_VERSION=@SO_MINOR_VERSION@ \
100#-->  -DJPEG_LIB_VERSION=@JPEG_LIB_VERSION@ \
101#-->  -DREQUIRE_SIMD=@REQUIRE_SIMD@ \
102#-->  -DWITH_12BIT=@WITH_12BIT@ -DWITH_ARITH_DEC=@WITH_ARITH_DEC@ \
103#-->  -DWITH_ARITH_ENC=@WITH_ARITH_ENC@ -DWITH_JAVA=@WITH_JAVA@ \
104#-->  -DWITH_JPEG7=@WITH_JPEG7@ -DWITH_JPEG8=@WITH_JPEG8@ \
105#-->  -DWITH_MEM_SRCDST=@WITH_MEM_SRCDST@ -DWITH_SIMD=@WITH_SIMD@ \
106#-->  -DWITH_TURBOJPEG=@WITH_TURBOJPEG@ .
107#-->make DESTDIR=$RPM_BUILD_ROOT
108
109%install
110rm -rf $RPM_BUILD_ROOT
111DESTDIR=$RPM_BUILD_ROOT @CMAKE_MAKE_PROGRAM@ install
112/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
113
114#-->%if 0
115
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
118# variables.
119
120safedirmove ()
121{
122	if [ "$1" = "$2" ]; then
123		return 0
124	fi
125	if [ "$1" = "" -o ! -d "$1" ]; then
126		echo safedirmove: source dir $1 is not valid
127		return 1
128	fi
129	if [ "$2" = "" -o -e "$2" ]; then
130		echo safedirmove: dest dir $2 is not valid
131		return 1
132	fi
133	if [ "$3" = "" -o -e "$3" ]; then
134		echo safedirmove: tmp dir $3 is not valid
135		return 1
136	fi
137	mkdir -p $3
138	mv $1/* $3/
139	rmdir $1
140	mkdir -p $2
141	mv $3/* $2/
142	rmdir $3
143	return 0
144}
145
146LJT_DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
147if [ ! "$LJT_DOCDIR" = "%{_docdir}" ]; then
148	safedirmove $RPM_BUILD_ROOT/$LJT_DOCDIR $RPM_BUILD_ROOT/%{_docdir} $RPM_BUILD_ROOT/__tmpdoc
149fi
150
151#-->%endif
152
153LJT_DOCDIR=@CMAKE_INSTALL_FULL_DOCDIR@
154if [ "%{_prefix}" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a "$LJT_DOCDIR" = "@CMAKE_INSTALL_DEFAULT_PREFIX@/doc" ]; then
155	ln -fs %{_docdir} $RPM_BUILD_ROOT/$LJT_DOCDIR
156fi
157
158%post -p /sbin/ldconfig
159
160%postun -p /sbin/ldconfig
161
162%clean
163rm -rf $RPM_BUILD_ROOT
164
165%files
166%defattr(-,root,root)
167%dir %{_docdir}
168%doc %{_docdir}/*
169%dir %{_prefix}
170%if "%{_prefix}" == "@CMAKE_INSTALL_DEFAULT_PREFIX@" && "%{_docdir}" != "%{_prefix}/doc"
171	%{_prefix}/doc
172%endif
173%dir %{_bindir}
174%{_bindir}/cjpeg
175%{_bindir}/djpeg
176%{_bindir}/jpegtran
177%if "%{_with_turbojpeg}" == "1"
178	%{_bindir}/tjbench
179%endif
180%{_bindir}/rdjpgcom
181%{_bindir}/wrjpgcom
182%if "%{_libdir}" != "%{_syslibdir}"
183%dir %{_libdir}
184%endif
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
189%endif
190%if "%{_enable_static}" == "1"
191	%{_libdir}/libjpeg.a
192%endif
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
203	%endif
204	%if "%{_enable_static}" == "1"
205		%{_libdir}/libturbojpeg.a
206	%endif
207	%{_libdir}/pkgconfig/libturbojpeg.pc
208%endif
209%dir %{_includedir}
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
216%endif
217%dir %{_mandir}
218%dir %{_mandir}/man1
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}"
225	%dir %{_datarootdir}
226%endif
227%if "%{_with_java}" == "1"
228	%dir %{_javadir}
229	%{_javadir}/turbojpeg.jar
230%endif
231
232%changelog
233