summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/abinit
AgeCommit message (Collapse)AuthorFilesLines
2023-06-09correct SHA for ABINIT 9.8.3 and add ABINIT 9.8.4 (#38283)Fabien Bruneval1-1/+2
2023-03-21Update abinit version (#36264)downloadico1-0/+8
* abinit: add version 9.8.3 * require hdf5 up to 1.8 and libxc up to version 5 * abinit: constrained versions of libxc and hdf5 * fixed bad syntax for format * fixed error looking for fftw in spec. * Changed to look for fftw-api in spec. * Update var/spack/repos/builtin/packages/abinit/package.py --------- Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-02-16Style: black 23, skip magic trailing comma (#35351)Adam J. Stewart1-1/+0
* Style: black 23, skip magic trailing commas * isort should use same line length as black * Fix unused import * Update version of black used in CI * Update new packages * Update new packages
2023-01-18license year bump (#34921)Harmen Stoppels1-1/+1
* license bump year * fix black issues of modified files * mypy * fix 2021 -> 2023
2022-07-31black: reformat entire repository with blackTodd Gamblin1-186/+191
2022-05-28refactor: packages import `spack.package` explicitly (#30404)Tom Scogland1-4/+1
Explicitly import package utilities in all packages, and corresponding fallout. This includes: * rename `spack.package` to `spack.package_base` * rename `spack.pkgkit` to `spack.package` * update all packages in builtin, builtin_mock and tutorials to include `from spack.package import *` * update spack style * ensure packages include the import * automatically add the new import and remove any/all imports of `spack` and `spack.pkgkit` from packages when using `--fix` * add support for type-checking packages with mypy when SPACK_MYPY_CHECK_PACKAGES is set in the environment * fix all type checking errors in packages in spack upstream * update spack create to include the new imports * update spack repo to inject the new import, injection persists to allow for a deprecation period Original message below: As requested @adamjstewart, update all packages to use pkgkit. I ended up using isort to do this, so repro is easy: ```console $ isort -a 'from spack.pkgkit import *' --rm 'spack' ./var/spack/repos/builtin/packages/*/package.py $ spack style --fix ``` There were several line spacing fixups caused either by space manipulation in isort or by packages that haven't been touched since we added requirements, but there are no functional changes in here. * [x] add config to isort to make sure this is maintained going forward
2022-02-17abinit: Add version 9.6.1 and support fujitsu compiler and fujitsu-fftw. ↵Toyohisa Kameyama3-14/+636
(#28474) * abinit: Add version 9.6.1 and support fujitsu compiler and fujitsu-fftw. * fix conflicts +openmp. * Add openmp conflicts.
2022-01-14Update copyright year to 2022Todd Gamblin1-1/+1
2021-12-14Abinit package: add option to install tests (#27842)downloadico1-0/+8
2021-08-26fixing "problems in speck" as identified by repology (#25491)Vanessasaurus1-1/+1
Most of these are perl packages that need to point to the meta docs site, and then a fair amount of http addresses that need to be https, and then the rest are usually documentation sites that no longer exist or were otherwise changes Signed-off-by: vsoch <vsoch@users.noreply.github.com> Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-07-19abinit: make libxml2 really optional, add optimization-flavor variant, fix ↵Tiziano Müller1-31/+32
build with ifort for atompaw (#24876)
2021-05-22Update abinit package (#23670)Glenn Johnson2-76/+197
This PR updates the abinit package. The underlying build system has several changes from previous versions, which are reflected in the package recipe. - added version 9.4.2 - removed commented out code - add new libxml2 variant, with dependency and conflicts - add dependency on atompaw - depend on fftw-api when ~openmp This allows other fftw implementations to be used. This PR adds MKL. - depend on netcdf explicitly - remove hdf5 variant as hdf5 is required - only use wannier90 if +mpi as the wannier90 spack package is MPI only - allow newer versions of libxc for abinit 9 - split configure options for versions before and after abinit 9 - always use MPI compiler wrappers - add patch to remove march settings for version 9 - Set conflict for fftw~openmp if abinit+openmp This allows the virtual fftw-api to be used for the dependency. If fftw is the fftw-api provider then bail if fftw~openmp is set when abinit+openmp is used. - Set conflicts for +openmp and mkl - Be explicit about +mkl for intel-parallel-studio - Add TODO entry for switching conflicts/depends_on logic
2021-03-19abinit: fix detection of Fujitsu compiler (#22239)m-shunji2-31/+158
2021-03-10abinit: updated patch for Fujitsu compilers (#22009)m-shunji2-38/+52
2021-02-01abinit: fix build with Fujitsu compilers (#21213)Tomoki, Karatsu3-3/+304
2021-01-21abinit: add version 8.10.2. (#21188)Tomoki, Karatsu1-0/+1
2021-01-02copyrights: update all files with license headers for 2021Todd Gamblin1-1/+1
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files - [x] update all licensed files to say 2013-2021 using `spack license update-copyright-year` - [x] appease mypy with some additions to package.py that needed for oneapi.py
2020-07-16Abinit+wannier90 fix (#17417)downloadico1-1/+18
* wannier90: add versions 3.0.0 and 3.1.0 and 'shared variant' Added versions 3.0.0 and 3.1.0 Added shared variant Added url_for_version function as versions less than 3 are from the wannier.org site and versions 3 and up are from github.com Added the MPI libraries to the list of libs substituted into the make.sys file in place of @LIBS Made it possible to build a shared object version of the library for versions < 3 by filtering the src/Makefile.2 file (based off of the patch from a src rpm from RHEL for version 2.0.1) Create a modules directory in the install prefix root directory and copy the Fortran .mod files there. Set the MPIFC variable to the Spack Fortran MPI compiler wrapper. * abinit: added 'wannier90' variant which enables building abinit with wannier90 Added wannier90 variant Made abinit depend on the shared object ('shared') variant of wannier90 if the wannier90 variant is selected Add configure args for wannier90 libs, includes, and binaries and to set MPIFC set the dft-flavor to wannier90 when wannier90 is enabled and only set the dft flavor to 'atompaw+libxc' if wannier90 is not selected * Update var/spack/repos/builtin/packages/abinit/package.py Co-authored-by: Greg Becker <becker33@llnl.gov> * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Greg Becker <becker33@llnl.gov> * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Greg Becker <becker33@llnl.gov> * incorporated bbecker's suggestion for making the strings less ugly! * incorporated bbecker's suggestion to fix the logic for picking which "DFT flavor" configure argument. If the wannier variant is enabled, it passes --with-dft-flavor=wannier90 to configure, otherwise it passes --with-dft-flavor=atompaw+libxc to configure * Changed to using plain strings * Fixed version tests * incorporated @adamjstewart's fix for testing if the major version is > 2 * incorporated @adamjstewart's fix to check if mpi is enabled and only set the MPIFC variable if it is. * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Only set MPIFC if '+mpi' is set * incorporated fixes from @adamjstewart including: - using the string=True argument to filter_file (and removed the unneeded escapes) - changing the url to the github location - fixing the version checks - building a libwannier.dylib on darwin * incorporated fixes suggested by @adamjstewart including: - using the string=True argument to filter_file and cleaned up the escapes - only pass the MPIFC argument to configure when '+mpi' is set - chaned the url to the github site for Wannier090 - fixed the version checks - build a 'libwannier.dylib' file when building the shared variant on darwin * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Greg Becker <becker33@llnl.gov> * moved a configure argument from it's own '+mpi' check to under the lower one * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Cleaned up syntax as suggested by @adamjstewart It looks *so much better* now! Thanks! * removed unneeded import of 'find' from 'llnl.util.filesystem' package as suggested by @adamjstewart * Update var/spack/repos/builtin/packages/wannier90/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * incorporated changes from @adamjstewart changed check to "if '@:2 +shared' in spec:" instead of a nested check of '@:2' and '+shared' removed unneeded joins used in filter_file and spliced the list of objs directly into the filter_file call used the dso_suffix instead of testing for darwin to determine the name of the shared library * removed whitespace from blank line * fixed bug with '../../wannier90.x: .*' not being treated as a regexp. Thanks Adam! * fixed missing whitespace when modifying Makefile.2 Co-authored-by: Greg Becker <becker33@llnl.gov> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-04abinit: fix dependency on fftw (#14739)Massimiliano Culpo1-1/+1
fixes #14578 Abinit's recipe requires double precision FFTW libraries
2019-12-30copyright: update copyright dates for 2020 (#14328)Todd Gamblin1-1/+1
2019-10-12checksums: use sha256 checksums everywhereTodd Gamblin1-5/+5
We'd like to use a consistent checksum scheme everywhere so that we can: a) incorporate archive checksums into our specs and have a consistent hashing algorithm across all specs. b) index mirrors with a consistent type of checksum, and not one that is dependent on how spack packages are written. - [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
2019-10-11Fixed constraints in recipes for packages that depends on fftw (#13125)Massimiliano Culpo1-2/+3
2019-08-29ABINIT package: add version 8.10.3 (#12615)Kevin Manalo1-0/+1
2019-01-01copyright: update license headers for 2013-2019 copyright.Todd Gamblin1-1/+1
2018-10-17relicense: replace LGPL headers with Apache-2.0/MIT SPDX headersTodd Gamblin1-23/+4
- remove the old LGPL license headers from all files in Spack - add SPDX headers to all files - core and most packages are (Apache-2.0 OR MIT) - a very small number of remaining packages are LGPL-2.1-only
2018-05-28abinit: added version 8.8.2 (#8294)Massimiliano Culpo1-0/+1
2018-03-24Update copyright on LLNL files for 2018. (#7592)Todd Gamblin1-1/+1
2018-01-20Add Abinit 8.6.3 (#6959)Ondřej Čertík1-1/+2
2017-11-04Replace github.com/llnl/spack with github.com/spack/spack (#6142)Todd Gamblin1-1/+1
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-09-06Update copyright notices for 2017 (#5295)Michael Kuhn1-1/+1
2017-06-24Make LICENSE recognizable by GitHub. (#4598)Todd Gamblin1-1/+1
2017-04-29Python command, libraries, and headers (#3367)Adam J. Stewart1-6/+6
## Motivation Python installations are both important and unfortunately inconsistent. Depending on the Python version, OS, and the strength of the Earth's magnetic field when it was installed, the name of the Python executable, directory containing its libraries, library names, and the directory containing its headers can vary drastically. I originally got into this mess with #3274, where I discovered that Boost could not be built with Python 3 because the executable is called `python3` and we were telling it to use `python`. I got deeper into this mess when I started hacking on #3140, where I discovered just how difficult it is to find the location and name of the Python libraries and headers. Currently, half of the packages that depend on Python and need to know this information jump through hoops to determine the correct information. The other half are hard-coded to use `python`, `spec['python'].prefix.lib`, and `spec['python'].prefix.include`. Obviously, none of these packages would work for Python 3, and there's no reason to duplicate the effort. The Python package itself should contain all of the information necessary to use it properly. This is in line with the recent work by @alalazo and @davydden with respect to `spec['blas'].libs` and friends. ## Prefix For most packages in Spack, we assume that the installation directory is `spec['python'].prefix`. This generally works for anything installed with Spack, but gets complicated when we include external packages. Python is a commonly used external package (it needs to be installed just to run Spack). If it was installed with Homebrew, `which python` would return `/usr/local/bin/python`, and most users would erroneously assume that `/usr/local` is the installation directory. If you peruse through #2173, you'll immediately see why this is not the case. Homebrew actually installs Python in `/usr/local/Cellar/python/2.7.12_2` and symlinks the executable to `/usr/local/bin/python`. `PYTHONHOME` (and presumably most things that need to know where Python is installed) needs to be set to the actual installation directory, not `/usr/local`. Normally I would say, "sounds like user error, make sure to use the real installation directory in your `packages.yaml`". But I think we can make a special case for Python. That's what we decided in #2173 anyway. If we change our minds, I would be more than happy to simplify things. To solve this problem, I created a `spec['python'].home` attribute that works the same way as `spec['python'].prefix` but queries Python to figure out where it was actually installed. @tgamblin Is there any way to overwrite `spec['python'].prefix`? I think it's currently immutable. ## Command In general, Python 2 comes with both `python` and `python2` commands, while Python 3 only comes with a `python3` command. But this is up to the OS developers. For example, `/usr/bin/python` on Gentoo is actually Python 3. Worse yet, if someone is using an externally installed Python, all 3 commands may exist in the same directory! Here's what I'm thinking: If the spec is for Python 3, try searching for the `python3` command. If the spec is for Python 2, try searching for the `python2` command. If neither are found, try searching for the `python` command. ## Libraries Spack installs Python libraries in `spec['python'].prefix.lib`. Except on openSUSE 13, where it installs to `spec['python'].prefix.lib64` (see #2295 and #2253). On my CentOS 6 machine, the Python libraries are installed in `/usr/lib64`. Both need to work. The libraries themselves change name depending on OS and Python version. For Python 2.7 on macOS, I'm seeing: ``` lib/libpython2.7.dylib ``` For Python 3.6 on CentOS 6, I'm seeing: ``` lib/libpython3.so lib/libpython3.6m.so.1.0 lib/libpython3.6m.so -> lib/libpython3.6m.so.1.0 ``` Notice the `m` after the version number. Yeah, that's a thing. ## Headers In Python 2.7, I'm seeing: ``` include/python2.7/pyconfig.h ``` In Python 3.6, I'm seeing: ``` include/python3.6m/pyconfig.h ``` It looks like all Python 3 installations have this `m`. Tested with Python 3.2 and 3.6 on macOS and CentOS 6 Spack has really nice support for libraries (`find_libraries` and `LibraryList`), but nothing for headers. Fixed.
2017-04-07Abinit: a few modernizations for the package and its dependencies (#3699)Massimiliano Culpo1-67/+67
* libxc: added libs interface * hdf5: added libs interface, added conflicts * abinit: modernized package to use build interface * netcdf-fortran: added libs interface * abinit: added version 8.2.2
2017-03-02New interface for passing build information among specs (#1875)Massimiliano Culpo1-3/+3
- Added a new interface for Specs to pass build information - Calls forwarded from Spec to Package are now explicit - Added descriptor within Spec to manage forwarding - Added state in Spec to maintain query information - Modified a few packages (the one involved in spack install pexsi) to showcase changes - This uses an object wrapper to `spec` to implement the `libs` sub-calls. - wrapper is returned from `__getitem__` only if spec is concrete - allows packagers to access build information easily
2017-02-17abinit: fix compilation on macOS, disable internal netcdf (#3157)Denis Davydov1-3/+9
* abinit: fix compilation on macOS * disable internal netcdf
2016-10-11Abinit: Added package(s) (#1995)gmatteo1-0/+175
* First version of Abinit package * Ignore *.swp files * Add libxc, etsf_io packages * AtomPaw package * Make Abinit depend on mpi@2: and external version of libxc, netcdf, hdf5, etsf_io * etsf_io: install Fortran modules in prefix.include * Remove etsf_io from abinit requirements * Add libxc2.2.1 (required by Abinit and atompaw) * Cleanup * Run make check * Cleanup * Use ld_flags instead of hard-coded libs, fix pep8, add copyright * Put scalapack before lapackblas