Merge pull request #1 from import/libjpeg-turbo:rosa2023.1

Backports and update
This commit is contained in:
djam 2024-09-16 15:46:14 +00:00
commit bf3edc92af
3 changed files with 4948 additions and 30 deletions

View file

@ -1,2 +1,2 @@
sources:
libjpeg-turbo-1.5.0.tar.gz: 9adc21b927e48e4c6889e77079f6c1f3eecf98ab
libjpeg-turbo-3.0.3.tar.gz: 397a31222105129c9e798efce2459c445048546e

File diff suppressed because it is too large Load diff

View file

@ -3,21 +3,21 @@
%define devname %mklibname jpeg -d
%define sdevname %mklibname jpeg -d -s
%define majorturbo 0
%define libturbo %mklibname turbojpeg %{majorturbo}
%define majorturbo 0
%define libturbo %mklibname turbojpeg %{majorturbo}
%define major62 62
%define libname62 %mklibname jpeg %{major62}
%define major62 62
%define libname62 %mklibname jpeg %{major62}
Summary: A MMX/SSE2 accelerated library for manipulating JPEG image files
Name: libjpeg-turbo
Epoch: 1
Version: 1.5.0
Release: 3
License: wxWidgets Library License
Group: System/Libraries
Version: 3.0.3
Release: 2
License: wxWindows Library License
Group: Graphics
Url: http://www.libjpeg-turbo.org
Source0: https://sourceforge.net/projects/libjpeg-turbo/files/%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/%{version}.tar.gz?/%{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
@ -25,18 +25,30 @@ Source0: https://sourceforge.net/projects/libjpeg-turbo/files/%{version}/%{name}
Source2: http://jpegclub.org/jpegexiforient.c
Source3: http://jpegclub.org/exifautotran.txt
Patch0: jpeg-6b-c++fixes.patch
Patch1: libjpeg-turbo-3.0.2-e2k.patch
BuildRequires: cmake
BuildRequires: libtool >= 1.4
%ifarch %{ix86} x86_64
BuildRequires: nasm
%endif
# meta package
Recommends: %{libname} = %{EVRD}
Recommends: %{libturbo} = %{EVRD}
Recommends: %{libname62} = %{EVRD}
%description
This package contains a library of functions for manipulating JPEG images.
This meta package pulls packages with libraries 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.
%files
# empty, meta package
# exists for compatibility with Fedora/RH
# cnrdrvcups-ufr2-uk (Canon driver) depends from it
#----------------------------------------------------------------------------
%package -n %{libname}
@ -62,6 +74,7 @@ This package contains the library needed to run programs dynamically linked
with libjpeg.
%files -n %{libname62}
%doc LICENSE.md
%{_libdir}/libjpeg.so.%{major62}*
#----------------------------------------------------------------------------
@ -75,6 +88,7 @@ This package contains the library needed to run programs dynamically linked
with libturbojpeg.
%files -n %{libturbo}
%doc LICENSE.md
%{_libdir}/libturbojpeg.so.%{majorturbo}*
#----------------------------------------------------------------------------
@ -83,12 +97,12 @@ with libturbojpeg.
Summary: Development tools for programs which will use the libjpeg library
Group: Development/C
Requires: %{libname} = %{EVRD}
Requires: %{libname62} = %{EVRD}
Requires: %{libturbo} = %{EVRD}
Provides: jpeg-devel = %{EVRD}
Conflicts: jpeg6-devel
Conflicts: %{_lib}turbojpeg < 1:1.3.0
Obsoletes: %{_lib}turbojpeg < 1:1.3.0
Obsoletes: %{mklibname jpeg 62 -d} < 6b-45
%description -n %{devname}
The libjpeg-turbo devel package includes the header files necessary for
@ -96,12 +110,13 @@ developing programs which will manipulate JPEG files using the libjpeg
library.
%files -n %{devname}
%doc coderules.txt example.c jconfig.txt libjpeg.txt structure.txt
%doc coderules.txt jconfig.txt libjpeg.txt structure.txt
%{_libdir}/libjpeg.so
%{_libdir}/libturbojpeg.so
%{_includedir}/*.h
%{_libdir}/pkgconfig/libjpeg.pc
%{_libdir}/pkgconfig/libturbojpeg.pc
%{_libdir}/cmake/%{name}/*.cmake
#----------------------------------------------------------------------------
@ -120,6 +135,7 @@ for developing programs which will manipulate JPEG files using the libjpeg
library.
%files -n %{sdevname}
%doc LICENSE.md
%{_libdir}/libjpeg.a
%{_libdir}/libturbojpeg.a
@ -128,8 +144,8 @@ library.
%package -n jpeg-progs
Summary: Programs for manipulating JPEG format image files
Group: Graphics
%rename libjpeg-progs
%rename jpeg6-progs
Provides: libjpeg-progs = %{EVRD}
Provides: jpeg6-progs = %{EVRD}
%description -n jpeg-progs
This package contains simple client programs for accessing the
@ -154,37 +170,42 @@ have orientation markings in the EXIF data.
%prep
%setup -q
%patch0 -p0
%patch1 -p1
cp %{SOURCE2} jpegexiforient.c
cp %{SOURCE3} exifautotran
%build
CONFIGURE_TOP="$PWD"
%build
# Prepare build dirs
mkdir -p jpeg8
mkdir -p jpeg62
# Build jpeg v8 API
pushd jpeg8
CFLAGS="%{optflags} -Ofast -funroll-loops" \
%configure2_5x \
--enable-shared \
--enable-static \
--with-jpeg8
%make
%cmake ../.. -DWITH_JPEG8="True"
%make_build -s
popd
mkdir -p jpeg62
# Build jpeg v6.2 API
pushd jpeg62
CFLAGS="%{optflags} -Ofast -funroll-loops" \
%configure2_5x \
--enable-shared \
--disable-static
%make
%cmake ../.. \
-DWITH_ARITH_DEC="True" \
-DWITH_ARITH_ENC="True"
%make_build -s
popd
# Build jpegexiforient binary
%__cc %{optflags} %{ldflags} -o jpegexiforient jpegexiforient.c
%install
make install-libLTLIBRARIES DESTDIR=%{buildroot} -C jpeg62
%makeinstall_std -C jpeg8
%make_install -C jpeg8/build
%make_install -C jpeg62/build
install -m755 jpegexiforient -D %{buildroot}%{_bindir}/jpegexiforient
install -m755 exifautotran -D %{buildroot}%{_bindir}/exifautotran
@ -192,5 +213,5 @@ 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
# Cleanup
rm -rf %{buildroot}%{_docdir}/*