diff options
Diffstat (limited to 'vips.spec')
-rw-r--r-- | vips.spec | 277 |
1 files changed, 192 insertions, 85 deletions
@@ -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 |