libjpeg-turbo/libjpeg-turbo.spec
2012-11-01 04:03:19 +00:00

320 lines
9.4 KiB
RPMSpec

%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 <peroyvind@mandriva.org> 1:1.2.1-3
+ Revision: 820740
- rebuild to make it to both archs
* Thu Sep 27 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:1.2.1-2
+ Revision: 817743
- do uClibc build
* Mon Jul 09 2012 Alexander Khrukin <akhrukin@mandriva.org> 1:1.2.1-1
+ Revision: 808547
- version update 1.2.1
* Wed Mar 07 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:1.2.0-2
+ Revision: 782633
- rebuild with internal dependency generator
* Mon Feb 20 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 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 <oeriksson@mandriva.com> 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 <fwang@mandriva.org> 1:1.1.1-1
+ Revision: 679380
- update to new version 1.1.1
* Sun Mar 06 2011 Funda Wang <fwang@mandriva.org> 1:1.1.0-3
+ Revision: 642215
- provides libjpeg-devel
* Sat Mar 05 2011 Funda Wang <fwang@mandriva.org> 1:1.1.0-2
+ Revision: 642110
- there is no need renaming to itself
* Sat Mar 05 2011 Funda Wang <fwang@mandriva.org> 1:1.1.0-1
+ Revision: 642078
- do not install jpgtest
- new version 1.1.0
* Sat Mar 05 2011 Paulo Andrade <pcpa@mandriva.com.br> 1:1.0.90-3
+ Revision: 642056
- Correct devel package to be compatible with jpeg -8c
+ Per Øyvind Karlsen <peroyvind@mandriva.org>
- be more specific about license (Giovanni)
* Wed Mar 02 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:1.0.90-2
+ Revision: 641295
- apply misc package fixes from Giovanni Mariani <mc2374@mclink.it>
* Fri Feb 25 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:1.0.90-1
+ Revision: 639762
- imported package libjpeg-turbo