git: 7b6c71778830 - 2025Q1 - graphics/libcaca: Update to 0.99.beta20

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 07 Feb 2025 06:57:30 UTC
The branch 2025Q1 has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7b6c7177883086680fd159989853854eb848a820

commit 7b6c7177883086680fd159989853854eb848a820
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-02-07 06:24:57 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-02-07 06:57:19 +0000

    graphics/libcaca: Update to 0.99.beta20
    
    https://github.com/cacalabs/libcaca/releases/tag/v0.99.beta20
    
    MFH:            2025Q1
    Security:       c10b639c-e51c-11ef-9e76-4ccc6adda413
    (cherry picked from commit 8b43babb49aed88e0c011a3d52f2363f1b0fa107)
---
 graphics/libcaca/Makefile                       | 61 +++++++++++++------------
 graphics/libcaca/distinfo                       |  5 +-
 graphics/libcaca/files/patch-src_common-image.c | 16 +++++++
 graphics/libcaca/pkg-plist                      | 13 +-----
 4 files changed, 54 insertions(+), 41 deletions(-)

diff --git a/graphics/libcaca/Makefile b/graphics/libcaca/Makefile
index b0f45c9db484..41582a985bb7 100644
--- a/graphics/libcaca/Makefile
+++ b/graphics/libcaca/Makefile
@@ -1,17 +1,21 @@
 PORTNAME=	libcaca
-DISTVERSION=	0.99.beta19
-PORTREVISION=	5
+DISTVERSION=	0.99.beta20
 CATEGORIES=	graphics
-MASTER_SITES=	http://caca.zoy.org/raw-attachment/wiki/libcaca/
+MASTER_SITES=	https://github.com/cacalabs/${PORTNAME}/releases/download/v${DISTVERSION}/
 
 MAINTAINER=	multimedia@FreeBSD.org
 COMMENT=	Graphics library that outputs text instead of pixels
-WWW=		http://caca.zoy.org/
+WWW=		http://caca.zoy.org/wiki/libcaca \
+		https://github.com/cacalabs/libcaca
 
-USES=		cpe libtool ncurses pathfix pkgconfig
-GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+LICENSE=	WTFPL
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		cpe libtool localbase ncurses pathfix pkgconfig tar:bz2
+CPE_VENDOR=	libcaca_project
 USE_LDCONFIG=	yes
+
+GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--disable-doc \
 		--enable-ncurses \
 		--disable-java \
@@ -22,41 +26,42 @@ CONFIGURE_ARGS=	--disable-doc \
 		--disable-zzuf
 MAKE_ENV=	V=1
 INSTALL_TARGET=	install-strip
-CPE_VENDOR=	libcaca_project
+TEST_TARGET=	check
 
-DOCS=		AUTHORS COPYING COPYING.GPL COPYING.LGPL ChangeLog NEWS \
-		NOTES README THANKS
+PLIST_SUB=	SOVERSION=${DISTVERSION:S|beta||}
 
-OPTIONS_DEFINE=	X11 IMLIB2 FTGL SLANG DOCS
-OPTIONS_DEFAULT=	X11 IMLIB2
-X11_DESC=	X11 and OpenGL support
-FTGL_DESC=	Freetype font rendering in OpenGL
+PORTDOCS=	AUTHORS NEWS NOTES README THANKS
+
+OPTIONS_DEFINE=		DOCS FTGL IMLIB2 SLANG X11
+OPTIONS_DEFAULT=	IMLIB2 X11
+
+FTGL_DESC=		Freetype font rendering in OpenGL
+X11_DESC=		X11 and OpenGL support
+
+FTGL_IMPLIES=		X11
+FTGL_LIB_DEPENDS=	libftgl.so:graphics/ftgl
 
-X11_USES=	gl xorg
-X11_USE=	XORG=x11 GL=glut
-X11_CONFIGURE_OFF=	--disable-x11 --disable-gl
 IMLIB2_LIB_DEPENDS=	libImlib2.so:graphics/imlib2
