diff options
Diffstat (limited to 'graphics/tiff/files')
6 files changed, 52 insertions, 262 deletions
diff --git a/graphics/tiff/files/patch-Makefile.in b/graphics/tiff/files/patch-Makefile.in deleted file mode 100644 index d5325e9a4fa7..000000000000 --- a/graphics/tiff/files/patch-Makefile.in +++ /dev/null @@ -1,22 +0,0 @@ ---- Makefile.in.orig 2021-04-16 10:56:02 UTC -+++ Makefile.in -@@ -509,19 +509,6 @@ distclean-libtool: - -rm -f libtool config.lt - install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) -- @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ -- if test -n "$$list"; then \ -- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ -- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ -- fi; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ -- done - - uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) diff --git a/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 b/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 new file mode 100644 index 000000000000..765bf56f26da --- /dev/null +++ b/graphics/tiff/files/patch-git-01-0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 @@ -0,0 +1,52 @@ +From 0dbcfc5bd2eaacf8be4f57f8b7cc7369d88fafa8 Mon Sep 17 00:00:00 2001 +From: "Daniel E @diizzyy" <unknown@example.com> +Date: Sun, 20 Oct 2024 22:45:15 +0200 +Subject: [PATCH] CMake: fix build with LLVM/Clang 17+ + +Fixes #651 +--- + cmake/LinkerChecks.cmake | 7 ++++++- + libtiff/CMakeLists.txt | 9 +++++++-- + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/cmake/LinkerChecks.cmake b/cmake/LinkerChecks.cmake +index ad1f0f9ff..90496bd2e 100644 +--- cmake/LinkerChecks.cmake ++++ cmake/LinkerChecks.cmake +@@ -39,7 +39,12 @@ VERS_2 { + } VERS_1; + ") + set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS}) +-set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map") ++if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17) ++ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} -Wl,--undefined-version "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map") ++else() ++ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/conftest.map") ++endif() ++ + check_c_source_compiles("int main(void){return 0;}" HAVE_LD_VERSION_SCRIPT) + set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE}) + file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map") +diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt +index a8aa0c320..2762fab7c 100755 +--- libtiff/CMakeLists.txt ++++ libtiff/CMakeLists.txt +@@ -201,8 +201,13 @@ if(NOT CYGWIN) + set_target_properties(tiff PROPERTIES VERSION ${SO_VERSION}) + endif() + if(HAVE_LD_VERSION_SCRIPT) +- set_target_properties(tiff PROPERTIES LINK_FLAGS +- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map") ++ if (CMAKE_VERSION GREATER_EQUAL 3.29 AND CMAKE_C_COMPILER_LINKER_ID STREQUAL "LLD" AND CMAKE_C_COMPILER_LINKER_VERSION GREATER_EQUAL 17) ++ set_target_properties(tiff PROPERTIES LINK_FLAGS ++ "-Wl,--undefined-version -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map") ++ else() ++ set_target_properties(tiff PROPERTIES LINK_FLAGS ++ "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map") ++ endif() + endif() + + if(tiff-install) +-- +GitLab + diff --git a/graphics/tiff/files/patch-git-01-dd1bcc7abb26094e93636e85520f0d8f81ab0fab b/graphics/tiff/files/patch-git-01-dd1bcc7abb26094e93636e85520f0d8f81ab0fab deleted file mode 100644 index 85ccf0401568..000000000000 --- a/graphics/tiff/files/patch-git-01-dd1bcc7abb26094e93636e85520f0d8f81ab0fab +++ /dev/null @@ -1,180 +0,0 @@ -From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001 -From: 4ugustus <wangdw.augustus@qq.com> -Date: Sat, 11 Jun 2022 09:31:43 +0000 -Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428) - ---- - libtiff/tif_aux.c | 9 +++++++ - libtiff/tiffiop.h | 1 + - tools/tiffcrop.c | 62 ++++++++++++++++++++++++++--------------------- - 3 files changed, 44 insertions(+), 28 deletions(-) - -diff --git a/libtiff/tif_aux.c b/libtiff/tif_aux.c -index 140f26c7..5b88c8d0 100644 ---- libtiff/tif_aux.c -+++ libtiff/tif_aux.c -@@ -402,6 +402,15 @@ float _TIFFClampDoubleToFloat( double val ) - return (float)val; - } - -+uint32_t _TIFFClampDoubleToUInt32(double val) -+{ -+ if( val < 0 ) -+ return 0; -+ if( val > 0xFFFFFFFFU || val != val ) -+ return 0xFFFFFFFFU; -+ return (uint32_t)val; -+} -+ - int _TIFFSeekOK(TIFF* tif, toff_t off) - { - /* Huge offsets, especially -1 / UINT64_MAX, can cause issues */ -diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h -index e3af461d..4e8bdac2 100644 ---- libtiff/tiffiop.h -+++ libtiff/tiffiop.h -@@ -365,6 +365,7 @@ extern double _TIFFUInt64ToDouble(uint64_t); - extern float _TIFFUInt64ToFloat(uint64_t); - - extern float _TIFFClampDoubleToFloat(double); -+extern uint32_t _TIFFClampDoubleToUInt32(double); - - extern tmsize_t - _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32_t strip, -diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c -index 1f827b2b..90286a5e 100644 ---- tools/tiffcrop.c -+++ tools/tiffcrop.c -@@ -5268,17 +5268,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image, - { - if ((crop->res_unit == RESUNIT_INCH) || (crop->res_unit == RESUNIT_CENTIMETER)) - { -- x1 = (uint32_t) (crop->corners[i].X1 * scale * xres); -- x2 = (uint32_t) (crop->corners[i].X2 * scale * xres); -- y1 = (uint32_t) (crop->corners[i].Y1 * scale * yres); -- y2 = (uint32_t) (crop->corners[i].Y2 * scale * yres); -+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1 * scale * xres); -+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2 * scale * xres); -+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1 * scale * yres); -+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2 * scale * yres); - } - else - { -- x1 = (uint32_t) (crop->corners[i].X1); -- x2 = (uint32_t) (crop->corners[i].X2); -- y1 = (uint32_t) (crop->corners[i].Y1); -- y2 = (uint32_t) (crop->corners[i].Y2); -+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1); -+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2); -+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1); -+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2); - } - /* a) Region needs to be within image sizes 0.. width-1; 0..length-1 - * b) Corners are expected to be submitted as top-left to bottom-right. -@@ -5357,17 +5357,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image, - { - if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER) - { /* User has specified pixels as reference unit */ -- tmargin = (uint32_t)(crop->margins[0]); -- lmargin = (uint32_t)(crop->margins[1]); -- bmargin = (uint32_t)(crop->margins[2]); -- rmargin = (uint32_t)(crop->margins[3]); -+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0]); -+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1]); -+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2]); -+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3]); - } - else - { /* inches or centimeters specified */ -- tmargin = (uint32_t)(crop->margins[0] * scale * yres); -- lmargin = (uint32_t)(crop->margins[1] * scale * xres); -- bmargin = (uint32_t)(crop->margins[2] * scale * yres); -- rmargin = (uint32_t)(crop->margins[3] * scale * xres); -+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0] * scale * yres); -+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1] * scale * xres); -+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2] * scale * yres); -+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3] * scale * xres); - } - - if ((lmargin + rmargin) > image->width) -@@ -5397,24 +5397,24 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image, - if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER) - { - if (crop->crop_mode & CROP_WIDTH) -- width = (uint32_t)crop->width; -+ width = _TIFFClampDoubleToUInt32(crop->width); - else - width = image->width - lmargin - rmargin; - - if (crop->crop_mode & CROP_LENGTH) -- length = (uint32_t)crop->length; -+ length = _TIFFClampDoubleToUInt32(crop->length); - else - length = image->length - tmargin - bmargin; - } - else - { - if (crop->crop_mode & CROP_WIDTH) -- width = (uint32_t)(crop->width * scale * image->xres); -+ width = _TIFFClampDoubleToUInt32(crop->width * scale * image->xres); - else - width = image->width - lmargin - rmargin; - - if (crop->crop_mode & CROP_LENGTH) -- length = (uint32_t)(crop->length * scale * image->yres); -+ length = _TIFFClampDoubleToUInt32(crop->length * scale * image->yres); - else - length = image->length - tmargin - bmargin; - } -@@ -5868,13 +5868,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image, - { - if (page->res_unit == RESUNIT_INCH || page->res_unit == RESUNIT_CENTIMETER) - { /* inches or centimeters specified */ -- hmargin = (uint32_t)(page->hmargin * scale * page->hres * ((image->bps + 7) / 8)); -- vmargin = (uint32_t)(page->vmargin * scale * page->vres * ((image->bps + 7) / 8)); -+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * page->hres * ((image->bps + 7) / 8)); -+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * page->vres * ((image->bps + 7) / 8)); - } - else - { /* Otherwise user has specified pixels as reference unit */ -- hmargin = (uint32_t)(page->hmargin * scale * ((image->bps + 7) / 8)); -- vmargin = (uint32_t)(page->vmargin * scale * ((image->bps + 7) / 8)); -+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * ((image->bps + 7) / 8)); -+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * ((image->bps + 7) / 8)); - } - - if ((hmargin * 2.0) > (pwidth * page->hres)) -@@ -5912,13 +5912,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image, - { - if (page->mode & PAGE_MODE_PAPERSIZE ) - { -- owidth = (uint32_t)((pwidth * page->hres) - (hmargin * 2)); -- olength = (uint32_t)((plength * page->vres) - (vmargin * 2)); -+ owidth = _TIFFClampDoubleToUInt32((pwidth * page->hres) - (hmargin * 2)); -+ olength = _TIFFClampDoubleToUInt32((plength * page->vres) - (vmargin * 2)); - } - else - { -- owidth = (uint32_t)(iwidth - (hmargin * 2 * page->hres)); -- olength = (uint32_t)(ilength - (vmargin * 2 * page->vres)); -+ owidth = _TIFFClampDoubleToUInt32(iwidth - (hmargin * 2 * page->hres)); -+ olength = _TIFFClampDoubleToUInt32(ilength - (vmargin * 2 * page->vres)); - } - } - -@@ -5927,6 +5927,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image, - if (olength > ilength) - olength = ilength; - -+ if (owidth == 0 || olength == 0) -+ { -+ TIFFError("computeOutputPixelOffsets", "Integer overflow when calculating the number of pages"); -+ exit(EXIT_FAILURE); -+ } -+ - /* Compute the number of pages required for Portrait or Landscape */ - switch (page->orient) - { --- -GitLab - diff --git a/graphics/tiff/files/patch-git-02-275735d0354e39c0ac1dc3c0db2120d6f31d1990 b/graphics/tiff/files/patch-git-02-275735d0354e39c0ac1dc3c0db2120d6f31d1990 deleted file mode 100644 index f86cd7151086..000000000000 --- a/graphics/tiff/files/patch-git-02-275735d0354e39c0ac1dc3c0db2120d6f31d1990 +++ /dev/null @@ -1,28 +0,0 @@ -From 275735d0354e39c0ac1dc3c0db2120d6f31d1990 Mon Sep 17 00:00:00 2001 -From: Even Rouault <even.rouault@spatialys.com> -Date: Mon, 27 Jun 2022 16:09:43 +0200 -Subject: [PATCH] _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a - codec-specific tag and the codec is not configured (fixes #433) - -This avoids crashes when querying such tags ---- - libtiff/tif_dirinfo.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c -index c30f569b..3371cb5c 100644 ---- libtiff/tif_dirinfo.c -+++ libtiff/tif_dirinfo.c -@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag) - default: - return 1; - } -+ if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) { -+ return 0; -+ } - /* Check if codec specific tags are allowed for the current - * compression scheme (codec) */ - switch (tif->tif_dir.td_compression) { --- -GitLab - diff --git a/graphics/tiff/files/patch-libtiff_tif_getimage.c b/graphics/tiff/files/patch-libtiff_tif_getimage.c deleted file mode 100644 index d3235c58968f..000000000000 --- a/graphics/tiff/files/patch-libtiff_tif_getimage.c +++ /dev/null @@ -1,22 +0,0 @@ ---- libtiff/tif_getimage.c.orig 2022-02-19 07:33:54.000000000 -0800 -+++ libtiff/tif_getimage.c 2022-11-23 11:36:14.192628000 -0800 -@@ -3058,15 +3058,15 @@ - return( ok ); - - for( i_row = 0; i_row < read_ysize; i_row++ ) { -- memmove( raster + (tile_ysize - i_row - 1) * tile_xsize, -- raster + (read_ysize - i_row - 1) * read_xsize, -+ memmove( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize, -+ raster + (size_t)(read_ysize - i_row - 1) * read_xsize, - read_xsize * sizeof(uint32_t) ); -- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize+read_xsize, -+ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize+read_xsize, - 0, sizeof(uint32_t) * (tile_xsize - read_xsize) ); - } - - for( i_row = read_ysize; i_row < tile_ysize; i_row++ ) { -- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize, -+ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize, - 0, sizeof(uint32_t) * tile_xsize ); - } - diff --git a/graphics/tiff/files/patch-tiffcrop.1 b/graphics/tiff/files/patch-tiffcrop.1 deleted file mode 100644 index c06b5bc619d7..000000000000 --- a/graphics/tiff/files/patch-tiffcrop.1 +++ /dev/null @@ -1,10 +0,0 @@ ---- man/tiffcrop.1.orig 2021-03-05 13:01:43 UTC -+++ man/tiffcrop.1 -@@ -499,7 +499,6 @@ the portrait or landscape option. The paper size optio - the image. It breaks each original image into a series of smaller images - that will fit on the target paper size at the specified resolution. - .fi --.RE - .PP - Extract two regions 2048 pixels wide by 2048 pixels high from each page of - a multi\-page input file and write each region to a separate output file. |