123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- # Copyright 1999-2016 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 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
- }
|