This commit is contained in:
Mario Fetka
2023-04-06 11:47:15 +02:00
parent 011cd6e696
commit 1f44a2d3b4
96 changed files with 3912 additions and 51 deletions

7
dev-libs/stfl/Manifest Normal file
View File

@@ -0,0 +1,7 @@
AUX stfl-0.21-python.patch 1936 BLAKE2B fc0a8f02eaa30b900652304e34f383a6587769f4ac803f2ba9420197ef492430a88a6a6ec4863163cd948c9fd8c027b50a944796ea1c342f19ad9049c46dd1f9 SHA512 33da38bee278999ec3bcc770886183c3d7ac60ab3458568a7848bc83035104290423aee54a2a2da065b9a5da639af6fa242de9f23df0ff7fccbd024099af8472
AUX stfl-0.22-pc-libdir.patch 866 BLAKE2B bdbc18572fd5104ee04af672b9d493bb3271a8af7b383f5fb9042e8c44dbeaa760ed9c2c8f71192b891eeabae487ee096451ccdb8ae82a936e85331145c9bef6 SHA512 9ec288c174bb30060085c94f6703edb698f2e3806d872153cc58873ea838a84f9edbc07c6e5f8de4a6fd18f77ff1c1e4b1599ad598f3d0a4bba5b2c5bac73ad3
AUX stfl-0.22-ruby-sharedlib.patch 735 BLAKE2B 6b2b9e835f57f62ff1e1ff871103bc0b1106329916fc1be75eb22e550c9ff8abd007bbc201c66e15ce16a4697c0bbe0850b56ff41f666dd7006028432b1f77e5 SHA512 73a1b7aa7147100ab2f06264303c0a30463deb8bd0ce9e4111737393d07c4fb06174c5022c1dae8c7fd2688d1b544a4ab8c8ee5495f46e2bbc33ce89a7e46de7
AUX stfl-0.22-soname-symlink.patch 444 BLAKE2B 9aa44343a18a8d7fb2f75a60ae94c30ef92b6f02190cefbefedacd9f8d5c877ac71b83c41b008bfd46a4d5ffe04f91f03f898e27ef098162d0b43f274ccff298 SHA512 e85c6f96edd8cd08d3408f976fff5f9fbcdc9892109233e78d932eb07502b00d3a0b52393542de8af5b2d26808b3574736f78b7ef9c7bdd0abffa3901fc55dab
DIST stfl-0.24.tar.gz 45585 BLAKE2B a601f373f19baa3a11fb823852ada19ab824828935240280c74ff442a1e5c4abdf0abe56e445869e43785df3940a8c7269bc16457436abbe5e2853f907071059 SHA512 95df4574b1bc32d795751156dc5b93afbca3ba241607a3a55210c89dda61b9a26ad574bb5f729a0158c9052235dbf63d6c58b38e7f1061d14ab7062af6150fa0
EBUILD stfl-0.24-r4.ebuild 3145 BLAKE2B 4303a6411bd6056674a721f33ec8117161b223d2a3f4453dbe8dd71a60298713c2d5078b49c27e6855e16d325f4ecd433ea1550e12ffa0dbc6813884039d313a SHA512 5e572785347e6326c20b6acf68f2095e9d2b770330bccd0be1acb199425b670679b46ead5f84cb4c8c241ae3913a8fe62c740e04d94e487969688f2082268c9d
MISC metadata.xml 884 BLAKE2B d1ee81a475935527af118da278c54f34a773dff1165c39ea2013135b767dbfe96972623d83833501d0531df78547c5d6040990039674832e9f5f701f915d3924 SHA512 55dc2b480ea7b0929be1e74d60d06ddc33ce977885969fdda332a6cb390c219cc13c017c0a56ed3594c475dcb9586b2d433c65fa200675de421e1aa4b22c7ce5

View File

