commit:     c24f16c88386dcf87e8485ab8df30f4084b92ab7
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 20 17:00:26 2025 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Mon Oct 20 17:04:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c24f16c8

media-libs/libcaca: 0.99_beta20

Closes: https://bugs.gentoo.org/891789
Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>

 media-libs/libcaca/Manifest                        |   1 +
 .../files/libcaca-0.99_beta20-linking.patch        |  54 +++++++++
 media-libs/libcaca/libcaca-0.99_beta20.ebuild      | 126 +++++++++++++++++++++
 3 files changed, 181 insertions(+)

diff --git a/media-libs/libcaca/Manifest b/media-libs/libcaca/Manifest
index efdb5d155381..17f29ebf5f8a 100644
--- a/media-libs/libcaca/Manifest
+++ b/media-libs/libcaca/Manifest
@@ -1 +1,2 @@
 DIST libcaca-0.99.beta19.tar.gz 1203495 BLAKE2B 
65462090fc503d640d91753ff21b55ad1bac360fb6e5aae8f46d8162e62f8834f791a1db6e2045a63deaa7c409c3455b484750294cfb01e1027f0ca8dc2f2798
 SHA512 
780fc7684d40207cc10df3f87d6d8f1d47ddfffa0e76e41a5ce671b82d5c7f090facb054c3d49ca7c4ea1a619625bb9085ce52f837f50792b4a2d776a4c68e15
+DIST libcaca-0.99.beta20.tar.bz2 893319 BLAKE2B 
873669c8ec3f6f4b135c664e146cb7d0fc540fb54ded28ff4cd9fe7b9aece9b9e52e3fd1f49999e4f9f051d1c7027a1661440d1c1f4cd7dcdc70456cba81f862
 SHA512 
8cfb84351f9022c62b655822a9558fbe187260fc18ad89ccf99863c499759fba497388066d066fa529f29d6f808be02a6948849ee19617617ade59b3f5c410eb

