git: 77d937d3ef44 - main - graphics/giflib: Update to 6.1.3

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Fri, 24 Jul 2026 18:50:10 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=77d937d3ef44e8bf02c334761025f334c9a85cee

commit 77d937d3ef44e8bf02c334761025f334c9a85cee
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-07-22 14:26:51 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-07-24 18:49:38 +0000

    graphics/giflib: Update to 6.1.3
    
    PR:             296876
---
 graphics/giflib/Makefile                   |  18 +--
 graphics/giflib/distinfo                   |   6 +-
 graphics/giflib/files/patch-CVE-2026-26740 |  31 ++++
 graphics/giflib/files/patch-Makefile       |  33 -----
 graphics/giflib/files/patch-issue203       |  21 +++
 graphics/giflib/files/patch-overflows      | 225 +++++++++++++++++++++++++++++
 graphics/giflib/files/patch-tests_makefile |  11 +-
 graphics/giflib/pkg-plist                  |  21 ++-
 8 files changed, 313 insertions(+), 53 deletions(-)

diff --git a/graphics/giflib/Makefile b/graphics/giflib/Makefile
index 0e46ed90404c..586413ebb248 100644
--- a/graphics/giflib/Makefile
+++ b/graphics/giflib/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	giflib
-PORTVERSION=	5.2.2
+PORTVERSION=	6.1.3
 CATEGORIES=	graphics
-MASTER_SITES=	SF/${PORTNAME}
+MASTER_SITES=	SF/${PORTNAME}/giflib-6.x
 
 MAINTAINER=	desktop@FreeBSD.org
 COMMENT=	Tools and library routines for working with GIF images
@@ -28,17 +28,17 @@ CONFLICTS_INSTALL=	giftool
 
 OPTIONS_DEFINE=	DOCS
 
-do-install-DOCS-on:
-	${MKDIR} ${STAGEDIR}${DOCSDIR}
-	cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
-		"! ( -name Makefile -o -name *\.[17] -o -name *\.xml )"
-	${MV} ${STAGEDIR}${DOCSDIR}/index.html.in ${STAGEDIR}${DOCSDIR}/index.html
-
-pre-build:
+post-extract:
 	${CP} ${FILESDIR}/giflib-logo.gif ${WRKSRC}/doc
 
 post-install:
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
 	${STRIP_CMD} --strip-unneeded ${STAGEDIR}${PREFIX}/lib/libgif.so.7.2.0
 
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+		"! ( -name Makefile -o -name *\.[17] -o -name *\.xml )"
+	${MV} ${STAGEDIR}${DOCSDIR}/index.html.in ${STAGEDIR}${DOCSDIR}/index.html
+
 .include <bsd.port.mk>
