summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/sparky/sparky-3.115-r2.ebuild')
-rw-r--r--sci-chemistry/sparky/sparky-3.115-r2.ebuild118
1 files changed, 118 insertions, 0 deletions
diff --git a/sci-chemistry/sparky/sparky-3.115-r2.ebuild b/sci-chemistry/sparky/sparky-3.115-r2.ebuild
new file mode 100644
index 000000000000..b04634eb0c20
--- /dev/null
+++ b/sci-chemistry/sparky/sparky-3.115-r2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk"
+
+inherit flag-o-matic prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="Graphical NMR assignment and integration program for large polymers"
+HOMEPAGE="http://www.cgl.ucsf.edu/home/sparky/"
+SRC_URI="http://www.cgl.ucsf.edu/home/sparky/distrib-${PV}/${PN}-source-${PV}.tar.gz"
+
+LICENSE="sparky"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ app-shells/tcsh
+ dev-lang/tcl:0=
+ dev-lang/tk:0="
+DEPEND="${RDEPEND}"
+
+RESTRICT="mirror"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-ldflags.patch
+ "${FILESDIR}"/${PV}-wrapper-r1.patch
+ "${FILESDIR}"/${PV}-paths.patch
+ "${FILESDIR}"/${PV}-makefile.patch
+ "${FILESDIR}"/${PV}-fix-c++14.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ TKVER=$(best_version dev-lang/tk | cut -d- -f3 | cut -d. -f1,2)
+ PYVER=${EPYTHON#python}
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s:^\(set PYTHON =\).*:\1 ${PYTHON}:g" \
+ -e "s:^\(setenv SPARKY_INSTALL[[:space:]]*\).*:\1 ${EPREFIX}/usr/$(get_libdir)/${PN}:g" \
+ -e "s:tcl8.4:tcl${TKVER}:g" \
+ -e "s:tk8.4:tk${TKVER}:g" \
+ -e "s:^\(setenv TCLTK_LIB[[:space:]]*\).*:\1 ${EPREFIX}/usr/$(get_libdir):g" \
+ "${S}"/bin/sparky || die
+ eprefixify "${S}"/bin/sparky
+}
+
+src_compile() {
+ emake \
+ SPARKY="${S}" \
+ PYTHON_VERSION="${PYVER}" \
+ PYTHON_PREFIX="${EPREFIX}/usr" \
+ PYTHON_LIB="${EPREFIX}/usr/$(get_libdir)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ TK_PREFIX="${EPREFIX}/usr" \
+ TCLTK_VERSION="${TKVER}" \
+ TKLIBS="-L${EPREFIX}/usr/$(get_libdir)/ -ltk -ltcl -lX11" \
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ LDSHARED="-shared" \
+ binaries
+
+ rm c++/*.o || die
+
+ emake \
+ SPARKY="${S}" \
+ PYTHON_VERSION="${PYVER}" \
+ PYTHON_PREFIX="${EPREFIX}/usr" \
+ PYTHON_LIB="${EPREFIX}/usr/$(get_libdir)" \
+ PYTHON_INC="$(python_get_includedir)" \
+ TK_PREFIX="${EPREFIX}/usr" \
+ TCLTK_VERSION="${TKVER}" \
+ TKLIBS="-L${EPREFIX}/usr/$(get_libdir)/ -ltk -ltcl -lX11" \
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ CXXFLAGS="${CXXFLAGS} -fPIC" \
+ CFLAGS="${CFLAGS} -fPIC" \
+ LDSHARED="-shared -fPIC" \
+ libraries
+}
+
+src_install() {
+ # The symlinks are needed to avoid hacking the complete code to fix the locations
+ dobin c++/{{bruk,matrix,peaks,pipe,vnmr}2ucsf,ucsfdata,sparky-no-python} bin/${PN}
+
+ insinto /usr/share/${PN}/
+ doins lib/{print-prolog.ps,Sparky}
+ dosym ../../share/${PN}/print-prolog.ps /usr/$(get_libdir)/${PN}/print-prolog.ps
+ dosym ../../share/${PN}/Sparky /usr/$(get_libdir)/${PN}/Sparky
+
+ python_moduleinto ${PN}
+ python_domodule python/*.py c++/{spy.so,_tkinter.so}
+ dosym ../${EPYTHON}/site-packages /usr/$(get_libdir)/${PN}/python
+
+ rm manual/{pkzip.cfg,Makefile} || die
+ mv {manual/,}manual.ps || die
+ local DOCS=( README manual.ps )
+ local HTML_DOCS=( manual/. )
+ einstalldocs
+ newdoc python/README README.python
+ dosym ../../share/doc/${PF}/html /usr/$(get_libdir)/${PN}/manual
+
+ if use examples; then
+ dodoc -r example
+ dosym ../../share/doc/${PF}/example /usr/$(get_libdir)/${PN}/example
+ fi
+}