public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/
@ 2019-12-15 15:31 Pacho Ramos
  0 siblings, 0 replies; 5+ messages in thread
From: Pacho Ramos @ 2019-12-15 15:31 UTC (permalink / raw
  To: gentoo-commits

commit:     4c03ac229acd7c3f5fd7aa110148ac5172268d4e
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 15 15:31:06 2019 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 15:31:29 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c03ac22

sci-chemistry/vmd: Fix /tmp PATH, open .pdb files as pymol does

Package-Manager: Portage-2.3.81, Repoman-2.3.19
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch |  22 ++
 sci-chemistry/vmd/vmd-1.9.3-r2.ebuild          | 266 +++++++++++++++++++++++++
 2 files changed, 288 insertions(+)

diff --git a/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch b/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch
new file mode 100644
index 00000000000..22712abf30b
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch
@@ -0,0 +1,22 @@
+--- a/scripts/vmd/vmdinit.tcl~	2016-10-27 05:46:34.000000000 +0200
++++ b/scripts/vmd/vmdinit.tcl	2019-12-03 16:29:01.894002827 +0100
+@@ -197,7 +197,7 @@
+       set env(TMPDIR) /tmp
+     }
+     default {
+-      set env(TMPDIR) /usr/tmp
++      set env(TMPDIR) /tmp
+     }
+   }
+ }
+--- a/scripts/vmd/chemical2vmd~	2000-07-03 19:30:23.000000000 +0200
++++ b/scripts/vmd/chemical2vmd	2019-12-03 16:28:49.316861178 +0100
+@@ -61,7 +61,7 @@
+ 
+ 
+ # Make a temp. file to store the load command
+-$ENV{'TMPDIR'} = '/usr/tmp' if !$ENV{'TMPDIR'};
++$ENV{'TMPDIR'} = '/tmp' if !$ENV{'TMPDIR'};
+ sub tmpfile {
+     local ($tempfile) = $ENV{'TMPDIR'} . '/chemical2vmd.' . $$;
+     local ($i);

diff --git a/sci-chemistry/vmd/vmd-1.9.3-r2.ebuild b/sci-chemistry/vmd/vmd-1.9.3-r2.ebuild
new file mode 100644
index 00000000000..02ad806afbe
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.9.3-r2.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+SRC_URI="
+	https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz
+	${P}.src.tar
+"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="fetch"
+
+# currently, tk-8.5* with USE=truetype breaks some
+# tk apps such as Sequence Viewer or Timeline.
+CDEPEND="
+	>=dev-lang/tk-8.6.1:0=
+	dev-lang/perl
+	dev-libs/expat
+	dev-python/numpy[${PYTHON_USEDEP}]
+	sci-libs/netcdf:0=
+	virtual/opengl
+	>=x11-libs/fltk-1.1.10-r2:1
+	x11-libs/libXft
+	x11-libs/libXi
+	${PYTHON_DEPS}
+	cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
+	gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
+	sqlite? ( dev-db/sqlite:3= )
+	tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
+	xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${CDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	dev-lang/swig
+"
+RDEPEND="${CDEPEND}
+	sci-biology/stride
+	sci-chemistry/chemical-mime-data
+	sci-chemistry/surf
+	x11-terms/xterm
+	msms? ( sci-chemistry/msms-bin )
+	povray? ( media-gfx/povray )
+"
+
+VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
+# Binary only plugin!!
+QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+
+pkg_nofetch() {
+	elog "Please download ${P}.src.tar from"
+	elog "${VMD_DOWNLOAD}"
+	elog "after agreeing to the license and get"
+	elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
+	elog "Place both into your DISTDIR directory"
+	elog
+	elog "Due to an upstream bug (https://bugs.gentoo.org/640440) sources"
+	elog "file may get downloaded as a compressed tarball or not. In that case"
+	elog "you will need to ensure you uncompress the file and rename it"
+	elog "as ${P}.src.tar"
+}
+
+src_prepare() {
+	xdg_src_prepare
+
+	use cuda && cuda_sanitize
+
+	eapply "${FILESDIR}"/${PN}-1.9.1-cuda-device_ptr.patch
+
+	cd "${WORKDIR}"/plugins || die
+
+	eapply -p2 "${WORKDIR}"/${P}-gentoo-plugins.patch
+
+	[[ ${SILENT} == yes ]] || sed '/^.SILENT/d' -i $(find -name Makefile)
+
+	sed \
+		-e "s:CC = gcc:CC = $(tc-getCC):" \
+		-e "s:CXX = g++:CXX = $(tc-getCXX):" \
+		-e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
+		-e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
+		-e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
+		-e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
+		-e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
+		-e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
+		-e "s:-ltcl8.5:-ltcl:" \
+		-i Make-arch || die "Failed to set up plugins Makefile"
+
+	sed \
+		-e '/^AR /s:=:?=:g' \
+		-e '/^RANLIB /s:=:?=:g' \
+		-i ../plugins/*/Makefile || die
+
+	tc-export AR RANLIB
+
+	sed \
+		-e "s:\$(CXXFLAGS)::g" \
+		-i hesstrans/Makefile || die
+
+	# prepare vmd itself
+	cd "${S}" || die
+
+	eapply -p2 "${WORKDIR}"/${P}-gentoo-base.patch
+	eapply "${FILESDIR}"/${P}-configure-libtachyon.patch
+	eapply "${FILESDIR}"/${P}-tmpdir.patch
+
+	# PREFIX
+	sed \
+		-e "s:/usr/include/:${EPREFIX}/usr/include:g" \
+		-i configure || die
+
+	sed \
+		-e "s:gentoo-bindir:${ED}/usr/bin:g" \
+		-e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
+		-e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
+		-e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-gcc:$(tc-getCC):g" \
+		-e "s:gentoo-g++:$(tc-getCXX):g" \
+		-e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
+		-e "s:gentoo-cflags:${CFLAGS}:g" \
+		-e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
+		-e "s:gentoo-nvflags::g" \
+		-e "s:gentoo-ldflags:${LDFLAGS}:g" \
+		-e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
+		-e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
+		-e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
+		-e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
+		-e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
+		-e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-i configure || die
+
+	if use cuda; then
+		sed \
+			-e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
+			-e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
+			-i configure src/Makefile || die
+		sed \
+			-e '/compute_/d' \
+			-i configure || die
+		sed \
+			-e 's:-gencode .*code=sm_..::' \
+			-i src/Makefile || die
+	fi
+
+	sed \
+		-e "s:LINUXPPC:LINUX:g" \
+		-e "s:LINUXALPHA:LINUX:g" \
+		-e "s:LINUXAMD64:LINUX:g" \
+		-e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
+		-e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
+		-e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
+		-i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
+
+	EMAKEOPTS=(
+		TCLINC="-I${EPREFIX}/usr/include"
+		TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
+		TCLLDFLAGS="-shared"
+		NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
+		NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
+		NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
+		NETCDFDYNAMIC=1
+		EXPATINC="-I${EPREFIX}/usr/include"
+		EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
+		EXPATLDFLAGS="-shared"
+		EXPATDYNAMIC=1
+	)
+	if use gromacs; then
+		EMAKEOPTS+=(
+			TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
+			TNGINC="-I${EPREFIX}/usr/include"
+			TNGLDFLAGS="-shared"
+			TNGDYNAMIC=1
+		)
+	fi
+	if use sqlite; then
+		EMAKEOPTS+=(
+			SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
+			SQLITEINC="-I${EPREFIX}/usr/include"
+			SQLITELDFLAGS="-shared"
+			SQLITEDYNAMIC=1
+		)
+	fi
+}
+
+src_configure() {
+	local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
+	rm -f configure.options && echo $myconf >> configure.options
+
+	use cuda && myconf+=" CUDA"
+#	use mpi && myconf+=" MPI"
+	use tachyon && myconf+=" LIBTACHYON"
+	use xinerama && myconf+=" XINERAMA"
+
+	export \
+		PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
+		PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
+		PYTHON_LIBRARY="$(python_get_LIBS)" \
+		NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
+		NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
+
+	perl ./configure LINUX \
+		${myconf} || die
+}
+
+src_compile() {
+	# build plugins
+	cd "${WORKDIR}"/plugins || die
+
+	emake \
+		${EMAKEOPTS[@]} \
+		LINUX
+
+	# build vmd
+	cd "${S}"/src || die
+	emake
+}
+
+src_install() {
+	# install plugins
+	cd "${WORKDIR}"/plugins || die
+	emake \
+			PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
+			distrib
+
+	# install vmd
+	cd "${S}"/src || die
+	emake install
+
+	# install docs
+	cd "${S}" || die
+	dodoc Announcement README doc/ig.pdf doc/ug.pdf
+
+	# remove some of the things we don't want and need in
+	# /usr/lib
+	cd "${ED}"/usr/$(get_libdir)/vmd || die
+	rm -fr doc README Announcement LICENSE || \
+		die "failed to clean up /usr/lib/vmd directory"
+
+	# adjust path in vmd wrapper
+	sed \
+		-e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
+		-e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
+		|| die "failed to set up vmd wrapper script"
+
+	# install icon and generate desktop entry
+	insinto /usr/share/pixmaps
+	doins "${WORKDIR}"/vmd.png
+	eprefixify "${WORKDIR}"/vmd.desktop
+	sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
+	# Open PDB files with VMD
+	echo "MimeType=chemical/x-pdb;" >> "${WORKDIR}"/vmd.desktop || die
+	domenu "${WORKDIR}"/vmd.desktop
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/
@ 2020-03-08 18:47 Pacho Ramos
  0 siblings, 0 replies; 5+ messages in thread
From: Pacho Ramos @ 2020-03-08 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     805bb1f57777f38626dad04b06629c0ef515c3a2
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  8 18:46:56 2020 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Mar  8 18:46:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=805bb1f5

sci-chemistry/vmd: Fix support for current CUDA versions

Package-Manager: Portage-2.3.93, Repoman-2.3.20
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch | 426 +++++++++++++++++++++++++++
 sci-chemistry/vmd/vmd-1.9.3-r5.ebuild        | 272 +++++++++++++++++
 2 files changed, 698 insertions(+)

diff --git a/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch b/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch
new file mode 100644
index 00000000000..258efb777ca
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch
@@ -0,0 +1,426 @@
+--- a/src/CUDAMarchingCubes.cu	2018-03-30 18:52:25.467189457 +0300
++++ b/src/CUDAMarchingCubes.cu	2018-03-30 18:52:02.387136244 +0300
+@@ -10,7 +10,7 @@
+  *
+  *      $RCSfile: CUDAMarchingCubes.cu,v $
+  *      $Author: johns $        $Locker:  $             $State: Exp $
+- *      $Revision: 1.30 $       $Date: 2016/11/28 03:04:58 $
++ *      $Revision: 1.32 $       $Date: 2018/02/15 05:15:02 $
+  *
+  ***************************************************************************
+  * DESCRIPTION:
+@@ -25,14 +25,17 @@
+ //
+ // Description: This class computes an isosurface for a given density grid
+ //              using a CUDA Marching Cubes (MC) alorithm. 
+-//              The implementation is based on the MC demo from the 
+-//              Nvidia GPU Computing SDK, but has been improved 
+-//              and extended.  This implementation achieves higher 
+-//              performance by reducing the number of temporary memory
+-//              buffers, reduces the number of scan calls by using vector
+-//              integer types, and allows extraction of per-vertex normals 
+-//              optionally computes per-vertex colors if provided with a 
+-//              volumetric texture map.
++//
++//              The implementation is loosely based on the MC demo from 
++//              the Nvidia GPU Computing SDK, but the design has been 
++//              improved and extended in several ways.  
++//
++//              This implementation achieves higher performance
++//              by reducing the number of temporary memory
++//              buffers, reduces the number of scan calls by using 
++//              vector integer types, and allows extraction of 
++//              per-vertex normals and optionally computes 
++//              per-vertex colors if a volumetric texture map is provided.
+ //
+ // Author: Michael Krone <michael.krone@visus.uni-stuttgart.de>
+ //         John Stone <johns@ks.uiuc.edu>
+@@ -48,7 +51,7 @@
+ #include <thrust/functional.h>
+ 
+ //
+-// Restrict macro to make it easy to do perf tuning tess
++// Restrict macro to make it easy to do perf tuning tests
+ //
+ #if 0
+ #define RESTRICT __restrict__
+@@ -171,6 +174,11 @@
+ texture<float, 3, cudaReadModeElementType> volumeTex;
+ 
+ // sample volume data set at a point p, p CAN NEVER BE OUT OF BOUNDS
++// XXX The sampleVolume() call underperforms vs. peak memory bandwidth
++//     because we don't strictly enforce coalescing requirements in the
++//     layout of the input volume presently.  If we forced X/Y dims to be
++//     warp-multiple it would become possible to use wider fetches and
++//     a few other tricks to improve global memory bandwidth 
+ __device__ float sampleVolume(const float * RESTRICT data, 
+                               uint3 p, uint3 gridSize) {
+     return data[(p.z*gridSize.x*gridSize.y) + (p.y*gridSize.x) + p.x];
+@@ -592,6 +600,30 @@
+     cudaBindTextureToArray(volumeTex, d_vol, desc);
+ }
+ 
++#if CUDART_VERSION >= 9000
++//
++// XXX CUDA 9.0RC breaks the usability of Thrust scan() prefix sums when
++//     used with the built-in uint2 vector integer types.  To workaround
++//     the problem we have to define our own type and associated conversion
++//     routines etc.
++//
++
++// XXX workaround for uint2 breakage in CUDA 9.0RC
++struct myuint2 : uint2 {
++  __host__ __device__ myuint2() : uint2(make_uint2(0, 0)) {}
++  __host__ __device__ myuint2(int val) : uint2(make_uint2(val, val)) {}
++  __host__ __device__ myuint2(uint2 val) : uint2(make_uint2(val.x, val.y)) {}
++};
++
++void ThrustScanWrapperUint2(uint2* output, uint2* input, unsigned int numElements) {
++    const uint2 zero = make_uint2(0, 0);
++    thrust::exclusive_scan(thrust::device_ptr<myuint2>((myuint2*)input),
++                           thrust::device_ptr<myuint2>((myuint2*)input + numElements),
++                           thrust::device_ptr<myuint2>((myuint2*)output),
++                           (myuint2) zero);
++}
++
++#else
+ 
+ void ThrustScanWrapperUint2(uint2* output, uint2* input, unsigned int numElements) {
+     const uint2 zero = make_uint2(0, 0);
+@@ -601,6 +633,7 @@
+                            zero);
+ }
+ 
++#endif
+ 
+ void ThrustScanWrapperArea(float* output, float* input, unsigned int numElements) {
+     thrust::inclusive_scan(thrust::device_ptr<float>(input), 
+@@ -639,11 +672,9 @@
+ }
+ 
+ 
+-///////////////////////////////////////////////////////////////////////////////
+ //
+ // class CUDAMarchingCubes
+ //
+-///////////////////////////////////////////////////////////////////////////////
+ 
+ CUDAMarchingCubes::CUDAMarchingCubes() {
+     // initialize values
+@@ -713,9 +744,6 @@
+ }
+ 
+ 
+-////////////////////////////////////////////////////////////////////////////////
+-//! Run the Cuda part of the computation
+-////////////////////////////////////////////////////////////////////////////////
+ void CUDAMarchingCubes::computeIsosurfaceVerts(float3* vertOut, unsigned int maxverts, dim3 & grid3) {
+     // check if data is available
+     if (!this->setdata)
+
+--- a/src/CUDAMDFF.cu	2016-12-01 10:11:56.000000000 +0300
++++ b/src/CUDAMDFF.cu	2018-03-30 18:56:44.352937599 +0300
+@@ -11,7 +11,7 @@
+  *
+  *      $RCSfile: CUDAMDFF.cu,v $
+  *      $Author: johns $        $Locker:  $             $State: Exp $
+- *      $Revision: 1.75 $      $Date: 2015/04/07 20:41:26 $
++ *      $Revision: 1.78 $      $Date: 2018/02/19 07:10:37 $
+  *
+  ***************************************************************************
+  * DESCRIPTION:
+@@ -28,12 +28,16 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <cuda.h>
+-#include <float.h> // FLT_MAX etc
+-
++#if CUDART_VERSION >= 9000
++#include <cuda_fp16.h> // need to explicitly include for CUDA 9.0
++#endif
+ #if CUDART_VERSION < 4000
+ #error The VMD MDFF feature requires CUDA 4.0 or later
+ #endif
+ 
++#include <float.h> // FLT_MAX etc
++
++
+ #include "Inform.h"
+ #include "utilities.h"
+ #include "WKFThreads.h"
+@@ -588,6 +592,43 @@
+ }
+ 
+ 
++
++// #define VMDUSESHUFFLE 1
++#if defined(VMDUSESHUFFLE) && __CUDA_ARCH__ >= 300 && CUDART_VERSION >= 9000
++// New warp shuffle-based CC sum reduction for Kepler and later GPUs.
++inline __device__ void cc_sumreduction(int tid, int totaltb, 
++                                float4 &total_cc_sums,
++                                float &total_lcc,
++                                int &total_lsize,
++                                float4 *tb_cc_sums,
++                                float *tb_lcc,
++                                int *tb_lsize) {
++  total_cc_sums = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
++  total_lcc = 0.0f;
++  total_lsize = 0;
++
++  // use precisely one warp to do the final reduction
++  if (tid < warpSize) {
++    for (int i=tid; i<totaltb; i+=warpSize) {
++      total_cc_sums += tb_cc_sums[i];
++      total_lcc     += tb_lcc[i];
++      total_lsize   += tb_lsize[i];
++    }
++
++    // perform intra-warp parallel reduction...
++    // general loop version of parallel sum-reduction
++    for (int mask=warpSize/2; mask>0; mask>>=1) {
++      total_cc_sums.x += __shfl_xor_sync(0xffffffff, total_cc_sums.x, mask);
++      total_cc_sums.y += __shfl_xor_sync(0xffffffff, total_cc_sums.y, mask);
++      total_cc_sums.z += __shfl_xor_sync(0xffffffff, total_cc_sums.z, mask);
++      total_cc_sums.w += __shfl_xor_sync(0xffffffff, total_cc_sums.w, mask);
++      total_lcc     += __shfl_xor_sync(0xffffffff, total_lcc, mask);
++      total_lsize   += __shfl_xor_sync(0xffffffff, total_lsize, mask);
++    }
++  }
++}
++#else
++// shared memory based CC sum reduction 
+ inline __device__ void cc_sumreduction(int tid, int totaltb, 
+                                 float4 &total_cc_sums,
+                                 float &total_lcc,
+@@ -629,6 +670,7 @@
+   total_lcc = tb_lcc[0];
+   total_lsize = tb_lsize[0];
+ }
++#endif
+ 
+ 
+ inline __device__ void thread_cc_sum(float ref, float density,
+@@ -750,6 +792,92 @@
+   }
+ 
+ 
++#if defined(VMDUSESHUFFLE) && __CUDA_ARCH__ >= 300 && CUDART_VERSION >= 9000
++  // all threads write their local sums to shared memory...
++  __shared__ float2 tb_cc_means_s[TOTALBLOCKSZ];
++  __shared__ float2 tb_cc_squares_s[TOTALBLOCKSZ];
++  __shared__ float tb_lcc_s[TOTALBLOCKSZ];
++  __shared__ int tb_lsize_s[TOTALBLOCKSZ];
++
++  tb_cc_means_s[tid] = thread_cc_means;
++  tb_cc_squares_s[tid] = thread_cc_squares;
++  tb_lcc_s[tid] = thread_lcc;
++  tb_lsize_s[tid] = thread_lsize;
++  __syncthreads(); // all threads must hit syncthreads call...
++
++  // use precisely one warp to do the thread-block-wide reduction
++  if (tid < warpSize) {
++    float2 tmp_cc_means = make_float2(0.0f, 0.0f);
++    float2 tmp_cc_squares = make_float2(0.0f, 0.0f);
++    float tmp_lcc = 0.0f;
++    int tmp_lsize = 0;
++    for (int i=tid; i<TOTALBLOCKSZ; i+=warpSize) {
++      tmp_cc_means   += tb_cc_means_s[i];
++      tmp_cc_squares += tb_cc_squares_s[i];
++      tmp_lcc        += tb_lcc_s[i];
++      tmp_lsize      += tb_lsize_s[i];
++    }
++
++    // perform intra-warp parallel reduction...
++    // general loop version of parallel sum-reduction
++    for (int mask=warpSize/2; mask>0; mask>>=1) {
++      tmp_cc_means.x   += __shfl_xor_sync(0xffffffff, tmp_cc_means.x, mask);
++      tmp_cc_means.y   += __shfl_xor_sync(0xffffffff, tmp_cc_means.y, mask);
++      tmp_cc_squares.x += __shfl_xor_sync(0xffffffff, tmp_cc_squares.x, mask);
++      tmp_cc_squares.y += __shfl_xor_sync(0xffffffff, tmp_cc_squares.y, mask);
++      tmp_lcc          += __shfl_xor_sync(0xffffffff, tmp_lcc, mask);
++      tmp_lsize        += __shfl_xor_sync(0xffffffff, tmp_lsize, mask);
++    }
++
++    // write per-thread-block partial sums to global memory,
++    // if a per-thread-block CC output array is provided, write the 
++    // local CC for this thread block out, and finally, check if we 
++    // are the last thread block to finish, and finalize the overall
++    // CC results for the entire grid of thread blocks.
++    if (tid == 0) {   
++      unsigned int bid = blockIdx.z * gridDim.x * gridDim.y +
++                         blockIdx.y * gridDim.x + blockIdx.x;
++
++      tb_cc_sums[bid] = make_float4(tmp_cc_means.x, tmp_cc_means.y,
++                                    tmp_cc_squares.x, tmp_cc_squares.y);
++      tb_lcc[bid]     = tmp_lcc;
++      tb_lsize[bid]   = tmp_lsize;
++
++      if (tb_CC != NULL) {
++        float cc = calc_cc(tb_cc_means_s[0].x, tb_cc_means_s[0].y,
++                           tb_cc_squares_s[0].x, tb_cc_squares_s[0].y,
++                           tb_lsize_s[0], tb_lcc_s[0]);
++
++        // write local per-thread-block CC to global memory
++        tb_CC[bid]   = cc;
++      }
++
++      __threadfence();
++
++      unsigned int value = atomicInc(&tbcatomic[0], totaltb);
++      isLastBlockDone = (value == (totaltb - 1));
++    }
++  }
++  __syncthreads();
++
++  if (isLastBlockDone) {
++    float4 total_cc_sums;
++    float total_lcc;
++    int total_lsize;
++    cc_sumreduction(tid, totaltb, total_cc_sums, total_lcc, total_lsize,
++                    tb_cc_sums, tb_lcc, tb_lsize); 
++
++    if (tid == 0) {
++      tb_cc_sums[totaltb] = total_cc_sums;
++      tb_lcc[totaltb] = total_lcc;
++      tb_lsize[totaltb] = total_lsize;
++    }
++ 
++    reset_atomic_counter(&tbcatomic[0]);
++  }
++
++#else
++
+   // all threads write their local sums to shared memory...
+   __shared__ float2 tb_cc_means_s[TOTALBLOCKSZ];
+   __shared__ float2 tb_cc_squares_s[TOTALBLOCKSZ];
+@@ -794,6 +922,7 @@
+     }
+     __syncthreads(); // all threads must hit syncthreads call...
+   }
++//#endif
+ 
+   // write per-thread-block partial sums to global memory,
+   // if a per-thread-block CC output array is provided, write the 
+@@ -847,6 +976,7 @@
+     }
+ #endif
+   }
++#endif
+ }
+ 
+ 
+
+--- a/src/CUDAQuickSurf.cu	2016-12-01 10:11:56.000000000 +0300
++++ b/src/CUDAQuickSurf.cu	2018-03-30 19:01:38.777196233 +0300
+@@ -11,7 +11,7 @@
+  *
+  *      $RCSfile: CUDAQuickSurf.cu,v $
+  *      $Author: johns $        $Locker:  $             $State: Exp $
+- *      $Revision: 1.81 $      $Date: 2016/04/20 04:57:46 $
++ *      $Revision: 1.84 $      $Date: 2018/02/15 04:59:15 $
+  *
+  ***************************************************************************
+  * DESCRIPTION:
+@@ -22,6 +22,9 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <cuda.h>
++#if CUDART_VERSION >= 9000
++#include <cuda_fp16.h>  // need to explicitly include for CUDA 9.0
++#endif
+ 
+ #if CUDART_VERSION < 4000
+ #error The VMD QuickSurf feature requires CUDA 4.0 or later
+@@ -130,14 +133,14 @@
+ #define GUNROLL      1
+ #endif
+ 
+-#if __CUDA_ARCH__ >= 300
+ #define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
+-#define MINBLOCKDENS 1
++#if __CUDA_ARCH__ >= 600
++#define MINBLOCKDENS 16
++#elif __CUDA_ARCH__ >= 300
++#define MINBLOCKDENS 16
+ #elif __CUDA_ARCH__ >= 200
+-#define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
+ #define MINBLOCKDENS 1
+ #else
+-#define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
+ #define MINBLOCKDENS 1
+ #endif
+ 
+@@ -150,7 +153,7 @@
+ //
+ template<class DENSITY, class VOLTEX>
+ __global__ static void 
+-// __launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
++__launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
+ gaussdensity_fast_tex_norm(int natoms,
+                       const float4 * RESTRICT sorted_xyzr, 
+                       const float4 * RESTRICT sorted_color, 
+@@ -217,6 +220,8 @@
+     for (yab=yabmin; yab<=yabmax; yab++) {
+       for (xab=xabmin; xab<=xabmax; xab++) {
+         int abcellidx = zab * acplanesz + yab * acncells.x + xab;
++        // this biggest latency hotspot in the kernel, if we could improve
++        // packing of the grid cell map, we'd likely improve performance 
+         uint2 atomstartend = cellStartEnd[abcellidx];
+         if (atomstartend.x != GRID_CELL_EMPTY) {
+           unsigned int atomid;
+@@ -296,7 +301,7 @@
+ 
+ 
+ __global__ static void 
+-// __launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
++__launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
+ gaussdensity_fast_tex3f(int natoms,
+                         const float4 * RESTRICT sorted_xyzr, 
+                         const float4 * RESTRICT sorted_color, 
+@@ -363,6 +368,8 @@
+     for (yab=yabmin; yab<=yabmax; yab++) {
+       for (xab=xabmin; xab<=xabmax; xab++) {
+         int abcellidx = zab * acplanesz + yab * acncells.x + xab;
++        // this biggest latency hotspot in the kernel, if we could improve
++        // packing of the grid cell map, we'd likely improve performance 
+         uint2 atomstartend = cellStartEnd[abcellidx];
+         if (atomstartend.x != GRID_CELL_EMPTY) {
+           unsigned int atomid;
+@@ -550,7 +557,6 @@
+ 
+ // per-GPU handle with various memory buffer pointers, etc.
+ typedef struct {
+-  /// max grid sizes and attributes the current allocations will support
+   int verbose;
+   long int natoms;
+   int colorperatom;
+@@ -561,18 +567,18 @@
+   int gy;
+   int gz;
+ 
+-  CUDAMarchingCubes *mc;     ///< Marching cubes class used to extract surface
++  CUDAMarchingCubes *mc;     
+ 
+-  float *devdensity;         ///< density map stored in GPU memory
+-  void *devvoltexmap;        ///< volumetric texture map
+-  float4 *xyzr_d;            ///< atom coords and radii
+-  float4 *sorted_xyzr_d;     ///< cell-sorted coords and radii
+-  float4 *color_d;           ///< colors
+-  float4 *sorted_color_d;    ///< cell-sorted colors
+-
+-  unsigned int *atomIndex_d; ///< cell index for each atom
+-  unsigned int *atomHash_d;  ///<  
+-  uint2 *cellStartEnd_d;     ///< cell start/end indices 
++  float *devdensity;         
++  void *devvoltexmap;        
++  float4 *xyzr_d;            
++  float4 *sorted_xyzr_d;     
++  float4 *color_d;           
++  float4 *sorted_color_d;    
++
++  unsigned int *atomIndex_d; 
++  unsigned int *atomHash_d;  
++  uint2 *cellStartEnd_d;     
+ 
+   void *safety;
+   float3 *v3f_d;

diff --git a/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild b/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild
new file mode 100644
index 00000000000..a4e0e6db49b
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild
@@ -0,0 +1,272 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+SRC_URI="
+	https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz
+	${P}.src.tar
+"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="fetch"
+
+# currently, tk-8.5* with USE=truetype breaks some
+# tk apps such as Sequence Viewer or Timeline.
+CDEPEND="
+	>=dev-lang/tk-8.6.1:0=
+	dev-lang/perl
+	dev-libs/expat
+	$(python_gen_cond_dep '
+		|| (
+			dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
+			dev-python/numpy[${PYTHON_MULTI_USEDEP}]
+		)
+	')
+	sci-libs/netcdf:0=
+	virtual/opengl
+	>=x11-libs/fltk-1.1.10-r2:1
+	x11-libs/libXft
+	x11-libs/libXi
+	${PYTHON_DEPS}
+	cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
+	gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
+	sqlite? ( dev-db/sqlite:3= )
+	tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
+	xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${CDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	dev-lang/swig
+"
+RDEPEND="${CDEPEND}
+	sci-biology/stride
+	sci-chemistry/chemical-mime-data
+	sci-chemistry/surf
+	x11-terms/xterm
+	msms? ( sci-chemistry/msms-bin )
+	povray? ( media-gfx/povray )
+"
+
+VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
+# Binary only plugin!!
+QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+
+pkg_nofetch() {
+	elog "Please download ${P}.src.tar from"
+	elog "${VMD_DOWNLOAD}"
+	elog "after agreeing to the license and get"
+	elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
+	elog "Place both into your DISTDIR directory"
+	elog
+	elog "Due to an upstream bug (https://bugs.gentoo.org/640440) sources"
+	elog "file may get downloaded as a compressed tarball or not. In that case"
+	elog "you will need to ensure you uncompress the file and rename it"
+	elog "as ${P}.src.tar"
+}
+
+src_prepare() {
+	xdg_src_prepare
+
+	use cuda && cuda_sanitize
+
+	# Compat with newer CUDA versions (from Arch)
+	eapply "${FILESDIR}"/${P}-cuda.patch
+
+	cd "${WORKDIR}"/plugins || die
+
+	eapply -p2 "${WORKDIR}"/${P}-gentoo-plugins.patch
+
+	[[ ${SILENT} == yes ]] || sed '/^.SILENT/d' -i $(find -name Makefile)
+
+	sed \
+		-e "s:CC = gcc:CC = $(tc-getCC):" \
+		-e "s:CXX = g++:CXX = $(tc-getCXX):" \
+		-e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
+		-e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
+		-e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
+		-e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
+		-e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
+		-e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
+		-e "s:-ltcl8.5:-ltcl:" \
+		-i Make-arch || die "Failed to set up plugins Makefile"
+
+	sed \
+		-e '/^AR /s:=:?=:g' \
+		-e '/^RANLIB /s:=:?=:g' \
+		-i ../plugins/*/Makefile || die
+
+	tc-export AR RANLIB
+
+	sed \
+		-e "s:\$(CXXFLAGS)::g" \
+		-i hesstrans/Makefile || die
+
+	# prepare vmd itself
+	cd "${S}" || die
+
+	eapply -p2 "${WORKDIR}"/${P}-gentoo-base.patch
+	eapply "${FILESDIR}"/${P}-configure-libtachyon.patch
+	eapply "${FILESDIR}"/${P}-tmpdir.patch
+
+	# PREFIX
+	sed \
+		-e "s:/usr/include/:${EPREFIX}/usr/include:g" \
+		-i configure || die
+
+	sed \
+		-e "s:gentoo-bindir:${ED}/usr/bin:g" \
+		-e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
+		-e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
+		-e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-gcc:$(tc-getCC):g" \
+		-e "s:gentoo-g++:$(tc-getCXX):g" \
+		-e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
+		-e "s:gentoo-cflags:${CFLAGS}:g" \
+		-e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
+		-e "s:gentoo-nvflags::g" \
+		-e "s:gentoo-ldflags:${LDFLAGS}:g" \
+		-e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
+		-e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
+		-e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
+		-e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
+		-e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
+		-e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-i configure || die
+
+	if use cuda; then
+		sed \
+			-e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
+			-e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
+			-i configure src/Makefile || die
+		sed \
+			-e '/compute_/d' \
+			-i configure || die
+		sed \
+			-e 's:-gencode .*code=sm_..::' \
+			-i src/Makefile || die
+	fi
+
+	sed \
+		-e "s:LINUXPPC:LINUX:g" \
+		-e "s:LINUXALPHA:LINUX:g" \
+		-e "s:LINUXAMD64:LINUX:g" \
+		-e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
+		-e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
+		-e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
+		-i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
+
+	EMAKEOPTS=(
+		TCLINC="-I${EPREFIX}/usr/include"
+		TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
+		TCLLDFLAGS="-shared"
+		NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
+		NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
+		NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
+		NETCDFDYNAMIC=1
+		EXPATINC="-I${EPREFIX}/usr/include"
+		EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
+		EXPATLDFLAGS="-shared"
+		EXPATDYNAMIC=1
+	)
+	if use gromacs; then
+		EMAKEOPTS+=(
+			TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
+			TNGINC="-I${EPREFIX}/usr/include"
+			TNGLDFLAGS="-shared"
+			TNGDYNAMIC=1
+		)
+	fi
+	if use sqlite; then
+		EMAKEOPTS+=(
+			SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
+			SQLITEINC="-I${EPREFIX}/usr/include"
+			SQLITELDFLAGS="-shared"
+			SQLITEDYNAMIC=1
+		)
+	fi
+}
+
+src_configure() {
+	local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
+	rm -f configure.options && echo $myconf >> configure.options
+
+	use cuda && myconf+=" CUDA"
+#	use mpi && myconf+=" MPI"
+	use tachyon && myconf+=" LIBTACHYON"
+	use xinerama && myconf+=" XINERAMA"
+
+	export \
+		PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
+		PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
+		PYTHON_LIBRARY="$(python_get_LIBS)" \
+		NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
+		NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
+
+	perl ./configure LINUX \
+		${myconf} || die
+}
+
+src_compile() {
+	# build plugins
+	cd "${WORKDIR}"/plugins || die
+
+	emake \
+		${EMAKEOPTS[@]} \
+		LINUX
+
+	# build vmd
+	cd "${S}"/src || die
+	emake
+}
+
+src_install() {
+	# install plugins
+	cd "${WORKDIR}"/plugins || die
+	emake \
+			PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
+			distrib
+
+	# install vmd
+	cd "${S}"/src || die
+	emake install
+
+	# install docs
+	cd "${S}" || die
+	dodoc Announcement README doc/ig.pdf doc/ug.pdf
+
+	# remove some of the things we don't want and need in
+	# /usr/lib
+	cd "${ED}"/usr/$(get_libdir)/vmd || die
+	rm -fr doc README Announcement LICENSE || \
+		die "failed to clean up /usr/lib/vmd directory"
+
+	# adjust path in vmd wrapper
+	sed \
+		-e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
+		-e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
+		|| die "failed to set up vmd wrapper script"
+
+	# install icon and generate desktop entry
+	insinto /usr/share/pixmaps
+	doins "${WORKDIR}"/vmd.png
+	eprefixify "${WORKDIR}"/vmd.desktop
+	sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
+	# Open PDB files with VMD
+	echo "MimeType=chemical/x-pdb;" >> "${WORKDIR}"/vmd.desktop || die
+	domenu "${WORKDIR}"/vmd.desktop
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/
@ 2020-09-09 17:03 Pacho Ramos
  0 siblings, 0 replies; 5+ messages in thread
From: Pacho Ramos @ 2020-09-09 17:03 UTC (permalink / raw
  To: gentoo-commits

commit:     8790988057a312f5e5cfa1d6f0acf4c681619321
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  9 17:03:02 2020 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Wed Sep  9 17:03:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87909880

sci-chemistry/vmd: Bump to 1.9.4_alpha43

Bug: https://bugs.gentoo.org/735462
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 sci-chemistry/vmd/Manifest                         |   1 +
 .../vmd/files/vmd-1.9.4-gentoo-paths.patch         | 276 +++++++++++++++++++++
 sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch     |  11 +
 sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild         | 265 ++++++++++++++++++++
 4 files changed, 553 insertions(+)

diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
index 977dcfa66a2..62f7ae61617 100644
--- a/sci-chemistry/vmd/Manifest
+++ b/sci-chemistry/vmd/Manifest
@@ -1,2 +1,3 @@
 DIST vmd-1.9.3-gentoo-patches.tar.xz 14804 BLAKE2B 64e5df40ed88c23c924d32636495f0383590f91dbb714e64c73551072bb50d72b4e5f188fb2da58d32e84b4bc96ff0297d7ff1bf02b0481198901c4e12e4ee59 SHA512 5d506d4df5ca4a3edb33d77aeeb440fcb4750a250c77103b99f385f356eb9d71d954173b981d3a50f7a714cfc872587e5040868904e50fa1f6fd69d7e4d9f1b1
 DIST vmd-1.9.3.src.tar 129566720 BLAKE2B 848f3280d51765dcd18722dd233e0cdee3b7c0ac3dd48324260ebe1604ba781ca0a1fe4cae6652501d23d5d41712020e17dbb6bc21a1856eb3289a4aab6b774b SHA512 0502df1e8b60c570ca88b779b4153acfaa599a78df53fa96fca36301bab902864118332b5524ae7d170d3a9e429cf1e13d69e1197268b5e841afc0bb56a737ba
+DIST vmd-1.9.4a43.src.tar 123955200 BLAKE2B a99ee2bce1024613ad951fc97f4cd4b6f6ad114aea67a0a6644f687c69eae488eb862fd5ea5bff31e12f01a95f6f60be04dad2a82879603b9b457443267bb18f SHA512 3e3d5d7b0d220f070d4978940ff5ab8af531e507a224cdd15e4871e263de64b4ba24e9d964cb680b31f376afbdc08f46cb4070e3cd4a474b9bfe0732c7b3cff0

diff --git a/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch b/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch
new file mode 100644
index 00000000000..ca74b868d8f
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch
@@ -0,0 +1,276 @@
+--- a/bin/vmd.sh.old	2020-09-09 18:02:09.135798193 +0200
++++ b/bin/vmd.sh	2020-09-09 18:37:22.355511675 +0200
+@@ -436,6 +436,7 @@
+ 
+ # set the path to a few external programs
+ # Stride -- used to generate cartoon representations etc.
++export STRIDE_BIN="gentoo-stride"
+ if [ -z "$STRIDE_BIN" ]
+ then
+   if [ -x "$MASTERVMDDIR/stride_$ARCH" ]
+@@ -446,6 +447,7 @@
+ fi
+ 
+ # Surf -- used to generate molecular surfaces
++export SURF_BIN="gentoo-surf"
+ if [ -z "$SURF_BIN" ]
+ then
+   if [ -x "$MASTERVMDDIR/surf_$ARCH" ]
+@@ -456,6 +458,7 @@
+ fi
+ 
+ # Tachyon -- used to generate ray traced graphics
++export TACHYON_BIN="gentoo-tachyon"
+ if [ -z "$TACHYON_BIN" ]
+ then
+   if [ -x "$MASTERVMDDIR/tachyon_$ARCH" ]
+--- a/configure.old	2020-09-09 18:05:55.778655084 +0200
++++ b/configure	2020-09-09 18:38:01.607083112 +0200
+@@ -13,11 +13,10 @@
+ $install_name = "vmd";
+ 
+ # Directory where VMD startup script is installed, should be in users' paths.
+-$install_bin_dir="/usr/local/bin";
++$install_bin_dir="gentoo-bindir";
+ 
+ # Directory where VMD files and executables are installed
+-$install_library_dir="/usr/local/lib/$install_name";
+-
++$install_library_dir="gentoo-libdir/$install_name";
+ 
+ # optionally override hard-coded defaults above with environment variables
+ if ($ENV{VMDINSTALLNAME}) {
+@@ -143,29 +142,6 @@
+ # Configure script code begins here
+ ############################################################################
+ 
+-## Test for existence of a properly compiled plugin tree
+-if (!(-e "plugins")) {
+-  print "\n";
+-  print "VMD plugin directory not found.\n";
+-  print "Please compile the VMD plugins and do 'make distrib' to copy them\n";
+-  print "into a 'plugins' directory linked or located in this directory.\n";
+-  print "Be sure your PLUGINDIR environment variable is set before running\n";
+-  print "'make distrib' in the plugin build area.\n";
+-  print "\n";
+-  die "Halting configuration until VMD plugins are built.\n";
+-} else {
+-  if (!(-e "plugins/include/vmdplugin.h")) {
+-    print "\n";
+-    print "VMD plugin include files or directory not found.\n";
+-    print "Please compile the VMD plugins and do 'make distrib' to copy them\n";
+-    print "into a 'plugins' directory linked or located in this directory.\n";
+-    print "Be sure your PLUGINDIR environment variable is set before running\n";
+-    print "'make distrib' in the plugin build area.\n";
+-    print "\n";
+-    die "Halting configuration until VMD plugins are built.\n";
+-  }
+-} 
+-
+ #################### Parse command line options   ###########
+ # list of allowed architectures
+ @archlist=('AIX6_64', 'ANDROIDARMV7A', 'BLUEGENEQ', 'BLUEWATERS', 'CRAY_XC', 'CRAY_XK', 'FREEBSD', 'FREEBSDAMD64', 'LINUX', 'LINUXAMD64', 'LINUXARM64', 'LINUXCARMA', 'LINUXPPC64', 'MACOSX', 'MACOSXX86', 'MACOSXX86_64', 'OPENPOWER', 'SUMMIT', 'SUMMITDEV', 'SOLARIS2', 'SOLARIS2_64', 'SOLARISX86', 'SOLARISX86_64', 'WIN32', 'WIN64');
+@@ -493,7 +469,7 @@
+ 
+ $arch_cc          = "cc";
+ $arch_ccpp        = "CC";
+-$arch_nvcc        = "/usr/local/cuda-10.2/bin/nvcc";
++$arch_nvcc        = "gentoo-nvcc";
+ $arch_nvccflags   = "-lineinfo --ptxas-options=-v " . 
+                     "-gencode arch=compute_30,code=compute_30 " .
+                     "-gencode arch=compute_30,code=sm_35 " .
+@@ -537,7 +513,7 @@
+ 
+ ################ Plugin options
+ #
+-$plugin_dir	= "../plugins";
++$plugin_dir    = "gentoo-plugindir";
+ $plugin_include = "-I$plugin_dir/include";
+ $plugin_library = "";
+ $plugin_libs    = "";
+@@ -550,7 +526,7 @@
+ @plugin_extra   = ();
+ 
+ if ($config_staticplugin) {
+-  $molfile_dir = "$plugin_dir/$config_arch/molfile";
++  $molfile_dir = "$plugin_dir/compile/lib_LINUX/molfile";
+   $plugin_include .= " -I$molfile_dir";
+   $plugin_library .= " -L$molfile_dir";
+   $plugin_libs    .= " -lmolfile_plugin";
+@@ -715,8 +691,8 @@
+ ################ FLTK GUI
+ $fltk_defines     = "-DVMDGUI -DVMDFLTK";
+ $fltk_dir         = "$vmd_library_dir/fltk";
+-$fltk_include     = "-I$fltk_dir/include";
+-$fltk_library     = "-L$fltk_dir/$config_arch";
++$fltk_include     = "-Igentoo-fltk-include";
++$fltk_library     = "-Lgentoo-fltk-libs";
+ $fltk_libs        = "-lfltk -lX11";
+ #@fltk_cc          = ('forms_ui.c');
+ @fltk_cu          = ();
+@@ -777,8 +753,8 @@
+ if ($config_tk) { $tcl_include .= " -I$stock_tk_include_dir"; }
+ $tcl_library      = "-L$stock_tcl_library_dir";
+ if ($config_tk) { $tcl_library .= " -L$stock_tk_library_dir"; }
+-$tcl_libs         = "-ltcl8.5";  
+-if ($config_tk) { $tcl_libs = "-ltk8.5 -lX11 " . $tcl_libs; }
++$tcl_libs         = "-ltcl";  
++if ($config_tk) { $tcl_libs = "-ltk -lX11 " . $tcl_libs; }
+ 
+ @tcl_cc           = ();
+ @tcl_cu           = ();
+@@ -1289,8 +1265,8 @@
+ # This may be commented out if not required.
+ $libtachyon_defines     = "-DVMDLIBTACHYON";
+ $libtachyon_dir         = "$vmd_library_dir/tachyon";
+-$libtachyon_include     = "-I$libtachyon_dir/include";
+-$libtachyon_library     = "-L$libtachyon_dir/lib_$config_arch";
++$libtachyon_include     = "-Igentoo-libtachyon-include";
++$libtachyon_library     = "-Lgentoo-libtachyon-libs";
+ $libtachyon_libs        = "-ltachyon";
+ @libtachyon_cc          = ();
+ @libtachyon_cu          = ();
+@@ -1541,8 +1517,8 @@
+ #######################
+ $netcdf_defines     = "";
+ $netcdf_dir         = "$vmd_library_dir/netcdf";
+-$netcdf_include     = "-I$netcdf_dir/include";
+-$netcdf_library     = "-L$netcdf_dir/lib_$config_arch";
++$netcdf_include     = "-Igentoo-netcdf-include";
++$netcdf_library     = "-Lgentoo-netcdf-libs";
+ $netcdf_libs        = "-lnetcdf";
+ @netcdf_cc          = ();
+ @netcdf_cu          = ();
+@@ -1595,6 +1571,7 @@
+ #$stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "/usr/local/lib";
+ $stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "$vmd_library_dir/python/lib_$config_arch/include/python2.5";
+ $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
++$stock_python_library=$ENV{"PYTHON_LIBRARY"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
+ 
+ #$stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "/usr/local/include";
+ #$stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "/usr/local/lib";
+@@ -1604,7 +1581,7 @@
+ $python_defines     = "-DVMDPYTHON";
+ $python_include     = "-I$stock_python_include_dir -I$stock_numpy_include_dir -I$stock_numpy_library_dir";
+ $python_library     = "-L$stock_python_library_dir";
+-$python_libs        = "-lpython2.5 -lpthread";
++$python_libs        = "$stock_python_library -lpthread";
+ @python_h           = ('PythonTextInterp.h',
+                        'VMDTkinterMenu.h',
+ 		       'py_commands.h',
+@@ -2350,8 +2327,8 @@
+ 
+     # XFree 4.0 Direct Rendering Interface and GLX 
+     $opengl_dep_dir         = "/usr/X11R6";
+-    $opengl_dep_include     = "-I$opengl_dep_dir/include";
+-    $opengl_dep_library     = "-L$opengl_dep_dir/lib";
++    $opengl_dep_include     = "-Igentoo-opengl-include";
++    $opengl_dep_library     = "-Lgentoo-opengl-libs";
+     $opengl_dep_libs        = "-lGL"; 
+     # $opengl_dep_libs      = "-L/usr/X11R6/lib -lGL -lXext -lX11";
+ 
+@@ -2381,15 +2358,15 @@
+       $arch_lopts       .= "-i-static ";
+     } else {
+       # compling with GCC
+-      $arch_cc          = "gcc";
+-      $arch_ccpp        = "g++";
++      $arch_cc          = "gentoo-gcc";
++      $arch_ccpp        = "gentoo-g++";
+       $arch_depend_flag = "-MM";
+-      $arch_shld        = "g++ -shared";
++      $arch_shld        = "gentoo-g++ -shared";
+       $arch_shlibname   = "so";
+       $arch_shcppopts   = "-fPIC";
+-      $arch_shldopts    = "";
+-      $arch_opt_flag    = "-m32 -fno-for-scope -Wno-deprecated -Wall -Wno-unknown-pragmas -O3";
+-      $arch_copts       = "-m32 -Wall -Wno-unknown-pragmas -O3";
++      $arch_shldopts    = "gentoo-ldflags";
++      $arch_opt_flag    = "gentoo-cflags";
++      $arch_copts       = "gentoo-cflags";
+ 
+       if ($config_static) {
+         $arch_lopts       = "-static";
+@@ -2407,14 +2384,13 @@
+ 
+     $arch_cppopts     = "";
+     if ($config_cuda) {
+-      $arch_nvcc     = "/usr/local/cuda-4.0/bin/nvcc";
+       $arch_nvccflags  = "--ptxas-options=-v " . 
+                     "-gencode arch=compute_13,code=sm_13 " .
+                     "-gencode arch=compute_20,code=sm_20 " .
+                     "-gencode arch=compute_20,code=compute_20 " .
+                     "--ftz=true ";
+-      $arch_nvccflags .= " --machine 32 -O3 -Xcompiler \"-m32\" $cuda_include";
+-      $cuda_library     = "-L/usr/local/cuda-4.0/lib";
++      $arch_nvccflags .= "gentoo-nvflags $cuda_include";
++      $cuda_library     = "-Lgentoo-cuda-lib";
+       $cuda_libs       = "-Wl,-rpath -Wl,\$\$ORIGIN/ -lcudart";
+     }
+     # this is to make tcl happy
+@@ -2513,7 +2489,7 @@
+ 
+     if ($config_cuda) {
+       $arch_nvccflags   .= " --machine 64 -O3 $cuda_include";
+-      $cuda_library     = "-L/usr/local/cuda-10.2/lib64";
++      $cuda_library     = "-Lgentoo-cuda-lib";
+     }
+ 
+     $arch_lex		= "flex"; # has problems with vendor lex
+@@ -3502,11 +3478,11 @@
+ DEFINES     = $DEFINES
+ 
+ # compiler and compiler directives 
+-CC          = $arch_cc
+-CFLAGS      = $arch_copts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
++CC          = gentoo-gcc
++CFLAGS      = gentoo-cflags -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
+ 
+-CCPP	    = $arch_ccpp
+-CPPFLAGS    = $arch_opt_flag $arch_cppopts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
++CCPP        = gentoo-g++
++CPPFLAGS    = gentoo-cxxflags $arch_cppopts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
+ 
+ NVCC        = $arch_nvcc
+ NVCCFLAGS   = $arch_nvccflags -DARCH_$config_arch \$(DEFINES) \$(INCDIRS)
+@@ -3555,7 +3531,7 @@
+ $config_progname: y.tab.h \$(VMD_OBJS) \$(VMD_PTX)
+ 	\$(ECHO) "Linking " \$\@ "..."; \\
+ 	\$(CD) $vmd_arch_dir ; \\
+-	\$(CCPP) \$(CPPFLAGS) -I$vmd_src_dir -o \$\@ \$(VMD_OBJS) \$(LOADLIBES) ; 
++	\$(CCPP) \$(LDFLAGS) \$(CPPFLAGS) -I$vmd_src_dir -o \$\@ \$(VMD_OBJS) \$(LOADLIBES) ; 
+ 	\$(COMPILERC) \$(RCFLAGS)
+ 
+ install:
+@@ -3596,8 +3572,7 @@
+ 	-\$(COPY) ../data/.vmdrc ../data/.vmdsensors ../data/vmd_completion.dat "$install_library_dir"
+ 	\$(CD) $vmd_bin_dir ; \\
+ 	if [ -f run_vmd_tmp ]; then \$(DELETE) run_vmd_tmp; fi ; \\
+-	if [ ! -x "/bin/csh" ]; then \\
+-		\$(ECHO) "Info: /bin/csh shell not found, installing Bourne shell startup script instead" ; \\
++	if [ -x "/bin/bash" ]; then \\
+ 		\$(ECHO) '#!/bin/sh' >> run_vmd_tmp ; \\
+ 		\$(ECHO) 'defaultvmddir="$install_library_dir"' >> run_vmd_tmp ; \\
+ 		\$(ECHO) 'vmdbasename=vmd' >> run_vmd_tmp ; \\
+--- a/src/Makefile.old	2020-09-09 18:22:46.234818925 +0200
++++ b/src/Makefile	2020-09-09 18:37:22.356511690 +0200
+@@ -647,7 +647,7 @@
+ vmd_LINUXAMD64: y.tab.h $(VMD_OBJS) $(VMD_PTX)
+ 	$(ECHO) "Linking " $@ "..."; \
+ 	$(CD) ../LINUXAMD64 ; \
+-	$(CCPP) $(CPPFLAGS) -I../src -o $@ $(VMD_OBJS) $(LOADLIBES) ; 
++	$(CCPP) $(LDFLAGS) $(CPPFLAGS) -I../src -o $@ $(VMD_OBJS) $(LOADLIBES) ; 
+ 	$(COMPILERC) $(RCFLAGS)
+ 
+ install:
+@@ -660,10 +660,6 @@
+ 	if [ ! -d "/usr/local/lib/vmd"/doc ]; then \
+ 		$(MAKEDIR) "/usr/local/lib/vmd"/doc; \
+ 	fi
+-	-$(COPY) ../Announcement  "/usr/local/lib/vmd"
+-	-$(COPY) ../README        "/usr/local/lib/vmd"
+-	-$(COPY) ../LICENSE       "/usr/local/lib/vmd"
+-	-$(COPY) ../doc/ug.pdf        "/usr/local/lib/vmd"/doc
+ 	if [ -f /usr/local/lib/vmd/vmd_LINUXAMD64 ]; then \
+            $(MOVE) "/usr/local/lib/vmd/vmd_LINUXAMD64" "/usr/local/lib/vmd/OLD_vmd_LINUXAMD64" ; $(DELETE) "/usr/local/lib/vmd/OLD_vmd_LINUXAMD64" ; fi
+ 	-$(COPY) ../LINUXAMD64/vmd_LINUXAMD64 "/usr/local/lib/vmd"

diff --git a/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch b/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch
new file mode 100644
index 00000000000..295811db058
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch
@@ -0,0 +1,11 @@
+--- a/scripts/vmd/chemical2vmd.old	2020-09-09 18:40:56.795215443 +0200
++++ b/scripts/vmd/chemical2vmd	2020-09-09 18:41:09.648348701 +0200
+@@ -61,7 +61,7 @@
+ 
+ 
+ # Make a temp. file to store the load command
+-$ENV{'TMPDIR'} = '/usr/tmp' if !$ENV{'TMPDIR'};
++$ENV{'TMPDIR'} = '/tmp' if !$ENV{'TMPDIR'};
+ sub tmpfile {
+     local ($tempfile) = $ENV{'TMPDIR'} . '/chemical2vmd.' . $$;
+     local ($i);

diff --git a/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild b/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild
new file mode 100644
index 00000000000..29d0417b34e
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+
+MY_PV="${PV/_alpha/a}"
+MY_P="${PN}-${MY_PV}"
+SRC_URI="
+	${MY_P}.src.tar
+	https://dev.gentoo.org/~jlec/distfiles/${PN}-1.9.3-gentoo-patches.tar.xz
+"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="fetch"
+
+CDEPEND="
+	>=dev-lang/tk-8.6.1:0=
+	dev-lang/perl
+	dev-libs/expat
+	$(python_gen_cond_dep 'dev-python/numpy[${PYTHON_MULTI_USEDEP}]')
+	sci-libs/netcdf:0=
+	virtual/opengl
+	>=x11-libs/fltk-1.1.10-r2:1
+	x11-libs/libXft
+	x11-libs/libXi
+	${PYTHON_DEPS}
+	cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
+	gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
+	sqlite? ( dev-db/sqlite:3= )
+	tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
+	xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${CDEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	dev-lang/swig
+"
+RDEPEND="${CDEPEND}
+	sci-biology/stride
+	sci-chemistry/chemical-mime-data
+	sci-chemistry/surf
+	x11-terms/xterm
+	msms? ( sci-chemistry/msms-bin )
+	povray? ( media-gfx/povray )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
+# Binary only plugin!!
+QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf/bin/intersurf.so"
+QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil/volutil"
+QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil/volutil"
+
+pkg_nofetch() {
+	elog "Please download ${P}.src.tar from"
+	elog "${VMD_DOWNLOAD}"
+	elog "after agreeing to the license and get"
+	elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
+	elog "Place both into your DISTDIR directory"
+	elog
+	elog "Due to an upstream bug (https://bugs.gentoo.org/640440) sources"
+	elog "file may get downloaded as a compressed tarball or not. In that case"
+	elog "you will need to ensure you uncompress the file and rename it"
+	elog "as ${P}.src.tar"
+}
+
+src_prepare() {
+	xdg_src_prepare
+
+	use cuda && cuda_sanitize
+
+	cd "${WORKDIR}"/plugins || die
+
+	sed '/^.SILENT/d' -i $(find -name Makefile)
+
+	sed \
+		-e "s:CC = gcc:CC = $(tc-getCC):" \
+		-e "s:CXX = g++:CXX = $(tc-getCXX):" \
+		-e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
+		-e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
+		-e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
+		-e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
+		-e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
+		-e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
+		-e "s:-ltcl8.5:-ltcl:" \
+		-i Make-arch || die "Failed to set up plugins Makefile"
+
+	sed \
+		-e '/^AR /s:=:?=:g' \
+		-e '/^RANLIB /s:=:?=:g' \
+		-i ../plugins/*/Makefile || die
+
+	tc-export AR RANLIB
+
+	sed \
+		-e "s:\$(CXXFLAGS)::g" \
+		-i hesstrans/Makefile || die
+
+	# prepare vmd itself
+	cd "${S}" || die
+
+	eapply "${FILESDIR}"/${PN}-1.9.4-gentoo-paths.patch
+	eapply "${FILESDIR}"/${PN}-1.9.4-tmpdir.patch
+
+	# PREFIX
+	sed \
+		-e "s:/usr/include/:${EPREFIX}/usr/include:g" \
+		-i configure || die
+
+	sed \
+		-e "s:gentoo-bindir:${ED}/usr/bin:g" \
+		-e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
+		-e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
+		-e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-gcc:$(tc-getCC):g" \
+		-e "s:gentoo-g++:$(tc-getCXX):g" \
+		-e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
+		-e "s:gentoo-cflags:${CFLAGS}:g" \
+		-e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
+		-e "s:gentoo-nvflags::g" \
+		-e "s:gentoo-ldflags:${LDFLAGS}:g" \
+		-e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
+		-e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
+		-e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
+		-e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
+		-e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
+		-e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
+		-i configure || die
+
+	if use cuda; then
+		sed \
+			-e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
+			-e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
+			-i configure src/Makefile || die
+		sed \
+			-e '/compute_/d' \
+			-i configure || die
+		sed \
+			-e 's:-gencode .*code=sm_..::' \
+			-i src/Makefile || die
+	fi
+
+	sed \
+		-e "s:LINUXPPC:LINUX:g" \
+		-e "s:LINUXALPHA:LINUX:g" \
+		-e "s:LINUXAMD64:LINUX:g" \
+		-e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
+		-e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
+		-e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
+		-i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
+
+	EMAKEOPTS=(
+		TCLINC="-I${EPREFIX}/usr/include"
+		TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
+		TCLLDFLAGS="-shared"
+		NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
+		NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
+		NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
+		NETCDFDYNAMIC=1
+		EXPATINC="-I${EPREFIX}/usr/include"
+		EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
+		EXPATLDFLAGS="-shared"
+		EXPATDYNAMIC=1
+	)
+	if use gromacs; then
+		EMAKEOPTS+=(
+			TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
+			TNGINC="-I${EPREFIX}/usr/include"
+			TNGLDFLAGS="-shared"
+			TNGDYNAMIC=1
+		)
+	fi
+	if use sqlite; then
+		EMAKEOPTS+=(
+			SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
+			SQLITEINC="-I${EPREFIX}/usr/include"
+			SQLITELDFLAGS="-shared"
+			SQLITEDYNAMIC=1
+		)
+	fi
+}
+
+src_configure() {
+	local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
+	rm -f configure.options && echo $myconf >> configure.options
+
+	use cuda && myconf+=" CUDA"
+#	use mpi && myconf+=" MPI"
+	use tachyon && myconf+=" LIBTACHYON"
+	use xinerama && myconf+=" XINERAMA"
+
+	export \
+		PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
+		PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
+		PYTHON_LIBRARY="$(python_get_LIBS)" \
+		NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
+		NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
+
+	perl ./configure LINUX \
+		${myconf} || die
+}
+
+src_compile() {
+	# build plugins
+	cd "${WORKDIR}"/plugins || die
+
+	emake \
+		${EMAKEOPTS[@]} \
+		LINUX
+
+	# build vmd
+	cd "${S}"/src || die
+	emake
+}
+
+src_install() {
+	# install plugins
+	cd "${WORKDIR}"/plugins || die
+	emake \
+			PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
+			distrib
+
+	# install vmd
+	cd "${S}"/src || die
+	emake install
+
+	# install docs
+	cd "${S}" || die
+	dodoc Announcement README doc/ig.pdf doc/ug.pdf
+
+	# remove some of the things we don't want and need in
+	# /usr/lib
+	cd "${ED}"/usr/$(get_libdir)/vmd || die
+	rm -fr doc README Announcement LICENSE || \
+		die "failed to clean up /usr/lib/vmd directory"
+
+	# adjust path in vmd wrapper
+	sed \
+		-e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
+		-e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
+		|| die "failed to set up vmd wrapper script"
+
+	# install icon and generate desktop entry
+	insinto /usr/share/pixmaps
+	doins "${WORKDIR}"/vmd.png
+	eprefixify "${WORKDIR}"/vmd.desktop
+	sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
+	# Open PDB files with VMD
+	echo "MimeType=chemical/x-pdb;" >> "${WORKDIR}"/vmd.desktop || die
+	domenu "${WORKDIR}"/vmd.desktop
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/
@ 2020-09-19 12:29 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2020-09-19 12:29 UTC (permalink / raw
  To: gentoo-commits

commit:     644a181b8ab3d796f3a489edc77bf21be545e05f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 19 11:49:58 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 19 12:29:09 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=644a181b

sci-chemistry/vmd: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sci-chemistry/vmd/Manifest                         |   1 -
 .../vmd/files/vmd-1.9.3-configure-libtachyon.patch |  13 -
 sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch       | 426 ---------------------
 sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch     |  22 --
 sci-chemistry/vmd/vmd-1.9.3-r5.ebuild              | 272 -------------
 5 files changed, 734 deletions(-)

diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
index 62f7ae61617..f2c96b24855 100644
--- a/sci-chemistry/vmd/Manifest
+++ b/sci-chemistry/vmd/Manifest
@@ -1,3 +1,2 @@
 DIST vmd-1.9.3-gentoo-patches.tar.xz 14804 BLAKE2B 64e5df40ed88c23c924d32636495f0383590f91dbb714e64c73551072bb50d72b4e5f188fb2da58d32e84b4bc96ff0297d7ff1bf02b0481198901c4e12e4ee59 SHA512 5d506d4df5ca4a3edb33d77aeeb440fcb4750a250c77103b99f385f356eb9d71d954173b981d3a50f7a714cfc872587e5040868904e50fa1f6fd69d7e4d9f1b1
-DIST vmd-1.9.3.src.tar 129566720 BLAKE2B 848f3280d51765dcd18722dd233e0cdee3b7c0ac3dd48324260ebe1604ba781ca0a1fe4cae6652501d23d5d41712020e17dbb6bc21a1856eb3289a4aab6b774b SHA512 0502df1e8b60c570ca88b779b4153acfaa599a78df53fa96fca36301bab902864118332b5524ae7d170d3a9e429cf1e13d69e1197268b5e841afc0bb56a737ba
 DIST vmd-1.9.4a43.src.tar 123955200 BLAKE2B a99ee2bce1024613ad951fc97f4cd4b6f6ad114aea67a0a6644f687c69eae488eb862fd5ea5bff31e12f01a95f6f60be04dad2a82879603b9b457443267bb18f SHA512 3e3d5d7b0d220f070d4978940ff5ab8af531e507a224cdd15e4871e263de64b4ba24e9d964cb680b31f376afbdc08f46cb4070e3cd4a474b9bfe0732c7b3cff0

diff --git a/sci-chemistry/vmd/files/vmd-1.9.3-configure-libtachyon.patch b/sci-chemistry/vmd/files/vmd-1.9.3-configure-libtachyon.patch
deleted file mode 100644
index b71cd97210a..00000000000
--- a/sci-chemistry/vmd/files/vmd-1.9.3-configure-libtachyon.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/configure.old	2019-05-16 17:26:05.347560700 +0200
-+++ b/configure	2019-05-16 17:30:25.478455770 +0200
-@@ -1105,8 +1105,8 @@
- # This may be commented out if not required.
- $libtachyon_defines     = "-DVMDLIBTACHYON";
- $libtachyon_dir         = "$vmd_library_dir/tachyon";
--$libtachyon_include     = "-I$libtachyon_dir/include";
--$libtachyon_library     = "-L$libtachyon_dir/lib_$config_arch";
-+$libtachyon_include     = "-Igentoo-libtachyon-include";
-+$libtachyon_library     = "-Lgentoo-libtachyon-libs";
- $libtachyon_libs        = "-ltachyon";
- @libtachyon_cc          = ();
- @libtachyon_cu          = ();

diff --git a/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch b/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch
deleted file mode 100644
index 258efb777ca..00000000000
--- a/sci-chemistry/vmd/files/vmd-1.9.3-cuda.patch
+++ /dev/null
@@ -1,426 +0,0 @@
---- a/src/CUDAMarchingCubes.cu	2018-03-30 18:52:25.467189457 +0300
-+++ b/src/CUDAMarchingCubes.cu	2018-03-30 18:52:02.387136244 +0300
-@@ -10,7 +10,7 @@
-  *
-  *      $RCSfile: CUDAMarchingCubes.cu,v $
-  *      $Author: johns $        $Locker:  $             $State: Exp $
-- *      $Revision: 1.30 $       $Date: 2016/11/28 03:04:58 $
-+ *      $Revision: 1.32 $       $Date: 2018/02/15 05:15:02 $
-  *
-  ***************************************************************************
-  * DESCRIPTION:
-@@ -25,14 +25,17 @@
- //
- // Description: This class computes an isosurface for a given density grid
- //              using a CUDA Marching Cubes (MC) alorithm. 
--//              The implementation is based on the MC demo from the 
--//              Nvidia GPU Computing SDK, but has been improved 
--//              and extended.  This implementation achieves higher 
--//              performance by reducing the number of temporary memory
--//              buffers, reduces the number of scan calls by using vector
--//              integer types, and allows extraction of per-vertex normals 
--//              optionally computes per-vertex colors if provided with a 
--//              volumetric texture map.
-+//
-+//              The implementation is loosely based on the MC demo from 
-+//              the Nvidia GPU Computing SDK, but the design has been 
-+//              improved and extended in several ways.  
-+//
-+//              This implementation achieves higher performance
-+//              by reducing the number of temporary memory
-+//              buffers, reduces the number of scan calls by using 
-+//              vector integer types, and allows extraction of 
-+//              per-vertex normals and optionally computes 
-+//              per-vertex colors if a volumetric texture map is provided.
- //
- // Author: Michael Krone <michael.krone@visus.uni-stuttgart.de>
- //         John Stone <johns@ks.uiuc.edu>
-@@ -48,7 +51,7 @@
- #include <thrust/functional.h>
- 
- //
--// Restrict macro to make it easy to do perf tuning tess
-+// Restrict macro to make it easy to do perf tuning tests
- //
- #if 0
- #define RESTRICT __restrict__
-@@ -171,6 +174,11 @@
- texture<float, 3, cudaReadModeElementType> volumeTex;
- 
- // sample volume data set at a point p, p CAN NEVER BE OUT OF BOUNDS
-+// XXX The sampleVolume() call underperforms vs. peak memory bandwidth
-+//     because we don't strictly enforce coalescing requirements in the
-+//     layout of the input volume presently.  If we forced X/Y dims to be
-+//     warp-multiple it would become possible to use wider fetches and
-+//     a few other tricks to improve global memory bandwidth 
- __device__ float sampleVolume(const float * RESTRICT data, 
-                               uint3 p, uint3 gridSize) {
-     return data[(p.z*gridSize.x*gridSize.y) + (p.y*gridSize.x) + p.x];
-@@ -592,6 +600,30 @@
-     cudaBindTextureToArray(volumeTex, d_vol, desc);
- }
- 
-+#if CUDART_VERSION >= 9000
-+//
-+// XXX CUDA 9.0RC breaks the usability of Thrust scan() prefix sums when
-+//     used with the built-in uint2 vector integer types.  To workaround
-+//     the problem we have to define our own type and associated conversion
-+//     routines etc.
-+//
-+
-+// XXX workaround for uint2 breakage in CUDA 9.0RC
-+struct myuint2 : uint2 {
-+  __host__ __device__ myuint2() : uint2(make_uint2(0, 0)) {}
-+  __host__ __device__ myuint2(int val) : uint2(make_uint2(val, val)) {}
-+  __host__ __device__ myuint2(uint2 val) : uint2(make_uint2(val.x, val.y)) {}
-+};
-+
-+void ThrustScanWrapperUint2(uint2* output, uint2* input, unsigned int numElements) {
-+    const uint2 zero = make_uint2(0, 0);
-+    thrust::exclusive_scan(thrust::device_ptr<myuint2>((myuint2*)input),
-+                           thrust::device_ptr<myuint2>((myuint2*)input + numElements),
-+                           thrust::device_ptr<myuint2>((myuint2*)output),
-+                           (myuint2) zero);
-+}
-+
-+#else
- 
- void ThrustScanWrapperUint2(uint2* output, uint2* input, unsigned int numElements) {
-     const uint2 zero = make_uint2(0, 0);
-@@ -601,6 +633,7 @@
-                            zero);
- }
- 
-+#endif
- 
- void ThrustScanWrapperArea(float* output, float* input, unsigned int numElements) {
-     thrust::inclusive_scan(thrust::device_ptr<float>(input), 
-@@ -639,11 +672,9 @@
- }
- 
- 
--///////////////////////////////////////////////////////////////////////////////
- //
- // class CUDAMarchingCubes
- //
--///////////////////////////////////////////////////////////////////////////////
- 
- CUDAMarchingCubes::CUDAMarchingCubes() {
-     // initialize values
-@@ -713,9 +744,6 @@
- }
- 
- 
--////////////////////////////////////////////////////////////////////////////////
--//! Run the Cuda part of the computation
--////////////////////////////////////////////////////////////////////////////////
- void CUDAMarchingCubes::computeIsosurfaceVerts(float3* vertOut, unsigned int maxverts, dim3 & grid3) {
-     // check if data is available
-     if (!this->setdata)
-
---- a/src/CUDAMDFF.cu	2016-12-01 10:11:56.000000000 +0300
-+++ b/src/CUDAMDFF.cu	2018-03-30 18:56:44.352937599 +0300
-@@ -11,7 +11,7 @@
-  *
-  *      $RCSfile: CUDAMDFF.cu,v $
-  *      $Author: johns $        $Locker:  $             $State: Exp $
-- *      $Revision: 1.75 $      $Date: 2015/04/07 20:41:26 $
-+ *      $Revision: 1.78 $      $Date: 2018/02/19 07:10:37 $
-  *
-  ***************************************************************************
-  * DESCRIPTION:
-@@ -28,12 +28,16 @@
- #include <stdlib.h>
- #include <string.h>
- #include <cuda.h>
--#include <float.h> // FLT_MAX etc
--
-+#if CUDART_VERSION >= 9000
-+#include <cuda_fp16.h> // need to explicitly include for CUDA 9.0
-+#endif
- #if CUDART_VERSION < 4000
- #error The VMD MDFF feature requires CUDA 4.0 or later
- #endif
- 
-+#include <float.h> // FLT_MAX etc
-+
-+
- #include "Inform.h"
- #include "utilities.h"
- #include "WKFThreads.h"
-@@ -588,6 +592,43 @@
- }
- 
- 
-+
-+// #define VMDUSESHUFFLE 1
-+#if defined(VMDUSESHUFFLE) && __CUDA_ARCH__ >= 300 && CUDART_VERSION >= 9000
-+// New warp shuffle-based CC sum reduction for Kepler and later GPUs.
-+inline __device__ void cc_sumreduction(int tid, int totaltb, 
-+                                float4 &total_cc_sums,
-+                                float &total_lcc,
-+                                int &total_lsize,
-+                                float4 *tb_cc_sums,
-+                                float *tb_lcc,
-+                                int *tb_lsize) {
-+  total_cc_sums = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
-+  total_lcc = 0.0f;
-+  total_lsize = 0;
-+
-+  // use precisely one warp to do the final reduction
-+  if (tid < warpSize) {
-+    for (int i=tid; i<totaltb; i+=warpSize) {
-+      total_cc_sums += tb_cc_sums[i];
-+      total_lcc     += tb_lcc[i];
-+      total_lsize   += tb_lsize[i];
-+    }
-+
-+    // perform intra-warp parallel reduction...
-+    // general loop version of parallel sum-reduction
-+    for (int mask=warpSize/2; mask>0; mask>>=1) {
-+      total_cc_sums.x += __shfl_xor_sync(0xffffffff, total_cc_sums.x, mask);
-+      total_cc_sums.y += __shfl_xor_sync(0xffffffff, total_cc_sums.y, mask);
-+      total_cc_sums.z += __shfl_xor_sync(0xffffffff, total_cc_sums.z, mask);
-+      total_cc_sums.w += __shfl_xor_sync(0xffffffff, total_cc_sums.w, mask);
-+      total_lcc     += __shfl_xor_sync(0xffffffff, total_lcc, mask);
-+      total_lsize   += __shfl_xor_sync(0xffffffff, total_lsize, mask);
-+    }
-+  }
-+}
-+#else
-+// shared memory based CC sum reduction 
- inline __device__ void cc_sumreduction(int tid, int totaltb, 
-                                 float4 &total_cc_sums,
-                                 float &total_lcc,
-@@ -629,6 +670,7 @@
-   total_lcc = tb_lcc[0];
-   total_lsize = tb_lsize[0];
- }
-+#endif
- 
- 
- inline __device__ void thread_cc_sum(float ref, float density,
-@@ -750,6 +792,92 @@
-   }
- 
- 
-+#if defined(VMDUSESHUFFLE) && __CUDA_ARCH__ >= 300 && CUDART_VERSION >= 9000
-+  // all threads write their local sums to shared memory...
-+  __shared__ float2 tb_cc_means_s[TOTALBLOCKSZ];
-+  __shared__ float2 tb_cc_squares_s[TOTALBLOCKSZ];
-+  __shared__ float tb_lcc_s[TOTALBLOCKSZ];
-+  __shared__ int tb_lsize_s[TOTALBLOCKSZ];
-+
-+  tb_cc_means_s[tid] = thread_cc_means;
-+  tb_cc_squares_s[tid] = thread_cc_squares;
-+  tb_lcc_s[tid] = thread_lcc;
-+  tb_lsize_s[tid] = thread_lsize;
-+  __syncthreads(); // all threads must hit syncthreads call...
-+
-+  // use precisely one warp to do the thread-block-wide reduction
-+  if (tid < warpSize) {
-+    float2 tmp_cc_means = make_float2(0.0f, 0.0f);
-+    float2 tmp_cc_squares = make_float2(0.0f, 0.0f);
-+    float tmp_lcc = 0.0f;
-+    int tmp_lsize = 0;
-+    for (int i=tid; i<TOTALBLOCKSZ; i+=warpSize) {
-+      tmp_cc_means   += tb_cc_means_s[i];
-+      tmp_cc_squares += tb_cc_squares_s[i];
-+      tmp_lcc        += tb_lcc_s[i];
-+      tmp_lsize      += tb_lsize_s[i];
-+    }
-+
-+    // perform intra-warp parallel reduction...
-+    // general loop version of parallel sum-reduction
-+    for (int mask=warpSize/2; mask>0; mask>>=1) {
-+      tmp_cc_means.x   += __shfl_xor_sync(0xffffffff, tmp_cc_means.x, mask);
-+      tmp_cc_means.y   += __shfl_xor_sync(0xffffffff, tmp_cc_means.y, mask);
-+      tmp_cc_squares.x += __shfl_xor_sync(0xffffffff, tmp_cc_squares.x, mask);
-+      tmp_cc_squares.y += __shfl_xor_sync(0xffffffff, tmp_cc_squares.y, mask);
-+      tmp_lcc          += __shfl_xor_sync(0xffffffff, tmp_lcc, mask);
-+      tmp_lsize        += __shfl_xor_sync(0xffffffff, tmp_lsize, mask);
-+    }
-+
-+    // write per-thread-block partial sums to global memory,
-+    // if a per-thread-block CC output array is provided, write the 
-+    // local CC for this thread block out, and finally, check if we 
-+    // are the last thread block to finish, and finalize the overall
-+    // CC results for the entire grid of thread blocks.
-+    if (tid == 0) {   
-+      unsigned int bid = blockIdx.z * gridDim.x * gridDim.y +
-+                         blockIdx.y * gridDim.x + blockIdx.x;
-+
-+      tb_cc_sums[bid] = make_float4(tmp_cc_means.x, tmp_cc_means.y,
-+                                    tmp_cc_squares.x, tmp_cc_squares.y);
-+      tb_lcc[bid]     = tmp_lcc;
-+      tb_lsize[bid]   = tmp_lsize;
-+
-+      if (tb_CC != NULL) {
-+        float cc = calc_cc(tb_cc_means_s[0].x, tb_cc_means_s[0].y,
-+                           tb_cc_squares_s[0].x, tb_cc_squares_s[0].y,
-+                           tb_lsize_s[0], tb_lcc_s[0]);
-+
-+        // write local per-thread-block CC to global memory
-+        tb_CC[bid]   = cc;
-+      }
-+
-+      __threadfence();
-+
-+      unsigned int value = atomicInc(&tbcatomic[0], totaltb);
-+      isLastBlockDone = (value == (totaltb - 1));
-+    }
-+  }
-+  __syncthreads();
-+
-+  if (isLastBlockDone) {
-+    float4 total_cc_sums;
-+    float total_lcc;
-+    int total_lsize;
-+    cc_sumreduction(tid, totaltb, total_cc_sums, total_lcc, total_lsize,
-+                    tb_cc_sums, tb_lcc, tb_lsize); 
-+
-+    if (tid == 0) {
-+      tb_cc_sums[totaltb] = total_cc_sums;
-+      tb_lcc[totaltb] = total_lcc;
-+      tb_lsize[totaltb] = total_lsize;
-+    }
-+ 
-+    reset_atomic_counter(&tbcatomic[0]);
-+  }
-+
-+#else
-+
-   // all threads write their local sums to shared memory...
-   __shared__ float2 tb_cc_means_s[TOTALBLOCKSZ];
-   __shared__ float2 tb_cc_squares_s[TOTALBLOCKSZ];
-@@ -794,6 +922,7 @@
-     }
-     __syncthreads(); // all threads must hit syncthreads call...
-   }
-+//#endif
- 
-   // write per-thread-block partial sums to global memory,
-   // if a per-thread-block CC output array is provided, write the 
-@@ -847,6 +976,7 @@
-     }
- #endif
-   }
-+#endif
- }
- 
- 
-
---- a/src/CUDAQuickSurf.cu	2016-12-01 10:11:56.000000000 +0300
-+++ b/src/CUDAQuickSurf.cu	2018-03-30 19:01:38.777196233 +0300
-@@ -11,7 +11,7 @@
-  *
-  *      $RCSfile: CUDAQuickSurf.cu,v $
-  *      $Author: johns $        $Locker:  $             $State: Exp $
-- *      $Revision: 1.81 $      $Date: 2016/04/20 04:57:46 $
-+ *      $Revision: 1.84 $      $Date: 2018/02/15 04:59:15 $
-  *
-  ***************************************************************************
-  * DESCRIPTION:
-@@ -22,6 +22,9 @@
- #include <stdlib.h>
- #include <string.h>
- #include <cuda.h>
-+#if CUDART_VERSION >= 9000
-+#include <cuda_fp16.h>  // need to explicitly include for CUDA 9.0
-+#endif
- 
- #if CUDART_VERSION < 4000
- #error The VMD QuickSurf feature requires CUDA 4.0 or later
-@@ -130,14 +133,14 @@
- #define GUNROLL      1
- #endif
- 
--#if __CUDA_ARCH__ >= 300
- #define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
--#define MINBLOCKDENS 1
-+#if __CUDA_ARCH__ >= 600
-+#define MINBLOCKDENS 16
-+#elif __CUDA_ARCH__ >= 300
-+#define MINBLOCKDENS 16
- #elif __CUDA_ARCH__ >= 200
--#define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
- #define MINBLOCKDENS 1
- #else
--#define MAXTHRDENS  ( GBLOCKSZX * GBLOCKSZY * GBLOCKSZZ )
- #define MINBLOCKDENS 1
- #endif
- 
-@@ -150,7 +153,7 @@
- //
- template<class DENSITY, class VOLTEX>
- __global__ static void 
--// __launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
-+__launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
- gaussdensity_fast_tex_norm(int natoms,
-                       const float4 * RESTRICT sorted_xyzr, 
-                       const float4 * RESTRICT sorted_color, 
-@@ -217,6 +220,8 @@
-     for (yab=yabmin; yab<=yabmax; yab++) {
-       for (xab=xabmin; xab<=xabmax; xab++) {
-         int abcellidx = zab * acplanesz + yab * acncells.x + xab;
-+        // this biggest latency hotspot in the kernel, if we could improve
-+        // packing of the grid cell map, we'd likely improve performance 
-         uint2 atomstartend = cellStartEnd[abcellidx];
-         if (atomstartend.x != GRID_CELL_EMPTY) {
-           unsigned int atomid;
-@@ -296,7 +301,7 @@
- 
- 
- __global__ static void 
--// __launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
-+__launch_bounds__ ( MAXTHRDENS, MINBLOCKDENS )
- gaussdensity_fast_tex3f(int natoms,
-                         const float4 * RESTRICT sorted_xyzr, 
-                         const float4 * RESTRICT sorted_color, 
-@@ -363,6 +368,8 @@
-     for (yab=yabmin; yab<=yabmax; yab++) {
-       for (xab=xabmin; xab<=xabmax; xab++) {
-         int abcellidx = zab * acplanesz + yab * acncells.x + xab;
-+        // this biggest latency hotspot in the kernel, if we could improve
-+        // packing of the grid cell map, we'd likely improve performance 
-         uint2 atomstartend = cellStartEnd[abcellidx];
-         if (atomstartend.x != GRID_CELL_EMPTY) {
-           unsigned int atomid;
-@@ -550,7 +557,6 @@
- 
- // per-GPU handle with various memory buffer pointers, etc.
- typedef struct {
--  /// max grid sizes and attributes the current allocations will support
-   int verbose;
-   long int natoms;
-   int colorperatom;
-@@ -561,18 +567,18 @@
-   int gy;
-   int gz;
- 
--  CUDAMarchingCubes *mc;     ///< Marching cubes class used to extract surface
-+  CUDAMarchingCubes *mc;     
- 
--  float *devdensity;         ///< density map stored in GPU memory
--  void *devvoltexmap;        ///< volumetric texture map
--  float4 *xyzr_d;            ///< atom coords and radii
--  float4 *sorted_xyzr_d;     ///< cell-sorted coords and radii
--  float4 *color_d;           ///< colors
--  float4 *sorted_color_d;    ///< cell-sorted colors
--
--  unsigned int *atomIndex_d; ///< cell index for each atom
--  unsigned int *atomHash_d;  ///<  
--  uint2 *cellStartEnd_d;     ///< cell start/end indices 
-+  float *devdensity;         
-+  void *devvoltexmap;        
-+  float4 *xyzr_d;            
-+  float4 *sorted_xyzr_d;     
-+  float4 *color_d;           
-+  float4 *sorted_color_d;    
-+
-+  unsigned int *atomIndex_d; 
-+  unsigned int *atomHash_d;  
-+  uint2 *cellStartEnd_d;     
- 
-   void *safety;
-   float3 *v3f_d;

diff --git a/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch b/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch
deleted file mode 100644
index 22712abf30b..00000000000
--- a/sci-chemistry/vmd/files/vmd-1.9.3-tmpdir.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/scripts/vmd/vmdinit.tcl~	2016-10-27 05:46:34.000000000 +0200
-+++ b/scripts/vmd/vmdinit.tcl	2019-12-03 16:29:01.894002827 +0100
-@@ -197,7 +197,7 @@
-       set env(TMPDIR) /tmp
-     }
-     default {
--      set env(TMPDIR) /usr/tmp
-+      set env(TMPDIR) /tmp
-     }
-   }
- }
---- a/scripts/vmd/chemical2vmd~	2000-07-03 19:30:23.000000000 +0200
-+++ b/scripts/vmd/chemical2vmd	2019-12-03 16:28:49.316861178 +0100
-@@ -61,7 +61,7 @@
- 
- 
- # Make a temp. file to store the load command
--$ENV{'TMPDIR'} = '/usr/tmp' if !$ENV{'TMPDIR'};
-+$ENV{'TMPDIR'} = '/tmp' if !$ENV{'TMPDIR'};
- sub tmpfile {
-     local ($tempfile) = $ENV{'TMPDIR'} . '/chemical2vmd.' . $$;
-     local ($i);

diff --git a/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild b/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild
deleted file mode 100644
index a4e0e6db49b..00000000000
--- a/sci-chemistry/vmd/vmd-1.9.3-r5.ebuild
+++ /dev/null
@@ -1,272 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
-
-DESCRIPTION="Visual Molecular Dynamics"
-HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
-SRC_URI="
-	https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz
-	${P}.src.tar
-"
-
-SLOT="0"
-LICENSE="vmd"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="fetch"
-
-# currently, tk-8.5* with USE=truetype breaks some
-# tk apps such as Sequence Viewer or Timeline.
-CDEPEND="
-	>=dev-lang/tk-8.6.1:0=
-	dev-lang/perl
-	dev-libs/expat
-	$(python_gen_cond_dep '
-		|| (
-			dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
-			dev-python/numpy[${PYTHON_MULTI_USEDEP}]
-		)
-	')
-	sci-libs/netcdf:0=
-	virtual/opengl
-	>=x11-libs/fltk-1.1.10-r2:1
-	x11-libs/libXft
-	x11-libs/libXi
-	${PYTHON_DEPS}
-	cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
-	gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
-	sqlite? ( dev-db/sqlite:3= )
-	tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
-	xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="${CDEPEND}"
-BDEPEND="
-	virtual/pkgconfig
-	dev-lang/swig
-"
-RDEPEND="${CDEPEND}
-	sci-biology/stride
-	sci-chemistry/chemical-mime-data
-	sci-chemistry/surf
-	x11-terms/xterm
-	msms? ( sci-chemistry/msms-bin )
-	povray? ( media-gfx/povray )
-"
-
-VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
-# Binary only plugin!!
-QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
-QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
-QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
-
-pkg_nofetch() {
-	elog "Please download ${P}.src.tar from"
-	elog "${VMD_DOWNLOAD}"
-	elog "after agreeing to the license and get"
-	elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
-	elog "Place both into your DISTDIR directory"
-	elog
-	elog "Due to an upstream bug (https://bugs.gentoo.org/640440) sources"
-	elog "file may get downloaded as a compressed tarball or not. In that case"
-	elog "you will need to ensure you uncompress the file and rename it"
-	elog "as ${P}.src.tar"
-}
-
-src_prepare() {
-	xdg_src_prepare
-
-	use cuda && cuda_sanitize
-
-	# Compat with newer CUDA versions (from Arch)
-	eapply "${FILESDIR}"/${P}-cuda.patch
-
-	cd "${WORKDIR}"/plugins || die
-
-	eapply -p2 "${WORKDIR}"/${P}-gentoo-plugins.patch
-
-	[[ ${SILENT} == yes ]] || sed '/^.SILENT/d' -i $(find -name Makefile)
-
-	sed \
-		-e "s:CC = gcc:CC = $(tc-getCC):" \
-		-e "s:CXX = g++:CXX = $(tc-getCXX):" \
-		-e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
-		-e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
-		-e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
-		-e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
-		-e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
-		-e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
-		-e "s:-ltcl8.5:-ltcl:" \
-		-i Make-arch || die "Failed to set up plugins Makefile"
-
-	sed \
-		-e '/^AR /s:=:?=:g' \
-		-e '/^RANLIB /s:=:?=:g' \
-		-i ../plugins/*/Makefile || die
-
-	tc-export AR RANLIB
-
-	sed \
-		-e "s:\$(CXXFLAGS)::g" \
-		-i hesstrans/Makefile || die
-
-	# prepare vmd itself
-	cd "${S}" || die
-
-	eapply -p2 "${WORKDIR}"/${P}-gentoo-base.patch
-	eapply "${FILESDIR}"/${P}-configure-libtachyon.patch
-	eapply "${FILESDIR}"/${P}-tmpdir.patch
-
-	# PREFIX
-	sed \
-		-e "s:/usr/include/:${EPREFIX}/usr/include:g" \
-		-i configure || die
-
-	sed \
-		-e "s:gentoo-bindir:${ED}/usr/bin:g" \
-		-e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
-		-e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
-		-e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-e "s:gentoo-gcc:$(tc-getCC):g" \
-		-e "s:gentoo-g++:$(tc-getCXX):g" \
-		-e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
-		-e "s:gentoo-cflags:${CFLAGS}:g" \
-		-e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
-		-e "s:gentoo-nvflags::g" \
-		-e "s:gentoo-ldflags:${LDFLAGS}:g" \
-		-e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
-		-e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
-		-e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
-		-e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
-		-e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
-		-e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-i configure || die
-
-	if use cuda; then
-		sed \
-			-e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
-			-e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
-			-i configure src/Makefile || die
-		sed \
-			-e '/compute_/d' \
-			-i configure || die
-		sed \
-			-e 's:-gencode .*code=sm_..::' \
-			-i src/Makefile || die
-	fi
-
-	sed \
-		-e "s:LINUXPPC:LINUX:g" \
-		-e "s:LINUXALPHA:LINUX:g" \
-		-e "s:LINUXAMD64:LINUX:g" \
-		-e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
-		-e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
-		-e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
-		-i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
-
-	EMAKEOPTS=(
-		TCLINC="-I${EPREFIX}/usr/include"
-		TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
-		TCLLDFLAGS="-shared"
-		NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
-		NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
-		NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
-		NETCDFDYNAMIC=1
-		EXPATINC="-I${EPREFIX}/usr/include"
-		EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
-		EXPATLDFLAGS="-shared"
-		EXPATDYNAMIC=1
-	)
-	if use gromacs; then
-		EMAKEOPTS+=(
-			TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
-			TNGINC="-I${EPREFIX}/usr/include"
-			TNGLDFLAGS="-shared"
-			TNGDYNAMIC=1
-		)
-	fi
-	if use sqlite; then
-		EMAKEOPTS+=(
-			SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
-			SQLITEINC="-I${EPREFIX}/usr/include"
-			SQLITELDFLAGS="-shared"
-			SQLITEDYNAMIC=1
-		)
-	fi
-}
-
-src_configure() {
-	local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
-	rm -f configure.options && echo $myconf >> configure.options
-
-	use cuda && myconf+=" CUDA"
-#	use mpi && myconf+=" MPI"
-	use tachyon && myconf+=" LIBTACHYON"
-	use xinerama && myconf+=" XINERAMA"
-
-	export \
-		PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
-		PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
-		PYTHON_LIBRARY="$(python_get_LIBS)" \
-		NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
-		NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
-
-	perl ./configure LINUX \
-		${myconf} || die
-}
-
-src_compile() {
-	# build plugins
-	cd "${WORKDIR}"/plugins || die
-
-	emake \
-		${EMAKEOPTS[@]} \
-		LINUX
-
-	# build vmd
-	cd "${S}"/src || die
-	emake
-}
-
-src_install() {
-	# install plugins
-	cd "${WORKDIR}"/plugins || die
-	emake \
-			PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
-			distrib
-
-	# install vmd
-	cd "${S}"/src || die
-	emake install
-
-	# install docs
-	cd "${S}" || die
-	dodoc Announcement README doc/ig.pdf doc/ug.pdf
-
-	# remove some of the things we don't want and need in
-	# /usr/lib
-	cd "${ED}"/usr/$(get_libdir)/vmd || die
-	rm -fr doc README Announcement LICENSE || \
-		die "failed to clean up /usr/lib/vmd directory"
-
-	# adjust path in vmd wrapper
-	sed \
-		-e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
-		-e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
-		|| die "failed to set up vmd wrapper script"
-
-	# install icon and generate desktop entry
-	insinto /usr/share/pixmaps
-	doins "${WORKDIR}"/vmd.png
-	eprefixify "${WORKDIR}"/vmd.desktop
-	sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
-	# Open PDB files with VMD
-	echo "MimeType=chemical/x-pdb;" >> "${WORKDIR}"/vmd.desktop || die
-	domenu "${WORKDIR}"/vmd.desktop
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/
@ 2021-05-02 19:22 Pacho Ramos
  0 siblings, 0 replies; 5+ messages in thread
From: Pacho Ramos @ 2021-05-02 19:22 UTC (permalink / raw
  To: gentoo-commits

commit:     8c9499c1d811547d4d69f60d5b78ae7edacdd922
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun May  2 19:22:03 2021 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun May  2 19:22:23 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c9499c1

sci-chemistry/vmd: Drop old

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 sci-chemistry/vmd/Manifest                         |   3 -
 .../vmd/files/vmd-1.9.4-gentoo-paths.patch         | 276 --------------------
 sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch     |  11 -
 sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild         | 277 ---------------------
 4 files changed, 567 deletions(-)

diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
index a94593a65fc..dbb4249c928 100644
--- a/sci-chemistry/vmd/Manifest
+++ b/sci-chemistry/vmd/Manifest
@@ -1,5 +1,2 @@
-DIST vmd-1.9.3-gentoo-patches.tar.xz 14804 BLAKE2B 64e5df40ed88c23c924d32636495f0383590f91dbb714e64c73551072bb50d72b4e5f188fb2da58d32e84b4bc96ff0297d7ff1bf02b0481198901c4e12e4ee59 SHA512 5d506d4df5ca4a3edb33d77aeeb440fcb4750a250c77103b99f385f356eb9d71d954173b981d3a50f7a714cfc872587e5040868904e50fa1f6fd69d7e4d9f1b1
-DIST vmd-1.9.4-gentoo-plugins.patch 24618 BLAKE2B 6fbcf2e3bb59765e0980a5ed46f02e29d7b72a313865849c15891f2398d2aaf9afe6069f993a61257572d031556ce523c622858e29611ca6795be6030f4bb186 SHA512 9b8675811992d6392e9ec49cdcbcfd0da99dce1e164be4f8bf9bd07e0582b6b1e1d25f3e90fbc91cad7f94984bd091e644713c136628d0e4cc60e782a855fb63
 DIST vmd-1.9.4_alpha51-gentoo-patches.tar.xz 14604 BLAKE2B f8621956785d365cc056ba53373120d8f99da1476ab9789af6bb8ef00b8dd8c2a4c3599d75e13eba2fc5630b291aed966ce64f7f408504b079e3e994e45da243 SHA512 c57fd81e667e405ab1208a4e4a1d63710e593c07f554420c32980becd3547c2df98fbf6e439a53a626121fc361559f1ba53ab7b7235c97422bba61ece59d23bc
-DIST vmd-1.9.4a43.src.tar 123955200 BLAKE2B a99ee2bce1024613ad951fc97f4cd4b6f6ad114aea67a0a6644f687c69eae488eb862fd5ea5bff31e12f01a95f6f60be04dad2a82879603b9b457443267bb18f SHA512 3e3d5d7b0d220f070d4978940ff5ab8af531e507a224cdd15e4871e263de64b4ba24e9d964cb680b31f376afbdc08f46cb4070e3cd4a474b9bfe0732c7b3cff0
 DIST vmd-1.9.4a51.src.tar.gz 42826371 BLAKE2B 239d87f975c41a71096083028c1db8bf40cc058fc687fd9fff3c14c97c9b12bd68818d4c2eaeefd8c95c661409f1f056bce42178d0ba9271aa344fdce6f81ea9 SHA512 b42af6a4a7b1d2f0d242f89bff3a1c25a608ff59b9902b90154ba82a40439afb802a2d319363fa388a5211420fdaf0ee9bfd1f0a0e6e85d89d1dd506b373ba40

diff --git a/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch b/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch
deleted file mode 100644
index ca74b868d8f..00000000000
--- a/sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch
+++ /dev/null
@@ -1,276 +0,0 @@
---- a/bin/vmd.sh.old	2020-09-09 18:02:09.135798193 +0200
-+++ b/bin/vmd.sh	2020-09-09 18:37:22.355511675 +0200
-@@ -436,6 +436,7 @@
- 
- # set the path to a few external programs
- # Stride -- used to generate cartoon representations etc.
-+export STRIDE_BIN="gentoo-stride"
- if [ -z "$STRIDE_BIN" ]
- then
-   if [ -x "$MASTERVMDDIR/stride_$ARCH" ]
-@@ -446,6 +447,7 @@
- fi
- 
- # Surf -- used to generate molecular surfaces
-+export SURF_BIN="gentoo-surf"
- if [ -z "$SURF_BIN" ]
- then
-   if [ -x "$MASTERVMDDIR/surf_$ARCH" ]
-@@ -456,6 +458,7 @@
- fi
- 
- # Tachyon -- used to generate ray traced graphics
-+export TACHYON_BIN="gentoo-tachyon"
- if [ -z "$TACHYON_BIN" ]
- then
-   if [ -x "$MASTERVMDDIR/tachyon_$ARCH" ]
---- a/configure.old	2020-09-09 18:05:55.778655084 +0200
-+++ b/configure	2020-09-09 18:38:01.607083112 +0200
-@@ -13,11 +13,10 @@
- $install_name = "vmd";
- 
- # Directory where VMD startup script is installed, should be in users' paths.
--$install_bin_dir="/usr/local/bin";
-+$install_bin_dir="gentoo-bindir";
- 
- # Directory where VMD files and executables are installed
--$install_library_dir="/usr/local/lib/$install_name";
--
-+$install_library_dir="gentoo-libdir/$install_name";
- 
- # optionally override hard-coded defaults above with environment variables
- if ($ENV{VMDINSTALLNAME}) {
-@@ -143,29 +142,6 @@
- # Configure script code begins here
- ############################################################################
- 
--## Test for existence of a properly compiled plugin tree
--if (!(-e "plugins")) {
--  print "\n";
--  print "VMD plugin directory not found.\n";
--  print "Please compile the VMD plugins and do 'make distrib' to copy them\n";
--  print "into a 'plugins' directory linked or located in this directory.\n";
--  print "Be sure your PLUGINDIR environment variable is set before running\n";
--  print "'make distrib' in the plugin build area.\n";
--  print "\n";
--  die "Halting configuration until VMD plugins are built.\n";
--} else {
--  if (!(-e "plugins/include/vmdplugin.h")) {
--    print "\n";
--    print "VMD plugin include files or directory not found.\n";
--    print "Please compile the VMD plugins and do 'make distrib' to copy them\n";
--    print "into a 'plugins' directory linked or located in this directory.\n";
--    print "Be sure your PLUGINDIR environment variable is set before running\n";
--    print "'make distrib' in the plugin build area.\n";
--    print "\n";
--    die "Halting configuration until VMD plugins are built.\n";
--  }
--} 
--
- #################### Parse command line options   ###########
- # list of allowed architectures
- @archlist=('AIX6_64', 'ANDROIDARMV7A', 'BLUEGENEQ', 'BLUEWATERS', 'CRAY_XC', 'CRAY_XK', 'FREEBSD', 'FREEBSDAMD64', 'LINUX', 'LINUXAMD64', 'LINUXARM64', 'LINUXCARMA', 'LINUXPPC64', 'MACOSX', 'MACOSXX86', 'MACOSXX86_64', 'OPENPOWER', 'SUMMIT', 'SUMMITDEV', 'SOLARIS2', 'SOLARIS2_64', 'SOLARISX86', 'SOLARISX86_64', 'WIN32', 'WIN64');
-@@ -493,7 +469,7 @@
- 
- $arch_cc          = "cc";
- $arch_ccpp        = "CC";
--$arch_nvcc        = "/usr/local/cuda-10.2/bin/nvcc";
-+$arch_nvcc        = "gentoo-nvcc";
- $arch_nvccflags   = "-lineinfo --ptxas-options=-v " . 
-                     "-gencode arch=compute_30,code=compute_30 " .
-                     "-gencode arch=compute_30,code=sm_35 " .
-@@ -537,7 +513,7 @@
- 
- ################ Plugin options
- #
--$plugin_dir	= "../plugins";
-+$plugin_dir    = "gentoo-plugindir";
- $plugin_include = "-I$plugin_dir/include";
- $plugin_library = "";
- $plugin_libs    = "";
-@@ -550,7 +526,7 @@
- @plugin_extra   = ();
- 
- if ($config_staticplugin) {
--  $molfile_dir = "$plugin_dir/$config_arch/molfile";
-+  $molfile_dir = "$plugin_dir/compile/lib_LINUX/molfile";
-   $plugin_include .= " -I$molfile_dir";
-   $plugin_library .= " -L$molfile_dir";
-   $plugin_libs    .= " -lmolfile_plugin";
-@@ -715,8 +691,8 @@
- ################ FLTK GUI
- $fltk_defines     = "-DVMDGUI -DVMDFLTK";
- $fltk_dir         = "$vmd_library_dir/fltk";
--$fltk_include     = "-I$fltk_dir/include";
--$fltk_library     = "-L$fltk_dir/$config_arch";
-+$fltk_include     = "-Igentoo-fltk-include";
-+$fltk_library     = "-Lgentoo-fltk-libs";
- $fltk_libs        = "-lfltk -lX11";
- #@fltk_cc          = ('forms_ui.c');
- @fltk_cu          = ();
-@@ -777,8 +753,8 @@
- if ($config_tk) { $tcl_include .= " -I$stock_tk_include_dir"; }
- $tcl_library      = "-L$stock_tcl_library_dir";
- if ($config_tk) { $tcl_library .= " -L$stock_tk_library_dir"; }
--$tcl_libs         = "-ltcl8.5";  
--if ($config_tk) { $tcl_libs = "-ltk8.5 -lX11 " . $tcl_libs; }
-+$tcl_libs         = "-ltcl";  
-+if ($config_tk) { $tcl_libs = "-ltk -lX11 " . $tcl_libs; }
- 
- @tcl_cc           = ();
- @tcl_cu           = ();
-@@ -1289,8 +1265,8 @@
- # This may be commented out if not required.
- $libtachyon_defines     = "-DVMDLIBTACHYON";
- $libtachyon_dir         = "$vmd_library_dir/tachyon";
--$libtachyon_include     = "-I$libtachyon_dir/include";
--$libtachyon_library     = "-L$libtachyon_dir/lib_$config_arch";
-+$libtachyon_include     = "-Igentoo-libtachyon-include";
-+$libtachyon_library     = "-Lgentoo-libtachyon-libs";
- $libtachyon_libs        = "-ltachyon";
- @libtachyon_cc          = ();
- @libtachyon_cu          = ();
-@@ -1541,8 +1517,8 @@
- #######################
- $netcdf_defines     = "";
- $netcdf_dir         = "$vmd_library_dir/netcdf";
--$netcdf_include     = "-I$netcdf_dir/include";
--$netcdf_library     = "-L$netcdf_dir/lib_$config_arch";
-+$netcdf_include     = "-Igentoo-netcdf-include";
-+$netcdf_library     = "-Lgentoo-netcdf-libs";
- $netcdf_libs        = "-lnetcdf";
- @netcdf_cc          = ();
- @netcdf_cu          = ();
-@@ -1595,6 +1571,7 @@
- #$stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "/usr/local/lib";
- $stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "$vmd_library_dir/python/lib_$config_arch/include/python2.5";
- $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
-+$stock_python_library=$ENV{"PYTHON_LIBRARY"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
- 
- #$stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "/usr/local/include";
- #$stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "/usr/local/lib";
-@@ -1604,7 +1581,7 @@
- $python_defines     = "-DVMDPYTHON";
- $python_include     = "-I$stock_python_include_dir -I$stock_numpy_include_dir -I$stock_numpy_library_dir";
- $python_library     = "-L$stock_python_library_dir";
--$python_libs        = "-lpython2.5 -lpthread";
-+$python_libs        = "$stock_python_library -lpthread";
- @python_h           = ('PythonTextInterp.h',
-                        'VMDTkinterMenu.h',
- 		       'py_commands.h',
-@@ -2350,8 +2327,8 @@
- 
-     # XFree 4.0 Direct Rendering Interface and GLX 
-     $opengl_dep_dir         = "/usr/X11R6";
--    $opengl_dep_include     = "-I$opengl_dep_dir/include";
--    $opengl_dep_library     = "-L$opengl_dep_dir/lib";
-+    $opengl_dep_include     = "-Igentoo-opengl-include";
-+    $opengl_dep_library     = "-Lgentoo-opengl-libs";
-     $opengl_dep_libs        = "-lGL"; 
-     # $opengl_dep_libs      = "-L/usr/X11R6/lib -lGL -lXext -lX11";
- 
-@@ -2381,15 +2358,15 @@
-       $arch_lopts       .= "-i-static ";
-     } else {
-       # compling with GCC
--      $arch_cc          = "gcc";
--      $arch_ccpp        = "g++";
-+      $arch_cc          = "gentoo-gcc";
-+      $arch_ccpp        = "gentoo-g++";
-       $arch_depend_flag = "-MM";
--      $arch_shld        = "g++ -shared";
-+      $arch_shld        = "gentoo-g++ -shared";
-       $arch_shlibname   = "so";
-       $arch_shcppopts   = "-fPIC";
--      $arch_shldopts    = "";
--      $arch_opt_flag    = "-m32 -fno-for-scope -Wno-deprecated -Wall -Wno-unknown-pragmas -O3";
--      $arch_copts       = "-m32 -Wall -Wno-unknown-pragmas -O3";
-+      $arch_shldopts    = "gentoo-ldflags";
-+      $arch_opt_flag    = "gentoo-cflags";
-+      $arch_copts       = "gentoo-cflags";
- 
-       if ($config_static) {
-         $arch_lopts       = "-static";
-@@ -2407,14 +2384,13 @@
- 
-     $arch_cppopts     = "";
-     if ($config_cuda) {
--      $arch_nvcc     = "/usr/local/cuda-4.0/bin/nvcc";
-       $arch_nvccflags  = "--ptxas-options=-v " . 
-                     "-gencode arch=compute_13,code=sm_13 " .
-                     "-gencode arch=compute_20,code=sm_20 " .
-                     "-gencode arch=compute_20,code=compute_20 " .
-                     "--ftz=true ";
--      $arch_nvccflags .= " --machine 32 -O3 -Xcompiler \"-m32\" $cuda_include";
--      $cuda_library     = "-L/usr/local/cuda-4.0/lib";
-+      $arch_nvccflags .= "gentoo-nvflags $cuda_include";
-+      $cuda_library     = "-Lgentoo-cuda-lib";
-       $cuda_libs       = "-Wl,-rpath -Wl,\$\$ORIGIN/ -lcudart";
-     }
-     # this is to make tcl happy
-@@ -2513,7 +2489,7 @@
- 
-     if ($config_cuda) {
-       $arch_nvccflags   .= " --machine 64 -O3 $cuda_include";
--      $cuda_library     = "-L/usr/local/cuda-10.2/lib64";
-+      $cuda_library     = "-Lgentoo-cuda-lib";
-     }
- 
-     $arch_lex		= "flex"; # has problems with vendor lex
-@@ -3502,11 +3478,11 @@
- DEFINES     = $DEFINES
- 
- # compiler and compiler directives 
--CC          = $arch_cc
--CFLAGS      = $arch_copts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
-+CC          = gentoo-gcc
-+CFLAGS      = gentoo-cflags -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
- 
--CCPP	    = $arch_ccpp
--CPPFLAGS    = $arch_opt_flag $arch_cppopts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
-+CCPP        = gentoo-g++
-+CPPFLAGS    = gentoo-cxxflags $arch_cppopts -DARCH_$config_arch \$(DEFINES) \$(INCDIRS) $rpm_optflags
- 
- NVCC        = $arch_nvcc
- NVCCFLAGS   = $arch_nvccflags -DARCH_$config_arch \$(DEFINES) \$(INCDIRS)
-@@ -3555,7 +3531,7 @@
- $config_progname: y.tab.h \$(VMD_OBJS) \$(VMD_PTX)
- 	\$(ECHO) "Linking " \$\@ "..."; \\
- 	\$(CD) $vmd_arch_dir ; \\
--	\$(CCPP) \$(CPPFLAGS) -I$vmd_src_dir -o \$\@ \$(VMD_OBJS) \$(LOADLIBES) ; 
-+	\$(CCPP) \$(LDFLAGS) \$(CPPFLAGS) -I$vmd_src_dir -o \$\@ \$(VMD_OBJS) \$(LOADLIBES) ; 
- 	\$(COMPILERC) \$(RCFLAGS)
- 
- install:
-@@ -3596,8 +3572,7 @@
- 	-\$(COPY) ../data/.vmdrc ../data/.vmdsensors ../data/vmd_completion.dat "$install_library_dir"
- 	\$(CD) $vmd_bin_dir ; \\
- 	if [ -f run_vmd_tmp ]; then \$(DELETE) run_vmd_tmp; fi ; \\
--	if [ ! -x "/bin/csh" ]; then \\
--		\$(ECHO) "Info: /bin/csh shell not found, installing Bourne shell startup script instead" ; \\
-+	if [ -x "/bin/bash" ]; then \\
- 		\$(ECHO) '#!/bin/sh' >> run_vmd_tmp ; \\
- 		\$(ECHO) 'defaultvmddir="$install_library_dir"' >> run_vmd_tmp ; \\
- 		\$(ECHO) 'vmdbasename=vmd' >> run_vmd_tmp ; \\
---- a/src/Makefile.old	2020-09-09 18:22:46.234818925 +0200
-+++ b/src/Makefile	2020-09-09 18:37:22.356511690 +0200
-@@ -647,7 +647,7 @@
- vmd_LINUXAMD64: y.tab.h $(VMD_OBJS) $(VMD_PTX)
- 	$(ECHO) "Linking " $@ "..."; \
- 	$(CD) ../LINUXAMD64 ; \
--	$(CCPP) $(CPPFLAGS) -I../src -o $@ $(VMD_OBJS) $(LOADLIBES) ; 
-+	$(CCPP) $(LDFLAGS) $(CPPFLAGS) -I../src -o $@ $(VMD_OBJS) $(LOADLIBES) ; 
- 	$(COMPILERC) $(RCFLAGS)
- 
- install:
-@@ -660,10 +660,6 @@
- 	if [ ! -d "/usr/local/lib/vmd"/doc ]; then \
- 		$(MAKEDIR) "/usr/local/lib/vmd"/doc; \
- 	fi
--	-$(COPY) ../Announcement  "/usr/local/lib/vmd"
--	-$(COPY) ../README        "/usr/local/lib/vmd"
--	-$(COPY) ../LICENSE       "/usr/local/lib/vmd"
--	-$(COPY) ../doc/ug.pdf        "/usr/local/lib/vmd"/doc
- 	if [ -f /usr/local/lib/vmd/vmd_LINUXAMD64 ]; then \
-            $(MOVE) "/usr/local/lib/vmd/vmd_LINUXAMD64" "/usr/local/lib/vmd/OLD_vmd_LINUXAMD64" ; $(DELETE) "/usr/local/lib/vmd/OLD_vmd_LINUXAMD64" ; fi
- 	-$(COPY) ../LINUXAMD64/vmd_LINUXAMD64 "/usr/local/lib/vmd"

diff --git a/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch b/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch
deleted file mode 100644
index 295811db058..00000000000
--- a/sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scripts/vmd/chemical2vmd.old	2020-09-09 18:40:56.795215443 +0200
-+++ b/scripts/vmd/chemical2vmd	2020-09-09 18:41:09.648348701 +0200
-@@ -61,7 +61,7 @@
- 
- 
- # Make a temp. file to store the load command
--$ENV{'TMPDIR'} = '/usr/tmp' if !$ENV{'TMPDIR'};
-+$ENV{'TMPDIR'} = '/tmp' if !$ENV{'TMPDIR'};
- sub tmpfile {
-     local ($tempfile) = $ENV{'TMPDIR'} . '/chemical2vmd.' . $$;
-     local ($i);

diff --git a/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild b/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild
deleted file mode 100644
index 417828a3209..00000000000
--- a/sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
-
-DESCRIPTION="Visual Molecular Dynamics"
-HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
-
-MY_PV="${PV/_alpha/a}"
-MY_P="${PN}-${MY_PV}"
-SRC_URI="
-	${MY_P}.src.tar
-	https://dev.gentoo.org/~jlec/distfiles/${PN}-1.9.3-gentoo-patches.tar.xz
-	https://dev.gentoo.org/~juippis/distfiles/tmp/vmd-1.9.4-gentoo-plugins.patch
-"
-
-SLOT="0"
-LICENSE="vmd"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="fetch"
-
-CDEPEND="
-	>=dev-lang/tk-8.6.1:0=
-	dev-lang/perl
-	dev-libs/expat
-	$(python_gen_cond_dep 'dev-python/numpy[${PYTHON_MULTI_USEDEP}]')
-	sci-libs/netcdf:0=
-	virtual/opengl
-	>=x11-libs/fltk-1.1.10-r2:1
-	x11-libs/libXft
-	x11-libs/libXi
-	${PYTHON_DEPS}
-	cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
-	gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
-	sqlite? ( dev-db/sqlite:3= )
-	tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
-	xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="${CDEPEND}"
-BDEPEND="
-	virtual/pkgconfig
-	dev-lang/swig
-"
-RDEPEND="${CDEPEND}
-	sci-biology/stride
-	sci-chemistry/chemical-mime-data
-	sci-chemistry/surf
-	x11-terms/xterm
-	msms? ( sci-chemistry/msms-bin )
-	povray? ( media-gfx/povray )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
-# Binary only plugin!!
-QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf/bin/intersurf.so"
-QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil/volutil"
-QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil/volutil"
-
-pkg_nofetch() {
-	elog "Please download ${MY_P}.src.tar from"
-	elog "${VMD_DOWNLOAD}"
-	elog "after agreeing to the license and get"
-	elog "https://dev.gentoo.org/~jlec/distfiles/${PN}-1.9.3-gentoo-patches.tar.xz"
-	elog "https://dev.gentoo.org/~juippis/distfiles/tmp/vmd-1.9.4-gentoo-plugins.patch"
-	elog "Place them into your DISTDIR directory"
-	elog
-	elog "Due to an upstream bug (https://bugs.gentoo.org/640440) sources"
-	elog "file may get downloaded as a compressed tarball or not. In that case"
-	elog "you will need to ensure you uncompress the file and rename it"
-	elog "to ${MY_P}.src.tar"
-}
-
-src_prepare() {
-	# Apply user patches from ${WORKDIR} to allow patching on patches
-	# subdir too
-	cd "${WORKDIR}"
-	xdg_src_prepare
-
-	# https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32121.html
-	# https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32116.html
-	eapply "${DISTDIR}"/${PN}-1.9.4-gentoo-plugins.patch
-
-	use cuda && cuda_sanitize
-
-	# Prepare plugins
-	cd plugins || die
-
-	sed '/^.SILENT/d' -i $(find -name Makefile)
-
-	sed \
-		-e "s:CC = gcc:CC = $(tc-getCC):" \
-		-e "s:CXX = g++:CXX = $(tc-getCXX):" \
-		-e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
-		-e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
-		-e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
-		-e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
-		-e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
-		-e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
-		-e "s:-ltcl8.5:-ltcl:" \
-		-i Make-arch || die "Failed to set up plugins Makefile"
-
-	sed \
-		-e '/^AR /s:=:?=:g' \
-		-e '/^RANLIB /s:=:?=:g' \
-		-i ../plugins/*/Makefile || die
-
-	tc-export AR RANLIB
-
-	sed \
-		-e "s:\$(CXXFLAGS)::g" \
-		-i hesstrans/Makefile || die
-
-	# prepare vmd itself
-	cd "${S}" || die
-
-	eapply "${FILESDIR}"/${PN}-1.9.4-gentoo-paths.patch
-
-	# https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32122.html
-	eapply "${FILESDIR}"/${PN}-1.9.4-tmpdir.patch
-
-	# PREFIX
-	sed \
-		-e "s:/usr/include/:${EPREFIX}/usr/include:g" \
-		-i configure || die
-
-	sed \
-		-e "s:gentoo-bindir:${ED}/usr/bin:g" \
-		-e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
-		-e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
-		-e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-e "s:gentoo-gcc:$(tc-getCC):g" \
-		-e "s:gentoo-g++:$(tc-getCXX):g" \
-		-e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
-		-e "s:gentoo-cflags:${CFLAGS}:g" \
-		-e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
-		-e "s:gentoo-nvflags::g" \
-		-e "s:gentoo-ldflags:${LDFLAGS}:g" \
-		-e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
-		-e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
-		-e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
-		-e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
-		-e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
-		-e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
-		-i configure || die
-
-	if use cuda; then
-		sed \
-			-e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
-			-e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
-			-i configure src/Makefile || die
-		sed \
-			-e '/compute_/d' \
-			-i configure || die
-		sed \
-			-e 's:-gencode .*code=sm_..::' \
-			-i src/Makefile || die
-	fi
-
-	sed \
-		-e "s:LINUXPPC:LINUX:g" \
-		-e "s:LINUXALPHA:LINUX:g" \
-		-e "s:LINUXAMD64:LINUX:g" \
-		-e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
-		-e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
-		-e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
-		-i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
-
-	EMAKEOPTS=(
-		TCLINC="-I${EPREFIX}/usr/include"
-		TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
-		TCLLDFLAGS="-shared"
-		NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
-		NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
-		NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
-		NETCDFDYNAMIC=1
-		EXPATINC="-I${EPREFIX}/usr/include"
-		EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
-		EXPATLDFLAGS="-shared"
-		EXPATDYNAMIC=1
-	)
-	if use gromacs; then
-		EMAKEOPTS+=(
-			TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
-			TNGINC="-I${EPREFIX}/usr/include"
-			TNGLDFLAGS="-shared"
-			TNGDYNAMIC=1
-		)
-	fi
-	if use sqlite; then
-		EMAKEOPTS+=(
-			SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
-			SQLITEINC="-I${EPREFIX}/usr/include"
-			SQLITELDFLAGS="-shared"
-			SQLITEDYNAMIC=1
-		)
-	fi
-}
-
-src_configure() {
-	local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
-	rm -f configure.options && echo $myconf >> configure.options
-
-	use cuda && myconf+=" CUDA"
-#	use mpi && myconf+=" MPI"
-	use tachyon && myconf+=" LIBTACHYON"
-	use xinerama && myconf+=" XINERAMA"
-
-	export \
-		PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
-		PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
-		PYTHON_LIBRARY="$(python_get_LIBS)" \
-		NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
-		NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
-
-	perl ./configure LINUX \
-		${myconf} || die
-}
-
-src_compile() {
-	# build plugins
-	cd "${WORKDIR}"/plugins || die
-
-	emake \
-		${EMAKEOPTS[@]} \
-		LINUX
-
-	# build vmd
-	cd "${S}"/src || die
-	emake
-}
-
-src_install() {
-	# install plugins
-	cd "${WORKDIR}"/plugins || die
-	emake \
-			PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
-			distrib
-
-	# install vmd
-	cd "${S}"/src || die
-	emake install
-
-	# install docs
-	cd "${S}" || die
-	dodoc Announcement README doc/ig.pdf doc/ug.pdf
-
-	# remove some of the things we don't want and need in
-	# /usr/lib
-	cd "${ED}"/usr/$(get_libdir)/vmd || die
-	rm -fr doc README Announcement LICENSE || \
-		die "failed to clean up /usr/lib/vmd directory"
-
-	# adjust path in vmd wrapper
-	sed \
-		-e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
-		-e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
-		|| die "failed to set up vmd wrapper script"
-
-	# install icon and generate desktop entry
-	insinto /usr/share/pixmaps
-	doins "${WORKDIR}"/vmd.png
-	eprefixify "${WORKDIR}"/vmd.desktop
-	sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
-	# Open PDB files with VMD
-	echo "MimeType=chemical/x-pdb;" >> "${WORKDIR}"/vmd.desktop || die
-	domenu "${WORKDIR}"/vmd.desktop
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-02 19:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-08 18:47 [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/files/, sci-chemistry/vmd/ Pacho Ramos
  -- strict thread matches above, loose matches on Subject: below --
2021-05-02 19:22 Pacho Ramos
2020-09-19 12:29 Michał Górny
2020-09-09 17:03 Pacho Ramos
2019-12-15 15:31 Pacho Ramos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox