diff options
-rw-r--r-- | sci-mathematics/snns/files/4.2-ldflags.patch | 8 | ||||
-rw-r--r-- | sci-mathematics/snns/files/4.3-bison-version.patch | 4 | ||||
-rw-r--r-- | sci-mathematics/snns/files/4.3-expand-path-strings.patch | 33 | ||||
-rw-r--r-- | sci-mathematics/snns/snns-4.3-r3.ebuild | 124 |
4 files changed, 163 insertions, 6 deletions
diff --git a/sci-mathematics/snns/files/4.2-ldflags.patch b/sci-mathematics/snns/files/4.2-ldflags.patch index 752380d1d8f0..9ff4769731d1 100644 --- a/sci-mathematics/snns/files/4.2-ldflags.patch +++ b/sci-mathematics/snns/files/4.2-ldflags.patch @@ -2,8 +2,8 @@ Respect LDFLAGS https://bugs.gentoo.org/show_bug.cgi?id=332475 ---- tools/sources/Makefile -+++ tools/sources/Makefile +--- a/tools/sources/Makefile ++++ b/tools/sources/Makefile @@ -147,19 +147,19 @@ # Linking of single stand alone programs @@ -29,8 +29,8 @@ https://bugs.gentoo.org/show_bug.cgi?id=332475 # Make sure that kernel libs are available and up to date ---- xgui/sources/Makefile -+++ xgui/sources/Makefile +--- a/xgui/sources/Makefile ++++ b/xgui/sources/Makefile @@ -202,7 +202,7 @@ # Linking of xgui diff --git a/sci-mathematics/snns/files/4.3-bison-version.patch b/sci-mathematics/snns/files/4.3-bison-version.patch index 73da70187254..ceb4b1e43c00 100644 --- a/sci-mathematics/snns/files/4.3-bison-version.patch +++ b/sci-mathematics/snns/files/4.3-bison-version.patch @@ -1,5 +1,5 @@ ---- configure.old 2015-04-08 16:27:05.000000000 -0400 -+++ configure 2015-04-08 16:26:41.000000000 -0400 +--- a/configure 2015-04-08 16:27:05.000000000 -0400 ++++ b/configure 2015-04-08 16:26:41.000000000 -0400 @@ -5071,7 +5071,7 @@ else { echo "$as_me:$LINENO: checking for version of bison" >&5 diff --git a/sci-mathematics/snns/files/4.3-expand-path-strings.patch b/sci-mathematics/snns/files/4.3-expand-path-strings.patch new file mode 100644 index 000000000000..e62a3cfa6cd4 --- /dev/null +++ b/sci-mathematics/snns/files/4.3-expand-path-strings.patch @@ -0,0 +1,33 @@ +--- a/tools/sources/convert2snns.c 2008-04-21 03:56:07.000000000 -0400 ++++ b/tools/sources/convert2snns.c 2017-12-14 11:13:12.056308969 -0500 +@@ -54,8 +54,8 @@ + /* Init functionname */ + #define KOHONEN_INIT_FUNC_NAME "Kohonen_Weights_v3.2" + +-char *control_file,pattern_file[80],weight_file[80], +- string[80],name[50]; ++char *control_file,pattern_file[256],weight_file[256], ++ string[256],name[256]; + int no_of_exemplars,X,Y, + ret, i, j, unit_no, + IUnits, OUnits, HUnits; +--- a/tools/sources/snns2c.c 2017-12-14 11:05:48.372487874 -0500 ++++ b/tools/sources/snns2c.c 2017-12-14 11:11:08.484915822 -0500 +@@ -1622,7 +1622,7 @@ + FILE *fOutFile, *fHeaderFile; + pList OutList, FunctionList; + time_t timer; +- char HeaderFile[50]; ++ char HeaderFile[256]; + + /* calculate time for the date in the header of the output file */ + time(&timer); +@@ -1824,7 +1824,7 @@ + FILE *fOutFile, *fHeaderFile; + pList OutList, FunctionList; + time_t timer; +- char HeaderFile[50]; ++ char HeaderFile[256]; + + /* calculate time for the date in the header of the output file */ + time(&timer); 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*/* +} |