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 +}
