Unverified Commit 241d162a authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #298561 from Yarny0/hylafax-update-libtiff-and-tools

replace `libtiff_4_5` with `libtiff_and_tools`, update `hylafaxplus`
parents 25a77d37 87eabf9c
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
  # libs
  librsvg, sane-backends, sane-frontends,
  # runtime dependencies
  imagemagick, libtiff_4_5, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
  imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
  # test dependencies
  xvfb-run, liberation_ttf, file, tesseract }:

@@ -82,7 +82,7 @@ perlPackages.buildPerlPackage rec {
    wrapProgram "$out/bin/gscan2pdf" \
      --prefix PATH : "${sane-backends}/bin" \
      --prefix PATH : "${imagemagick}/bin" \
      --prefix PATH : "${libtiff_4_5}/bin" \
      --prefix PATH : "${libtiff}/bin" \
      --prefix PATH : "${djvulibre}/bin" \
      --prefix PATH : "${poppler_utils}/bin" \
      --prefix PATH : "${ghostscript}/bin" \
@@ -98,10 +98,7 @@ perlPackages.buildPerlPackage rec {

  nativeCheckInputs = [
    imagemagick
    # Needs older libtiff version, because it stopped packageing tools like
    # tiff2pdf and others in version 4.6. These tools are necessary for gscan2pdf.
    # See commit f57a4b0ac1b954eec0c8def2a99e2a464ac6ff7a for in-depth explanation.
    libtiff_4_5
    libtiff
    djvulibre
    poppler_utils
    ghostscript
+1 −4
Original line number Diff line number Diff line
@@ -28,9 +28,6 @@ stdenv.mkDerivation (finalAttrs: {
  pname = "libtiff";
  version = "4.6.0";

  # if you update this, please consider adding patches and/or
  # setting `knownVulnerabilities` in libtiff `4.5.nix`

  src = fetchFromGitLab {
    owner = "libtiff";
    repo = "libtiff";
@@ -93,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
  meta = with lib; {
    description = "Library and utilities for working with the TIFF image file format";
    homepage = "https://libtiff.gitlab.io/libtiff";
    changelog = "https://libtiff.gitlab.io/libtiff/v${finalAttrs.version}.html";
    changelog = "https://libtiff.gitlab.io/libtiff/releases/v${finalAttrs.version}.html";
    license = licenses.libtiff;
    platforms = platforms.unix ++ platforms.windows;
    pkgConfigModules = [ "libtiff-4" ];
+0 −16
Original line number Diff line number Diff line
export private headers for freeimage
--- i/libtiff/Makefile.am
+++ w/libtiff/Makefile.am
@@ -36,8 +36,12 @@ EXTRA_DIST = \
 	tiffconf.h.cmake.in

 libtiffinclude_HEADERS = \
+	tif_config.h \
+	tif_dir.h \
+	tif_hash_set.h \
 	tiff.h \
 	tiffio.h \
+	tiffiop.h \
 	tiffvers.h

 if HAVE_CXX
+73 −0
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, fetchzip

, autoreconfHook
, pkg-config
@@ -13,35 +12,24 @@
, zlib
}:

stdenv.mkDerivation rec {
  pname = "libtiff";
  version = "4.5.1";
# This is a fork created by the hylafaxplus developer to
# restore tools dropped by original libtiff in version 4.6.0.

  src = fetchFromGitLab {
    owner = "libtiff";
    repo = "libtiff";
    rev = "v${version}";
    hash = "sha256-qQEthy6YhNAQmdDMyoCIvK8f3Tx25MgqhJZW74CB93E=";
stdenv.mkDerivation (finalAttrs: {
  pname = "libtiff_t";
  version = "4.6.0t";

  src = fetchzip {
    url = "http://www.libtiff.org/downloads/tiff-${finalAttrs.version}.tar.xz";
    hash = "sha256-9ov4w2jw4LtKr82/4jWMAGhc5GEdviJ7bT+y0+U/Ac4=";
  };

  patches = [
    # cf. https://bugzilla.redhat.com/2224974
    (fetchpatch {
      name = "CVE-2023-40745.patch";
      url = "https://gitlab.com/libtiff/libtiff/-/commit/bdf7b2621c62e04d0408391b7d5611502a752cd0.diff";
      hash = "sha256-HdU02YJ1/T3dnCT+yG03tUyAHkgeQt1yjZx/auCQxyw=";
    })
    # cf. https://bugzilla.redhat.com/2224971
    (fetchpatch {
      name = "CVE-2023-41175.patch";
      url = "https://gitlab.com/libtiff/libtiff/-/commit/965fa243004e012adc533ae8e38db3055f101a7f.diff";
      hash = "sha256-Pvg6JfJWOIaTrfFF0YSREZkS9saTG9IsXnsXtcyKILA=";
    })
    # FreeImage needs this patch
    ./headers-4.5.patch
    ./headers.patch
    # libc++abi 11 has an `#include <version>`, this picks up files name
    # `version` in the project's include paths
    ./rename-version-4.5.patch
    ./rename-version.patch
  ];

  postPatch = ''
@@ -61,6 +49,7 @@ stdenv.mkDerivation rec {
  # sure cross-compilation works first!
  nativeBuildInputs = [ autoreconfHook pkg-config sphinx ];

  # TODO: opengl support (bogus configure detection)
  propagatedBuildInputs = [
    libdeflate
    libjpeg
@@ -73,14 +62,12 @@ stdenv.mkDerivation rec {
  doCheck = true;

  meta = with lib; {
    description = "Library and utilities for working with the TIFF image file format";
    homepage = "https://libtiff.gitlab.io/libtiff";
    changelog = "https://libtiff.gitlab.io/libtiff/v${version}.html";
    # XXX not enabled for now to keep hydra builds running,
    # but we have to keep an eye on security updates in supported version
    #knownVulnerabilities = [ "support for version 4.5 ended in Sept 2023" ];
    description = "Library and utilities for working with the TIFF image file format (fork containing tools dropped in original libtiff version)";
    homepage = "http://www.libtiff.org";
    changelog = "http://www.libtiff.org/releases/v${finalAttrs.version}.html";
    maintainers = with maintainers; [ yarny ];
    license = licenses.libtiff;
    platforms = platforms.unix;
    platforms = platforms.unix ++ platforms.windows;
    pkgConfigModules = [ "libtiff-4" ];
  };
}
})
+0 −21
Original line number Diff line number Diff line
fix case-insensitive build
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,7 @@ docfiles = \
 	README.md \
 	RELEASE-DATE \
 	TODO \
-	VERSION
+	VERSION.txt

 EXTRA_DIST = \
 	cmake \
@@ -61,7 +61,7 @@ SUBDIRS = port libtiff tools build contrib test doc

 release:
	(rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE)
-	(rm -f $(top_srcdir)/VERSION && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION)
+	(rm -f $(top_srcdir)/VERSION.txt && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION.txt)
	(rm -f $(top_srcdir)/libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),;s,LIBTIFF_MAJOR_VERSION,$(LIBTIFF_MAJOR_VERSION),;s,LIBTIFF_MINOR_VERSION,$(LIBTIFF_MINOR_VERSION),;s,LIBTIFF_MICRO_VERSION,$(LIBTIFF_MICRO_VERSION),' $(top_srcdir)/libtiff/tiffvers.h.in > $(top_srcdir)/libtiff/tiffvers.h)

 pkgconfigdir = $(libdir)/pkgconfig
Loading