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