diff options
Diffstat (limited to 'sci-chemistry/sparky')
-rw-r--r-- | sci-chemistry/sparky/Manifest | 10 | ||||
-rw-r--r-- | sci-chemistry/sparky/files/3.115-fix-c++14.patch | 32 | ||||
-rw-r--r-- | sci-chemistry/sparky/files/3.115-ldflags.patch | 61 | ||||
-rw-r--r-- | sci-chemistry/sparky/files/3.115-makefile.patch | 17 | ||||
-rw-r--r-- | sci-chemistry/sparky/files/3.115-paths.patch | 13 | ||||
-rw-r--r-- | sci-chemistry/sparky/files/3.115-wrapper-r1.patch | 41 | ||||
-rw-r--r-- | sci-chemistry/sparky/metadata.xml | 8 | ||||
-rw-r--r-- | sci-chemistry/sparky/sparky-3.115-r2.ebuild | 117 |
8 files changed, 299 insertions, 0 deletions
diff --git a/sci-chemistry/sparky/Manifest b/sci-chemistry/sparky/Manifest new file mode 100644 index 000000000000..97fa4139999e --- /dev/null +++ b/sci-chemistry/sparky/Manifest @@ -0,0 +1,10 @@ +AUX 3.115-fix-c++14.patch 849 SHA256 69498ca78090e575aa1e8637cc0d6dd12298cdc66fdbcbad02bbc3a73672f664 SHA512 80bbfe8a2e853f8be84ed48da99605805a42bb05b091c851ddbefb5513745cdf51c5396e97ad4e3be7dd199270fb069e239e0c24f6642d956fd6571d8b14a7e1 WHIRLPOOL ca4c9f6940808207fb5d411395ef13a528d5e698f3d1511b400271ba765e5b299d2ac48913f457bfc8839a510bfac608ca8bc0fa513bd0db2becfabb78532374 +AUX 3.115-ldflags.patch 2713 SHA256 227c4ca0deb0a98a6ce40f03065c68a8ac433772ef3d318adb6d69705fedfefe SHA512 1c439cc04af3e8e403257ccd45eecb16f0e36d4b51a28ab5ddda269bde271d23a20bb453cda48e03f58c31a9a614d4b19ca2b6aa7f75bdfec1f79b70e8c361de WHIRLPOOL d5d96703d1450abfca4a70c5dae6971664bc9e844d869d83928b1e21f4da4bce2093b9478c4d23ac47f711d0a412a85c13c4c55f02eeabfdb0b6a91fff37cf49 +AUX 3.115-makefile.patch 580 SHA256 c265b6114c826c8c88b7e7256ef281cfefba00997f8c719146000f95017139a5 SHA512 9ddd99de93656301f307aabb3284e86fe68f4c7957f0b5ff81da4615f850fc36b686908de84816f0ff8a3d75169ccd0d4d7cb5bb8afd88d96c913f766e7ee19a WHIRLPOOL ac85d055252a82373b781ebb60eca7cf33e3d40e248c866238bb9395555679d20e88a81b307962e89654660a24290274fac45e5257a1fb915be6437e62919c8c +AUX 3.115-paths.patch 415 SHA256 8a38226eb0b6cbf1cd5af9d4aad2a17da11897e8c8c027bfb18d9dac24d87b47 SHA512 44c44c99cf2c5c51c8e506267efc4efc50eb2277ccdab362943da0c45c63f9e797ae699e99eda3ce6ca0b4e0a886393d1917ce8614eea3086e97446fc3c0c674 WHIRLPOOL d7f1fad28bb51b03c30e61a6fbde8725cfb9602f78f3e494184beee1398d177b9d48ef024cd024554066e13eefbe5397221aff245e62f6fa11848a0f7f972ec2 +AUX 3.115-wrapper-r1.patch 1518 SHA256 e99acd1e5d735ee027361fda5d4c0652c729e2a02eedc80253fbc8b3654e89ea SHA512 be2c18a40ceabdb1c25a7849e1ee00438092f264c486e93b3bfb412fc417902a3b22b672d28a6cc104fedc5477ea2c0de66bc40dd5d4d607ed0201eee4d368a7 WHIRLPOOL 731d9511f3224399db3f108b9c8de8dfdda30a333389766d67610eb15c0196cda26464bc164aff3757c5af0bcb0414cf50b73b49dc9027bedae67360a46e395e +DIST sparky-source-3.115.tar.gz 4103686 SHA256 c187546aaec3d6489c533c3a778e1fe6fa634a931dcaf245c1e13f5720a002b6 SHA512 33b0fd368f15bf4d091d7152a189f57279aea54fb89a12f15314f2a1414b073f7bd282afedeb72e79192195b0b6ac212ca74da3def513592af5400c118ac8e89 WHIRLPOOL 8557a525eab51150da437f78cb8e404adad4f41ed0884498601887e832f78bb316e4847cc3b3a7147ec66bcddd4e06064323bb2ce76452b37d504a809feee7ff +EBUILD sparky-3.115-r2.ebuild 3192 SHA256 7f6a628c6056e9813558755f0298c47dd5a085658d7f177c429ffa86f19b0627 SHA512 f2f5fe11666e85feca9d90c5fb6c9d93f42b9bde269f311a943c37b334d617d7dcdbc5ee45cb555fb6af278a648c0c0ab4ec28027143675ee0cc2c77dc41c10a WHIRLPOOL 4b5fae4301f184c8c041f39a7c86b3c5d197ff0b2249cb1fc24ad3a5e2c2928e72fb51c61f799ac0a7a09a1460832639abc5b91effa5e5a5e5d60ed6ceb7e60b +MISC ChangeLog 3430 SHA256 fb5967bd22cef4fab1fa90f3e1a3e172b04fcbe992ac15c770a8a2bc824730b0 SHA512 14176a5d6f72e01337637ccdf402861638aecbba820c081c0aa6b350046cb60c0440378095db0686654434a3a432f6fc2ffc3944d1616868e48011e8ca7f52ab WHIRLPOOL 0d388824720b03aa771ae240a3595d58009f6b388806011752af7fb84e479e5928f99170e3e4b3dab0aa6181d115c050af93acc79b8161f5572d24dc22f1e406 +MISC ChangeLog-2015 3615 SHA256 ca930454305a6c0a819f94c74357aa75f93971b0427880550a7a3c0cc9b01d42 SHA512 ba7e788c591eed7e3a61ac8650757557ba44adf5265e0dabad54e0802dc68a5091f15300f6dd5e6f08aacc4b6b66f2b65f815acd14504c624dc5c60b9b0a3ec2 WHIRLPOOL 357f7369e9a0eae7d9f23c92fced2f8da8b63f598e6218f87b2405c76993800bfc6a07867e30cd3e9ffebc0a906c06108667db0aa736fee8e92f74dc5c37fa42 +MISC metadata.xml 271 SHA256 70036ea85140f86ed670bc2791c9de861c4b6164755ee36a2560d1c812ec13f6 SHA512 3e6e6047a29e07123b81279cae1de17bc4bd4c3d7d8a8d26560114a18185f473d038fc220fa81c7213fa203ce197bad8b1c272d9b7e41cd770a953fa6308ff92 WHIRLPOOL 1ccb964819c99258af550a41c6712ba8ebdecbec1c821106de2f22c37b1c981cd4f324856a8014b08bd186bcd2a7fa45a7e772cc15705d1a39016b5229e77269 diff --git a/sci-chemistry/sparky/files/3.115-fix-c++14.patch b/sci-chemistry/sparky/files/3.115-fix-c++14.patch new file mode 100644 index 000000000000..3a05ea7d85ce --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-fix-c++14.patch @@ -0,0 +1,32 @@ +Fix the custom new/new[] operators in order to account for changed +noexcept semantics in C++11. +See also: https://bugs.gentoo.org/show_bug.cgi?id=596012 + +Patch by Peter Levine + +--- a/c++/memalloc.cc ++++ b/c++/memalloc.cc +@@ -39,7 +39,10 @@ + + // ---------------------------------------------------------------------------- + // +-void *operator new(size_t size) throw(std::bad_alloc) ++void *operator new(size_t size) ++#if __cplusplus < 201103L ++throw(std::bad_alloc) ++#endif + { + void *value = allocate(size); + if (tracking_memory) +@@ -72,7 +75,10 @@ + + // ---------------------------------------------------------------------------- + // +-void *operator new[](size_t size) throw(std::bad_alloc) ++void *operator new[](size_t size) ++#if __cplusplus < 201103L ++throw(std::bad_alloc) ++#endif + { + void *value = allocate(size); + if (tracking_memory) diff --git a/sci-chemistry/sparky/files/3.115-ldflags.patch b/sci-chemistry/sparky/files/3.115-ldflags.patch new file mode 100644 index 000000000000..bd4020387682 --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-ldflags.patch @@ -0,0 +1,61 @@ +diff --git a/c++/Makefile b/c++/Makefile +index aeb4daa..5cab356 100644 +--- a/c++/Makefile ++++ b/c++/Makefile +@@ -131,28 +131,28 @@ $(SPARKY_INSTALL)/python/sparky $(SPARKY_INSTALL)/python/lib-tk: + chmod 755 $@ + + sparky-no-python$(EXE_SUFFIX): main.o $(SPARKY_OBJS) +- $(CXX) -o $@ main.o $(SPARKY_OBJS) $(LDFLAGS) $(LDLIBS) ++ $(CXX) $(LDFLAGS) -o $@ main.o $(SPARKY_OBJS) $(LDLIBS) + + ucsfdata$(EXE_SUFFIX): ucsfdata.o $(NMR_OBJS) +- $(CXX) -o $@ ucsfdata.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ ucsfdata.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + pipe2ucsf$(EXE_SUFFIX): pipe2ucsf.o $(NMR_OBJS) +- $(CXX) -o $@ pipe2ucsf.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ pipe2ucsf.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + vnmr2ucsf$(EXE_SUFFIX): vnmr2ucsf.o $(NMR_OBJS) +- $(CXX) -o $@ vnmr2ucsf.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ vnmr2ucsf.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + bruk2ucsf$(EXE_SUFFIX): bruk2ucsf.o $(NMR_OBJS) +- $(CXX) -o $@ bruk2ucsf.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ bruk2ucsf.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + peaks2ucsf$(EXE_SUFFIX): peaks2ucsf.o $(NMR_OBJS) +- $(CXX) -o $@ peaks2ucsf.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ peaks2ucsf.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + matrix2ucsf$(EXE_SUFFIX): matrix2ucsf.o $(NMR_OBJS) +- $(CXX) -o $@ matrix2ucsf.o $(NMR_OBJS) $(LDFLAGS) $(SYSLIBS) $(EXTRALIBS) ++ $(CXX) $(LDFLAGS) -o $@ matrix2ucsf.o $(NMR_OBJS) $(SYSLIBS) $(EXTRALIBS) + + spy.so: python.o $(SPARKY_OBJS) +- $(CXX) $(LDSHARED) -o $@ python.o $(SPARKY_OBJS) $(LDFLAGS) $(LDLIBS) ++ $(CXX) $(LDSHARED) $(LDFLAGS) -o $@ python.o $(SPARKY_OBJS) $(LDLIBS) + + winsystem-$(PLATFORM).o: winsystem-$(PLATFORM).cc + $(CXX) $(CXXFLAGS) $(TKFLAGS) -c $(SPARKY_SRC)/winsystem-$(PLATFORM).cc +@@ -161,7 +161,7 @@ python.o: python.cc + $(CXX) $(CXXFLAGS) $(PYFLAGS) $(TKFLAGS) -c $(SPARKY_SRC)/python.cc + + _tkinter.so: _tkinter.o +- $(CXX) $(LDSHARED) -o $@ _tkinter.o $(LDFLAGS) $(TKLIBS) ++ $(CXX) $(LDSHARED) $(LDFLAGS) -o $@ _tkinter.o $(TKLIBS) + + _tkinter.o: _tkinter.c + $(CC) $(CFLAGS) $(TKFLAGS) $(PYFLAGS) -c $(SPARKY_SRC)/_tkinter.c +@@ -188,8 +188,8 @@ PYLDFLAGS = -L$(PYTHON_LIB)/config -lpython$(PYTHON_VERSION) + PYIFLAGS = -I$(PYTHON_INC) + + debug-sparky: main-debug.o python.o _tkinter.o $(SPARKY_OBJS) +- $(CXX) -o $@ main-debug.o python.o _tkinter.o $(SPARKY_OBJS) \ +- $(LDFLAGS) $(PYLDFLAGS) $(LDLIBS) ++ $(CXX) $(LDFLAGS) -o $@ main-debug.o python.o _tkinter.o $(SPARKY_OBJS) \ ++ $(PYLDFLAGS) $(LDLIBS) + + main-debug.o: main-debug.cc + $(CXX) $(CXXFLAGS) $(PYIFLAGS) -c $(SPARKY_SRC)/main-debug.cc diff --git a/sci-chemistry/sparky/files/3.115-makefile.patch b/sci-chemistry/sparky/files/3.115-makefile.patch new file mode 100644 index 000000000000..7c810dcbd8ae --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-makefile.patch @@ -0,0 +1,17 @@ +diff --git a/Makefile b/Makefile +index bb27034..30979bd 100644 +--- a/Makefile ++++ b/Makefile +@@ -48,6 +48,12 @@ TKINTER_PYMOD = _tkinter$(PYMOD_SUFFIX) + all nopython $(SPY_PYMOD) $(TKINTER_PYMOD) $(EXECUTABLES) debug-sparky clean: force + cd $(SPARKY_OBJ) && $(MAKE) -f $(SPARKY_SRC)/Makefile -e $@ + ++libraries: ++ cd $(SPARKY_OBJ) && $(MAKE) -f $(SPARKY_SRC)/Makefile -e $(SPY_PYMOD) $(TKINTER_PYMOD) ++ ++binaries: ++ cd $(SPARKY_OBJ) && $(MAKE) -f $(SPARKY_SRC)/Makefile -e $(EXECUTABLES) debug-sparky ++ + Makefile.dep TAGS: force + cd $(SPARKY_SRC) && $(MAKE) -f Makefile -e $@ + diff --git a/sci-chemistry/sparky/files/3.115-paths.patch b/sci-chemistry/sparky/files/3.115-paths.patch new file mode 100644 index 000000000000..20d9a801ecd6 --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-paths.patch @@ -0,0 +1,13 @@ +diff --git a/c++/paths.h b/c++/paths.h +index 2a21366..38aff52 100644 +--- a/c++/paths.h ++++ b/c++/paths.h +@@ -19,7 +19,7 @@ + // Installation subdirectories and files + // + #define SPARKY_MANUAL "manual" +-#define SPARKY_LIB "lib" ++#define SPARKY_LIB "." + #define SPARKY_PRINT "print-prolog.ps" // under lib directory + #define SPARKY_RESOURCE "Sparky" // under lib directory + #define SPARKY_SAMPLE_DATA "example" diff --git a/sci-chemistry/sparky/files/3.115-wrapper-r1.patch b/sci-chemistry/sparky/files/3.115-wrapper-r1.patch new file mode 100644 index 000000000000..d83b5b8510cc --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-wrapper-r1.patch @@ -0,0 +1,41 @@ +diff --git a/bin/sparky b/bin/sparky +index 8b51212..270723a 100644 +--- a/bin/sparky ++++ b/bin/sparky +@@ -4,18 +4,6 @@ + # + + # ----------------------------------------------------------------------------- +-# Figure out Sparky installation directory from $0. +-# +-set sparky_exe = "$0" +-while (-l "$sparky_exe") +- set ls_sparky_exe = `ls -l "$sparky_exe"` +- set sparky_exe = `echo "$ls_sparky_exe" | sed 's/.* -> //'` +-end +-set sparky_bin = `dirname "$sparky_exe"` +-set sparky_bin = `cd "$sparky_bin"; pwd` +-set sparky_inst = `dirname "$sparky_bin"` +- +-# ----------------------------------------------------------------------------- + # Sparky uses the SPARKY_INSTALL environment variable to find its + # application resource file and print prolog file. + # +@@ -25,7 +13,7 @@ setenv SPARKY_INSTALL "$sparky_inst" + # If Python is available start Sparky as a Python extension. + # Otherwise the standalone version of Sparky is started. + # +-set PYTHON = "$SPARKY_INSTALL/python2.5/bin/python2.5" ++set PYTHON = GENTOO_PYTHON + if (! -e "$PYTHON") then + set PYTHON = python2.5 + endif +@@ -79,7 +67,7 @@ if ($status == 0) then + # --------------------------------------------------------------------------- + # Add the Sparky package and Tkinter to the Python path + # +- set SPARKY_PYTHONPATH = "$SPARKY_INSTALL/python:$SPARKY_INSTALL/python/lib-tk" ++ set SPARKY_PYTHONPATH = "$SPARKY_INSTALL/python:$SPARKY_INSTALL/python/sparky" + if ($?PYTHONPATH) then + setenv PYTHONPATH "${SPARKY_PYTHONPATH}:$PYTHONPATH" + else diff --git a/sci-chemistry/sparky/metadata.xml b/sci-chemistry/sparky/metadata.xml new file mode 100644 index 000000000000..8937bad0b175 --- /dev/null +++ b/sci-chemistry/sparky/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci-chemistry@gentoo.org</email> + <name>Gentoo Chemistry Project</name> + </maintainer> +</pkgmetadata> 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..e664747fea13 --- /dev/null +++ b/sci-chemistry/sparky/sparky-3.115-r2.ebuild @@ -0,0 +1,117 @@ +# 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 +} |