diff options
author | Pacho Ramos <pacho@gentoo.org> | 2020-09-09 19:03:02 +0200 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2020-09-09 19:03:02 +0200 |
commit | 8790988057a312f5e5cfa1d6f0acf4c681619321 (patch) | |
tree | 2998c8a892be65e78df07f32206134539ed36079 /sci-chemistry | |
parent | media-tv/kodi: Cleanup old version (diff) | |
download | gentoo-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')
-rw-r--r-- | sci-chemistry/vmd/Manifest | 1 | ||||
-rw-r--r-- | sci-chemistry/vmd/files/vmd-1.9.4-gentoo-paths.patch | 276 | ||||
-rw-r--r-- | sci-chemistry/vmd/files/vmd-1.9.4-tmpdir.patch | 11 | ||||
-rw-r--r-- | sci-chemistry/vmd/vmd-1.9.4_alpha43.ebuild | 265 |
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 +} |