You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
2.8 KiB
125 lines
2.8 KiB
7 years ago
|
# 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*/*
|
||
|
}
|