diff options
author | Viktor Drobot | 2020-08-25 17:18:53 +0300 |
---|---|---|
committer | Viktor Drobot | 2020-08-25 17:18:53 +0300 |
commit | bbecce8cab7ca4ac354d4bad61988ff6908244dd (patch) | |
tree | 025280f0daeaaffe216aa60a5855382f30556eea | |
parent | 1ef3a52610685d77c88b3b5f0e9906496e519e9c (diff) | |
download | aur-bbecce8cab7ca4ac354d4bad61988ff6908244dd.tar.gz |
Update 3.0.0
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | PKGBUILD | 109 | ||||
-rw-r--r-- | globals_apbs.patch | 69 | ||||
-rw-r--r-- | globals_bem.patch | 318 |
4 files changed, 493 insertions, 32 deletions
@@ -1,18 +1,29 @@ pkgbase = apbs pkgdesc = Electrostatic and solvation properties for complex molecules - pkgver = 1.5 - pkgrel = 4 + pkgver = 3.0.0 + pkgrel = 1 url = http://www.poissonboltzmann.org/ arch = x86_64 - arch = i686 - license = MIT - makedepends = cmake + license = custom + makedepends = cmake>=3.12 + makedepends = make makedepends = git - makedepends = gcc + makedepends = wget + depends = python + depends = boost + depends = eigen + depends = termcap depends = swig - depends = python2 - source = git+https://github.com/Electrostatics/apbs-pdb2pqr.git#commit=aa353941cfadc09ccd113075d261a427864c2979 - md5sums = SKIP + provides = apbs + conflicts = apbs-bin + options = !makeflags + options = !buildflags + source = https://github.com/Electrostatics/apbs/releases/download/v3.0.0/APBS-3.0.0_Source-Code.tar.gz + source = globals_apbs.patch + source = globals_bem.patch + sha256sums = 3cf8b227a205cdcbd13246489427606f256f2356343fc954734fd39975e5cbdb + sha256sums = 6bc1f2dc7a454aa8b0799641f78ee571ba04795821a9bcac356cbe496bdb3df6 + sha256sums = 3d8cc3d052a60a36d79ab95b8c89c03d79bdcca9958c2936513d92c23acb097b pkgname = apbs @@ -1,39 +1,102 @@ # Maintainer: Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com + pkgname=apbs -pkgver=1.5 -pkgrel=4 +pkgver=3.0.0 +pkgrel=1 pkgdesc="Electrostatic and solvation properties for complex molecules" -arch=(x86_64 i686) +arch=(x86_64) url="http://www.poissonboltzmann.org/" -license=('MIT') -depends=('swig' 'python2') -makedepends=('cmake' 'git' 'gcc') -source=("git+https://github.com/Electrostatics/apbs-pdb2pqr.git#commit=aa353941cfadc09ccd113075d261a427864c2979") -md5sums=('SKIP') +license=(custom) +depends=(python boost eigen termcap swig) +makedepends=('cmake>=3.12' make git wget) +provides=(apbs) +conflicts=(apbs-bin) +source=("https://github.com/Electrostatics/apbs/releases/download/v3.0.0/APBS-3.0.0_Source-Code.tar.gz" + "globals_apbs.patch" + "globals_bem.patch") +sha256sums=('3cf8b227a205cdcbd13246489427606f256f2356343fc954734fd39975e5cbdb' + '6bc1f2dc7a454aa8b0799641f78ee571ba04795821a9bcac356cbe496bdb3df6' + '3d8cc3d052a60a36d79ab95b8c89c03d79bdcca9958c2936513d92c23acb097b') +options=(!makeflags !buildflags) + +prepare() { + # patch APBS building issues + cd "${srcdir}/${pkgname}-${pkgver}/apbs" + patch -Np0 -i "${srcdir}/globals_apbs.patch" + + # get external modules + cd "${srcdir}/${pkgname}-${pkgver}/apbs/externals" + + # mesh_routines + mkdir -p mesh_routines/NanoShaper/Linux64 + mkdir -p mesh_routines/msms/msms_i86_64Linux2_2.6.1 + wget https://github.com/lwwilson1/mesh_routines/releases/download/v1.5/NanoShaper_Linux64 -O mesh_routines/NanoShaper/Linux64/NanoShaper + wget https://github.com/lwwilson1/mesh_routines/releases/download/v1.5/msms.x86_64Linux2.2.6.1.staticgcc -O mesh_routines/msms/msms_i86_64Linux2_2.6.1/msms.x86_64Linux2.2.6.1.staticgcc + + # PBAM/PBSAM + git clone https://github.com/Electrostatics/pb_solvers.git pb_s_am + cd pb_s_am + git checkout 7ca2a8a491c0cf746074053005fcae026acc4da5 + cd .. + + # FETK + git clone https://github.com/Electrostatics/FETK.git fetk + cd fetk + git checkout 0c6fdeabe8929acea7481cb1480b5706b343b7e0 + cd .. + + # Geometric Flow + git clone https://github.com/Electrostatics/geoflow_c.git geoflow_c + cd geoflow_c + git checkout 99446ec841647419411d23bad632d50405913a06 + cd .. + + # TABI-PB (BEM) + git clone https://github.com/Electrostatics/TABIPB.git bem + cd bem + git checkout de187a41720887d667edcfb6c23bb61fbbe06b5b + + # patch BEM building issues + patch -Np0 -i "${srcdir}/globals_bem.patch" + cd .. +} build() { - cd ${srcdir}/apbs-pdb2pqr + cd "${srcdir}/${pkgname}-${pkgver}/apbs" - git submodule init - git submodule update + mkdir build + cd build - cd apbs + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_GEOFLOW=ON \ + -DENABLE_BEM=ON \ + -DENABLE_FETK=ON \ + -DENABLE_OPENMP=ON \ + -DENABLE_PBAM=ON \ + -DENABLE_PBSAM=ON \ + -DENABLE_PYTHON=ON \ + -DENABLE_TESTS=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_DOC=OFF \ + -Wno-dev \ + .. - cmake -Wno-dev -DCMAKE_EXE_LINKER_FLAGS="" -DCMAKE_MODULE_LINKER_FLAGS="" -DCMAKE_SHARED_LINKER_FLAGS="" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so -DPYTHON_LIBRARIES=/usr/lib/libpython2.7.so -DENABLE_PYTHON=ON -DBUILD_SHARED_LIBS=ON . - make + make } package() { - cd ${srcdir}/apbs-pdb2pqr/apbs + cd "${srcdir}/${pkgname}-${pkgver}/apbs/build" + + # install base components + make DESTDIR="$pkgdir" install - make DESTDIR=$pkgdir install + # install license + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/apbs/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - # fix python versions in scripts - sed -i 's|/bin/python|/usr/bin/python2|g' ${pkgdir}/usr/share/apbs/examples/protein-rna/apbs_unix_dx.py - sed -i 's|/usr/bin/env python|/usr/bin/python2|g' ${pkgdir}/usr/share/apbs/examples/protein-rna/fit.py - sed -i 's|/usr/bin/env python|/usr/bin/python2|g' ${pkgdir}/usr/share/apbs/tools/manip/psize.py - sed -i 's|/usr/bin/python|/usr/bin/python2|g' ${pkgdir}/usr/share/apbs/tools/python/noinput.py + # cleanup conflicting symlinks + cd "${pkgdir}/usr/lib" - find "${pkgdir}/usr/share/apbs/tests" -name '*.py' -type f -exec \ - sed -i 's|/usr/bin/env python|/usr/bin/python2|g' {} \; + rm -f libamd.so libblas.so libsuperlu.so libumfpack.so } diff --git a/globals_apbs.patch b/globals_apbs.patch new file mode 100644 index 000000000000..b5756c7747a2 --- /dev/null +++ b/globals_apbs.patch @@ -0,0 +1,69 @@ +--- src/pmgc/mgsubd.c 2020-05-30 04:47:30.000000000 +0300 ++++ src/pmgc/mgsubd.c 2020-08-19 13:08:27.503698756 +0300 +@@ -52,10 +52,12 @@ + * @endverbatim
+ */
+
+ #include "mgsubd.h"
+
++double bf, oh, cputme;
++
+ VPUBLIC void Vbuildops(
+ int *nx, int *ny, int *nz,
+ int *nlev, int *ipkey, int *iinfo,
+ int *ido, int *iz,
+ int *mgprol, int *mgcoar, int *mgsolv, int *mgdisc, int *ipc,
+--- src/pmgc/mgsubd.h 2020-05-30 04:47:30.000000000 +0300 ++++ src/pmgc/mgsubd.h 2020-08-19 13:08:54.266813098 +0300 +@@ -253,11 +253,11 @@ + int n3 ///< The third grid size
+ );
+
+
+ /// @todo Get rid of these globals in refactor
+-double bf, oh, cputme;
++extern double bf, oh, cputme;
+
+ /** @brief This routine prints out some info and such from inside multigrid.
+ * @author Tucker Beck [C Translation], Michael Holst [Original]
+ * @note Replaces prtstp from mgsubd.f
+ */
+--- src/pmgc/mypdec.c 2020-05-30 04:47:30.000000000 +0300 ++++ src/pmgc/mypdec.c 2020-08-19 13:09:34.939813105 +0300 +@@ -52,10 +52,15 @@ + * @endverbatim
+ */
+
+ #include "mypdec.h"
+
++double v1, v2, v3, conc1, conc2, conc3, vol, relSize;
++int nion;
++double charge[MAXIONS];
++double sconc[MAXIONS];
++
+ VPUBLIC void Vmypdefinitlpbe(int *tnion, double *tcharge, double *tsconc) {
+
+ int i;
+
+ nion = *tnion;
+--- src/pmgc/mypdec.h 2020-05-30 04:47:30.000000000 +0300 ++++ src/pmgc/mypdec.h 2020-08-19 13:09:56.172972195 +0300 +@@ -65,14 +65,14 @@ + #define ZLARGE 1.0e20
+ #define SINH_MIN -85.0
+ #define SINH_MAX 85.0
+
+ /// @todo Remove dependencies on global variables
+-double v1, v2, v3, conc1, conc2, conc3, vol, relSize;
+-int nion;
+-double charge[MAXIONS];
+-double sconc[MAXIONS];
++extern double v1, v2, v3, conc1, conc2, conc3, vol, relSize;
++extern int nion;
++extern double charge[MAXIONS];
++extern double sconc[MAXIONS];
+
+ #define Na 6.022045000e-04
+
+ /** @brief Set up the ionic species to be used in later calculations. This
+ * must be called before any other of the routines in this file.
diff --git a/globals_bem.patch b/globals_bem.patch new file mode 100644 index 000000000000..66e10342d59c --- /dev/null +++ b/globals_bem.patch @@ -0,0 +1,318 @@ +--- src/gl_variables.c 1970-01-01 03:00:00.000000000 +0300 ++++ src/gl_variables.c 2020-08-25 15:55:39.806472450 +0300 +@@ -0,0 +1,39 @@ ++/* ++ * C source file for global variables definition of tabipb ++ * ++ * C version authored by: ++ * Jiahui Chen, Southern Methodist University, Dallas, TX ++ * ++ * Additional modifications and updates by: ++ * Leighton Wilson, University of Michigan, Ann Arbor, MI ++ * ++ * Based on package originally written in FORTRAN by: ++ * Weihua Geng, Southern Methodist University, Dallas, TX ++ * Robery Krasny, University of Michigan, Ann Arbor, MI ++ * ++ * Last modified by Viktor Drobot, 08/25/2020 ++ */ ++ ++#include "gl_variables.h" ++ ++/*constant variables */ ++double pi, one_over_4pi, kcal2j, bulk_coef, units_coef, epsw, epsp, eps; ++double bulk_strength, kappa2, kappa; ++ ++ ++/*global scalar variables*/ ++int nface, nspt, natm; ++ ++ ++/*dynamic allocated variables*/ ++int **extr_v; //[3][nspt] ++int **extr_f; //[2][nface] ++int **face;//[3][nface] ++ ++double **vert, **snrm; //[3][nspt]; ++double *tr_xyz, *tr_q; //[3]*[nface] ++double *tr_area, *bvct, *xvct; //[nface]; ++double *atmrad, *atmchr, *chrpos; //[natm],[3][nface]; ++ ++/* GMRes variables */ ++double *work, *h; +--- src/gl_variables.h 2020-08-25 16:31:43.073197652 +0300 ++++ src/gl_variables.h 2020-08-25 16:31:45.386509224 +0300 +@@ -9,38 +9,38 @@ + *
+ * Based on package originally written in FORTRAN by:
+ * Weihua Geng, Southern Methodist University, Dallas, TX
+ * Robery Krasny, University of Michigan, Ann Arbor, MI
+ *
+- * Last modified by Leighton Wilson, 06/20/2016
++ * Last modified by Viktor Drobot, 08/25/2020
+ */
+
+ #ifndef H_GLVARS_H
+ #define H_GLVARS_H
+
+ #include "TABIPBstruct.h"
+
+
+ /*constant variables */
+-double pi, one_over_4pi, kcal2j, bulk_coef, units_coef, epsw, epsp, eps;
+-double bulk_strength, kappa2, kappa;
++extern double pi, one_over_4pi, kcal2j, bulk_coef, units_coef, epsw, epsp, eps;
++extern double bulk_strength, kappa2, kappa;
+
+
+ /*global scalar variables*/
+-int nface, nspt, natm;
++extern int nface, nspt, natm;
+
+
+ /*dynamic allocated variables*/
+-int **extr_v; //[3][nspt]
+-int **extr_f; //[2][nface]
+-int **face;//[3][nface]
+-
+-double **vert, **snrm; //[3][nspt];
+-double *tr_xyz, *tr_q; //[3]*[nface]
+-double *tr_area, *bvct, *xvct; //[nface];
+-double *atmrad, *atmchr, *chrpos; //[natm],[3][nface];
++extern int **extr_v; //[3][nspt]
++extern int **extr_f; //[2][nface]
++extern int **face;//[3][nface]
++
++extern double **vert, **snrm; //[3][nspt];
++extern double *tr_xyz, *tr_q; //[3]*[nface]
++extern double *tr_area, *bvct, *xvct; //[nface];
++extern double *atmrad, *atmchr, *chrpos; //[natm],[3][nface];
+
+ /* GMRes variables */
+-double *work, *h;
++extern double *work, *h;
+
+
+ #endif /* H_GLVARS_H */
+--- src/treecode.c 2020-08-25 16:40:07.671844382 +0300 ++++ src/treecode.c 2020-08-25 16:41:23.934469576 +0300 +@@ -9,11 +9,11 @@ + * + * Based on package originally written in FORTRAN by: + * Weihua Geng, Southern Methodist University, Dallas, TX + * Robery Krasny, University of Michigan, Ann Arbor, MI + * +- * Last modified by Leighton Wilson, 06/20/2016 ++ * Last modified by Viktor Drobot, 08/25/2020 + */ + + #include <time.h> + #include <stdio.h> + #include <math.h> +@@ -21,10 +21,75 @@ + + #include "gl_variables.h" + #include "treecode.h" + + ++/* runtime parameters */ ++int numpars, order, maxparnode, iflag, forcedim; ++double theta; ++double center[3], r0[3], v0[3]; ++ ++ ++/* arrays for coordinates, charge, potential & force */ ++double *x, *y, *z, *q; ++double *x_copy, *y_copy, *z_copy, *q_copy; ++double **tforce, **dforce; ++int *orderind, *n_clst; ++ ++ ++/* timing variables */ ++double timebeg, timeend; ++ ++ ++/* local variables */ ++double xyzminmax[6]; ++double t1, abserr, relerr, adsinf_err, relinf_err; ++double f_inferr[3], f_relinferr[3], t[3]; ++ ++double ***tchg, ***schg; ++double ****der_cof; ++int kk[16][3]; ++ ++ ++/* global variables for taylor expansions */ ++int torder, torder2, torderlim; ++double *cf, *cf1, *cf2, *cf3; ++double ***a, ***b; ++ ++ ++/* global variables to track tree levels */ ++int minlevel, maxlevel; ++ ++ ++/* global variables used when computing potential/force */ ++int orderoffset; ++double tarpos[3], tarq[3]; ++double tarchr; ++ ++ ++/* global variables for position and charge storage */ ++/* arrays are not copied in this version!! orderarr is till valid*/ ++int *orderarr; ++double *xcopy,*ycopy,*zcopy,*qcopy; ++ ++ ++/* node pointer and node struct declarations */ ++typedef struct tnode{ ++ int node_idx; ++ int numpar, ibeg, iend; ++ double x_min, y_min, z_min; ++ double x_max, y_max, z_max; ++ double x_mid, y_mid, z_mid; ++ double radius, aspect; ++ int level, num_children, exist_ms; ++ double ****ms; ++ struct tnode** child; ++}tnode; ++ ++tnode* troot; ++ ++ + int treecode_initialization(int main_order,int main_maxparnode,double main_theta) { + /* set up variables used in treecode */ + /* local variables*/ + int level, ierr, err, i, j, k, mm, nn, idx, ijk[3]; + +--- src/treecode.h 2020-08-25 16:40:07.675177684 +0300 ++++ src/treecode.h 2020-08-25 16:40:43.728176389 +0300 +@@ -9,79 +9,16 @@ + * + * Based on package originally written in FORTRAN by: + * Weihua Geng, Southern Methodist University, Dallas, TX + * Robery Krasny, University of Michigan, Ann Arbor, MI + * +- * Last modified by Leighton Wilson, 06/20/2016 ++ * Last modified by Viktor Drobot, 08/25/2020 + */ + + #ifndef H_TREECODE_H + #define H_TREECODE_H + + +-/* runtime parameters */ +-int numpars, order, maxparnode, iflag, forcedim; +-double theta; +-double center[3], r0[3], v0[3]; +- +- +-/* arrays for coordinates, charge, potential & force */ +-double *x, *y, *z, *q; +-double *x_copy, *y_copy, *z_copy, *q_copy; +-double **tforce, **dforce; +-int *orderind, *n_clst; +- +- +-/* timing variables */ +-double timebeg, timeend; +- +- +-/* local variables */ +-double xyzminmax[6]; +-double t1, abserr, relerr, adsinf_err, relinf_err; +-double f_inferr[3], f_relinferr[3], t[3]; +- +-double ***tchg, ***schg; +-double ****der_cof; +-int kk[16][3]; +- +- +-/* global variables for taylor expansions */ +-int torder, torder2, torderlim; +-double *cf, *cf1, *cf2, *cf3; +-double ***a, ***b; +- +- +-/* global variables to track tree levels */ +-int minlevel, maxlevel; +- +- +-/* global variables used when computing potential/force */ +-int orderoffset; +-double tarpos[3], tarq[3]; +-double tarchr; +-double ***tchg, ***schg; +- +- +-/* global variables for position and charge storage */ +-/* arrays are not copied in this version!! orderarr is till valid*/ +-int *orderarr; +-double *xcopy,*ycopy,*zcopy,*qcopy; +- +- +-/* node pointer and node struct declarations */ +-typedef struct tnode{ +- int node_idx; +- int numpar, ibeg, iend; +- double x_min, y_min, z_min; +- double x_max, y_max, z_max; +- double x_mid, y_mid, z_mid; +- double radius, aspect; +- int level, num_children, exist_ms; +- double ****ms; +- struct tnode** child; +-}tnode; +- +-tnode* troot; ++extern int *orderarr; + + + #endif /* H_TREECODE_H */ +--- CMakeLists.txt 2020-08-25 16:40:07.671844382 +0300 ++++ CMakeLists.txt 2020-08-25 17:01:51.382985737 +0300 +@@ -51,10 +51,11 @@ + src/drot.c + src/drotg.c + src/dscal.c + src/dtrsv.c + src/f2c.h ++ src/gl_variables.c + src/gl_variables.h + src/gmres.c + src/readin.c + src/tabipb.c + src/TABIPBstruct.h +@@ -92,17 +93,17 @@ + # C code for standalone; don't include pp_timer.c in Windows version + if(WIN32) + add_executable(tabipb + src/main.c src/tabipb.c src/gmres.c src/daxpy.c src/dcopy.c src/ddot.c + src/dgemv.c src/dnrm2.c src/drot.c src/drotg.c src/dscal.c src/d_sign.c +- src/dtrsv.c src/readin.c src/treecode.c ++ src/dtrsv.c src/readin.c src/treecode.c src/gl_variables.c + src/xmalloc.c) + else() + add_executable(tabipb + src/main.c src/tabipb.c src/gmres.c src/daxpy.c src/dcopy.c src/ddot.c + src/dgemv.c src/dnrm2.c src/drot.c src/drotg.c src/dscal.c src/d_sign.c +- src/dtrsv.c src/readin.c src/pp_timer.c src/treecode.c ++ src/dtrsv.c src/readin.c src/pp_timer.c src/treecode.c src/gl_variables.c + src/xmalloc.c) + endif() + + + ################################################ +@@ -145,11 +146,11 @@ + endif () + + set (LIBFILES + src/TABIPBWrap.c src/tabipb.c src/gmres.c src/daxpy.c src/dcopy.c src/ddot.c + src/dgemv.c src/dnrm2.c src/drot.c src/drotg.c src/dscal.c src/d_sign.c +- src/dtrsv.c src/readin.c src/treecode.c src/xmalloc.c) ++ src/dtrsv.c src/readin.c src/treecode.c src/gl_variables.c src/xmalloc.c) + + message(***** ${CMAKE_INSTALL_PREFIX} *****) + + if(NOT DEFINED ${CMAKE_INSTALL_PREFIX}) + set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}) |