Commits
David Strubbe authored a99dfed4e18
1 1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
2 2 | |
3 3 | PortSystem 1.0 |
4 4 | PortGroup mpi 1.0 |
5 5 | PortGroup linear_algebra 1.0 |
6 6 | |
7 7 | name abinit |
8 - | version 8.8.3 |
9 - | revision 1 |
8 + | version 8.10.2 |
10 9 | categories science |
11 10 | platforms darwin |
12 11 | license GPL-3 |
13 12 | maintainers gmail.com:cram5431 \ |
14 13 | openmaintainer |
15 14 | |
16 15 | description Full-featured atomic-scale first-principles simulation software |
17 16 | |
18 17 | long_description ABINIT is a package whose main program allows one to find the total energy, \ |
19 18 | charge density and electronic structure of systems made of electrons and nuclei \ |
25 24 | based on Density-Functional Perturbation Theory, and many more properties. \ |
26 25 | Excited states can be computed within the Many-Body Perturbation Theory \ |
27 26 | (the GW approximation and the Bethe-Salpeter equation), and \ |
28 27 | Time-Dependent Density Functional Theory (for molecules). \ |
29 28 | In addition to the main ABINIT code, different utility programs are provided. \ |
30 29 | ABINIT is a project that favours development and collaboration. |
31 30 | |
32 31 | homepage https://www.abinit.org |
33 32 | master_sites ${homepage}/sites/default/files/packages |
34 33 | |
35 - | checksums rmd160 575f25a1853a6974caff1422747130a2323003a3 \ |
36 - | sha256 cceb397d1c8b81dc616e65bfb2986a8a1764e59be98e3c887b0392dfba0d4652 \ |
37 - | size 82567680 |
34 + | checksums rmd160 b47a865dc6a321ea5b66e4df4173f2ce93dacbe1 \ |
35 + | sha256 4ee2e0329497bf16a9b2719fe0536cc50c5d5a07c65e18edaf15ba02251cbb73 \ |
36 + | size 88370836 |
37 + | |
38 38 | |
39 39 | compilers.choose cc cxx fc |
40 40 | # g95 is no longer supported by abinit |
41 41 | mpi.setup default require_fortran -g95 |
42 42 | |
43 43 | configure.args-append --enable-gw-dpc |
44 44 | configure.fcflags-append -ffree-line-length-none |
45 45 | configure.optflags -O3 |
46 46 | |
47 47 | use_parallel_build yes |
110 110 | |
111 111 | #universal variant not allowed for libxc |
112 112 | universal_variant no |
113 113 | |
114 114 | test.run yes |
115 115 | test.cmd tests/runtests.py |
116 116 | # args -t0 for no timeout since it cannot be found anyway; or: set depends_build-append port:timeout |
117 117 | test.target built-in fast tutorespfn tutorial unitary |
118 118 | #test.target built-in fast tutorespfn tutorial unitary v1 v2 v3 v4 v5 v6 v67mbpt v7 |
119 119 | |
120 - | # for +scalapack +atlas -libxc: |
121 - | # hang in test [v2][t79]. |
122 - | # :info:test [tutorial][tspin_6][np=1]: failed: absolute error 2.7e-08 > 2.5e-08 |
123 - | |
124 120 | # other config options to add: |
125 121 | # --enable-mpi-inplace |
126 - | # --with-atompaw-libs; --with-atompaw-incs |
127 122 | |
128 123 | pre-test { |
129 124 | if {[mpi_variant_isset]} { |
130 125 | test.target-append paral mpiio tutoparal |
131 126 | reinplace "s|mpirun -np|${mpi.exec} -np|" ${worksrcpath}/tests/pymods/jobrunner.py |
132 127 | test.args-append -n 1 |
133 128 | } else { |
134 129 | test.target-append seq |
135 130 | } |
136 131 | } |
166 161 | depends_lib-append port:netcdf-fortran |
167 162 | compilers.enforce_fortran netcdf-fortran |
168 163 | configure.args-append --with-netcdf-incs="-I${prefix}/include" |
169 164 | configure.args-append --with-netcdf-libs="-L${prefix}/lib -lnetcdf -lnetcdff" |
170 165 | # check compatibility with MPI? |
171 166 | } |
172 167 | |
173 168 | # add support for gsl, yaml? |
174 169 | |
175 170 | variant libxc description {Build with support for libXC exchange-correlation library} { |
176 - | # configure explicitly forbids libxc > 4.0.0 for some reason |
171 + | # configure says Fortran support doesn't work for libxc > 4.0.0 for some reason |
177 172 | depends_lib-append port:libxc |
178 173 | compilers.enforce_fortran libxc |
179 174 | configure.args-append --with-libxc-incs="-I${prefix}/include" |
180 175 | configure.args-append --with-libxc-libs="-L${prefix}/lib -lxc -lxcf90" |
181 176 | test.target-append libxc |
182 177 | } |
183 178 | |
184 179 | variant scalapack description {Build with ScaLAPACK for parallel linear algebra} { |
185 180 | depends_lib-append port:scalapack |
186 181 | |
187 182 | if {![mpi_variant_isset]} { |
188 183 | ui_error "+scalapack requires an MPI variant. Choose +mpich, +mpich_devel, +openmpi, or +openmpi_devel." |
189 184 | return -code error "+scalapack requires an MPI variant." |
190 185 | } |
191 186 | |
192 - | mpi.setup require |
193 187 | mpi.enforce_variant scalapack |
194 188 | } |
195 189 | |
196 190 | variant wannier90 description {Build with support for Wannier90} { |
197 191 | depends_lib-append port:wannier90 |
198 192 | test.target-append wannier90 tutoplugs vdwxc |
199 193 | } |
194 + | # tests fail: [wannier90][t00][np=1]: fldiff.pl fatal error |
200 195 | |
201 196 | # FIXME: the code's build system will download BigDFT itself, which is contrary to the |
202 197 | # way MacPorts should work. Make a bigdft port to support this. |
203 198 | # There is an error compiling anyway, which could be fixed with a patch, |
204 199 | # but it is unpatchable since the download occurs after the patch phase. |
205 200 | |
206 201 | #variant bigdft description {Build with support for the wavelet BigDFT library} { |
207 202 | # avoid this error (and equivalent with OpenCL) |
208 203 | # :info:build ar cru libCUDA.a |
209 204 | # :info:build ar: no archive members specified |
210 205 | # patchfiles-append patch-fallbacks-sources-bigdft-1.7.0.93-src-Makefile.in.diff |
211 206 | #} |
212 207 | |
213 208 | # FIXME: same problem as for BigDFT, it gets downloaded. Make a separate port. |
214 209 | #variant atompaw description {Build including AtomPAW atomic dataset generator} { |
210 + | # depends_lib-append port:atompaw |
211 + | # configure.args-append --enable-atompaw --with-atompaw-bins=${prefix} --with-atompaw-incs=-I${prefix} --with-atompaw-libs=-L${prefix} |
212 + | # test.target-append atompaw |
215 213 | #} |
216 214 | |
217 215 | livecheck.type regex |
218 216 | livecheck.url ${homepage}/packages |
219 217 | livecheck.regex ABINIT v (\[0-9.\]+) |