summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-mathematics/snns/files/4.2-ldflags.patch8
-rw-r--r--sci-mathematics/snns/files/4.3-bison-version.patch4
-rw-r--r--sci-mathematics/snns/files/4.3-expand-path-strings.patch33
-rw-r--r--sci-mathematics/snns/snns-4.3-r3.ebuild124
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*/*
+}