-IMLIB2_CONFIGURE_ENABLE=	imlib2
+IMLIB2_CONFIGURE_ENABLE=imlib2
+
 SLANG_LIB_DEPENDS=	libslang.so.2:devel/libslang2
 SLANG_CONFIGURE_ENABLE=	slang=${LOCALBASE}
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MFTGL} && ${PORT_OPTIONS:MX11}
-LIB_DEPENDS+=	libftgl.so:graphics/ftgl
-.endif
+X11_USES=		gl xorg
+X11_USE=		GL=gl,glu,glut XORG=x11
+X11_CONFIGURE_ENABLE=	gl x11
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|-g -O2 ||g ; s| -fomit-frame-pointer||g ; \
-		s|arpa\/inet.h ||g' ${WRKSRC}/configure
-	@${REINPLACE_CMD} -e 's|: install-docDATA|:|g ; s| csharp||g' \
-			${WRKSRC}/Makefile.in
+		s| -fno-strength-reduce||g ; s|arpa\/inet.h ||g' \
+		${WRKSRC}/configure
 
 post-patch-FTGL-off:
-	@${REINPLACE_CMD} -e '/PKG_CONFIG.*ftgl/ s|ftgl|no-&|' ${WRKSRC}/configure
+	@${REINPLACE_CMD} -e '/PKG_CONFIG.*ftgl/ s|ftgl|no-&|' \
+		${WRKSRC}/configure
 
 post-install-DOCS-on:
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-	cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
 
 .include <bsd.port.mk>
diff --git a/graphics/libcaca/distinfo b/graphics/libcaca/distinfo
index 08ce80ac30c8..423b99cbcb87 100644
--- a/graphics/libcaca/distinfo
+++ b/graphics/libcaca/distinfo
@@ -1,2 +1,3 @@
-SHA256 (libcaca-0.99.beta19.tar.gz) = 128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4
-SIZE (libcaca-0.99.beta19.tar.gz) = 1203495
+TIMESTAMP = 1738825012
+SHA256 (libcaca-0.99.beta20.tar.bz2) = ff9aa641af180a59acedc7fc9e663543fb397ff758b5122093158fd628125ac1
+SIZE (libcaca-0.99.beta20.tar.bz2) = 893319
diff --git a/graphics/libcaca/files/patch-src_common-image.c b/graphics/libcaca/files/patch-src_common-image.c
new file mode 100644
index 000000000000..df6ecefdd9f6
--- /dev/null
+++ b/graphics/libcaca/files/patch-src_common-image.c
@@ -0,0 +1,16 @@
+Fix build when the IMLIB2 option is disabled. The _caca_alloc2d symbol
+is not exported.
+
+https://github.com/cacalabs/libcaca/issues/59
+
+--- src/common-image.c.orig	2021-10-19 13:49:20 UTC
++++ src/common-image.c
+@@ -161,7 +161,7 @@ struct image * load_image(char const * name)
+     uint32_t depth = (bpp + 7) / 8;
+ 
+     /* Allocate the pixel buffer */
+-    im->pixels = _caca_alloc2d(im->w, im->h, depth);
++    im->pixels = malloc(im->w * im->h * depth);
+     if (!im->pixels)
+     {
+         caca_file_close(f);
diff --git a/graphics/libcaca/pkg-plist b/graphics/libcaca/pkg-plist
index 3ec180d5c8d9..1db0ba9a1836 100644
--- a/graphics/libcaca/pkg-plist
+++ b/graphics/libcaca/pkg-plist
@@ -14,11 +14,11 @@ include/caca_types.h
 lib/libcaca++.a
 lib/libcaca++.so
 lib/libcaca++.so.0
-lib/libcaca++.so.0.99.19
+lib/libcaca++.so.%%SOVERSION%%
 lib/libcaca.a
 lib/libcaca.so
 lib/libcaca.so.0
-lib/libcaca.so.0.99.19
+lib/libcaca.so.%%SOVERSION%%
 libdata/pkgconfig/caca++.pc
 libdata/pkgconfig/caca.pc
 share/man/man1/caca-config.1.gz
@@ -28,13 +28,4 @@ share/man/man1/cacaplay.1.gz
 share/man/man1/cacaserver.1.gz
 share/man/man1/cacaview.1.gz
 share/man/man1/img2txt.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/COPYING.GPL
-%%PORTDOCS%%%%DOCSDIR%%/COPYING.LGPL
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
-%%PORTDOCS%%%%DOCSDIR%%/NEWS
-%%PORTDOCS%%%%DOCSDIR%%/NOTES
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/THANKS
 %%DATADIR%%/caca.txt