diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2017-12-14 11:47:38 -0500 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2017-12-14 11:56:02 -0500 |
commit | 87936449631e29d8fd3cc000abf4305a4b0be4cc (patch) | |
tree | 303c2f99d266c9b0abaa8986f73bbfa7ed46ab56 /sci-mathematics/snns/snns-4.3-r3.ebuild | |
parent | app-text/fbreader: use libunibreak instead of liblinebreak (diff) | |
download | gentoo-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.ebuild | 124 |
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*/* +} |