diff --git a/media-libs/libcaca/files/libcaca-0.99_beta20-linking.patch 
b/media-libs/libcaca/files/libcaca-0.99_beta20-linking.patch
new file mode 100644
index 000000000000..3bc8b7e22a3c
--- /dev/null
+++ b/media-libs/libcaca/files/libcaca-0.99_beta20-linking.patch
@@ -0,0 +1,54 @@
+From 90c94d8b83979f832ca7c67ee125ad5f3e3f631d Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <[email protected]>
+Date: Mon, 20 Oct 2025 18:48:59 +0200
+Subject: [PATCH] Workaround linking issues with function _caca_alloc2d
+
+---
+ caca/caca.c           | 3 +--
+ caca/caca.h           | 1 +
+ caca/caca_internals.h | 3 ---
+ 3 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/caca/caca.c b/caca/caca.c
+index 327a8f9..d78f50d 100644
+--- a/caca/caca.c
++++ b/caca/caca.c
+@@ -283,8 +283,7 @@ char const * caca_get_version(void)
+ /*
+  * XXX: The following functions are private.
+  */
+-
+-extern void *_caca_alloc2d(size_t width, size_t height, size_t elem_size)
++void *_caca_alloc2d(size_t width, size_t height, size_t elem_size)
+ {
+     if (width == 0 || height == 0 || elem_size == 0 || SIZE_MAX / width / 
height < elem_size)
+         return NULL;
+diff --git a/caca/caca.h b/caca/caca.h
+index 9f79be2..339f71d 100644
+--- a/caca/caca.h
++++ b/caca/caca.h
+@@ -241,6 +241,7 @@ __extern uint32_t const * 
caca_get_canvas_attrs(caca_canvas_t const *);
+ __extern int caca_free_canvas(caca_canvas_t *);
+ __extern int caca_rand(int, int);
+ __extern char const * caca_get_version(void);
++__extern void *_caca_alloc2d(size_t width, size_t height, size_t elem_size);
+ /*  @} */
+ 
+ /** \defgroup caca_canvas libcaca canvas drawing
+diff --git a/caca/caca_internals.h b/caca/caca_internals.h
+index b2cedba..494dab4 100644
+--- a/caca/caca_internals.h
++++ b/caca/caca_internals.h
+@@ -259,9 +259,6 @@ extern int _pop_event(caca_display_t *, caca_privevent_t 
*);
+ /* Internal window functions */
+ extern void _caca_set_term_title(char const *);
+ 
+-/* Internal memory function */
+-extern void *_caca_alloc2d(size_t width, size_t height, size_t elem_size);
+-
+ /* Profiling functions */
+ #if defined PROF
+ extern void _caca_dump_stats(void);
+-- 
+2.51.0
+

diff --git a/media-libs/libcaca/libcaca-0.99_beta20.ebuild 
b/media-libs/libcaca/libcaca-0.99_beta20.ebuild
new file mode 100644
index 000000000000..ea533c1c43a8
--- /dev/null
+++ b/media-libs/libcaca/libcaca-0.99_beta20.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs multilib-minimal
+
+MY_PV=${PV/_beta/.beta}
+MY_P=${PN}-${MY_PV}
+DESCRIPTION="A library that creates colored ASCII-art graphics"
+HOMEPAGE="http://libcaca.zoy.org/";
+SRC_URI="https://github.com/cacalabs/libcaca/releases/download/v${MY_PV}/${MY_P}.tar.bz2";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2 ISC LGPL-2.1 WTFPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="doc imlib ncurses opengl slang static-libs test truetype X"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       imlib? ( >=media-libs/imlib2-1.4.6-r2[${MULTILIB_USEDEP}] )
+       ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+       opengl? (
+               >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
+               >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
+               >=media-libs/freeglut-2.8.1[${MULTILIB_USEDEP}]
+               truetype? ( >=media-libs/ftgl-2.1.3_rc5 )
+       )
+       slang? ( >=sys-libs/slang-2.2.4-r1 )
+       X? (
+               >=x11-libs/libX11-1.6.2
+               >=x11-libs/libXt-1.1.4
+       )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+       doc? (
+               app-text/doxygen
+               virtual/latex-base
+               >=dev-texlive/texlive-fontsrecommended-2012
+               >=dev-texlive/texlive-latexextra-2012
+               dev-texlive/texlive-latexrecommended
+       )
+       test? ( dev-util/cppunit )
+"
+
+DOCS=( AUTHORS NEWS NOTES README THANKS )
+
+PATCHES=(
+       "${FILESDIR}/fix-css-path.patch"  # bug 543870
+       "${FILESDIR}/configure-lto.patch"  # upstream PR 76
+       "${FILESDIR}/${P}-linking.patch"  # upstream PR 70 related
+)
+
+src_prepare() {
+       # bug #339962
+       sed -i -e '/doxygen_tests = check-doxygen/d' caca/t/Makefile.am || die
+
+       sed -i \
+               -e 's:-g -O2 -fno-strength-reduce -fomit-frame-pointer::' \
+               -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+               configure.ac || die
+
+       if ! use truetype; then
+               sed -i -e '/PKG_CHECK_MODULES/s:ftgl:dIsAbLe&:' configure.ac || 
die
+       fi
+
+       if use imlib && ! use X; then
+               append-cflags -DX_DISPLAY_MISSING
+       fi
+
+       # bug #653400
+       append-cxxflags -std=c++11
+
+       # bug #601902, bug #825058
+       use ncurses && append-libs $($(tc-getPKG_CONFIG) --libs tinfow || die)
+
+       # fix docs install path, bug 543870#c14
+       sed -i "s/libcaca-dev/${PF}/g" doc/Makefile.am || die
+
+       default
+       eautoreconf
+}
+
+multilib_src_configure() {
+       if multilib_is_native_abi; then
+               # bug #44128
+               export VARTEXFONTS="${T}/fonts"
+       fi
+
+       local myeconfargs=(
+               $(use_enable static-libs static)
+               $(multilib_native_use_enable slang)
+               $(multilib_native_use_enable ncurses)
+               $(multilib_native_use_enable X x11)
+               $(multilib_native_use_with X x)
+               --x-libraries=/usr/$(get_libdir)
+               $(use_enable opengl gl)
+               --enable-cxx
+               $(use_enable imlib imlib2)
+               $(use_enable test cppunit)
+               --disable-java
+               --disable-ruby
+               --disable-python
+               --disable-csharp
+               $(multilib_native_use_enable doc)
+       )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+       emake V=1
+}
+
+multilib_src_test() {
+       emake V=1 -j1 check
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to