summaryrefslogtreecommitdiff
path: root/dev-libs/stfl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/stfl')
-rw-r--r--dev-libs/stfl/Manifest6
-rw-r--r--dev-libs/stfl/files/stfl-0.21-python.patch39
-rw-r--r--dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch14
-rw-r--r--dev-libs/stfl/files/stfl-0.22-soname-symlink.patch10
-rw-r--r--dev-libs/stfl/metadata.xml23
-rw-r--r--dev-libs/stfl/stfl-0.24.ebuild118
6 files changed, 210 insertions, 0 deletions
diff --git a/dev-libs/stfl/Manifest b/dev-libs/stfl/Manifest
new file mode 100644
index 000000000000..e6fb79d0273c
--- /dev/null
+++ b/dev-libs/stfl/Manifest
@@ -0,0 +1,6 @@
+AUX stfl-0.21-python.patch 1936 BLAKE2B fc0a8f02eaa30b900652304e34f383a6587769f4ac803f2ba9420197ef492430a88a6a6ec4863163cd948c9fd8c027b50a944796ea1c342f19ad9049c46dd1f9 SHA512 33da38bee278999ec3bcc770886183c3d7ac60ab3458568a7848bc83035104290423aee54a2a2da065b9a5da639af6fa242de9f23df0ff7fccbd024099af8472
+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.ebuild 2936 BLAKE2B 7077d11cc2b9825d65aec4cab7dc331ed2d4683dbb1e70a197544e7e25c89562a5659d3c9851a585c7712917c4c80c0855270ba5c127fd044bf5c83ee4b88917 SHA512 88cd3c1042c427103249d928ec4aa7f992909ef23e6da9342e47b45740742a6cf4c69bd77c045ccec1abcff1e693d7cfebda4fce203bc5006647292c274632db
+MISC metadata.xml 914 BLAKE2B 723117eb04ce97ded544a44d56808ef7ac0e54efd5447543e5faeb65cd361b77b066a7058a91b5fd488fe6c58a6f5f5082837e99fb2a25a8ec8f901b427353c5 SHA512 4cc4e6aa78baa99eaf0224743934011b8fe542566847533368eae86afefa61ba14909eb333c8d7f36801f84afafe2e7f54d8f3aca56516d8c6c034d42b640936
diff --git a/dev-libs/stfl/files/stfl-0.21-python.patch b/dev-libs/stfl/files/stfl-0.21-python.patch
new file mode 100644
index 000000000000..dbec12b7a6a4
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.21-python.patch
@@ -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)/
+
diff --git a/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch b/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch
new file mode 100644
index 000000000000..90698ec88dd7
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch
@@ -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
diff --git a/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch b/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch
new file mode 100644
index 000000000000..bfe0595edc76
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.22-soname-symlink.patch
@@ -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' > $@
diff --git a/dev-libs/stfl/metadata.xml b/dev-libs/stfl/metadata.xml
new file mode 100644
index 000000000000..abb4b8f2540d
--- /dev/null
+++ b/dev-libs/stfl/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </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>
diff --git a/dev-libs/stfl/stfl-0.24.ebuild b/dev-libs/stfl/stfl-0.24.ebuild
new file mode 100644
index 000000000000..87e3ee820f41
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.24.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+GENTOO_DEPEND_ON_PERL=no
+inherit eutils multilib 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 ppc x86"
+IUSE="examples perl python ruby static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-libs/ncurses:0=[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 )
+"
+
+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/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ epatch "${FILESDIR}"/${PN}-0.21-python.patch
+ epatch "${FILESDIR}"/${PN}-0.22-soname-symlink.patch
+ epatch "${FILESDIR}"/${PN}-0.22-ruby-sharedlib.patch
+
+ 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)"
+
+ 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
+}