diff --git a/graphics/giflib/distinfo b/graphics/giflib/distinfo
index 6cefa7643dcb..833ff3d86532 100644
--- a/graphics/giflib/distinfo
+++ b/graphics/giflib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714225271
-SHA256 (giflib-5.2.2.tar.gz) = be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb
-SIZE (giflib-5.2.2.tar.gz) = 447175
+TIMESTAMP = 1784658362
+SHA256 (giflib-6.1.3.tar.gz) = b65b66b99f0424b93525f987386f22fc5efb9da2bfc92ad4a532249aaffbab0e
+SIZE (giflib-6.1.3.tar.gz) = 470579
diff --git a/graphics/giflib/files/patch-CVE-2026-26740 b/graphics/giflib/files/patch-CVE-2026-26740
new file mode 100644
index 000000000000..08a6d9e241f8
--- /dev/null
+++ b/graphics/giflib/files/patch-CVE-2026-26740
@@ -0,0 +1,31 @@
+commit 061605081115bbfd7019bafc119a13b6f17fcf25
+Author: Anthony Hurtado <amhurtado@protonmail.com>
+Date:   Mon Jun 1 15:40:48 2026 -0500
+
+    Fix CVE-2026-26740: heap OOB write in EGifGCBToSavedExtension
+    
+    EGifGCBToSavedExtension calls EGifGCBToExtension which unconditionally
+    writes 4 bytes into ep->Bytes without checking ep->ByteCount.  If the
+    extension block was allocated with fewer than 4 bytes, this results in
+    a heap buffer overflow.
+    
+    The read-side counterpart DGifExtensionToGCB already validates that
+    GifExtensionLength == 4 before reading.  Add the symmetric check on
+    the write side: return GIF_ERROR when ep->ByteCount < 4.
+    
+    Signed-off-by: Anthony Hurtado <amhurtado@pm.me>
+
+diff --git egif_lib.c egif_lib.c
+index f1141a2..d74e8df 100644
+--- egif_lib.c
++++ egif_lib.c
+@@ -690,6 +690,9 @@ int EGifGCBToSavedExtension(const GraphicsControlBlock *GCB,
+ 		ExtensionBlock *ep =
+ 		    &GifFile->SavedImages[ImageIndex].ExtensionBlocks[i];
+ 		if (ep->Function == GRAPHICS_EXT_FUNC_CODE) {
++			if (ep->ByteCount < 4) {
++				return GIF_ERROR;
++			}
+ 			EGifGCBToExtension(GCB, ep->Bytes);
+ 			return GIF_OK;
+ 		}
diff --git a/graphics/giflib/files/patch-Makefile b/graphics/giflib/files/patch-Makefile
deleted file mode 100644
index 4fc7a7f5c3df..000000000000
--- a/graphics/giflib/files/patch-Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
---- Makefile.orig	2024-02-19 01:01:50 UTC
-+++ Makefile
-@@ -64,13 +64,14 @@ MANUAL_PAGES = \
- LDLIBS=libgif.a -lm
- 
- MANUAL_PAGES = \
--	doc/gif2rgb.xml \
--	doc/gifbuild.xml \
--	doc/gifclrmp.xml \
--	doc/giffix.xml \
--	doc/giflib.xml \
--	doc/giftext.xml \
--	doc/giftool.xml
-+	doc/gif2rgb.1 \
-+	doc/gifbuild.1 \
-+	doc/gifclrmp.1 \
-+	doc/giffix.1 \
-+	doc/giftext.1 \
-+	doc/giftool.1
-+MAN7_PAGES= \
-+	doc/giflib.7
- 
- SOEXTENSION	= so
- LIBGIFSO	= libgif.$(SOEXTENSION)
-@@ -150,6 +151,8 @@ install-man:
- install-man:
- 	$(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1"
- 	$(INSTALL) -m 644 $(MANUAL_PAGES) "$(DESTDIR)$(MANDIR)/man1"
-+	$(INSTALL) -d "$(DESTDIR)$(MANDIR)/man7"
-+	$(INSTALL) -m 644 $(MAN7_PAGES) "$(DESTDIR)$(MANDIR)/man7"
- uninstall: uninstall-man uninstall-include uninstall-lib uninstall-bin
- uninstall-bin:
- 	cd "$(DESTDIR)$(BINDIR)" && rm -f $(INSTALLABLE)
diff --git a/graphics/giflib/files/patch-issue203 b/graphics/giflib/files/patch-issue203
new file mode 100644
index 000000000000..bbd8f72eabd1
--- /dev/null
+++ b/graphics/giflib/files/patch-issue203
@@ -0,0 +1,21 @@
+commit 8abe475b7dde75961ea46b9cb69aa7d658d002f3
+Author: Eric S. Raymond <esr@thyrsus.com>
+Date:   Wed Jun 10 17:00:29 2026 -0400
+
+    Resolve ticket #203: GifUnionColorMap NULL Pointer Dereference
+
+diff --git gifalloc.c gifalloc.c
+index 886907d..e36684b 100644
+--- gifalloc.c
++++ gifalloc.c
+@@ -114,6 +114,10 @@ ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1,
+ 	int i, j, CrntSlot, RoundUpTo, NewGifBitSize;
+ 	ColorMapObject *ColorUnion;
+ 
++	if (ColorIn1 == NULL || ColorIn2 == NULL) {
++		return (NULL);
++	}
++
+ 	/*
+ 	 * We don't worry about duplicates within either color map; if
+ 	 * the caller wants to resolve those, he can perform unions
diff --git a/graphics/giflib/files/patch-overflows b/graphics/giflib/files/patch-overflows
new file mode 100644
index 000000000000..7d7b935fe99b
--- /dev/null
+++ b/graphics/giflib/files/patch-overflows
@@ -0,0 +1,225 @@
+commit 4a731eacbb1861e866e84024aba201f1cbf0f22f
+Author: Anthony Hurtado <amhurtado@protonmail.com>
+Date:   Mon Jun 1 15:41:11 2026 -0500
+
+    Fix integer overflow and type safety issues across giflib
+    
+    Multiple integer overflow vulnerabilities exist in giflib's pixel count
+    and dimension arithmetic.  On 32-bit platforms where long and int are
+    32 bits, these overflow to negative values or wrap around, causing
+    heap buffer overflows, incorrect loop bounds, and undefined behavior.
+    
+    dgif_lib.c:
+    - PixelCount: cast to (unsigned long) instead of signed (long) to
+      prevent signed overflow UB on 32-bit platforms.
+    - LZW CodeSize: reject BitsPerPixel < 2 (CodeSize 0 and 1 create
+      degenerate LZW states where ClearCode/EOFCode are unreachable).
+    
+    egif_lib.c:
+    - PixelCount: same (unsigned long) fix as dgif_lib.c.
+    - EGifSpew: cast j to (size_t) in pointer arithmetic j * SavedWidth
+      to prevent int*int overflow in raster offset computation.
+    
+    gifalloc.c:
+    - GifApplyTranslation: use size_t for RasterSize and loop counter
+      instead of int to prevent Height*Width overflow.
+    - GifMakeSavedImage: cast Height to (size_t) in reallocarray nmemb
+      and memcpy size to prevent int*int overflow before reaching
+      reallocarray's internal overflow check.
+    
+    quantize.c:
+    - Compute PixelCount as (size_t)Width * Height with division-based
+      overflow guard.  Use size_t loop counter for pixel iteration.
+    - Replace signed (long) cast of pixel count with (unsigned long).
+    
+    All 51 regression tests pass.  Compiles with zero warnings under
+    -Wall -O2.
+    
+    Signed-off-by: Anthony Hurtado <amhurtado@pm.me>
+
+diff --git dgif_lib.c dgif_lib.c
+index cec94c1..a022bb6 100644
+--- dgif_lib.c
++++ dgif_lib.c
+@@ -416,7 +416,8 @@ int DGifGetImageHeader(GifFileType *GifFile) {
+ 	}
+ 
+ 	Private->PixelCount =
+-	    (long)GifFile->Image.Width * (long)GifFile->Image.Height;
++	    (unsigned long)GifFile->Image.Width *
++	    (unsigned long)GifFile->Image.Height;
+ 
+ 	/* Reset decompress algorithm parameters. */
+ 	return DGifSetupDecompress(GifFile);
+@@ -824,7 +825,7 @@ static int DGifSetupDecompress(GifFileType *GifFile) {
+ 	BitsPerPixel = CodeSize;
+ 
+ 	/* this can only happen on a severely malformed GIF */
+-	if (BitsPerPixel > 8) {
++	if (BitsPerPixel < 2 || BitsPerPixel > 8) {
+ 		GifFile->Error =
+ 		    D_GIF_ERR_READ_FAILED; /* somewhat bogus error code */
+ 		return GIF_ERROR;          /* Failed to read Code size. */
+diff --git egif_lib.c egif_lib.c
+index d74e8df..6f7c9b6 100644
+--- egif_lib.c
++++ egif_lib.c
+@@ -448,7 +448,8 @@ int EGifPutImageDesc(GifFileType *GifFile, const int Left, const int Top,
+ 
+ 	/* Mark this file as has screen descriptor: */
+ 	Private->FileState |= FILE_STATE_IMAGE;
+-	Private->PixelCount = (long)Width * (long)Height;
++	Private->PixelCount =
++	    (unsigned long)Width * (unsigned long)Height;
+ 
+ 	/* Reset compress algorithm parameters. */
+ 	(void)EGifSetupCompress(GifFile);
+@@ -1154,7 +1155,7 @@ int EGifSpew(GifFileType *GifFileOut, int *ErrorCode) {
+ 				     j += InterlacedJumps[k]) {
+ 					if (EGifPutLine(
+ 					        GifFileOut,
+-					        sp->RasterBits + j * SavedWidth,
++					        sp->RasterBits + (size_t)j * SavedWidth,
+ 					        SavedWidth) == GIF_ERROR) {
+ 						status = GIF_ERROR;
+ 						err = GifFileOut->Error;
+@@ -1165,7 +1166,7 @@ int EGifSpew(GifFileType *GifFileOut, int *ErrorCode) {
+ 		} else {
+ 			for (j = 0; j < SavedHeight; j++) {
+ 				if (EGifPutLine(GifFileOut,
+-				                sp->RasterBits + j * SavedWidth,
++				                sp->RasterBits + (size_t)j * SavedWidth,
+ 				                SavedWidth) == GIF_ERROR) {
+ 					status = GIF_ERROR;
+ 					err = GifFileOut->Error;
+diff --git gifalloc.c gifalloc.c
+index 3d897ab..886907d 100644
+--- gifalloc.c
++++ gifalloc.c
+@@ -210,9 +210,9 @@ ColorMapObject *GifUnionColorMap(const ColorMapObject *ColorIn1,
+  Apply a given color translation to the raster bits of an image
+ *******************************************************************************/
+ void GifApplyTranslation(SavedImage *Image, const GifPixelType Translation[]) {
+-	register int i;
+-	register int RasterSize =
+-	    Image->ImageDesc.Height * Image->ImageDesc.Width;
++	size_t i;
++	size_t RasterSize =
++	    (size_t)Image->ImageDesc.Height * Image->ImageDesc.Width;
+ 
+ 	for (i = 0; i < RasterSize; i++) {
+ 		Image->RasterBits[i] = Translation[Image->RasterBits[i]];
+@@ -371,17 +371,17 @@ SavedImage *GifMakeSavedImage(GifFileType *GifFile,
+ 			/* next, the raster */
+ 			sp->RasterBits = (unsigned char *)reallocarray(
+ 			    NULL,
+-			    (CopyFrom->ImageDesc.Height *
+-			     CopyFrom->ImageDesc.Width),
++			    (size_t)CopyFrom->ImageDesc.Height *
++			        CopyFrom->ImageDesc.Width,
+ 			    sizeof(GifPixelType));
+ 			if (sp->RasterBits == NULL) {
+ 				FreeLastSavedImage(GifFile);
+ 				return (SavedImage *)(NULL);
+ 			}
+ 			memcpy(sp->RasterBits, CopyFrom->RasterBits,
+-			       sizeof(GifPixelType) *
+-			           CopyFrom->ImageDesc.Height *
+-			           CopyFrom->ImageDesc.Width);
++			       (size_t)CopyFrom->ImageDesc.Height *
++			           CopyFrom->ImageDesc.Width *
++			           sizeof(GifPixelType));
+ 
+ 			/* finally, the extension blocks */
+ 			if (CopyFrom->ExtensionBlocks != NULL) {
+diff --git quantize.c quantize.c
+index 160a29b..4ea44ce 100644
+--- quantize.c
++++ quantize.c
+@@ -71,6 +71,7 @@ int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ 	long Red, Green, Blue;
+ 	NewColorMapType NewColorSubdiv[256];
+ 	QuantizedColorType *ColorArrayEntries, *QuantizedColor;
++	size_t k, PixelCount;
+ 
+ 	ColorArrayEntries = (QuantizedColorType *)malloc(
+ 	    sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE);
+@@ -78,6 +79,12 @@ int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ 		return GIF_ERROR;
+ 	}
+ 
++	PixelCount = (size_t)Width * Height;
++	if (Width != 0 && PixelCount / Width != Height) {
++		free((char *)ColorArrayEntries);
++		return GIF_ERROR;
++	}
++
+ 	for (i = 0; i < COLOR_ARRAY_SIZE; i++) {
+ 		ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR);
+ 		ColorArrayEntries[i].RGB[1] =
+@@ -87,12 +94,12 @@ int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ 	}
+ 
+ 	/* Sample the colors and their distribution: */
+-	for (i = 0; i < (int)(Width * Height); i++) {
+-		Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR))
++	for (k = 0; k < PixelCount; k++) {
++		Index = ((RedInput[k] >> (8 - BITS_PER_PRIM_COLOR))
+ 		         << (2 * BITS_PER_PRIM_COLOR)) +
+-		        ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR))
++		        ((GreenInput[k] >> (8 - BITS_PER_PRIM_COLOR))
+ 		         << BITS_PER_PRIM_COLOR) +
+-		        (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR));
++		        (BlueInput[k] >> (8 - BITS_PER_PRIM_COLOR));
+ 		ColorArrayEntries[Index].Count++;
+ 	}
+ 
+@@ -127,7 +134,7 @@ int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ 
+ 	NewColorSubdiv[0].NumEntries =
+ 	    NumOfEntries; /* Different sampled colors */
+-	NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */
++	NewColorSubdiv[0].Count = (unsigned long)PixelCount; /* Pixels */
+ 	NewColorMapSize = 1;
+ 	if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) !=
+ 	    GIF_OK) {
+@@ -167,28 +174,28 @@ int GifQuantizeBuffer(unsigned int Width, unsigned int Height,
+ 	/* Finally scan the input buffer again and put the mapped index in the
+ 	 * output buffer.  */
+ 	MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0;
+-	for (i = 0; i < (int)(Width * Height); i++) {
+-		Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR))
++	for (k = 0; k < PixelCount; k++) {
++		Index = ((RedInput[k] >> (8 - BITS_PER_PRIM_COLOR))
+ 		         << (2 * BITS_PER_PRIM_COLOR)) +
+-		        ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR))
++		        ((GreenInput[k] >> (8 - BITS_PER_PRIM_COLOR))
+ 		         << BITS_PER_PRIM_COLOR) +
+-		        (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR));
++		        (BlueInput[k] >> (8 - BITS_PER_PRIM_COLOR));
+ 		Index = ColorArrayEntries[Index].NewColorIndex;
+-		OutputBuffer[i] = Index;
++		OutputBuffer[k] = Index;
+ 		if (MaxRGBError[0] <
+-		    ABS(OutputColorMap[Index].Red - RedInput[i])) {
++		    ABS(OutputColorMap[Index].Red - RedInput[k])) {
+ 			MaxRGBError[0] =
+-			    ABS(OutputColorMap[Index].Red - RedInput[i]);
++			    ABS(OutputColorMap[Index].Red - RedInput[k]);
+ 		}
+ 		if (MaxRGBError[1] <
+-		    ABS(OutputColorMap[Index].Green - GreenInput[i])) {
++		    ABS(OutputColorMap[Index].Green - GreenInput[k])) {
+ 			MaxRGBError[1] =
+-			    ABS(OutputColorMap[Index].Green - GreenInput[i]);
++			    ABS(OutputColorMap[Index].Green - GreenInput[k]);
+ 		}
+ 		if (MaxRGBError[2] <
+-		    ABS(OutputColorMap[Index].Blue - BlueInput[i])) {
++		    ABS(OutputColorMap[Index].Blue - BlueInput[k])) {
+ 			MaxRGBError[2] =
+-			    ABS(OutputColorMap[Index].Blue - BlueInput[i]);
++			    ABS(OutputColorMap[Index].Blue - BlueInput[k]);
+ 		}
+ 	}
+ 
diff --git a/graphics/giflib/files/patch-tests_makefile b/graphics/giflib/files/patch-tests_makefile
index dbabec4d495a..77a41e082f31 100644
--- a/graphics/giflib/files/patch-tests_makefile
+++ b/graphics/giflib/files/patch-tests_makefile
@@ -1,15 +1,14 @@
---- tests/makefile.orig	2019-03-28 17:05:25 UTC
+--- tests/makefile.orig	2026-04-12 17:17:27 UTC
 +++ tests/makefile
-@@ -104,10 +106,10 @@ giffilter-regress:
+@@ -106,9 +106,9 @@ giffix-rebuild:
  
  giffix-rebuild:
  	@echo "Rebuilding giffix test."
 -	@head --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d >giffixed.ico
 +	@ghead --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d >giffixed.ico
  giffix-regress:
- 	@echo "giffix: Testing giffix behavior"
--	@head --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | diff -u giffixed.ico -
-+	@ghead --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | diff -u giffixed.ico -
+-	@head --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | ./tapdiffer "giffix: Testing giffix behavior" giffixed.ico
++	@ghead --bytes=-20 <$(PICS)/treescap.gif | $(UTILS)/giffix 2>/dev/null | $(UTILS)/gifbuild -d | ./tapdiffer "giffix: Testing giffix behavior" giffixed.ico
  
  gifinto-regress:
- 	@echo "gifinto: Checking behavior on short files."
+ 	@rm -f $@.giflib.tmp
diff --git a/graphics/giflib/pkg-plist b/graphics/giflib/pkg-plist
index d36ad8b139db..a8b86b6d861c 100644
--- a/graphics/giflib/pkg-plist
+++ b/graphics/giflib/pkg-plist
@@ -1,4 +1,3 @@
-bin/gif2rgb
 bin/gifbuild
 bin/gifclrmp
 bin/giffix
@@ -37,6 +36,25 @@ lib/libgif.so.7.2.0
 %%PORTDOCS%%%%DOCSDIR%%/giftext.html
 %%PORTDOCS%%%%DOCSDIR%%/giftool.html
 %%PORTDOCS%%%%DOCSDIR%%/gifwedge.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gif2rgb.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gif_lib.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifbg.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifbuild.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifclrmp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifcolor.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifecho.html
+%%PORTDOCS%%%%DOCSDIR%%/html/giffilter.html
+%%PORTDOCS%%%%DOCSDIR%%/html/giffix.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifhisto.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifinto.html
+%%PORTDOCS%%%%DOCSDIR%%/html/giflib-logo.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/giflib.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifsponge.html
+%%PORTDOCS%%%%DOCSDIR%%/html/giftext.html
+%%PORTDOCS%%%%DOCSDIR%%/html/giftool.html
+%%PORTDOCS%%%%DOCSDIR%%/html/gifwedge.html
+%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/intro.html
 %%PORTDOCS%%%%DOCSDIR%%/index.html
 %%PORTDOCS%%%%DOCSDIR%%/intro.html
 %%PORTDOCS%%%%DOCSDIR%%/whatsinagif/animation_and_transparency.html
@@ -67,7 +85,6 @@ lib/libgif.so.7.2.0
 %%PORTDOCS%%%%DOCSDIR%%/whatsinagif/sample_2_green_yellow_diff.gif
 %%PORTDOCS%%%%DOCSDIR%%/whatsinagif/sample_2_yellow_large.gif
 %%PORTDOCS%%%%DOCSDIR%%/whatsinagif/trailer_block.gif
-share/man/man1/gif2rgb.1.gz
 share/man/man1/gifbuild.1.gz
 share/man/man1/gifclrmp.1.gz
 share/man/man1/giffix.1.gz