summaryrefslogtreecommitdiffstats
path: root/vips.spec
diff options
context:
space:
mode:
Diffstat (limited to 'vips.spec')
-rw-r--r--vips.spec277
1 files changed, 192 insertions, 85 deletions
diff --git a/vips.spec b/vips.spec
index b1ed850..258fc80 100644
--- a/vips.spec
+++ b/vips.spec
@@ -7,11 +7,11 @@
#
# Please preserve changelog entries
#
-%global vips_version_base 8.12
+%global vips_version_base 8.15
%global vips_version %{vips_version_base}.2
%global vips_soname_major 42
-#global vips_prever rc1
-%global vips_tarver %{vips_version}%{?vips_prever:-%{vips_prever}}
+#global vips_prever rc2
+%global vips_tagver %{vips_version}%{?vips_prever:-%{vips_prever}}a
%if 0%{?fedora} || 0%{?rhel} >= 8
%bcond_without doc
@@ -19,6 +19,12 @@
%bcond_with doc
%endif
+%if 0%{?fedora} || 0%{?rhel} >= 9
+%bcond_without highway
+%else
+%bcond_with highway
+%endif
+
%if 0%{?fedora} || 0%{?rhel} >= 8
%bcond_without libimagequant
%bcond_without libcgif
@@ -27,7 +33,7 @@
%bcond_with libcgif
%endif
-%if 0%{?fedora} >= 34
+%if 0%{?fedora} >= 34 || 0%{?rhel} >= 9
%bcond_without openjpeg2
%else
# disabled by default
@@ -46,43 +52,54 @@
%endif
# 3 builds needed to get the full stack
+# NOTICE: for EL-7, epel-rpm-macros needed (clean root_cache before build with el7xr config)
# --without heif --without im7 --with im6
# --without heif --without im7 --with gm
# --with heif --with im7
-
%bcond_with im6
%bcond_without im7
%bcond_with gm
-%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
+%bcond_without tests
+
+%if 0%{?fedora} >= 34 || 0%{?rhel} >= 9
%bcond_without jxl
%else
%bcond_with jxl
%endif
-# from mock config, when rpmfusion enabled
-%if 0%{?_with_rpmfusion:1}
+# from fedora/epel repository, or from rpmfusion when enabled (from mock config)
+%if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 || 0%{?_with_rpmfusion:1}
%bcond_without heif
%else
%bcond_with heif
%endif
Name: vips
-Release: 1%{?dist}
Version: %{vips_version}%{?vips_prever:~%{vips_prever}}
+Release: 1%{?dist}
Summary: C/C++ library for processing large images
License: LGPLv2+
URL: https://libvips.github.io/libvips/
-Source0: https://github.com/libvips/libvips/releases/download/v%{vips_version}%{?vips_prever:-%{vips_prever}}/vips-%{vips_tarver}.tar.gz
+Source0: https://github.com/libvips/libvips/releases/download/v%{vips_tagver}/vips-%{vips_version}.tar.xz
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: meson >= 0.55
+BuildRequires: pkgconfig
+BuildRequires: gettext
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(gobject-introspection-1.0)
-BuildRequires: pkgconfig(orc-0.4)
+%if %{with highway}
+BuildRequires: pkgconfig(libhwy) >= 1.0.5
+%else
+BuildRequires: pkgconfig(orc-0.4) >= 0.4.11
+%endif
BuildRequires: pkgconfig(lcms2)
-BuildRequires: pkgconfig(OpenEXR)
+BuildRequires: pkgconfig(OpenEXR) >= 1.2.2
%if 0%{?fedora} >= 35
BuildRequires: pkgconfig(Imath)
%endif
@@ -93,17 +110,18 @@ BuildRequires: pkgconfig(matio)
BuildRequires: pkgconfig(cfitsio)
BuildRequires: pkgconfig(pangoft2)
BuildRequires: pkgconfig(zlib)
-BuildRequires: pkgconfig(libpng) >= 1.2.9
BuildRequires: pkgconfig(libtiff-4)
# Ensure we use libwebp7 on EL-7
# upstream requires 0.6
BuildRequires: pkgconfig(libwebp) > 1
BuildRequires: pkgconfig(libexif)
-BuildRequires: pkgconfig(libgsf-1)
+BuildRequires: pkgconfig(libarchive) >= 3
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.3
BuildRequires: pkgconfig(libjpeg)
%if %{with libspng}
-BuildRequires: pkgconfig(spng) >= 0.6
+BuildRequires: pkgconfig(spng) >= 0.7
+%else
+BuildRequires: pkgconfig(libpng) >= 1.2.9
%endif
%if %{with niftic}
BuildRequires: nifticlib-devel
@@ -118,20 +136,27 @@ BuildRequires: libimagequant-devel
%if %{with libcgif}
BuildRequires: pkgconfig(cgif)
%endif
-BuildRequires: pkgconfig(gthread-2.0)
-
-BuildRequires: gcc-c++
-BuildRequires: pkgconfig gettext
+%if %{with tests}
+# bc command used in test suite
+BuildRequires: bc
+%endif
# Not available as system library
-# and altered by vips upstream
Provides: bundled(libnsgif)
-%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+%if 0%{?fedora} >= 37 || 0%{?rhel} >= 8
+%if 0%{?fedora} >= 37 || 0%{?rhel} >= 9
+Recommends: %{name}-heif
+%else
Suggests: %{name}-heif
+%endif
+%if 0%{?fedora} >= 38 || 0%{?rhel} >= 10
+Recommends: %{name}-magick-im7
+%else
# im6 is temporarily recommended for smooth upgrade from 8.10
# user can remove / replace with alternative
Recommends: %{name}-magick-im6
+%endif
Recommends: %{name}-openslide
Recommends: %{name}-poppler
%else
@@ -198,7 +223,7 @@ HTML and PDF formats.
%if %{with jxl}
%package jxl
Summary: JPEG-XL support for %{name}
-BuildRequires: pkgconfig(libjxl) >= 0.5
+BuildRequires: pkgconfig(libjxl) >= 0.6
Requires: %{name}%{?_isa} = %{version}-%{release}
Supplements: %{name}
@@ -209,7 +234,15 @@ The %{name}-jxl package contains the Jxl module for VIPS.
%if %{with heif}
%package heif
Summary: Heif support for %{name}
-BuildRequires: pkgconfig(libheif) >= 1.3
+BuildRequires: pkgconfig(libheif) >= 1.4.0
+%if 0%{?rhel} == 7
+# ensure we use our on EL-7
+Requires: libheif%{?_isa} >= 1.4.0
+%endif
+%if 0%{?fedora} >= 37 || 0%{?rhel} >= 9
+# x265 HEVC encoder from RPMFusion
+Recommends: libheif-freeworld%{?_isa}
+%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: vips-full < 8.11
@@ -238,7 +271,7 @@ The %{name}-poppler package contains the Poppler module for VIPS.
Summary: Magick support for %{name} using ImageMagick6
BuildRequires: ImageMagick6-devel
Requires: %{name}%{?_isa} = %{version}-%{release}
-%if 0%{?fedora} >= 34
+%if 0%{?fedora} >= 34 && 0%{?fedora} < 38
Obsoletes: %{name}-magick < %{version}-%{release}
%endif
Provides: %{name}-magick = %{version}-%{release}
@@ -256,6 +289,9 @@ using ImageMagick version 6.
Summary: Magick support for %{name} using ImageMagick7
BuildRequires: ImageMagick7-devel
Requires: %{name}%{?_isa} = %{version}-%{release}
+%if 0%{?fedora} >= 38 || 0%{?rhel} >= 10
+Obsoletes: %{name}-magick < %{version}-%{release}
+%endif
Provides: %{name}-magick = %{version}-%{release}
Provides: %{name}-magick%{?_isa} = %{version}-%{release}
Conflicts: %{name}-magick-im6
@@ -296,86 +332,72 @@ exit 1
%setup -q -n vips-%{vips_version}
-# make the version string consistent for multiarch
-export FAKE_BUILD_DATE=$(date -r %{SOURCE0})
-sed -i "s/\\(VIPS_VERSION_STRING=\\)\$VIPS_VERSION-\`date\`/\\1\"\$VIPS_VERSION-$FAKE_BUILD_DATE\"/g" \
- configure
-unset FAKE_BUILD_DATE
-
-# Avoid setting RPATH to /usr/lib64 on 64-bit builds
-# The DIE_RPATH_DIE trick breaks the build wrt gobject-introspection
-sed -i 's|sys_lib_dlsearch_path_spec="|sys_lib_dlsearch_path_spec="/%{_lib} %{_libdir} |' configure
-
%build
# Upstream recommends enabling auto-vectorization of inner loops:
-# https://github.com/jcupitt/libvips/pull/212#issuecomment-68177930
+# https://github.com/libvips/libvips/pull/212#issuecomment-68177930
export CFLAGS="%{optflags} -ftree-vectorize"
export CXXFLAGS="%{optflags} -ftree-vectorize"
-%configure \
-%if %{with heif}
- --with-heif=module \
-%else
- --without-heif \
+# TODO remove `-Dnifti-prefix-dir=/usr`:
+# https://github.com/libvips/libvips/pull/2882#issuecomment-1165686117
+# https://bugzilla.redhat.com/2099283
+# TODO remove `-Dmatio=disabled`:
+# https://bugzilla.redhat.com/2034536
+%meson \
+%if 0%{?rhel} >= 9
+ -Dmatio=disabled \
%endif
-%if %{with libimagequant}
- --with-imagequant \
-%else
- --without-imagequant \
+%if %{without heif}
+ -Dheif=disabled \
%endif
-%if %{with libcgif}
- --with-cgif \
-%else
- --without-cgif \
+%if %{without libimagequant}
+ -Dimagequant=disabled \
+ -Dquantizr=disabled \
%endif
-%if %{with openjpeg2}
- --with-libopenjp2 \
-%else
- --without-libopenjp2 \
+%if %{without libcgif}
+ -Dcgif=disabled \
%endif
-%if %{with libspng}
- --with-libspng \
-%else
- --without-libspng \
+%if %{without openjpeg2}
+ -Dopenjpeg=disabled \
%endif
-%if %{with jxl}
- --with-libjxl=module \
+%if %{without libspng}
+ -Dspng=disabled \
+%endif
+%if %{without jxl}
+ -Djpeg-xl=disabled \
+%endif
+%if %{without niftic}
+ -Dnifti=disabled \
%else
- --without-libjxl \
+ -Dnifti-prefix-dir=/usr \
%endif
%if %{with doc}
- --enable-doxygen \
- --enable-gtk-doc \
+ -Ddoxygen=true \
+ -Dgtk_doc=true \
%endif
%if %{with gm}
- --with-magickpackage=GraphicsMagick \
+ -Dmagick-package=GraphicsMagick \
+%endif
+%if %{with highway}
+ -Dhighway=enabled \
+%else
+ -Dhighway=disabled \
%endif
- --disable-static
-make %{?_smp_mflags}
+ -Dpdfium=disabled \
+ %{nil}
+%meson_build
%install
-make install DESTDIR=%{buildroot}
-find %{buildroot} \( -name '*.la' -o -name '*.a' \) -exec rm -f {} ';'
-
-# delete doc (we will get it later with %%doc)
-rm -rf %{buildroot}%{_datadir}/doc/vips
-
-%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8
-sed -e 's:/usr/bin/python:%{_bindir}/python3:' -i %{buildroot}/%{_bindir}/vipsprofile
-%endif
-
-%if %{with doc}
-mv cplusplus/html cplusplus_html
-%endif
+%meson_install
# locale stuff
%find_lang vips%{vips_version_base}
-%if %{with im7}
+%if %{with tests}
%check
-make check
+%meson_test
%endif
@@ -386,8 +408,8 @@ make check
%files -f vips%{vips_version_base}.lang
-%doc AUTHORS NEWS THANKS README.md ChangeLog
-%license COPYING
+%doc ChangeLog README.md
+%license LICENSE
%{_libdir}/*.so.%{vips_soname_major}*
%{_libdir}/girepository-1.0
%dir %{_libdir}/vips-modules-%{vips_version_base}
@@ -398,7 +420,6 @@ make check
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_datadir}/gir-1.0
-%{_datadir}/gtk-doc
%files tools
@@ -408,9 +429,9 @@ make check
%if %{with doc}
%files doc
-%doc doc/html
-%doc cplusplus_html
-%license COPYING
+%{_datadir}/gtk-doc
+%{_docdir}/vips-doc/html
+%license LICENSE
%endif
@@ -447,6 +468,92 @@ make check
%changelog
+* Wed Mar 13 2024 Remi Collet <remi@remirepo.net> - 8.15.2-1
+- update to 8.15.2
+
+* Mon Jan 8 2024 Remi Collet <remi@remirepo.net> - 8.15.1-2
+- add weak dependency on libheif-freeworld from RPMFusion (Fedora and EL-9)
+
+* Tue Dec 19 2023 Remi Collet <remi@remirepo.net> - 8.15.1-1
+- update to 8.15.1
+
+* Mon Nov 13 2023 Remi Collet <remi@remirepo.net> - 8.15.0-1
+- update to 8.15.0
+
+* Mon Nov 6 2023 Remi Collet <remi@remirepo.net> - 8.15.0~rc2-1
+- update to 8.15.0rc2
+- drop patch merged upstream
+
+* Thu Oct 19 2023 Remi Collet <remi@remirepo.net> - 8.15.0~rc1-1
+- update to 8.15.0rc1
+- use libhwy instead of liborc on Fedora and EL-9
+- use libarchive instead of libgsf
+- open https://github.com/libvips/libvips/pull/3722
+ Revert "raise librsvg minver to 2.48
+
+* Tue Sep 19 2023 Remi Collet <remi@remirepo.net> - 8.14.5-1
+- update to 8.14.5
+
+* Thu Aug 17 2023 Remi Collet <remi@remirepo.net> - 8.14.4-1
+- update to 8.14.4
+
+* Fri Jul 21 2023 Remi Collet <remi@remirepo.net> - 8.14.3-1
+- update to 8.14.3
+
+* Tue Mar 21 2023 Remi Collet <remi@remirepo.net> - 8.14.2-1
+- update to 8.14.2
+
+* Mon Jan 9 2023 Remi Collet <remi@remirepo.net> - 8.14.1-1
+- update to 8.14.1
+
+* Mon Jan 2 2023 Remi Collet <remi@remirepo.net> - 8.14.0-1
+- update to 8.14.0
+- open https://github.com/libvips/libvips/issues/3254 ABI/API compat
+- open https://github.com/libvips/libvips/issues/3255 @VIPS_VERSION@ in doc
+- add https://github.com/libvips/libvips/issues/2879#issuecomment-1368742798
+ 8.14.0 is no more buildable on EL-7
+
+* Wed Dec 28 2022 Kleis Auke Wolthuizen <info@kleisauke.nl> - 8.14.0~rc1-1
+- Update to 8.14.0-rc1
+- Migrate build to Meson
+- Remove gtk-doc docs from vips-devel
+
+* Mon Nov 21 2022 Remi Collet <remi@remirepo.net> - 8.13.3-2
+- EL-9 rebuild for new libjxl
+
+* Wed Nov 2 2022 Remi Collet <remi@remirepo.net> - 8.13.3-1
+- update to 8.13.3
+
+* Thu Sep 29 2022 Remi Collet <remi@remirepo.net> - 8.13.2-1
+- update to 8.13.2
+
+* Sun Sep 4 2022 Remi Collet <remi@remirepo.net> - 8.13.1-1
+- update to 8.13.1
+
+* Fri Jul 22 2022 Remi Collet <remi@remirepo.net> - 8.13.0-1
+- update to 8.13.0
+
+* Tue Jul 12 2022 Remi Collet <remi@remirepo.net> - 8.13.0~rc2-1
+- update to 8.13.0rc2
+
+* Mon Jun 20 2022 Remi Collet <remi@remirepo.net> - 8.13.0~rc1-2
+- fix EL-7 build using upstream fix
+ but see https://github.com/libvips/libvips/issues/2878#issuecomment-1160380569
+
+* Mon Jun 20 2022 Remi Collet <remi@remirepo.net> - 8.13.0~rc1-1
+- update to 8.13.0rc1
+- Enable openjpeg2 usage on RHEL >= 9
+- Increase minimum required version of libspng to 0.7 for PNG write support
+- Remove libpng in favor of libspng (if possible)
+- Remove dependency on deprecated gthread-2.0
+- open https://github.com/libvips/libvips/issues/2878 broken build on EL-7
+- open https://github.com/libvips/libvips/issues/2877 libniftiio detection
+- open https://github.com/libvips/libvips/issues/2876 unusable archive
+- open https://github.com/libvips/libvips/issues/2879 please keep autotools
+
+* Mon Apr 25 2022 Remi Collet <remi@remirepo.net> - 8.12.2-2
+- rebuild using libheif
+
* Tue Jan 25 2022 Remi Collet <remi@remirepo.net> - 8.12.2-1
- update to 8.12.2