diff options
Diffstat (limited to 'dev-libs/stfl')
-rw-r--r-- | dev-libs/stfl/Manifest | 6 | ||||
-rw-r--r-- | dev-libs/stfl/files/stfl-0.21-python.patch | 39 | ||||
-rw-r--r-- | dev-libs/stfl/files/stfl-0.22-ruby-sharedlib.patch | 14 | ||||
-rw-r--r-- | dev-libs/stfl/files/stfl-0.22-soname-symlink.patch | 10 | ||||
-rw-r--r-- | dev-libs/stfl/metadata.xml | 23 | ||||
-rw-r--r-- | dev-libs/stfl/stfl-0.24.ebuild | 118 |
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 +} |