diff options
author | Violet Purcell <vimproved@inventati.org> | 2023-06-27 20:14:54 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-07-26 04:00:05 +0100 |
commit | 53868bd0433bed2dc3832b97090d5c9a1c671df6 (patch) | |
tree | 2e2d9747b25c71435efbc646b58be394f339d3bd /dev-libs/stfl | |
parent | media-gfx/hydrus: Drop 528 (diff) | |
download | gentoo-53868bd0433bed2dc3832b97090d5c9a1c671df6.tar.gz gentoo-53868bd0433bed2dc3832b97090d5c9a1c671df6.tar.bz2 gentoo-53868bd0433bed2dc3832b97090d5c9a1c671df6.zip |
dev-libs/stfl: Use correct flags from pkg-config for ncurses widechar
Closes: https://bugs.gentoo.org/895064
Signed-off-by: Violet Purcell <vimproved@inventati.org>
Closes: https://github.com/gentoo/gentoo/pull/31648
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/stfl')
-rw-r--r-- | dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch | 26 | ||||
-rw-r--r-- | dev-libs/stfl/stfl-0.24-r5.ebuild | 129 |
2 files changed, 155 insertions, 0 deletions
diff --git a/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch new file mode 100644 index 000000000000..c1690ce67fe4 --- /dev/null +++ b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch @@ -0,0 +1,26 @@ +ncurses widechar functions are only available if the correct macros are +defined. Use CFLAGS and LDFLAGS from pkgconfig to ensure that widechar +functions are available. + +From 9b71952bfb29e036b13c16d621febff76e84e3e4 Mon Sep 17 00:00:00 2001 +From: Violet Purcell <vimproved@inventati.org> +Date: Tue, 11 Jul 2023 15:45:05 -0400 +Subject: [PATCH] Use pkg-config for correct ncursesw CFLAGS and LDFLAGS + +--- a/Makefile ++++ b/Makefile +@@ -21,8 +21,9 @@ + include Makefile.cfg + + export CC = gcc -pthread +-export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC +-export LDLIBS += -lncursesw ++export PKG_CONFIG ?= pkg-config ++export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC $(shell ${PKG_CONFIG} --cflags ncursesw) ++export LDLIBS += $(shell ${PKG_CONFIG} --libs ncursesw) + + SONAME := libstfl.so.0 + VERSION := 0.24 +-- +2.41.0 + diff --git a/dev-libs/stfl/stfl-0.24-r5.ebuild b/dev-libs/stfl/stfl-0.24-r5.ebuild new file mode 100644 index 000000000000..546f1446cd20 --- /dev/null +++ b/dev-libs/stfl/stfl-0.24-r5.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{10..11} ) +GENTOO_DEPEND_ON_PERL=no +inherit perl-module python-r1 toolchain-funcs + +DESCRIPTION="A library which implements a curses-based widget set for text terminals" +HOMEPAGE="http://www.clifford.at/stfl/" +SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +IUSE="examples perl python ruby static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + sys-libs/ncurses:=[unicode(+)] + perl? ( dev-lang/perl:= ) + ruby? ( dev-lang/ruby:* ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND} + perl? ( dev-lang/swig ) + python? ( >=dev-lang/swig-1.3.40 ) + ruby? ( dev-lang/swig ) +" +BDEPEND="virtual/pkgconfig" +RESTRICT="test" # Upstream does not provide tests #730112 + +PATCHES=( + "${FILESDIR}/${PN}-0.21-python.patch" + "${FILESDIR}/${PN}-0.22-soname-symlink.patch" + "${FILESDIR}/${PN}-0.22-ruby-sharedlib.patch" + "${FILESDIR}/${PN}-0.22-pc-libdir.patch" + "${FILESDIR}/${PN}-0.24-ncurses-widechar.patch" +) + +src_prepare() { + default_src_prepare + + sed -i \ + -e 's/-Os -ggdb//' \ + -e 's/^\(all:.*\) example/\1/' \ + -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \ + -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \ + -e 's/-lncursesw/-lncursesw -pthread/' \ + -e 's/\<ar\>/$(AR)/' \ + -e 's/\<ranlib\>/$(RANLIB)/' \ + Makefile || die "sed failed" + + if ! use static-libs ; then + sed -i -e "/install .* libstfl.a/d" Makefile || die + fi + + if use perl ; then + echo "FOUND_PERL5=1" >> Makefile.cfg + else + echo "FOUND_PERL5=0" >> Makefile.cfg + fi + + if use ruby ; then + echo "FOUND_RUBY=1" >> Makefile.cfg + else + echo "FOUND_RUBY=0" >> Makefile.cfg + fi + + echo "FOUND_PYTHON=0" >> Makefile.cfg +} + +src_configure() { :; } + +src_compile() { + emake CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" PKG_CONFIG="$(tc-getPKG_CONFIG)" + + if use python ; then + local BUILD_DIR="${S}/python" + python_copy_sources + + # Based on code from python/Makefile.snippet. + building() { + pushd "${BUILD_DIR}" &>/dev/null || die + echo swig -python -threads stfl.i + swig -python -threads stfl.i || die + echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so + "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so || die + popd &>/dev/null || die + } + python_foreach_impl building + fi +} + +src_install() { + emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install + + if use python ; then + local BUILD_DIR="${S}/python" + + installation() { + pushd "${BUILD_DIR}" &>/dev/null || die + python_domodule stfl.py _stfl.so + popd &>/dev/null || die + } + python_foreach_impl installation + fi + + dodoc README + + local exdir="/usr/share/doc/${PF}/examples" + if use examples ; then + insinto ${exdir} + doins example.{c,stfl} + insinto ${exdir}/python + doins python/example.py + if use perl ; then + insinto ${exdir}/perl + doins perl5/example.pl + fi + if use ruby ; then + insinto ${exdir}/ruby + doins ruby/example.rb + fi + fi + + perl_delete_localpod +} |