diff options
Diffstat (limited to 'vips.spec')
-rw-r--r-- | vips.spec | 362 |
1 files changed, 280 insertions, 82 deletions
@@ -7,11 +7,11 @@ # # Please preserve changelog entries # -%global vips_version_base 8.11 -%global vips_version %{vips_version_base}.3 +%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,13 +19,21 @@ %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 %else %bcond_with libimagequant +%bcond_with libcgif %endif -%if 0%{?fedora} >= 34 +%if 0%{?fedora} >= 34 || 0%{?rhel} >= 9 %bcond_without openjpeg2 %else # disabled by default @@ -44,52 +52,76 @@ %endif # 3 builds needed to get the full stack -# --without heif --without im6 --with im7 -# --without heif --without im6 --with gm -# --with heif --with im6 - -%bcond_without im6 -%bcond_with im7 +# 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 -# from mock config, when rpmfusion enabled -%if 0%{?_with_rpmfusion:1} +%bcond_without tests + +%if 0%{?fedora} >= 34 || 0%{?rhel} >= 9 +%bcond_without jxl +%else +%bcond_with jxl +%endif + +# 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 +# https://bugzilla.redhat.com/2034536 - missing in EPEL-9 +%if 0%{?rhel} < 9 BuildRequires: pkgconfig(matio) +%endif 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 @@ -101,20 +133,30 @@ BuildRequires: pkgconfig(libopenjp2) >= 2.4 #BuildRequires: pkgconfig(imagequant) TODO only in 2.12+ BuildRequires: libimagequant-devel %endif -BuildRequires: pkgconfig(gthread-2.0) - -BuildRequires: gcc-c++ -BuildRequires: pkgconfig gettext +%if %{with libcgif} +BuildRequires: pkgconfig(cgif) +%endif +%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 @@ -132,6 +174,9 @@ This package should be installed if you want to use a program compiled against VIPS. Additional image formats are supported in additional optional packages: +%if %{with jxl} +* %{name}-jxl +%endif * %{name}-heif * %{name}-openslide * %{name}-poppler @@ -175,10 +220,29 @@ The %{name}-doc package contains extensive documentation about VIPS in both HTML and PDF formats. %endif +%if %{with jxl} +%package jxl +Summary: JPEG-XL support for %{name} +BuildRequires: pkgconfig(libjxl) >= 0.6 +Requires: %{name}%{?_isa} = %{version}-%{release} +Supplements: %{name} + +%description jxl +The %{name}-jxl package contains the Jxl module for VIPS. +%endif + %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 @@ -205,14 +269,9 @@ The %{name}-poppler package contains the Poppler module for VIPS. %if %{with im6} %package magick-im6 Summary: Magick support for %{name} using ImageMagick6 -%if 0%{?fedora} >= 99 || 0%{?rhel} >= 99 -BuildRequires: ImageMagick-devel -%else -# Ensure we use version 6 (same as imagick ext). BuildRequires: ImageMagick6-devel -%endif Requires: %{name}%{?_isa} = %{version}-%{release} -%if 0%{?fedora} >= 35 +%if 0%{?fedora} >= 34 && 0%{?fedora} < 38 Obsoletes: %{name}-magick < %{version}-%{release} %endif Provides: %{name}-magick = %{version}-%{release} @@ -230,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 @@ -257,73 +319,87 @@ using GraphicsMagick. %prep -%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 +%if %{with gm} +%if %{with im7} +: Cannot enable GraphicsMagick and ImageMagick7 +exit 1 +%endif +%if %{with im6} +: Cannot enable GraphicsMagick and ImageMagick6 +exit 1 +%endif +%endif -# 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 +%setup -q -n vips-%{vips_version} %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 openjpeg2} - --with-libopenjp2 \ -%else - --without-libopenjp2 \ +%if %{without libimagequant} + -Dimagequant=disabled \ + -Dquantizr=disabled \ %endif -%if %{with libspng} - --with-libspng \ +%if %{without libcgif} + -Dcgif=disabled \ +%endif +%if %{without openjpeg2} + -Dopenjpeg=disabled \ +%endif +%if %{without libspng} + -Dspng=disabled \ +%endif +%if %{without jxl} + -Djpeg-xl=disabled \ +%endif +%if %{without niftic} + -Dnifti=disabled \ %else - --without-libspng \ + -Dnifti-prefix-dir=/usr \ %endif %if %{with doc} - --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 {} ';' +%meson_install -# delete doc (we will get it later with %%doc) -rm -rf %{buildroot}%{_datadir}/doc/vips +# locale stuff +%find_lang vips%{vips_version_base} -%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 +%if %{with tests} +%check +%meson_test %endif -# locale stuff -%find_lang vips%{vips_version_base} - %if 0%{?fedora} < 28 && 0%{?rhel} < 8 %post -p /sbin/ldconfig @@ -332,8 +408,8 @@ mv cplusplus/html cplusplus_html %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} @@ -344,7 +420,6 @@ mv cplusplus/html cplusplus_html %{_libdir}/*.so %{_libdir}/pkgconfig/* %{_datadir}/gir-1.0 -%{_datadir}/gtk-doc %files tools @@ -354,9 +429,9 @@ mv cplusplus/html cplusplus_html %if %{with doc} %files doc -%doc doc/html -%doc cplusplus_html -%license COPYING +%{_datadir}/gtk-doc +%{_docdir}/vips-doc/html +%license LICENSE %endif @@ -366,6 +441,11 @@ mv cplusplus/html cplusplus_html %files poppler %{_libdir}/vips-modules-%{vips_version_base}/vips-poppler.so +%if %{with jxl} +%files jxl +%{_libdir}/vips-modules-%{vips_version_base}/vips-jxl.so +%endif + %if %{with heif} %files heif %{_libdir}/vips-modules-%{vips_version_base}/vips-heif.so @@ -388,6 +468,124 @@ mv cplusplus/html cplusplus_html %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 + +* Wed Dec 1 2021 Remi Collet <remi@remirepo.net> - 8.12.1-2 +- rebuild for new libjxl + +* Thu Nov 25 2021 Remi Collet <remi@remirepo.net> - 8.12.1-1 +- update to 8.12.1 + +* Sat Nov 20 2021 Remi Collet <remi@remirepo.net> - 8.12.0-1 +- update to 8.12.0 +- re-enable libjxl usage + +* Mon Nov 15 2021 Remi Collet <remi@remirepo.net> - 8.12.0~rc1-1 +- update to 8.12.0rc1 +- enable libcgif usage +- disable libjxl usage +- open https://github.com/libvips/libvips/pull/2538 + fails if library is requested and missing +- open https://github.com/libvips/libvips/pull/2539 + allow libjxl 0.5 + +* Fri Nov 5 2021 Remi Collet <remi@remirepo.net> - 8.11.4-2 +- EL-9 build + +* Fri Sep 24 2021 Remi Collet <remi@remirepo.net> - 8.11.4-1 +- update to 8.11.4 + +* Fri Sep 3 2021 Remi Collet <remi@remirepo.net> - 8.11.3-2 +- add Jxl support +- build with ImageMagick7 by default + * Wed Aug 25 2021 Remi Collet <remi@remirepo.net> - 8.11.3-1 - update to 8.11.3 |