summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2020-09-09 19:03:02 +0200
committerPacho Ramos <pacho@gentoo.org>2020-09-09 19:03:02 +0200
commit8790988057a312f5e5cfa1d6f0acf4c681619321 (patch)
tree2998c8a892be65e78df07f32206134539ed36079 /sci-chemistry/vmd
parentmedia-tv/kodi: Cleanup old version (diff)
downloadgentoo-8790988057a312f5e5cfa1d6f0acf4c681619321.tar.gz
gentoo-8790988057a312f5e5cfa1d6f0acf4c681619321.tar.bz2
gentoo-8790988057a312f5e5cfa1d6f0acf4c681619321.zip
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@gentoo.org>
Diffstat (limited to 'sci-chemistry/vmd')
-rw-r--r--sci-chemistry/vmd/Manifest1
-rw-r--r--sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch276
-rw-r--r--sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch11
-rw-r--r--sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild265
4 files changed, 553 insertions, 0 deletions
diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
index 977dcfa66a20..62f7ae61617b 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 000000000000..ca74b868d8f4
--- /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 000000000000..295811db0580
--- /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 000000000000..29d0417b34ed
--- /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
+}