[packages/libheif] - updated to 1.16.2; switched to cmake (autotools support is gone)
qboosh
qboosh at pld-linux.org
Mon Aug 21 20:57:26 CEST 2023
commit 30b9fa8875dc87726db2ec692b4346a0d5ea56ca
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Aug 21 20:43:21 2023 +0200
- updated to 1.16.2; switched to cmake (autotools support is gone)
libheif-gdkpixbuf.patch | 11 ------
libheif.spec | 89 ++++++++++++++++++++++++++++++++-----------------
2 files changed, 58 insertions(+), 42 deletions(-)
---
diff --git a/libheif.spec b/libheif.spec
index 0711b38..dd18a0c 100644
--- a/libheif.spec
+++ b/libheif.spec
@@ -1,10 +1,12 @@
-# TODO: switch to cmake and use plugin loading?
#
# Conditional build:
-%bcond_with golang # Go examples
-%bcond_without tests # testing
-%bcond_with svtav1 # SVT-AV1 encoder
-%bcond_without rav1e # rav1e encoder
+%bcond_with golang # Go examples
+%bcond_without static_libs # static library
+%bcond_with tests # testing
+%bcond_without aom # aom AVIF decoder/encoder
+%bcond_without dav1d # dav1d AVIF decoder
+%bcond_without svtav1 # SVT-AV1 AVIF encoder
+%bcond_without rav1e # rav1e AVIF encoder
#
%ifnarch %{ix86} %{x8664} aarch64
%undefine with_rav1e
@@ -12,26 +14,24 @@
Summary: ISO/IEC 23008-12:2017 HEIF file format decoder and encoder
Summary(pl.UTF-8): Koder i dekoder formatu plików HEIF zgodnego z ISO/IEC 23008-12:2017
Name: libheif
-Version: 1.15.1
+Version: 1.16.2
Release: 1
License: LGPL v3+ (library), GPL v3+ (tools)
Group: Libraries
#Source0Download: https://github.com/strukturag/libheif/releases/
Source0: https://github.com/strukturag/libheif/releases/download/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 220c2e35176cf88b48f943b0cdd0fd8e
-Patch0: %{name}-gdkpixbuf.patch
+# Source0-md5: e6bec8efc317b56d85884197ad874f0a
URL: https://github.com/strukturag/libheif
-BuildRequires: aom-devel
-BuildRequires: autoconf >= 2.68
-BuildRequires: automake >= 1:1.13
-BuildRequires: dav1d-devel
+%{?with_aom:BuildRequires: aom-devel}
+BuildRequires: cmake >= 3.0
+%{?with_dav1d:BuildRequires: dav1d-devel}
BuildRequires: gdk-pixbuf2-devel >= 2.0
%{?with_golang:BuildRequires: golang >= 1.6}
BuildRequires: libde265-devel >= 1.0.7
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
+BuildRequires: libsharpyuv-devel
BuildRequires: libstdc++-devel >= 6:4.7
-BuildRequires: libtool >= 2:2
BuildRequires: libx265-devel
BuildRequires: pkgconfig
%{?with_rav1e:BuildRequires: rav1e-devel}
@@ -70,12 +70,11 @@ Summary(pl.UTF-8): Pliki nagłówkowe libheif
License: LGPL v3+
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: aom-devel
-Requires: dav1d-devel
+%{?with_aom:Requires: aom-devel}
Requires: libde265-devel >= 1.0.7
+Requires: libsharpyuv-devel
Requires: libstdc++-devel >= 6:4.7
Requires: libx265-devel
-%{?with_rav1e:Requires: rav1e-devel}
%description devel
The header files are only needed for development of programs using the
@@ -125,18 +124,34 @@ Wtyczka gdk-pixbuf do obsługi plików HEIF.
%prep
%setup -q
-%patch0 -p1
%build
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- %{!?with_golang:--disable-go} \
- %{!?with_rav1e:--disable-rav1e} \
- %{?with_svtav1:--enable-svt}
+%if %{with static_libs}
+install -d build-static
+cd build-static
+%cmake .. \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DENABLE_PLUGIN_LOADING=OFF \
+ %{!?with_aom:-DWITH_AOM_DECODER=OFF} \
+ %{!?with_aom:-DWITH_AOM_ENCODER=OFF} \
+ %{!?with_dav1d:-DWITH_DAV1D=OFF} \
+ %{!?with_rav1e:-DWITH_RAV1E=OFF} \
+ %{!?with_svtav1:-DWITH_SvtEnc=OFF}
+
+%{__make}
+cd ..
+%endif
+
+install -d build
+cd build
+%cmake .. \
+ %{?with_tests:-DBUILD_TESTING=ON} \
+ %{!?with_aom:-DWITH_AOM_DECODER=OFF} \
+ %{!?with_aom:-DWITH_AOM_ENCODER=OFF} \
+ %{!?with_dav1d:-DWITH_DAV1D=OFF} \
+ -DWITH_DAV1D_PLUGIN=ON \
+ %{!?with_rav1e:-DWITH_RAV1E=OFF} \
+ %{!?with_svtav1:-DWITH_SvtEnc=OFF}
%{__make}
@@ -145,13 +160,13 @@ Wtyczka gdk-pixbuf do obsługi plików HEIF.
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%if %{with static_libs}
+%{__make} -C build-static install \
DESTDIR=$RPM_BUILD_ROOT
+%endif
-# module loaded via gmodule
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdk-pixbuf-2.0/2.*/loaders/*.la
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libheif.la
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
@@ -164,12 +179,24 @@ rm -rf $RPM_BUILD_ROOT
%doc README.md
%attr(755,root,root) %{_libdir}/libheif.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libheif.so.1
+%dir %{_libdir}/libheif
+# TODO: subpackages with plugins?
+%if %{with dav1d}
+%attr(755,root,root) %{_libdir}/libheif/libheif-dav1d.so
+%endif
+%if %{with rav1e}
+%attr(755,root,root) %{_libdir}/libheif/libheif-rav1e.so
+%endif
+%if %{with svtav1}
+%attr(755,root,root) %{_libdir}/libheif/libheif-svtenc.so
+%endif
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libheif.so
%{_includedir}/libheif
%{_pkgconfigdir}/libheif.pc
+%{_libdir}/cmake/libheif
%files static
%defattr(644,root,root,755)
diff --git a/libheif-gdkpixbuf.patch b/libheif-gdkpixbuf.patch
deleted file mode 100644
index 9e6e512..0000000
--- a/libheif-gdkpixbuf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libheif-1.6.2/gdk-pixbuf/Makefile.am.orig 2020-01-17 14:33:13.000000000 +0100
-+++ libheif-1.6.2/gdk-pixbuf/Makefile.am 2020-03-09 16:12:26.688381122 +0100
-@@ -7,7 +7,7 @@
- libpixbufloader_heif_la_DEPENDENCIES = ../libheif/libheif.la
- libpixbufloader_heif_la_CFLAGS = -I$(top_srcdir) -I$(top_builddir) $(gdkpixbuf_CFLAGS)
- libpixbufloader_heif_la_LIBADD = ../libheif/libheif.la $(gdkpixbuf_LIBS)
--libpixbufloader_heif_la_LDFLAGS = -avoid-version -module
-+libpixbufloader_heif_la_LDFLAGS = -avoid-version -module -shared
- libpixbufloader_heif_la_SOURCES = pixbufloader-heif.c
- endif
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libheif.git/commitdiff/30b9fa8875dc87726db2ec692b4346a0d5ea56ca
More information about the pld-cvs-commit
mailing list