summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2017-12-14 11:47:38 -0500
committerIan Stakenvicius <axs@gentoo.org>2017-12-14 11:56:02 -0500
commit87936449631e29d8fd3cc000abf4305a4b0be4cc (patch)
tree303c2f99d266c9b0abaa8986f73bbfa7ed46ab56 /sci-mathematics/snns/snns-4.3-r3.ebuild
parentapp-text/fbreader: use libunibreak instead of liblinebreak (diff)
downloadgentoo-87936449631e29d8fd3cc000abf4305a4b0be4cc.tar.gz
gentoo-87936449631e29d8fd3cc000abf4305a4b0be4cc.tar.bz2
gentoo-87936449631e29d8fd3cc000abf4305a4b0be4cc.zip
sci-mathematics/snns: bump EAPI, make patches eapply, expand string length for filenames
Some strings that hold filenames or file paths were limited to 50 chars, which for my personal use is way too short; expanded these to 256 chars. Also bumped EAPI and fixed patche headers so that they eapply cleanly via 'patch -p1' Package-Manager: Portage-2.3.13, Repoman-2.3.3
Diffstat (limited to 'sci-mathematics/snns/snns-4.3-r3.ebuild')
-rw-r--r--sci-mathematics/snns/snns-4.3-r3.ebuild124
1 files changed, 124 insertions, 0 deletions
diff --git a/sci-mathematics/snns/snns-4.3-r3.ebuild b/sci-mathematics/snns/snns-4.3-r3.ebuild
new file mode 100644
index 000000000000..416fa9499a5f
--- /dev/null
+++ b/sci-mathematics/snns/snns-4.3-r3.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+MY_P="SNNSv${PV}"
+DESCRIPTION="Stuttgart Neural Network Simulator"
+HOMEPAGE="https://sourceforge.net/projects/snns/"
+SRC_URI="http://www.ra.cs.uni-tuebingen.de/downloads/SNNS/${MY_P}.tar.gz
+ doc? ( http://www.ra.cs.uni-tuebingen.de/downloads/SNNS/SNNSv4.2.Manual.pdf )"
+
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~ppc ~x86"
+SLOT="0"
+IUSE="X doc python"
+
+RDEPEND="X? (
+ x11-libs/libX11
+ x11-libs/libXaw3d
+ x11-libs/libXt
+ )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )
+ >=sys-devel/bison-1.2.2"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ eapply "${FILESDIR}"/4.3-unstrip.patch
+ eapply "${FILESDIR}"/4.3-bison-version.patch
+ eapply "${FILESDIR}"/4.2-ldflags.patch
+ eapply "${FILESDIR}"/4.3-snns-netperf.patch # bug 248322
+ eapply "${FILESDIR}"/4.3-expand-path-strings.patch
+
+ # change all references of Xaw to Xaw3d
+ cd "${S}"/xgui/sources
+ for file in *.c; do
+ sed -e "s:X11/Xaw/:X11/Xaw3d/:g" -i "${file}"
+ done
+
+ # clean up the dirty dist sources and remove files that apparently
+ # are not removed by any clean rules
+ emake clean
+ rm -Rf "${S}"/{tools,xgui}/bin \
+ "${S}"/{Makefile.def,config.h} \
+ "${S}"/configuration/config.{guess,log}
+
+ eapply_user
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+src_configure() {
+ econf --enable-global \
+ $(use_with X x)
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_configure
+ popd > /dev/null || die
+ fi
+}
+
+src_compile() {
+ local compileopts=( compile-kernel compile-tools )
+ use X && compileopts+=( compile-xgui )
+
+ # parallel make sometimes fails (phosphan)
+ # so emake each phase separately (axs)
+ for tgt in "${compileopts[@]}"; do
+ emake ${tgt}
+ done
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+src_install() {
+ pushd "${S}"/tools/sources > /dev/null || die
+ emake TOOLSBINDIR="${ED}"usr/bin install
+ popd > /dev/null || die
+
+ if use X; then
+ newbin xgui/sources/xgui snns
+
+ echo XGUILOADPATH=/usr/share/doc/${PF} > "${T}"/99snns
+ doenvd "${T}"/99snns
+
+ docompress -x /usr/share/doc/${PF}/{default.cfg,help.hdoc}
+ insinto /usr/share/doc/${PF}
+ doins default.cfg help.hdoc
+ fi
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_install
+ insinto /usr/share/doc/${PF}/python-examples
+ doins examples/*
+ newdoc README README.python
+ popd > /dev/null || die
+ fi
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins "${DISTDIR}"/${MY_P}.Manual.pdf
+ fi
+
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+ doman man/man*/*
+}