%define major 8 %define libname %mklibname jpeg %{major} %define devname %mklibname -d jpeg %define statname %mklibname -s -d jpeg %define turbo %mklibname turbojpeg %define major62 62 %define libname62 %mklibname jpeg %{major62} %bcond_without uclibc Summary: A MMX/SSE2 accelerated library for manipulating JPEG image files Name: libjpeg-turbo Version: 1.2.1 Release: 3 Epoch: 1 License: wxWidgets Library License Group: System/Libraries URL: http://sourceforge.net/projects/libjpeg-turbo Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz # These two allow automatic lossless rotation of JPEG images from a digital # camera which have orientation markings in the EXIF data. After rotation # the orientation markings are reset to avoid duplicate rotation when # applying these programs again. Source2: http://jpegclub.org/jpegexiforient.c Source3: http://jpegclub.org/exifautotran.txt Patch0: jpeg-6b-c++fixes.patch BuildRequires: autoconf automake libtool >= 1.4 %ifarch %{ix86} x86_64 BuildRequires: nasm %endif %if %{with uclibc} BuildRequires: uClibc-devel >= 0.9.33.2-9 %endif %description This package contains a library of functions for manipulating JPEG images. It is a high-speed, libjpeg-compatible version for x86 and x86-64 processors which uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression. It is generally 2-4x as fast as the unmodified version of libjpeg, all else being equal. %package -n %{libname} Summary: A library for manipulating JPEG image format files Group: System/Libraries %description -n %{libname} This package contains the library needed to run programs dynamically linked with libjpeg. %package -n uclibc-%{libname} Summary: A library for manipulating JPEG image format files (uClibc build) Group: System/Libraries %description -n uclibc-%{libname} This package contains the library needed to run programs dynamically linked with libjpeg. %package -n %{libname62} Summary: A library for manipulating JPEG image format files Group: System/Libraries %description -n %{libname62} This package contains the library needed to run programs dynamically linked with libjpeg. %package -n %{turbo} Summary: TurboJPEG library Group: System/Libraries %description -n %{turbo} This package contains the library needed to run programs dynamically linked with libturbojpeg. %package -n uclibc-%{turbo} Summary: TurboJPEG library (uClibc build) Group: System/Libraries %description -n uclibc-%{turbo} This package contains the library needed to run programs dynamically linked with libturbojpeg. %package -n %{devname} Summary: Development tools for programs which will use the libjpeg library Group: Development/C Requires: %{libname} >= %{EVRD} %if %{with uclibc} Requires: uclibc-%{libname} >= %{EVRD} %endif Provides: jpeg-devel = %{EVRD} Provides: libjpeg-devel = %{EVRD} Provides: jpeg%{major}-devel = %{EVRD} Conflicts: jpeg6-devel Obsoletes: %{mklibname jpeg 62 -d} < 6b-45 %description -n %{devname} The libjpeg-turbo devel package includes the header files necessary for developing programs which will manipulate JPEG files using the libjpeg library. If you are going to develop programs which will manipulate JPEG images, you should install this package. You'll also need to have the libjpeg package installed. %package -n %{statname} Summary: Static libraries for programs which will use the libjpeg library Group: Development/C Requires: %{devname} = %{EVRD} Provides: libjpeg-static-devel = %{EVRD} Provides: jpeg-static-devel = %{EVRD} Provides: jpeg%{major}-static-devel = %{EVRD} Conflicts: jpeg6-static-devel Obsoletes: %{mklibname jpeg 62 -d -s} < 6b-45 Obsoletes: %{mklibname jpeg 7 -d -s} < 7-3 %description -n %{statname} The libjpeg static devel package includes the static libraries necessary for developing programs which will manipulate JPEG files using the libjpeg library. If you are going to develop programs which will manipulate JPEG images, you should install this package. You'll also need to have the libjpeg package installed. %package -n jpeg-progs Summary: Programs for manipulating JPEG format image files Group: Graphics %rename libjpeg-progs %rename jpeg6-progs %description -n jpeg-progs This package contains simple client programs for accessing the libjpeg functions. The library client programs include cjpeg, djpeg, jpegtran, rdjpgcom, wrjpgcom and jpegexiforient, coupled with the script exifautotran. Cjpeg compresses an image file into JPEG format. Djpeg decompresses a JPEG file into a regular image file. Jpegtran can perform various useful transformations on JPEG files: it can make lossless cropping of JPEG files and lossless pasting of one JPEG into another (dropping). Rdjpgcom displays any text comments included in a JPEG file. Wrjpgcom inserts text comments into a JPEG file. Jpegexiforient allow automatic lossless rotation of JPEG images from a digital camera which have orientation markings in the EXIF data. %prep %setup -q %patch0 -p0 # Fix perms chmod -x README-turbo.txt cp %{SOURCE2} jpegexiforient.c cp %{SOURCE3} exifautotran %build CONFIGURE_TOP=$PWD %if %{with uclibc} mkdir -p uclibc pushd uclibc %configure2_5x CC=%{uclibc_cc} \ CFLAGS="%{uclibc_cflags} -ffast-math" \ --libdir=%{uclibc_root}%{_libdir} \ --disable-silent-rules \ --enable-shared \ --disable-static \ --with-jpeg8 %make popd %endif mkdir -p jpeg8 pushd jpeg8 CFLAGS="%{optflags} -O3 -funroll-loops -ffast-math" \ %configure2_5x --disable-silent-rules \ --enable-shared \ --enable-static \ --with-jpeg8 %make popd mkdir -p jpeg62 pushd jpeg62 CFLAGS="%{optflags} -O3 -funroll-loops -ffast-math" \ %configure2_5x --disable-silent-rules \ --enable-shared \ --disable-static %make popd gcc %{optflags} %{ldflags} -o jpegexiforient jpegexiforient.c %check make -C jpeg8 test make -C jpeg62 test %if %{with uclibc} make -C uclibc test %endif %install %if %{with uclibc} make install-libLTLIBRARIES DESTDIR=%{buildroot} -C uclibc %endif make install-libLTLIBRARIES DESTDIR=%{buildroot} -C jpeg62 %makeinstall_std -C jpeg8 install -m755 jpegexiforient -D %{buildroot}%{_bindir}/jpegexiforient install -m755 exifautotran -D %{buildroot}%{_bindir}/exifautotran #(neoclust) Provide jpegint.h because it is needed by certain software install -m644 jpegint.h -D %{buildroot}%{_includedir}/jpegint.h # cleanup rm -f %{buildroot}%{_libdir}/*.la rm -f %{buildroot}%{_docdir}/* %files -n %{libname} %doc change.log ChangeLog.txt README README-turbo.txt %{_libdir}/libjpeg.so.%{major}* %files -n %{libname62} %{_libdir}/libjpeg.so.%{major62}* %files -n %{turbo} %{_libdir}/libturbojpeg.so %if %{with uclibc} %files -n uclibc-%{libname} %{uclibc_root}%{_libdir}/libjpeg.so.%{major}* %files -n uclibc-%{turbo} %{uclibc_root}%{_libdir}/libturbojpeg.so %endif %files -n %{devname} %doc coderules.txt example.c jconfig.txt libjpeg.txt structure.txt filelist.txt %{_libdir}/libjpeg.so %if %{with uclibc} %{uclibc_root}%{_libdir}/libjpeg.so %endif %{_includedir}/*.h %files -n %{statname} %{_libdir}/libjpeg.a %{_libdir}/libturbojpeg.a %files -n jpeg-progs %doc usage.txt wizard.txt %{_bindir}/* %{_mandir}/man1/* %changelog * Tue Oct 30 2012 Per Øyvind Karlsen 1:1.2.1-3 + Revision: 820740 - rebuild to make it to both archs * Thu Sep 27 2012 Per Øyvind Karlsen 1:1.2.1-2 + Revision: 817743 - do uClibc build * Mon Jul 09 2012 Alexander Khrukin 1:1.2.1-1 + Revision: 808547 - version update 1.2.1 * Wed Mar 07 2012 Per Øyvind Karlsen 1:1.2.0-2 + Revision: 782633 - rebuild with internal dependency generator * Mon Feb 20 2012 Per Øyvind Karlsen 1:1.2.0-1 + Revision: 777997 - drop useless details from description - add back static library build - don't run autoreconf, we no longer have any patches requiring it - fix permissions of README-turbo.txt in %%prep rather than %%install - package libturbojpeg - update description to refer to libjpeg rather than libjpeg-turbo for standard libjpeg library packages - in stead of manually fixing .so symlink to link against newer libjpeg.so.8.0.2 after install, just change the order to install this library last in stead - remove documentation installed into %%{_docdir} directly that we're already packaging in the various subpackages.. - new version * Sun Dec 04 2011 Oden Eriksson 1:1.1.1-2 + Revision: 737609 - drop the static lib, its sub package and the libtool *.la file - various fixes * Fri May 27 2011 Funda Wang 1:1.1.1-1 + Revision: 679380 - update to new version 1.1.1 * Sun Mar 06 2011 Funda Wang 1:1.1.0-3 + Revision: 642215 - provides libjpeg-devel * Sat Mar 05 2011 Funda Wang 1:1.1.0-2 + Revision: 642110 - there is no need renaming to itself * Sat Mar 05 2011 Funda Wang 1:1.1.0-1 + Revision: 642078 - do not install jpgtest - new version 1.1.0 * Sat Mar 05 2011 Paulo Andrade 1:1.0.90-3 + Revision: 642056 - Correct devel package to be compatible with jpeg -8c + Per Øyvind Karlsen - be more specific about license (Giovanni) * Wed Mar 02 2011 Per Øyvind Karlsen 1:1.0.90-2 + Revision: 641295 - apply misc package fixes from Giovanni Mariani * Fri Feb 25 2011 Per Øyvind Karlsen 1:1.0.90-1 + Revision: 639762 - imported package libjpeg-turbo