]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
perl-Imager: Update to version 1.024
authorAdolf Belka <adolf.belka@ipfire.org>
Fri, 15 Nov 2024 21:36:40 +0000 (22:36 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Thu, 12 Dec 2024 07:03:35 +0000 (08:03 +0100)
- Update from version 1.012 (2020) to 1.024
- Update of rootfile
- Addition of patch to fix inclusion of t1tables.h for FT_Has_PS_Glyph_Names which is
   no longer pulled in by ftmm.h since FreeType 2.13.3
- Changelog
    1.024
 - TIFF: improve reporting from a test on failure.
 - TIFF: support back to libtiff 4.0.8, for compatibility with RHEL
   and its clones.
   https://github.com/tonycoz/imager/issues/527
    1.023
 - TIFF: don't read after free when looking up a compression codec
   by the libtiff defined name,
   https://github.com/tonycoz/imager/issues/524
    1.022
 - TIFF: We can no longer be lazy in implementing the size callback.
   https://github.com/tonycoz/imager/issues/522
   https://bugs.debian.org/1057270
    1.021
Several TIFF changes:
 - require libtiff 4.1.0 or later
 - add buildversion, builddate and libversion methods
 - add the codecs method which fetches a list of available TIFF
   compression codes
 - avoid deprecation warnings from libtiff about using the old
   libtiff defined integer types
 - require vsnprintf() (C99)
 - remove my adaption of TIFFReadRGBATile() since libtiff now provides
   TIFFReadRGBATileExt() which can do the same thing
 - use pkg-config to find libtiff if possible
 - for sufficiently modern libtiff (4.5.0) use TIFFClientOptions to
   specify the warning and error handlers, this means we no longer
   need a mutex for 4.5.0 and later.
 - collect warnings using a buffer chain instead of custom allocation
   code.
 - include the "module" name (typically a libtiff function name) when
   recording libtiff warnings.
 - add CI to test Imager::File::TIFF against libtiff 4.1.0 through 4.6.0
 - other minor fixes
Other changes:
 - prevent CodeQL from complaining about an implicit conversion to
   unsigned char
    1.020
 - masked(): disallow negative width/height masked images
 - masked(): adjust source corners as bottom right relative if they
   are negative.
 - masked(): reject image source corners where either co-ordinate is
   negative after the above adjustment.
 - Imager::Files: update external image file support modules list
 - internal test: don't fail on Imager::File::APNG link
 - disable Imager::Font::T1 and Freetype 1.x fonts by default.
   Unpatched t1lib simply doesn't work on 64 bit systems, and no-one
   ships the patched version anymore.
   https://github.com/tonycoz/imager/issues/510
    1.019
 - fix palette/transparency table generation when writing paletted PNG
   images with tranparency.  This happened to work for the test case,
   but the mechanism used to generate the palette order preserved most
   palette index positions, which hid the problem with actually
   generating the PLTE and tRNS chunks.
   https://github.com/tonycoz/imager/issues/499
 - added lowish-level read() and write() class methods to
   Imager::File::PNG, these are mostly intended for
   Imager::File::APNG, but are documented and usable elsewhere.
 - document in Imager::Install how to install Imager without any of
   the bundled-but-also-on-CPAN modules being installed.
   https://github.com/tonycoz/imager/issues/498
    1.018
 - skip trying to produce deprecation warnings before perl 5.14, since
   that doesn't support custom warning categories within a package.
   This prevents pointless failures on these old versions of perl.
    1.017
Bug fix:
 - fix a one bytes underallocation for Imager::TrimColorList.  On
   older perls this could lead to writing a zero byte one past the end
   of the allocated block.
Documentation:
 - expand on why you might want to call Imager->preload() and that you
   probably don't need to.
    1.016
Upcoming backward incompatible changes:
 - deprecate setting/deleting tags by code.  If this causes you a
   problem please open an issue.  You can disable the warning produced
   with:
    no warnings 'Imager::tagcodes';
 - deprecate image channel masks.  If this causes you a problem please
   open an issue.  You can disable the warning produced with:
    no warnings 'Imager::channelmask';
If you use either of these features please let me know.
Minor features:
 - add magic/extension support for AVIF files, see Imager::File::AVIF
   on CPAN.
 - treat an unknown extension of two or more characters as a potential
   file type on write.
Bug fixes:
 - prevent a possible undefined value warning from t/t10jpeg.t
 - update MANIFEST.SKIPs, update MANIFESTs and improve MANIFEST testing.
 - TGA: failing to read in the palette of a paletted TGA file would
   leak memory.
 - JPEG: supplying invalid values for the new JPEG write tags could
   leak memory.
 - PNG: fix validation of Latin1 only tags when writing PNGs.
   (detected by clang)
 - matrix_transform: correctly use fabs() instead of abs() on floating
   point values when deciding whether to divide for a perspective
   transform. (detected by clang)
 - fix the i_poly_aa_cfill_m() API macro
Cage cleaning:
 - eliminate IO::File usage from the Imager code base
 - fix a type error harmlessly ignored by gcc but found by clang
 - eliminate memory leaks in sub-module Makefile.PL probe test code to
   allow the probes to succeed under LeakSanitizer.
 - BMP: fix some otherwise harmless clang warnings
 - remove some code meant to work around some unspecified old Solaris
   linker bug.
 - i_noise: prevent a harmless conversion warning from clang
 - fountain fill/filter: limit ssample_param to 1000 to simplify code.
    1.015
 - rename the "virtual" member of i_img to "isvirtual" to allow the
   API to be used from C++, this may break source compatibility, using
   the i_img_virtual() accessor is backward compatible.
 - add cookbook entry to populating an image from raw RGB samples
   https://github.com/tonycoz/imager/issues/471
 - Imager::Probe now puts the existing value of PKG_CONFIG_PATH at the
   front of the PKG_CONFIG_PATH used when it calls pkg-config.
 - setup CodeQL workflow and fix detected warnings
JPEG updates:
 - detect libjpeg (of whichever variety) via pkg-config if possible
 - add specific support for mozjpeg (turn its optimization off by
   default so tests pass.)
 - add libjpeg_version(), is_mozjpeg(), is_turbojpeg() and
   has_arith_coding() methods
 - add jpeg_compress_profile output tag, which only matters for
   mozjpeg
 - the libjpeg_version() method replaces the old
   Imager::File::JPEG::i_libjpeg_version() function, and the format
   has changed.
 - various obscure jpeg output controls:
   - add support for JPEG arithmetic coding when the supplied libjpeg
     supports it.  Note that not all JPEG decoders can handle arithmetic
     coded JPEGs.
   - add support for disabling the JFIF header for JPEG files using the
     jpeg_jfif tag.
   - add support for smoothing to eliminate dithering noise (like cjpeg
     -smooth) using the jpeg_smooth tag.
   - add support for producing JPEG restart markers (like cjpeg -restart
     N), using the jpeg_restart tag.
   - add control over subsample for JPEG (like the cjpeg -sample
     parameter) using the jpeg_sample tag
   - added tags for the rest of the MozJPEG API parameters.
   - add jpeg_tune tag, corresponding to the MozJPEG cjpeg -tune-*
     options.
    1.014
Bug fixes:
 - fix failed to build on non-threaded perls.
   https://github.com/tonycoz/imager/issues/472
 - when writing a paletted image with an alpha channel to PNG only
   set the tRNS chunk if the image has transparent colours.  With
   older libpng this could add an erroneous tRNS chunk (or possibly
   undefined behaviour if I understand the libpng code).
   https://github.com/tonycoz/imager/issues/459
Features:
 - Imager::Color and Imager::Color::Float objects can now be created
   from CSS style rgb(...) strings.
   https://github.com/tonycoz/imager/issues/463
 - added the as_css_rgb() method to both Imager::Color and
   Imager::Color::Float to format the supplied color as a CSS style
   rgb() string.
   https://github.com/tonycoz/imager/issues/463
 - Imager::Color and Imager::Color::Float objects can now be created
   (copied) or set from other Imager::Color or Imager::Color::Float
   objects.
    1.013
 - added rgb_difference() method
   Thanks to Andreas König
   https://github.com/tonycoz/imager/pull/462
 - update ppport.h to prevent a redefinition diagnostic
 - update bug tracker URLs to point at github
   https://github.com/tonycoz/imager/pull/466
 - update some other bug tracker URLs too.
 - add the trim() and trim_rect() methods, to trim borders off an
   image.
 - add the as_float() method to Imager::Color and the as_8bit() method
   to Imager::Color::Float to convert between the two types.
 - update ppport.h to avoid a diagnostic in more modern perls.
 - add detection for HEIF, JPEG XL and QOI image formats

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
config/rootfiles/common/perl-Imager
lfs/perl-Imager
src/patches/perl-Imager-1.024-include-t1tables.h-for-FT_Has_PS_Glyph_Names.patch [new file with mode: 0644]

index 6886d46adc05a5957f696e6d96b90087f0c958ae..5674f7b52459fc1266ba2eada5cd9c8dad4194c8 100644 (file)
@@ -54,6 +54,7 @@ usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/Test.pm
 usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/Threads.pod
 usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/Transform.pm
 usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/Transformations.pod
+usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/TrimColorList.pm
 usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/Tutorial.pod
 #usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/include
 #usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/Imager/include/draw.h
@@ -160,6 +161,7 @@ usr/lib/perl5/site_perl/5.36.0/xxxMACHINExxx-linux-thread-multi/auto/Imager/Imag
 #usr/share/man/man3/Imager::Threads.3
 #usr/share/man/man3/Imager::Transform.3
 #usr/share/man/man3/Imager::Transformations.3
+#usr/share/man/man3/Imager::TrimColorList.3
 #usr/share/man/man3/Imager::Tutorial.3
 #usr/share/man/man3/Imager::interface.3
 #usr/share/man/man3/Imager::regmach.3
index e7301b92b94a3c08e6364271187ba1a4179a15a9..445e18c0b8a0ff0d093529134b479b1518de8c0c 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2022  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2022-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.012
+VER        = 1.024
 
 THISAPP    = Imager-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 32dad83e9cfd66a162380b502ab49b343dae8c87eca8e6c0537d260956bf466e200511a7b4f89eed9b0bc1f20447584c7c4aabffaad77f0824ee9d5126848c39
+$(DL_FILE)_BLAKE2 = 3bbb7bc5a0537ca8095141e5aeca4dc27cc5f5bf94278a9538cef24a6013e16c5ff273035e589be113070db72afc2b19194d2bd2ce17937758e1748dd51ff56d
 
 install : $(TARGET)
 
@@ -74,6 +74,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && yes 'n' | perl Makefile.PL
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/perl-Imager-1.024-include-t1tables.h-for-FT_Has_PS_Glyph_Names.patch
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
diff --git a/src/patches/perl-Imager-1.024-include-t1tables.h-for-FT_Has_PS_Glyph_Names.patch b/src/patches/perl-Imager-1.024-include-t1tables.h-for-FT_Has_PS_Glyph_Names.patch
new file mode 100644 (file)
index 0000000..5afcfa6
--- /dev/null
@@ -0,0 +1,32 @@
+From 771ef328dcc4adc169b11334a3a9d940db82d250 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Sun, 15 Sep 2024 09:03:46 +0100
+Subject: [PATCH] include t1tables.h for FT_Has_PS_Glyph_Names
+
+This is no longer pulled in by ftmm.h since FreeType 2.13.3
+
+Bug-Debian: https://bugs.debian.org/1081821
+Forwarded: https://github.com/tonycoz/imager/pull/533
+Bug: https://github.com/tonycoz/imager/pull/533
+Applied-Upstream: https://github.com/tonycoz/imager/commit/150c84cc0252de9bfe9ea14715e90c052937bf6c
+
+---
+ FT2/freetyp2.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/FT2/freetyp2.c b/FT2/freetyp2.c
+index 87d5e571..92011f38 100644
+--- a/FT2/freetyp2.c
++++ b/FT2/freetyp2.c
+@@ -47,6 +47,9 @@ Truetype, Type1 and Windows FNT.
+ #include FT_MULTIPLE_MASTERS_H
+ #endif
+ #endif
++#ifdef FT_TYPE1_TABLES_H
++#include FT_TYPE1_TABLES_H
++#endif
+ static void ft2_push_message(int code);
+-- 
+2.45.2