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