aboutsummaryrefslogtreecommitdiff
path: root/science/tinker
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2018-10-07 00:19:22 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2018-10-07 00:19:22 +0000
commit377565226d42ee3d4104898e85efa57cf9126df2 (patch)
tree0f6a776c777618165cdb2629f2b885b2d8f1985a /science/tinker
parent52e1a26ea3fcf29240bdcbbe8e242c0fec6bcf58 (diff)
downloadports-377565226d42ee3d4104898e85efa57cf9126df2.tar.gz
ports-377565226d42ee3d4104898e85efa57cf9126df2.zip
biology/tinker: Update 7.1.3 -> 8.4.4; Move to science/
Port changes: * Take maintainership * Implement the 'benchmarks' target, and stop installing benchmarks * Add USES=gmake * Update license * Change MASTER_SITES and WWW to https * Silence some commands
Notes
Notes: svn path=/head/; revision=481406
Diffstat (limited to 'science/tinker')
-rw-r--r--science/tinker/Makefile77
-rw-r--r--science/tinker/distinfo3
-rw-r--r--science/tinker/files/patch-make_Makefile255
-rw-r--r--science/tinker/files/patch-source_openend.f16
-rw-r--r--science/tinker/files/pkg-message.in11
-rw-r--r--science/tinker/pkg-descr16
-rw-r--r--science/tinker/pkg-plist186
7 files changed, 564 insertions, 0 deletions
diff --git a/science/tinker/Makefile b/science/tinker/Makefile
new file mode 100644
index 000000000000..fefd326efc71
--- /dev/null
+++ b/science/tinker/Makefile
@@ -0,0 +1,77 @@
+# Created by: Glenn Johnson
+# $FreeBSD$
+
+PORTNAME= tinker
+DISTVERSION= 8.4.4
+CATEGORIES= science
+MASTER_SITES= https://dasher.wustl.edu/tinker/downloads/
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= General purpose molecular modelling package
+
+LICENSE= TINKER
+LICENSE_NAME= TINKER license agreement
+LICENSE_FILE= ${WRKSRC}/doc/license.pdf
+LICENSE_PERMS= auto-accept # internal academic purposes only, no commercial use
+
+OPTIONS_DEFINE= OPTIMIZED_FFLAGS DOCS EXAMPLES
+OPTIMIZED_FFLAGS_DESC= compilation optimizations
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+BUILD_WRKSRC= ${WRKSRC}/source
+INSTALL_WRKSRC= ${WRKSRC}/source
+
+LIB_DEPENDS= libfftw3.so:math/fftw3
+
+USES= fortran gmake
+MAKE_ENV= HAVE_G2C=yes
+MAKE_ARGS= RANLIB=ranlib BINDIR=${STAGEDIR}${PREFIX}/bin
+MAKEFILE= ${WRKSRC}/make/Makefile
+EXTRACT_AFTER_ARGS=--exclude fftw --exclude windows --exclude macosx
+
+SUB_FILES= pkg-message
+
+BINARY_ALIAS= gfortran=gfortran${GCC_DEFAULT}
+
+PORTDOCS= *
+PORTEXAMPLES= *
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPTIMIZED_FFLAGS}
+FFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations
+.if (${ARCH} == "i386")
+FFLAGS+= -mfancy-math-387 -malign-double
+.endif # i386
+.endif
+
+post-extract:
+ @${RM} ${BUILD_WRKSRC}/*.c
+ @${RM} ${WRKSRC}/other/eopbend.orig
+
+post-patch:
+ @${REINPLACE_CMD} -i '' 's|\.\./bin/|${STAGEDIR}${PREFIX}/bin/|' ${BUILD_WRKSRC}/../bench/bench*.run
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ @${MKDIR} ${STAGEDIR}${DATADIR}/params
+ cd ${WRKSRC}/params && ${INSTALL_DATA} * ${STAGEDIR}${DATADIR}/params
+ @${MKDIR} ${STAGEDIR}${DATADIR}/test
+ cd ${WRKSRC}/test && ${INSTALL_DATA} * ${STAGEDIR}${DATADIR}/test
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC}/doc && ${INSTALL_DATA} 0README *.pdf ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/example && ${INSTALL_DATA} \
+ 0README *.make *.dyn *.int *.frac *.key *.seq *.pdb *.xyz \
+ ${STAGEDIR}${EXAMPLESDIR}
+
+benchmarks: stage
+.for n in 1 2 3 4 5 6 7 8 9
+ @cd ${BUILD_WRKSRC}/../bench && ./bench${n}.run
+.endfor
+
+.include <bsd.port.mk>
diff --git a/science/tinker/distinfo b/science/tinker/distinfo
new file mode 100644
index 000000000000..d20c59c39ccc
--- /dev/null
+++ b/science/tinker/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1538861663
+SHA256 (tinker-8.4.4.tar.gz) = c263298383bcd5a72f281d25640f7be2e9c465e08c1a61c3c3de59b6bb828da6
+SIZE (tinker-8.4.4.tar.gz) = 35549655
diff --git a/science/tinker/files/patch-make_Makefile b/science/tinker/files/patch-make_Makefile
new file mode 100644
index 000000000000..3e9f9d05450e
--- /dev/null
+++ b/science/tinker/files/patch-make_Makefile
@@ -0,0 +1,255 @@
+--- make/Makefile.orig 2018-10-06 22:01:02 UTC
++++ make/Makefile
+@@ -754,130 +754,130 @@ listing:
+ cat *.f *.c > tinker.txt
+
+ rename_bin:
+- mv alchemy.x $(BINDIR)/alchemy
+- mv analyze.x $(BINDIR)/analyze
+- mv anneal.x $(BINDIR)/anneal
+- mv archive.x $(BINDIR)/archive
+- mv bar.x $(BINDIR)/bar
+- mv correlate.x $(BINDIR)/correlate
+- mv crystal.x $(BINDIR)/crystal
+- mv diffuse.x $(BINDIR)/diffuse
+- mv distgeom.x $(BINDIR)/distgeom
+- mv document.x $(BINDIR)/document
+- mv dynamic.x $(BINDIR)/dynamic
+- mv gda.x $(BINDIR)/gda
+- mv intedit.x $(BINDIR)/intedit
+- mv intxyz.x $(BINDIR)/intxyz
+- mv minimize.x $(BINDIR)/minimize
+- mv minirot.x $(BINDIR)/minirot
+- mv minrigid.x $(BINDIR)/minrigid
+- mv mol2xyz.x $(BINDIR)/mol2xyz
+- mv molxyz.x $(BINDIR)/molxyz
+- mv monte.x $(BINDIR)/monte
+- mv newton.x $(BINDIR)/newton
+- mv newtrot.x $(BINDIR)/newtrot
+- mv nucleic.x $(BINDIR)/nucleic
+- mv optimize.x $(BINDIR)/optimize
+- mv optirot.x $(BINDIR)/optirot
+- mv optrigid.x $(BINDIR)/optrigid
+- mv path.x $(BINDIR)/path
+- mv pdbxyz.x $(BINDIR)/pdbxyz
+- mv polarize.x $(BINDIR)/polarize
+- mv poledit.x $(BINDIR)/poledit
+- mv potential.x $(BINDIR)/potential
+- mv prmedit.x $(BINDIR)/prmedit
+- mv protein.x $(BINDIR)/protein
+- mv pss.x $(BINDIR)/pss
+- mv pssrigid.x $(BINDIR)/pssrigid
+- mv pssrot.x $(BINDIR)/pssrot
+- mv radial.x $(BINDIR)/radial
+- mv saddle.x $(BINDIR)/saddle
+- mv scan.x $(BINDIR)/scan
+- mv sniffer.x $(BINDIR)/sniffer
+- mv spacefill.x $(BINDIR)/spacefill
+- mv spectrum.x $(BINDIR)/spectrum
+- mv superpose.x $(BINDIR)/superpose
+- mv testgrad.x $(BINDIR)/testgrad
+- mv testhess.x $(BINDIR)/testhess
+- mv testpair.x $(BINDIR)/testpair
+- mv testpol.x $(BINDIR)/testpol
+- mv testrot.x $(BINDIR)/testrot
+- mv timer.x $(BINDIR)/timer
+- mv timerot.x $(BINDIR)/timerot
+- mv torsfit.x $(BINDIR)/torsfit
+- mv valence.x $(BINDIR)/valence
+- mv vibbig.x $(BINDIR)/vibbig
+- mv vibrate.x $(BINDIR)/vibrate
+- mv vibrot.x $(BINDIR)/vibrot
+- mv xtalfit.x $(BINDIR)/xtalfit
+- mv xtalmin.x $(BINDIR)/xtalmin
+- mv xyzedit.x $(BINDIR)/xyzedit
+- mv xyzint.x $(BINDIR)/xyzint
+- mv xyzmol2.x $(BINDIR)/xyzmol2
+- mv xyzpdb.x $(BINDIR)/xyzpdb
++ ${BSD_INSTALL_PROGRAM} alchemy.x $(BINDIR)/alchemy
++ ${BSD_INSTALL_PROGRAM} analyze.x $(BINDIR)/analyze
++ ${BSD_INSTALL_PROGRAM} anneal.x $(BINDIR)/anneal
++ ${BSD_INSTALL_PROGRAM} archive.x $(BINDIR)/archive
++ ${BSD_INSTALL_PROGRAM} bar.x $(BINDIR)/bar
++ ${BSD_INSTALL_PROGRAM} correlate.x $(BINDIR)/correlate
++ ${BSD_INSTALL_PROGRAM} crystal.x $(BINDIR)/crystal
++ ${BSD_INSTALL_PROGRAM} diffuse.x $(BINDIR)/diffuse
++ ${BSD_INSTALL_PROGRAM} distgeom.x $(BINDIR)/distgeom
++ ${BSD_INSTALL_PROGRAM} document.x $(BINDIR)/document
++ ${BSD_INSTALL_PROGRAM} dynamic.x $(BINDIR)/dynamic
++ ${BSD_INSTALL_PROGRAM} gda.x $(BINDIR)/gda
++ ${BSD_INSTALL_PROGRAM} intedit.x $(BINDIR)/intedit
++ ${BSD_INSTALL_PROGRAM} intxyz.x $(BINDIR)/intxyz
++ ${BSD_INSTALL_PROGRAM} minimize.x $(BINDIR)/minimize
++ ${BSD_INSTALL_PROGRAM} minirot.x $(BINDIR)/minirot
++ ${BSD_INSTALL_PROGRAM} minrigid.x $(BINDIR)/minrigid
++ ${BSD_INSTALL_PROGRAM} mol2xyz.x $(BINDIR)/mol2xyz
++ ${BSD_INSTALL_PROGRAM} molxyz.x $(BINDIR)/molxyz
++ ${BSD_INSTALL_PROGRAM} monte.x $(BINDIR)/monte
++ ${BSD_INSTALL_PROGRAM} newton.x $(BINDIR)/newton
++ ${BSD_INSTALL_PROGRAM} newtrot.x $(BINDIR)/newtrot
++ ${BSD_INSTALL_PROGRAM} nucleic.x $(BINDIR)/nucleic
++ ${BSD_INSTALL_PROGRAM} optimize.x $(BINDIR)/optimize
++ ${BSD_INSTALL_PROGRAM} optirot.x $(BINDIR)/optirot
++ ${BSD_INSTALL_PROGRAM} optrigid.x $(BINDIR)/optrigid
++ ${BSD_INSTALL_PROGRAM} path.x $(BINDIR)/path
++ ${BSD_INSTALL_PROGRAM} pdbxyz.x $(BINDIR)/pdbxyz
++ ${BSD_INSTALL_PROGRAM} polarize.x $(BINDIR)/polarize
++ ${BSD_INSTALL_PROGRAM} poledit.x $(BINDIR)/poledit
++ ${BSD_INSTALL_PROGRAM} potential.x $(BINDIR)/potential
++ ${BSD_INSTALL_PROGRAM} prmedit.x $(BINDIR)/prmedit
++ ${BSD_INSTALL_PROGRAM} protein.x $(BINDIR)/protein
++ ${BSD_INSTALL_PROGRAM} pss.x $(BINDIR)/pss
++ ${BSD_INSTALL_PROGRAM} pssrigid.x $(BINDIR)/pssrigid
++ ${BSD_INSTALL_PROGRAM} pssrot.x $(BINDIR)/pssrot
++ ${BSD_INSTALL_PROGRAM} radial.x $(BINDIR)/radial
++ ${BSD_INSTALL_PROGRAM} saddle.x $(BINDIR)/saddle
++ ${BSD_INSTALL_PROGRAM} scan.x $(BINDIR)/scan
++ ${BSD_INSTALL_PROGRAM} sniffer.x $(BINDIR)/sniffer
++ ${BSD_INSTALL_PROGRAM} spacefill.x $(BINDIR)/spacefill
++ ${BSD_INSTALL_PROGRAM} spectrum.x $(BINDIR)/spectrum
++ ${BSD_INSTALL_PROGRAM} superpose.x $(BINDIR)/superpose
++ ${BSD_INSTALL_PROGRAM} testgrad.x $(BINDIR)/testgrad
++ ${BSD_INSTALL_PROGRAM} testhess.x $(BINDIR)/testhess
++ ${BSD_INSTALL_PROGRAM} testpair.x $(BINDIR)/testpair
++ ${BSD_INSTALL_PROGRAM} testpol.x $(BINDIR)/testpol
++ ${BSD_INSTALL_PROGRAM} testrot.x $(BINDIR)/testrot
++ ${BSD_INSTALL_PROGRAM} timer.x $(BINDIR)/timer
++ ${BSD_INSTALL_PROGRAM} timerot.x $(BINDIR)/timerot
++ ${BSD_INSTALL_PROGRAM} torsfit.x $(BINDIR)/torsfit
++ ${BSD_INSTALL_PROGRAM} valence.x $(BINDIR)/valence
++ ${BSD_INSTALL_PROGRAM} vibbig.x $(BINDIR)/vibbig
++ ${BSD_INSTALL_PROGRAM} vibrate.x $(BINDIR)/vibrate
++ ${BSD_INSTALL_PROGRAM} vibrot.x $(BINDIR)/vibrot
++ ${BSD_INSTALL_PROGRAM} xtalfit.x $(BINDIR)/xtalfit
++ ${BSD_INSTALL_PROGRAM} xtalmin.x $(BINDIR)/xtalmin
++ ${BSD_INSTALL_PROGRAM} xyzedit.x $(BINDIR)/xyzedit
++ ${BSD_INSTALL_PROGRAM} xyzint.x $(BINDIR)/xyzint
++ ${BSD_INSTALL_PROGRAM} xyzmol2.x $(BINDIR)/xyzmol2
++ ${BSD_INSTALL_PROGRAM} xyzpdb.x $(BINDIR)/xyzpdb
+
+ rename_exe:
+- mv alchemy.x $(BINDIR)/alchemy.exe
+- mv analyze.x $(BINDIR)/analyze.exe
+- mv anneal.x $(BINDIR)/anneal.exe
+- mv archive.x $(BINDIR)/archive.exe
+- mv bar.x $(BINDIR)/bar.exe
+- mv correlate.x $(BINDIR)/correlate.exe
+- mv crystal.x $(BINDIR)/crystal.exe
+- mv diffuse.x $(BINDIR)/diffuse.exe
+- mv distgeom.x $(BINDIR)/distgeom.exe
+- mv document.x $(BINDIR)/document.exe
+- mv dynamic.x $(BINDIR)/dynamic.exe
+- mv gda.x $(BINDIR)/gda.exe
+- mv intedit.x $(BINDIR)/intedit.exe
+- mv intxyz.x $(BINDIR)/intxyz.exe
+- mv minimize.x $(BINDIR)/minimize.exe
+- mv minirot.x $(BINDIR)/minirot.exe
+- mv minrigid.x $(BINDIR)/minrigid.exe
+- mv mol2xyz.x $(BINDIR)/mol2xyz.exe
+- mv molxyz.x $(BINDIR)/molxyz.exe
+- mv monte.x $(BINDIR)/monte.exe
+- mv newton.x $(BINDIR)/newton.exe
+- mv newtrot.x $(BINDIR)/newtrot.exe
+- mv nucleic.x $(BINDIR)/nucleic.exe
+- mv optimize.x $(BINDIR)/optimize.exe
+- mv optirot.x $(BINDIR)/optirot.exe
+- mv optrigid.x $(BINDIR)/optrigid.exe
+- mv path.x $(BINDIR)/path.exe
+- mv pdbxyz.x $(BINDIR)/pdbxyz.exe
+- mv polarize.x $(BINDIR)/polarize.exe
+- mv poledit.x $(BINDIR)/poledit.exe
+- mv potential.x $(BINDIR)/potential.exe
+- mv prmedit.x $(BINDIR)/prmedit.exe
+- mv protein.x $(BINDIR)/protein.exe
+- mv pss.x $(BINDIR)/pss.exe
+- mv pssrigid.x $(BINDIR)/pssrigid.exe
+- mv pssrot.x $(BINDIR)/pssrot.exe
+- mv radial.x $(BINDIR)/radial.exe
+- mv saddle.x $(BINDIR)/saddle.exe
+- mv scan.x $(BINDIR)/scan.exe
+- mv sniffer.x $(BINDIR)/sniffer.exe
+- mv spacefill.x $(BINDIR)/spacefill.exe
+- mv spectrum.x $(BINDIR)/spectrum.exe
+- mv superpose.x $(BINDIR)/superpose.exe
+- mv testgrad.x $(BINDIR)/testgrad.exe
+- mv testhess.x $(BINDIR)/testhess.exe
+- mv testpair.x $(BINDIR)/testpair.exe
+- mv testpol.x $(BINDIR)/testpol.exe
+- mv testrot.x $(BINDIR)/testrot.exe
+- mv timer.x $(BINDIR)/timer.exe
+- mv timerot.x $(BINDIR)/timerot.exe
+- mv torsfit.x $(BINDIR)/torsfit.exe
+- mv valence.x $(BINDIR)/valence.exe
+- mv vibbig.x $(BINDIR)/vibbig.exe
+- mv vibrate.x $(BINDIR)/vibrate.exe
+- mv vibrot.x $(BINDIR)/vibrot.exe
+- mv xtalfit.x $(BINDIR)/xtalfit.exe
+- mv xtalmin.x $(BINDIR)/xtalmin.exe
+- mv xyzedit.x $(BINDIR)/xyzedit.exe
+- mv xyzint.x $(BINDIR)/xyzint.exe
+- mv xyzmol2.x $(BINDIR)/xyzmol2.exe
+- mv xyzpdb.x $(BINDIR)/xyzpdb.exe
++ ${BSD_INSTALL_PROGRAM} alchemy.x $(BINDIR)/alchemy.exe
++ ${BSD_INSTALL_PROGRAM} analyze.x $(BINDIR)/analyze.exe
++ ${BSD_INSTALL_PROGRAM} anneal.x $(BINDIR)/anneal.exe
++ ${BSD_INSTALL_PROGRAM} archive.x $(BINDIR)/archive.exe
++ ${BSD_INSTALL_PROGRAM} bar.x $(BINDIR)/bar.exe
++ ${BSD_INSTALL_PROGRAM} correlate.x $(BINDIR)/correlate.exe
++ ${BSD_INSTALL_PROGRAM} crystal.x $(BINDIR)/crystal.exe
++ ${BSD_INSTALL_PROGRAM} diffuse.x $(BINDIR)/diffuse.exe
++ ${BSD_INSTALL_PROGRAM} distgeom.x $(BINDIR)/distgeom.exe
++ ${BSD_INSTALL_PROGRAM} document.x $(BINDIR)/document.exe
++ ${BSD_INSTALL_PROGRAM} dynamic.x $(BINDIR)/dynamic.exe
++ ${BSD_INSTALL_PROGRAM} gda.x $(BINDIR)/gda.exe
++ ${BSD_INSTALL_PROGRAM} intedit.x $(BINDIR)/intedit.exe
++ ${BSD_INSTALL_PROGRAM} intxyz.x $(BINDIR)/intxyz.exe
++ ${BSD_INSTALL_PROGRAM} minimize.x $(BINDIR)/minimize.exe
++ ${BSD_INSTALL_PROGRAM} minirot.x $(BINDIR)/minirot.exe
++ ${BSD_INSTALL_PROGRAM} minrigid.x $(BINDIR)/minrigid.exe
++ ${BSD_INSTALL_PROGRAM} mol2xyz.x $(BINDIR)/mol2xyz.exe
++ ${BSD_INSTALL_PROGRAM} molxyz.x $(BINDIR)/molxyz.exe
++ ${BSD_INSTALL_PROGRAM} monte.x $(BINDIR)/monte.exe
++ ${BSD_INSTALL_PROGRAM} newton.x $(BINDIR)/newton.exe
++ ${BSD_INSTALL_PROGRAM} newtrot.x $(BINDIR)/newtrot.exe
++ ${BSD_INSTALL_PROGRAM} nucleic.x $(BINDIR)/nucleic.exe
++ ${BSD_INSTALL_PROGRAM} optimize.x $(BINDIR)/optimize.exe
++ ${BSD_INSTALL_PROGRAM} optirot.x $(BINDIR)/optirot.exe
++ ${BSD_INSTALL_PROGRAM} optrigid.x $(BINDIR)/optrigid.exe
++ ${BSD_INSTALL_PROGRAM} path.x $(BINDIR)/path.exe
++ ${BSD_INSTALL_PROGRAM} pdbxyz.x $(BINDIR)/pdbxyz.exe
++ ${BSD_INSTALL_PROGRAM} polarize.x $(BINDIR)/polarize.exe
++ ${BSD_INSTALL_PROGRAM} poledit.x $(BINDIR)/poledit.exe
++ ${BSD_INSTALL_PROGRAM} potential.x $(BINDIR)/potential.exe
++ ${BSD_INSTALL_PROGRAM} prmedit.x $(BINDIR)/prmedit.exe
++ ${BSD_INSTALL_PROGRAM} protein.x $(BINDIR)/protein.exe
++ ${BSD_INSTALL_PROGRAM} pss.x $(BINDIR)/pss.exe
++ ${BSD_INSTALL_PROGRAM} pssrigid.x $(BINDIR)/pssrigid.exe
++ ${BSD_INSTALL_PROGRAM} pssrot.x $(BINDIR)/pssrot.exe
++ ${BSD_INSTALL_PROGRAM} radial.x $(BINDIR)/radial.exe
++ ${BSD_INSTALL_PROGRAM} saddle.x $(BINDIR)/saddle.exe
++ ${BSD_INSTALL_PROGRAM} scan.x $(BINDIR)/scan.exe
++ ${BSD_INSTALL_PROGRAM} sniffer.x $(BINDIR)/sniffer.exe
++ ${BSD_INSTALL_PROGRAM} spacefill.x $(BINDIR)/spacefill.exe
++ ${BSD_INSTALL_PROGRAM} spectrum.x $(BINDIR)/spectrum.exe
++ ${BSD_INSTALL_PROGRAM} superpose.x $(BINDIR)/superpose.exe
++ ${BSD_INSTALL_PROGRAM} testgrad.x $(BINDIR)/testgrad.exe
++ ${BSD_INSTALL_PROGRAM} testhess.x $(BINDIR)/testhess.exe
++ ${BSD_INSTALL_PROGRAM} testpair.x $(BINDIR)/testpair.exe
++ ${BSD_INSTALL_PROGRAM} testpol.x $(BINDIR)/testpol.exe
++ ${BSD_INSTALL_PROGRAM} testrot.x $(BINDIR)/testrot.exe
++ ${BSD_INSTALL_PROGRAM} timer.x $(BINDIR)/timer.exe
++ ${BSD_INSTALL_PROGRAM} timerot.x $(BINDIR)/timerot.exe
++ ${BSD_INSTALL_PROGRAM} torsfit.x $(BINDIR)/torsfit.exe
++ ${BSD_INSTALL_PROGRAM} valence.x $(BINDIR)/valence.exe
++ ${BSD_INSTALL_PROGRAM} vibbig.x $(BINDIR)/vibbig.exe
++ ${BSD_INSTALL_PROGRAM} vibrate.x $(BINDIR)/vibrate.exe
++ ${BSD_INSTALL_PROGRAM} vibrot.x $(BINDIR)/vibrot.exe
++ ${BSD_INSTALL_PROGRAM} xtalfit.x $(BINDIR)/xtalfit.exe
++ ${BSD_INSTALL_PROGRAM} xtalmin.x $(BINDIR)/xtalmin.exe
++ ${BSD_INSTALL_PROGRAM} xyzedit.x $(BINDIR)/xyzedit.exe
++ ${BSD_INSTALL_PROGRAM} xyzint.x $(BINDIR)/xyzint.exe
++ ${BSD_INSTALL_PROGRAM} xyzmol2.x $(BINDIR)/xyzmol2.exe
++ ${BSD_INSTALL_PROGRAM} xyzpdb.x $(BINDIR)/xyzpdb.exe
+
+ remove_links:
+ rm -f $(LINKDIR)/alchemy
diff --git a/science/tinker/files/patch-source_openend.f b/science/tinker/files/patch-source_openend.f
new file mode 100644
index 000000000000..cecce208672f
--- /dev/null
+++ b/science/tinker/files/patch-source_openend.f
@@ -0,0 +1,16 @@
+--- source/openend.f.orig Fri Apr 18 13:31:51 2003
++++ source/openend.f Mon Jul 21 13:36:11 2003
+@@ -29,11 +29,11 @@
+ c
+ c standard Fortran 90, unavailable in some Fortran 77 compilers
+ c
+- open (unit=iunit,file=name,status='old',position='append')
++c open (unit=iunit,file=name,status='old',position='append')
+ c
+ c common extension supported by many Fortran 77 compilers
+ c
+-c open (unit=iunit,file=name,status='old',access='append')
++ open (unit=iunit,file=name,status='old',access='append')
+ c
+ c some Fortran 77 compilers open files for append by default
+ c
diff --git a/science/tinker/files/pkg-message.in b/science/tinker/files/pkg-message.in
new file mode 100644
index 000000000000..58158ef0e8ac
--- /dev/null
+++ b/science/tinker/files/pkg-message.in
@@ -0,0 +1,11 @@
+**********************************************************
+ The author requests that you return a license form
+ to him if you find Tinker to be useful.
+
+ See %%PREFIX%%/share/licenses for license forms.
+
+ The name of TINKER's 'analyze' program has been changed
+ to 'analyze_t' during installation to allow for use on
+ systems where the very common hunspell package is
+ installed as well.
+**********************************************************
diff --git a/science/tinker/pkg-descr b/science/tinker/pkg-descr
new file mode 100644
index 000000000000..0f2cc29dedd0
--- /dev/null
+++ b/science/tinker/pkg-descr
@@ -0,0 +1,16 @@
+Tinker is a set of small programs for doing general purpose molecular
+modeling calculations. Tools are included for energy minimizations,
+geometry calculations, simulated annealing, molecular dynamics, and
+molecular analysis calculations. Tools for converting coordinate sets
+are also provided. Tinker employs several force fields and minimization
+techniques.
+
+This port sets the maxatm value to 2500 atoms. This should be
+sufficient for most molecular systems. Should you need to work with
+larger systems you can set the maxatm parameter in the sizes.i file
+located in the tinker/source directory and recompile. Note that if it
+is set too large that tinker programs will abort and core dump.
+
+For more information about Tinker see:
+
+WWW: https://dasher.wustl.edu/tinker/
diff --git a/science/tinker/pkg-plist b/science/tinker/pkg-plist
new file mode 100644
index 000000000000..37d34dca21b1
--- /dev/null
+++ b/science/tinker/pkg-plist
@@ -0,0 +1,186 @@
+bin/alchemy
+bin/analyze
+bin/anneal
+bin/archive
+bin/bar
+bin/correlate
+bin/crystal
+bin/diffuse
+bin/distgeom
+bin/document
+bin/dynamic
+bin/gda
+bin/intedit
+bin/intxyz
+bin/minimize
+bin/minirot
+bin/minrigid
+bin/mol2xyz
+bin/molxyz
+bin/monte
+bin/newton
+bin/newtrot
+bin/nucleic
+bin/optimize
+bin/optirot
+bin/optrigid
+bin/path
+bin/pdbxyz
+bin/polarize
+bin/poledit
+bin/potential
+bin/prmedit
+bin/protein
+bin/pss
+bin/pssrigid
+bin/pssrot
+bin/radial
+bin/saddle
+bin/scan
+bin/sniffer
+bin/spacefill
+bin/spectrum
+bin/superpose
+bin/testgrad
+bin/testhess
+bin/testpair
+bin/testpol
+bin/testrot
+bin/timer
+bin/timerot
+bin/torsfit
+bin/valence
+bin/vibbig
+bin/vibrate
+bin/vibrot
+bin/xtalfit
+bin/xtalmin
+bin/xyzedit
+bin/xyzint
+bin/xyzmol2
+bin/xyzpdb
+%%DATADIR%%/params/0README
+%%DATADIR%%/params/amber94.prm
+%%DATADIR%%/params/amber96.prm
+%%DATADIR%%/params/amber98.prm
+%%DATADIR%%/params/amber99.prm
+%%DATADIR%%/params/amber99sb.prm
+%%DATADIR%%/params/amoeba04.prm
+%%DATADIR%%/params/amoeba09.prm
+%%DATADIR%%/params/amoebabio09.prm
+%%DATADIR%%/params/amoebabio18.prm
+%%DATADIR%%/params/amoebanuc17.prm
+%%DATADIR%%/params/amoebapro04.prm
+%%DATADIR%%/params/amoebapro13.prm
+%%DATADIR%%/params/charmm19.prm
+%%DATADIR%%/params/charmm22.prm
+%%DATADIR%%/params/charmm22cmap.prm
+%%DATADIR%%/params/dang.prm
+%%DATADIR%%/params/hoch.prm
+%%DATADIR%%/params/iwater.prm
+%%DATADIR%%/params/mm2.prm
+%%DATADIR%%/params/mm3.prm
+%%DATADIR%%/params/mm3pro.prm
+%%DATADIR%%/params/mmff.prm
+%%DATADIR%%/params/oplsaa.prm
+%%DATADIR%%/params/oplsaal.prm
+%%DATADIR%%/params/oplsua.prm
+%%DATADIR%%/params/smoothaa.prm
+%%DATADIR%%/params/smoothua.prm
+%%DATADIR%%/params/tiny.prm
+%%DATADIR%%/params/water03.prm
+%%DATADIR%%/params/water14.prm
+%%DATADIR%%/test/0README
+%%DATADIR%%/test/anion.dat
+%%DATADIR%%/test/anion.dyn0
+%%DATADIR%%/test/anion.key
+%%DATADIR%%/test/anion.log
+%%DATADIR%%/test/anion.run
+%%DATADIR%%/test/anion.xyz
+%%DATADIR%%/test/argon.1st
+%%DATADIR%%/test/argon.key
+%%DATADIR%%/test/argon.log
+%%DATADIR%%/test/argon.run
+%%DATADIR%%/test/cluster.dat
+%%DATADIR%%/test/cluster.key
+%%DATADIR%%/test/cluster.log
+%%DATADIR%%/test/cluster.run
+%%DATADIR%%/test/cluster.xyz
+%%DATADIR%%/test/crambin.key
+%%DATADIR%%/test/crambin.log
+%%DATADIR%%/test/crambin.pdb
+%%DATADIR%%/test/crambin.run
+%%DATADIR%%/test/cyclohex.boat
+%%DATADIR%%/test/cyclohex.chair
+%%DATADIR%%/test/cyclohex.key
+%%DATADIR%%/test/cyclohex.log
+%%DATADIR%%/test/cyclohex.run
+%%DATADIR%%/test/dhfr.dyn
+%%DATADIR%%/test/dhfr.key
+%%DATADIR%%/test/dhfr.log
+%%DATADIR%%/test/dhfr.run
+%%DATADIR%%/test/dhfr.xyz
+%%DATADIR%%/test/dialanine.key
+%%DATADIR%%/test/dialanine.log
+%%DATADIR%%/test/dialanine.run
+%%DATADIR%%/test/dialanine.xyz
+%%DATADIR%%/test/enkephalin.dat
+%%DATADIR%%/test/enkephalin.key
+%%DATADIR%%/test/enkephalin.log
+%%DATADIR%%/test/enkephalin.run
+%%DATADIR%%/test/ethanol.000
+%%DATADIR%%/test/ethanol.020
+%%DATADIR%%/test/ethanol.040
+%%DATADIR%%/test/ethanol.060
+%%DATADIR%%/test/ethanol.080
+%%DATADIR%%/test/ethanol.100
+%%DATADIR%%/test/ethanol.120
+%%DATADIR%%/test/ethanol.140
+%%DATADIR%%/test/ethanol.160
+%%DATADIR%%/test/ethanol.180
+%%DATADIR%%/test/ethanol.dat
+%%DATADIR%%/test/ethanol.key
+%%DATADIR%%/test/ethanol.log
+%%DATADIR%%/test/ethanol.run
+%%DATADIR%%/test/ethanol.xyz
+%%DATADIR%%/test/formamide.cell
+%%DATADIR%%/test/formamide.dat
+%%DATADIR%%/test/formamide.key
+%%DATADIR%%/test/formamide.log
+%%DATADIR%%/test/formamide.run
+%%DATADIR%%/test/gpcr.blk
+%%DATADIR%%/test/gpcr.key
+%%DATADIR%%/test/gpcr.log
+%%DATADIR%%/test/gpcr.run
+%%DATADIR%%/test/gpcr.xyz
+%%DATADIR%%/test/helix.1st
+%%DATADIR%%/test/helix.key
+%%DATADIR%%/test/helix.log
+%%DATADIR%%/test/helix.run
+%%DATADIR%%/test/ice.key
+%%DATADIR%%/test/ice.log
+%%DATADIR%%/test/ice.run
+%%DATADIR%%/test/ice.xyz
+%%DATADIR%%/test/ifabp.dat
+%%DATADIR%%/test/ifabp.key
+%%DATADIR%%/test/ifabp.log
+%%DATADIR%%/test/ifabp.run
+%%DATADIR%%/test/ifabp.xyz
+%%DATADIR%%/test/nitrogen.arc
+%%DATADIR%%/test/nitrogen.key
+%%DATADIR%%/test/nitrogen.log
+%%DATADIR%%/test/nitrogen.run
+%%DATADIR%%/test/nitrogen.xyz
+%%DATADIR%%/test/salt.cell
+%%DATADIR%%/test/salt.key
+%%DATADIR%%/test/salt.log
+%%DATADIR%%/test/salt.run
+%%DATADIR%%/test/tetraala.dat
+%%DATADIR%%/test/tetraala.key
+%%DATADIR%%/test/tetraala.log
+%%DATADIR%%/test/tetraala.run
+%%DATADIR%%/test/water.key
+%%DATADIR%%/test/water.log
+%%DATADIR%%/test/water.pot
+%%DATADIR%%/test/water.run
+%%DATADIR%%/test/water.xyz