git: 34ab3bea8aa2 - main - graphics/gd: update to 2.3.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 22 Feb 2022 11:45:05 UTC
The branch main has been updated by dinoex: URL: https://cgit.FreeBSD.org/ports/commit/?id=34ab3bea8aa25b1e994a7da9a4653d558585e5d2 commit 34ab3bea8aa25b1e994a7da9a4653d558585e5d2 Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2022-02-22 11:44:38 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2022-02-22 11:44:38 +0000 graphics/gd: update to 2.3.3 - remove perfomance patch - fix tests - new options HEIF AVIF --- graphics/gd/Makefile | 25 +++++-- graphics/gd/distinfo | 6 +- graphics/gd/files/patch-Makefile.am | 11 +++ graphics/gd/files/patch-Makefile.in | 11 +++ graphics/gd/files/patch-bdftogd | 4 +- graphics/gd/files/patch-gd.c | 136 ------------------------------------ graphics/gd/files/patch-gd.h | 14 ++++ graphics/gd/files/patch-gd_png.c | 4 +- graphics/gd/files/patch-gdtest.c | 19 ++--- graphics/gd/pkg-plist | 4 +- 10 files changed, 75 insertions(+), 159 deletions(-) diff --git a/graphics/gd/Makefile b/graphics/gd/Makefile index 28722c59e71b..b5f93cd554c0 100644 --- a/graphics/gd/Makefile +++ b/graphics/gd/Makefile @@ -1,7 +1,7 @@ # Created by: jeff@cetlink.net PORTNAME= libgd -PORTVERSION= 2.3.1 +PORTVERSION= 2.3.3 PORTREVISION= 0 PORTEPOCH= 1 CATEGORIES+= graphics @@ -13,17 +13,20 @@ COMMENT?= Graphics library for fast creation of images LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING -CONFLICTS_INSTALL= libgd ??-libgd mummer # bin/bdftogd bin/gd2copypal bin/gd2togif bin/gd2topng bin/gdcmpgif bin/gdlib-config bin/gdparttopng bin/gdtopng bin/giftogd2 +CONFLICTS_INSTALL= libgd ??-libgd USES= cpe tar:xz pkgconfig pathfix libtool:keepla shebangfix SHEBANG_FILES= ${WRKSRC}/src/bdftogd GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-gd-formats +TMPDIR?= /tmp +MAKE_ENV= TMPDIR=${TMPDIR} SUB_FILES= gdlib-config USE_LDCONFIG= yes TEST_TARGET= check -OPTIONS_DEFINE= PNG JPEG WEBP TIFF FREETYPE FONTCONFIG RAQM XPM ICONV -OPTIONS_DEFAULT=PNG JPEG WEBP TIFF FREETYPE FONTCONFIG ICONV +OPTIONS_DEFINE= PNG JPEG WEBP HEIF AVIF TIFF FREETYPE FONTCONFIG RAQM XPM ICONV +OPTIONS_DEFAULT=PNG JPEG WEBP HEIF AVIF TIFF FREETYPE FONTCONFIG ICONV NO_OPTIONS_SORT=yes OPTIONS_SUB= yes PNG_LIB_DEPENDS= libpng.so:graphics/png @@ -35,6 +38,13 @@ JPEG_CPPFLAGS= -I${LOCALBASE}/include WEBP_LIB_DEPENDS= libwebp.so:graphics/webp WEBP_CONFIGURE_OFF= --without-webp WEBP_CPPFLAGS= -I${LOCALBASE}/include +HEIF_LIB_DEPENDS= libheif.so:graphics/libheif +HEIF_CONFIGURE_OFF= --without-heif +HEIF_CPPFLAGS= -I${LOCALBASE}/include +AVIF_LIB_DEPENDS= libavif.so:graphics/libavif +AVIF_CONFIGURE_OFF= --without-avif +AVIF_CPPFLAGS= -I${LOCALBASE}/include +AVIF_USES= autoreconf TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff TIFF_CONFIGURE_OFF= --without-tiff TIFF_CPPFLAGS= -I${LOCALBASE}/include @@ -57,6 +67,11 @@ ICONV_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG} .include <bsd.port.options.mk> +.if ${PORT_OPTIONS:MFREETYPE} +# bin/annotate +CONFLICTS_INSTALL+= mummer +.endif + # force gdlib-config --ldflags LDFLAGS+= -L${LOCALBASE}/lib @@ -92,7 +107,7 @@ pre-configure: # bump shlib version ${REINPLACE_CMD} \ -e 's|^GDLIB_LT_CURRENT=3|GDLIB_LT_CURRENT=6|' \ - ${WRKSRC}/configure + ${WRKSRC}/configure ${WRKSRC}/config/getlib.sh pre-configure-ICONV-off: ${REINPLACE_CMD} \ diff --git a/graphics/gd/distinfo b/graphics/gd/distinfo index c82be508530b..8a41b89cbfa9 100644 --- a/graphics/gd/distinfo +++ b/graphics/gd/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1613146049 -SHA256 (libgd-2.3.1.tar.xz) = 9767917d9f818faec4ddd763fe4a4ad9f6322c3d25da290ab2ea3e2ce4b52a7b -SIZE (libgd-2.3.1.tar.xz) = 2632076 +TIMESTAMP = 1644860754 +SHA256 (libgd-2.3.3.tar.xz) = 3fe822ece20796060af63b7c60acb151e5844204d289da0ce08f8fdf131e5a61 +SIZE (libgd-2.3.3.tar.xz) = 2809056 diff --git a/graphics/gd/files/patch-Makefile.am b/graphics/gd/files/patch-Makefile.am new file mode 100644 index 000000000000..5d7a8b192026 --- /dev/null +++ b/graphics/gd/files/patch-Makefile.am @@ -0,0 +1,11 @@ +--- src/Makefile.am.orig 2022-02-14 17:43:45 UTC ++++ src/Makefile.am +@@ -52,7 +52,7 @@ EXTRA_DIST = \ + msinttypes/inttypes.h \ + msinttypes/stdint.h + +-include_HEADERS = gd.h gdfx.h gd_io.h gdcache.h gdfontg.h gdfontl.h gdfontmb.h gdfonts.h gdfontt.h gd_color_map.h gd_errors.h gdpp.h ++include_HEADERS = gd.h gdfx.h gd_io.h gdcache.h gdfontg.h gdfontl.h gdfontmb.h gdfonts.h gdfontt.h gd_color_map.h gd_errors.h gdpp.h gd_io_stream.h + + lib_LTLIBRARIES = libgd.la + diff --git a/graphics/gd/files/patch-Makefile.in b/graphics/gd/files/patch-Makefile.in new file mode 100644 index 000000000000..51ecacb7cb0e --- /dev/null +++ b/graphics/gd/files/patch-Makefile.in @@ -0,0 +1,11 @@ +--- src/Makefile.in.orig 2021-09-11 05:12:11 UTC ++++ src/Makefile.in +@@ -561,7 +561,7 @@ EXTRA_DIST = \ + msinttypes/inttypes.h \ + msinttypes/stdint.h + +-include_HEADERS = gd.h gdfx.h gd_io.h gdcache.h gdfontg.h gdfontl.h gdfontmb.h gdfonts.h gdfontt.h gd_color_map.h gd_errors.h gdpp.h ++include_HEADERS = gd.h gdfx.h gd_io.h gdcache.h gdfontg.h gdfontl.h gdfontmb.h gdfonts.h gdfontt.h gd_color_map.h gd_errors.h gdpp.h gd_io_stream.h + lib_LTLIBRARIES = libgd.la + libgd_la_SOURCES = \ + bmp.h \ diff --git a/graphics/gd/files/patch-bdftogd b/graphics/gd/files/patch-bdftogd index 450d1a048ded..3aadfbf6e5ad 100644 --- a/graphics/gd/files/patch-bdftogd +++ b/graphics/gd/files/patch-bdftogd @@ -1,6 +1,6 @@ ---- src/bdftogd.orig 2017-01-29 09:45:57 UTC +--- src/bdftogd.orig 2021-09-11 04:41:44 UTC +++ src/bdftogd -@@ -24,6 +24,9 @@ $gdname = 'gd' . $gdname unless $gdname +@@ -24,6 +24,9 @@ $gdname = 'gd' . $gdname unless $gdname =~ /^gd/i; my $filename = shift; $filename = 'gd' . $filename unless $filename =~ /^gd/i; diff --git a/graphics/gd/files/patch-gd.c b/graphics/gd/files/patch-gd.c deleted file mode 100644 index a4e142c83b31..000000000000 --- a/graphics/gd/files/patch-gd.c +++ /dev/null @@ -1,136 +0,0 @@ -index d8eaf43..d852068 100644 ---- src/gd.c -+++ src/gd.c -@@ -66,6 +66,9 @@ static const unsigned char gd_toascii[256] = { - }; - #endif /*CHARSET_EBCDIC */ - -+/* 2.0.10: cast instead of floor() yields 35% performance improvement. Thanks to John Buckman. */ -+#define floor_cast(exp) ((long) exp) -+ - extern const int gdCosT[]; - extern const int gdSinT[]; - -@@ -3452,50 +3455,51 @@ BGD_DECLARE(void) gdImageCopyResampled (gdImagePtr dst, - int dstW, int dstH, int srcW, int srcH) - { - int x, y; -+ double sy1, sy2, sx1, sx2; -+ - if (!dst->trueColor) { - gdImageCopyResized (dst, src, dstX, dstY, srcX, srcY, dstW, dstH, srcW, srcH); - return; - } - for (y = dstY; (y < dstY + dstH); y++) { -+ sy1 = ((double) y - (double) dstY) * (double) srcH / (double) dstH; -+ sy2 = ((double) (y + 1) - (double) dstY) * (double) srcH / (double) dstH; - for (x = dstX; (x < dstX + dstW); x++) { -- float sy1, sy2, sx1, sx2; -- float sx, sy; -- float spixels = 0.0; -- float red = 0.0, green = 0.0, blue = 0.0, alpha = 0.0; -- float alpha_factor, alpha_sum = 0.0, contrib_sum = 0.0; -- sy1 = ((float)(y - dstY)) * (float)srcH / (float)dstH; -- sy2 = ((float)(y + 1 - dstY)) * (float) srcH / (float) dstH; -+ double sx, sy; -+ double spixels = 0; -+ double red = 0.0, green = 0.0, blue = 0.0, alpha = 0.0; -+ double alpha_factor, alpha_sum = 0.0, contrib_sum = 0.0; -+ sx1 = ((double) x - (double) dstX) * (double) srcW / dstW; -+ sx2 = ((double) (x + 1) - (double) dstX) * (double) srcW / dstW; - sy = sy1; - do { -- float yportion; -- if (floorf(sy) == floorf(sy1)) { -- yportion = 1.0 - (sy - floorf(sy)); -+ double yportion; -+ if (floor_cast(sy) == floor_cast(sy1)) { -+ yportion = 1.0f - (sy - floor_cast(sy)); - if (yportion > sy2 - sy1) { - yportion = sy2 - sy1; - } -- sy = floorf(sy); -+ sy = floor_cast(sy); - } else if (sy == floorf(sy2)) { -- yportion = sy2 - floorf(sy2); -+ yportion = sy2 - floor_cast(sy2); - } else { -- yportion = 1.0; -+ yportion = 1.0f; - } -- sx1 = ((float)(x - dstX)) * (float) srcW / dstW; -- sx2 = ((float)(x + 1 - dstX)) * (float) srcW / dstW; - sx = sx1; - do { -- float xportion; -- float pcontribution; -+ double xportion; -+ double pcontribution; - int p; -- if (floorf(sx) == floorf(sx1)) { -- xportion = 1.0 - (sx - floorf(sx)); -+ if (floorf(sx) == floor_cast(sx1)) { -+ xportion = 1.0f - (sx - floor_cast(sx)); - if (xportion > sx2 - sx1) { - xportion = sx2 - sx1; - } -- sx = floorf(sx); -+ sx = floor_cast(sx); - } else if (sx == floorf(sx2)) { -- xportion = sx2 - floorf(sx2); -+ xportion = sx2 - floor_cast(sx2); - } else { -- xportion = 1.0; -+ xportion = 1.0f; - } - pcontribution = xportion * yportion; - p = gdImageGetTrueColorPixel(src, (int) sx + srcX, (int) sy + srcY); -@@ -3508,21 +3512,24 @@ BGD_DECLARE(void) gdImageCopyResampled (gdImagePtr dst, - alpha_sum += alpha_factor; - contrib_sum += pcontribution; - spixels += xportion * yportion; -- sx += 1.0; -+ sx += 1.0f; - } - while (sx < sx2); -+ - sy += 1.0f; - } -+ - while (sy < sy2); - -- if (spixels != 0.0) { -+ if (spixels != 0.0f) { - red /= spixels; - green /= spixels; - blue /= spixels; - alpha /= spixels; -+ alpha += 0.5; - } -- if ( alpha_sum != 0.0) { -- if( contrib_sum != 0.0) { -+ if ( alpha_sum != 0.0f) { -+ if( contrib_sum != 0.0f) { - alpha_sum /= contrib_sum; - } - red /= alpha_sum; -@@ -3530,14 +3537,14 @@ BGD_DECLARE(void) gdImageCopyResampled (gdImagePtr dst, - blue /= alpha_sum; - } - /* Clamping to allow for rounding errors above */ -- if (red > 255.0) { -- red = 255.0; -+ if (red > 255.0f) { -+ red = 255.0f; - } -- if (green > 255.0) { -- green = 255.0; -+ if (green > 255.0f) { -+ green = 255.0f; - } - if (blue > 255.0f) { -- blue = 255.0; -+ blue = 255.0f; - } - if (alpha > gdAlphaMax) { - alpha = gdAlphaMax; diff --git a/graphics/gd/files/patch-gd.h b/graphics/gd/files/patch-gd.h new file mode 100644 index 000000000000..6945b89b7167 --- /dev/null +++ b/graphics/gd/files/patch-gd.h @@ -0,0 +1,14 @@ +--- src/gd.h.orig 2021-09-11 04:52:47 UTC ++++ src/gd.h +@@ -1604,6 +1604,11 @@ BGD_DECLARE(void) gdImageFlipHorizontal(gdImagePtr im) + BGD_DECLARE(void) gdImageFlipVertical(gdImagePtr im); + BGD_DECLARE(void) gdImageFlipBoth(gdImagePtr im); + ++#define GD_FLIP_HORINZONTAL 1 /* typo, kept for BC */ ++#define GD_FLIP_HORIZONTAL 1 ++#define GD_FLIP_VERTICAL 2 ++#define GD_FLIP_BOTH 3 ++ + /** + * Group: Crop + * diff --git a/graphics/gd/files/patch-gd_png.c b/graphics/gd/files/patch-gd_png.c index ac3565d86808..a8d0a71e80cd 100644 --- a/graphics/gd/files/patch-gd_png.c +++ b/graphics/gd/files/patch-gd_png.c @@ -1,6 +1,6 @@ ---- src/gd_png.c.orig 2016-10-12 08:13:44 UTC +--- src/gd_png.c.orig 2021-09-11 04:43:11 UTC +++ src/gd_png.c -@@ -277,6 +277,14 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFro +@@ -276,6 +276,14 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromPngCtx (gdIOC png_read_info (png_ptr, info_ptr); /* read all PNG info up to image data */ png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, NULL, NULL); diff --git a/graphics/gd/files/patch-gdtest.c b/graphics/gd/files/patch-gdtest.c index f2c9a0ff2ced..1d2ed4d70719 100644 --- a/graphics/gd/files/patch-gdtest.c +++ b/graphics/gd/files/patch-gdtest.c @@ -1,6 +1,6 @@ ---- src/gdtest.c.orig 2015-09-16 11:34:29 UTC +--- src/gdtest.c.orig 2021-09-11 04:43:11 UTC +++ src/gdtest.c -@@ -35,6 +35,8 @@ main (int argc, char **argv) +@@ -34,6 +34,8 @@ main (int argc, char **argv) gdSink imgsnk; int foreground; int i; @@ -9,7 +9,7 @@ if (argc != 2) { fprintf(stderr, "Usage: gdtest filename.png\n"); exit (1); -@@ -63,6 +65,35 @@ main (int argc, char **argv) +@@ -62,7 +64,36 @@ main (int argc, char **argv) CompareImages ("Initial Versions", ref, im); @@ -20,7 +20,7 @@ + out = fopen(of, "wb"); + gdImageGif(im, out); + fclose(out); -+ + + in = fopen(of, "rb"); + if (!in) { + fprintf(stderr, "GIF Output file does not exist!\n"); @@ -42,17 +42,18 @@ + + gdImageDestroy(im2); + ctx->gd_free(ctx); - ++ /* */ /* Send to PNG File then Ptr */ -@@ -334,6 +365,10 @@ main (int argc, char **argv) + /* */ +@@ -316,6 +347,10 @@ main (int argc, char **argv) + } printf ("[Merged Image has %d colours]\n", im2->colorsTotal); CompareImages ("Merged (gdtest.png, gdtest_merge.png)", im2, im3); - ++ + out = fopen ("test/gdtest_merge_out.png", "wb"); + gdImagePng(im2, out); + fclose(out); -+ + gdImageDestroy (im2); gdImageDestroy (im3); - diff --git a/graphics/gd/pkg-plist b/graphics/gd/pkg-plist index 33ea9e973102..8da22cc0f5e4 100644 --- a/graphics/gd/pkg-plist +++ b/graphics/gd/pkg-plist @@ -11,11 +11,11 @@ bin/giftogd2 %%PNG%%bin/pngtogd %%PNG%%bin/pngtogd2 %%PNG%%bin/webpng -include/entities.h include/gd.h include/gd_color_map.h include/gd_errors.h include/gd_io.h +include/gd_io_stream.h include/gdcache.h include/gdfontg.h include/gdfontl.h @@ -29,5 +29,5 @@ lib/libgd.a lib/libgd.la lib/libgd.so lib/libgd.so.6 -lib/libgd.so.6.0.9 +lib/libgd.so.6.0.11 libdata/pkgconfig/gdlib.pc