diff options
author | Sam James <sam@gentoo.org> | 2022-12-01 07:15:54 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-01 07:16:56 +0000 |
commit | 33944343462c9aa5a0a23b4a296074d0bc62c5c2 (patch) | |
tree | 8af62b89eea9538f34e6a662a38190bbc65df519 /media-libs | |
parent | profiles/arch/loong: mask sys-apps/nvme-cli[hugepages] (diff) | |
download | gentoo-33944343462c9aa5a0a23b4a296074d0bc62c5c2.tar.gz gentoo-33944343462c9aa5a0a23b4a296074d0bc62c5c2.tar.bz2 gentoo-33944343462c9aa5a0a23b4a296074d0bc62c5c2.zip |
media-libs/tiff: backport fix for hylafaxplus regression
Closes: https://bugs.gentoo.org/883641
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/tiff/files/tiff-4.4.0-hylafaxplus-regression.patch | 34 | ||||
-rw-r--r-- | media-libs/tiff/tiff-4.4.0-r2.ebuild | 102 |
2 files changed, 136 insertions, 0 deletions
diff --git a/media-libs/tiff/files/tiff-4.4.0-hylafaxplus-regression.patch b/media-libs/tiff/files/tiff-4.4.0-hylafaxplus-regression.patch new file mode 100644 index 000000000000..c640f6e1b1a7 --- /dev/null +++ b/media-libs/tiff/files/tiff-4.4.0-hylafaxplus-regression.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/883641 +https://gitlab.com/libtiff/libtiff/-/issues/489 +https://gitlab.com/libtiff/libtiff/-/commit/72de8fd00be8a583a6b16cc0b700105020d249ba + +From 72de8fd00be8a583a6b16cc0b700105020d249ba Mon Sep 17 00:00:00 2001 +From: Even Rouault <even.rouault@spatialys.com> +Date: Tue, 29 Nov 2022 14:57:27 +0100 +Subject: [PATCH] TIFFWriteRawStrip(): restore capabilities to append data in + the current strip (fixes #489) + +This fixes a regression of libtiff 4.4.0 +--- a/libtiff/tif_write.c ++++ b/libtiff/tif_write.c +@@ -341,10 +341,13 @@ TIFFWriteRawStrip(TIFF* tif, uint32_t strip, void* data, tmsize_t cc) + return ((tmsize_t) -1); + } + +- tif->tif_curstrip = strip; ++ if (tif->tif_curstrip != strip) ++ { ++ tif->tif_curstrip = strip; + +- /* this informs TIFFAppendToStrip() we have changed or reset strip */ +- tif->tif_curoff = 0; ++ /* this informs TIFFAppendToStrip() we have changed or reset strip */ ++ tif->tif_curoff = 0; ++ } + + if (td->td_stripsperimage == 0) { + TIFFErrorExtR(tif, module,"Zero strips per image"); +-- +GitLab + + diff --git a/media-libs/tiff/tiff-4.4.0-r2.ebuild b/media-libs/tiff/tiff-4.4.0-r2.ebuild new file mode 100644 index 000000000000..f485be1f583a --- /dev/null +++ b/media-libs/tiff/tiff-4.4.0-r2.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QA_PKGCONFIG_VERSION="$(ver_cut 1-3)" + +# Release signer can vary per version but not clear if others will be doing +# them in future, so gone with Even Rouault for now as he does other geosci +# stuff too like PROJ, GDAL. Previous release manager of TIFF was +# GraphicsMagick maintainer Bob Friesenhahn. Please be careful when verifying +# who made releases. +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/rouault.asc +inherit multilib-minimal verify-sig libtool flag-o-matic + +MY_P="${P/_rc/rc}" +DESCRIPTION="Tag Image File Format (TIFF) library" +HOMEPAGE="http://libtiff.maptools.org" +SRC_URI="https://download.osgeo.org/libtiff/${MY_P}.tar.xz" +SRC_URI+=" verify-sig? ( https://download.osgeo.org/libtiff/${MY_P}.tar.xz.sig )" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)" + +LICENSE="libtiff" +SLOT="0" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi +IUSE="+cxx jbig jpeg lzma static-libs test webp zlib zstd" +RESTRICT="!test? ( test )" + +# bug #483132 +REQUIRED_USE="test? ( jpeg )" + +RDEPEND="jbig? ( >=media-libs/jbigkit-2.1:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zstd? ( >=app-arch/zstd-1.3.7-r1:=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-evenrouault )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/tiffconf.h +) + +PATCHES=( + "${FILESDIR}"/${PN}-4.4.0_rc1-skip-thumbnail-test.patch + "${FILESDIR}"/${P}-hylafaxplus-regression.patch +) + +src_prepare() { + default + + # Added to fix cross-compilation + elibtoolize +} + +multilib_src_configure() { + append-lfs-flags + + local myeconfargs=( + --without-x + --with-docdir="${EPREFIX}"/usr/share/doc/${PF} + $(use_enable cxx) + $(use_enable jbig) + $(use_enable jpeg) + $(use_enable lzma) + $(use_enable static-libs static) + $(use_enable webp) + $(use_enable zlib) + $(use_enable zstd) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + # Remove components (like tools) that are irrelevant for the multilib + # build which we only want libraries for. + # TODO: upstream options to disable these properly + # https://gitlab.com/libtiff/libtiff/-/merge_requests/334 + if ! multilib_is_native_abi ; then + sed -i \ + -e 's/ tools//' \ + -e 's/ contrib//' \ + -e 's/ man//' \ + -e 's/ html//' \ + Makefile || die + fi +} + +multilib_src_test() { + if ! multilib_is_native_abi ; then + emake -C tools + fi + + emake check +} + +multilib_src_install_all() { + find "${ED}" -type f -name '*.la' -delete || die + rm "${ED}"/usr/share/doc/${PF}/{COPYRIGHT,README*,RELEASE-DATE,TODO,VERSION} || die +} |