@@ -0,0 +1,39 @@
diff -ur stfl-0.21.orig/Makefile stfl-0.21/Makefile
--- stfl-0.21.orig/Makefile 2009-06-19 10:30:52.000000000 -0700
+++ stfl-0.21/Makefile 2009-12-23 15:12:34.986593069 -0800
@@ -46,7 +46,7 @@
rm -f widgets/*.o spl/mod_stfl.so spl/example.db
cd perl5 && perl Makefile.PL && make clean && rm -f Makefile.old
rm -f perl5/stfl_wrap.c perl5/stfl.pm perl5/build_ok
- rm -f python/stfl.py python/stfl.pyc python/_stfl.so
+ rm -f python/stfl.py python/_stfl.so
rm -f python/stfl_wrap.c python/stfl_wrap.o
rm -f ruby/Makefile ruby/stfl_wrap.c ruby/stfl_wrap.o
rm -f ruby/stfl.so ruby/build_ok Makefile.deps_new
diff -ur stfl-0.21.orig/python/Makefile.snippet stfl-0.21/python/Makefile.snippet
--- stfl-0.21.orig/python/Makefile.snippet 2009-06-18 01:27:16.000000000 -0700
+++ stfl-0.21/python/Makefile.snippet 2009-12-23 15:14:54.237606055 -0800
@@ -21,20 +21,17 @@
PYTHON_VERSION = $(shell python -V 2>&1 | cut -f2 -d' ' | cut -f1-2 -d'.')
PYTHON_SITEARCH = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
-all: python/_stfl.so python/stfl.py python/stfl.pyc
+all: python/_stfl.so python/stfl.py
install: install_python
-python/_stfl.so python/stfl.py python/stfl.pyc: libstfl.a stfl.h python/stfl.i swig/*.i
+python/_stfl.so python/stfl.py: libstfl.a stfl.h python/stfl.i swig/*.i
cd python && swig -python -threads stfl.i
gcc -shared -pthread -fPIC python/stfl_wrap.c -I/usr/include/python$(PYTHON_VERSION) \
-I. libstfl.a -lncursesw -o python/_stfl.so
- cd python && python -c 'import stfl'
-install_python: python/_stfl.so python/stfl.py python/stfl.pyc
- mkdir -p $(DESTDIR)$(PYTHON_SITEARCH)/
+install_python: python/_stfl.so python/stfl.py
mkdir -p $(DESTDIR)$(PYTHON_SITEARCH)/lib-dynload/
cp python/_stfl.so $(DESTDIR)$(PYTHON_SITEARCH)/lib-dynload/
- cp python/stfl.pyc $(DESTDIR)$(PYTHON_SITEARCH)/
cp python/stfl.py $(DESTDIR)$(PYTHON_SITEARCH)/

View File

@@ -0,0 +1,24 @@
diff -ru stfl-0.24.orig/Makefile stfl-0.24/Makefile
--- stfl-0.24.orig/Makefile 2015-02-12 14:14:33.000000000 +0100
+++ stfl-0.24/Makefile 2020-09-07 14:08:04.125833347 +0200
@@ -67,7 +67,7 @@
ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/libstfl.so
stfl.pc: stfl.pc.in
- sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' > $@
+ sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' | sed 's,@LIBDIR@,${libdir},g' > $@
ifeq ($(FOUND_SPL),1)
include spl/Makefile.snippet
diff -ru stfl-0.24.orig/stfl.pc.in stfl-0.24/stfl.pc.in
--- stfl-0.24.orig/stfl.pc.in 2009-03-30 20:33:37.000000000 +0200
+++ stfl-0.24/stfl.pc.in 2020-09-07 14:08:07.784854088 +0200
@@ -2,7 +2,7 @@
prefix=@PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${exec_prefix}/@LIBDIR@
includedir=${prefix}/include
Name: STFL

View File

@@ -0,0 +1,14 @@
--- stfl-0.22/ruby/Makefile.snippet.orig
+++ stfl-0.22/ruby/Makefile.snippet
@@ -23,9 +23,9 @@
install: install_ruby
-ruby/build_ok: libstfl.a stfl.h ruby/stfl.i swig/*.i
+ruby/build_ok: libstfl.so.$(VERSION) stfl.h ruby/stfl.i swig/*.i
cd ruby && swig -ruby stfl.i && ruby extconf.rb
- $(MAKE) -C ruby clean && $(MAKE) -C ruby LIBS+="../libstfl.a -lncursesw" CFLAGS+="-pthread -I.." DLDFLAGS+="-pthread" DESTDIR=$(DESTDIR) prefix=$(prefix) sitedir=$(prefix)/$(libdir)/ruby
+ $(MAKE) -C ruby clean && $(MAKE) -C ruby LIBS+="../libstfl.so.$(VERSION) -lncursesw" CFLAGS+="-pthread -I.." DLDFLAGS+="-pthread" DESTDIR=$(DESTDIR) prefix=$(prefix) sitedir=$(prefix)/$(libdir)/ruby
touch ruby/build_ok
install_ruby: ruby/build_ok

View File

@@ -0,0 +1,10 @@
--- stfl-0.22/Makefile.orig
+++ stfl-0.22/Makefile
@@ -65,6 +65,7 @@
install -m 644 stfl.pc $(DESTDIR)$(prefix)/$(libdir)/pkgconfig/
install -m 644 libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)
ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/libstfl.so
+ ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/$(SONAME)
stfl.pc: stfl.pc.in
sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' > $@

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>cedk@gentoo.org</email>
</maintainer>
<longdescription lang="en">
STFL is a library which implements a curses-based widget set for text
terminals.
The STFL API can be used from C, SPL, Python, Perl and Ruby. Since the
API is only 14 simple function calls big and there are already generic
SWIG bindings it is very easy to port STFL to additional scripting
languages.
A special language (the Structured Terminal Forms Language) is used to
describe STFL GUIs. The language is designed to be easy and fast to
write so an application programmer does not need to spend ages fiddling
around with the GUI and can concentrate on the more interesting
programming tasks.
</longdescription>
</pkgmetadata>

View File

@@ -0,0 +1,127 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{9..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 )
"
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"
)
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)"
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
}