Commit graph

25651 commits

Author SHA1 Message Date
John Parent
3a994032f8 Spack on Windows package ports
CMake - Windows Bootstrap (#25825)

Remove hardcoded cmake compiler (#26410)

Revert breaking cmake changes
Ensure no autotools on Windows

Perl on Windows (#26612)

Python source build windows (#26313)

Reconfigure sysconf for Windows

Python2.6 compatibility

Fxixup new sbang tests for windows

Ruby support (#28287)

Add NASM support (#28319)

Add mock Ninja package for testing
2022-03-17 09:01:01 -07:00
John Parent
90c773488c Add Github Actions for Windows (#24504)
Setup Installer CI (#25184), (#25191)

Co-authored-by: Zack Galbreath <zack.galbreath@kitware.com>
Co-authored-by: lou.lawrence@kitware.com <lou.lawrence@kitware.com>
Co-authored-by: Betsy McPhail <betsy.mcphail@kitware.com>
2022-03-17 09:01:01 -07:00
John W. Parent
e65d3d14b4 Relocate spack_cmd and scripts from installer to root bin (#24651)
Relocate spack_cmd and scripts from installer
to root bin

Refactor documentation, installer, and launcher
to facilitate that change
2022-03-17 09:01:01 -07:00
Betsy McPhail
4a73bfc3b9 Use Python's zipfile, if available (#24556)
* Style fixes

* Use Python's zipfile, if available

The compression libs are optional in Python. Rely on python as a
first attempt then fall back to `unzip`
2022-03-17 09:01:01 -07:00
Betsy McPhail
f8782c46d7 Windows: VS and CMake support
Fix: Building packages with CMake is broken (#24241)

vsInstallPaths needs to be renamed vs_install_paths (#24297)
2022-03-17 09:01:01 -07:00
Jared Popelar
15ef85e161 Packaging of netlib-lapack for windows (#24993)
MSVC's internal CMake and Ninja now detected by spack external find and added to packages.yaml

Saving progress on packaging zlib for Windows

Fixing the shared CMake flag

* Loading Intel's ifx Fortran compiler into MSVC; if there are multiple
versions of MSVC installed and detected, ifx will only be placed into
the first block written in compilers.yaml. The version number of ifx can
be detected using MSVC's version flag (instead of /QV) by using
ignore_version_errors. This commit also provides support for detection
of Intel compilers in their own compiler block by adding ifx.exe to the
fc/f77_name blocks inside intel.py

* Giving CMake a Fortran compiler argument

* Adding patch file for removing duplicated mangling header for versions 3.9.1 and older; static and shared now successfully building on Windows

* Have netlib-lapack depend  on ninja@1.10

Co-authored-by: John R. Cary <cary@txcorp.com>
Co-authored-by: Jared Popelar <jpopelar@txcorp.com>

Making a default config.yaml for Windows

Small path length for build_stage

Provide more prerequisite details, mention default config.yaml

Killing an unnecessary setvars call

Replacing some lost changes, proofreading, updating windows-supported package list

Co-authored-by: John Parent <john.parent@kitware.com>
2022-03-17 09:01:01 -07:00
lou.lawrence@kitware.com
012758c179 Windows: Create installer and environment
* Add 'make-installer' command for Windows

* Add '--bat' arg to env activate, env deactivate and unload commands

* An equivalent script to setup-env on linux: spack_cmd.bat. This script
has a wrapper to evaluate cd, load/unload, env activate/deactivate.(#21734)

* Add spacktivate and config editor (#22049)

* spack_cmd: will find python and spack on its own. It preferentially
tries to use python on your PATH (#22414)

* Ignore Windows python installer if found (#23134)

* Bundle git in windows installer (#23597)

* Add Windows section to Getting Started document
(#23131), (#23295), (#24240)

Co-authored-by: Stephen Crowell <stephen.crowell@kitware.com>
Co-authored-by: lou.lawrence@kitware.com <lou.lawrence@kitware.com>
Co-authored-by: Betsy McPhail <betsy.mcphail@kitware.com>
Co-authored-by: Jared Popelar <jpopelar@txcorp.com>
Co-authored-by: Ben Cowan <benc@txcorp.com>

Update Installer CI

Co-authored-by: John Parent <john.parent@kitware.com>
2022-03-17 09:01:01 -07:00
Betsy McPhail
a7101db39d MSVC Compiler Find and vcvars env integration (#22856)
Made the vcvars batch script location a member variable of the msvc compiler subclass, initialized from the compiler executable path.  Added a setup_custom_environment() method to the msvc subclass that sources the vcvars script, dumps the environment, and copies the relevant environment variables to the Spack environment.  Added class variables to the Windows OS and MSVC compiler subclasses to enable finding the compiler executables and determining their versions.
2022-03-17 09:01:01 -07:00
loulawrence
f587a9ce68 use pytest stdout/err capture (#22584)
* On windows, write to StringIO without redirection in test cases to avoid conflicting with logger
2022-03-17 09:01:01 -07:00
Ben Cowan
a0164793cb Features/windows install (#22204)
* Fixed path and uid issues.

* Added needed import statement; kluged .exe extension.

* Got package to build.  Some manual intervention necessary, including sourcing the MSVC setup script and having certain configuration parameters.

* Removed CMake executable suffix hack.
2022-03-17 09:01:01 -07:00
Betsy McPhail
d4d101f57e Allow 'spack external find' to find executables on the system path (#22091)
Co-authored-by: Lou Lawrence <lou.lawrence@kitware.com>
2022-03-17 09:01:01 -07:00
Betsy McPhail
fb0e91c534 Windows: Symlink support
To provide Windows-compatible functionality, spack code should use
llnl.util.symlink instead of os.symlink. On non-Windows platforms
and on Windows where supported, os.symlink will still be used.

Use junctions when symlinks aren't supported on Windows (#22583)

Support islink for junctions (#24182)

Windows: Update llnl/util/filesystem

* Use '/' as path separator on Windows.
* Recognizing that Windows paths start with '<Letter>:/' instead of '/'

Co-authored-by: lou.lawrence@kitware.com <lou.lawrence@kitware.com>
Co-authored-by: John Parent <john.parent@kitware.com>
2022-03-17 09:01:01 -07:00
Betsy McPhail
a7de2fa380 Create rename utility function
os.rename() fails on Windows if file already exists.

Create getuid utility function (#21736)

On Windows, replace os.getuid with ctypes.windll.shell32.IsUserAnAdmin().

Tests: Use getuid util function

Co-authored-by: lou.lawrence@kitware.com <lou.lawrence@kitware.com>
Co-authored-by: Betsy McPhail <betsy.mcphail@kitware.com>
2022-03-17 09:01:01 -07:00
Betsy McPhail
b60a0eea01 Workarounds for install errors on Windows (#21890)
1. Forwarding sys.stdin, e.g. use input_multiprocess_fd,
gives an error on Windows. Skipping for now

3.  subprocess_context needs to serialize for Windows, like it does
for Mac.

Co-authored-by: lou.lawrence@kitware.com <lou.lawrence@kitware.com>
Co-authored-by: John Parent <john.parent@kitware.com>
2022-03-17 09:01:01 -07:00
Ben Cowan
81bc00d61f Adding basic Windows features (#21259)
* Snapshot of some MSVC infrastructure added during experiments a while ago.  Rebasing from spack/develop.

* Added platform and OS definitions for Windows.

* Updated Windows platform file to conform to new archspec use.

* Added Windows as a platform; introduced some debugging code.

* Added type annotations.

* Fixed copyright.

* Removed print statements.

* Ensure `spack arch` returns correctly on Windows (#21428)

* Correctly identify windows as 'windows-Windows10-AMD64'
2022-03-17 09:01:01 -07:00
Wouter Deconinck
b26b3bebb4
assimp: depends on pkgconfig; disable bundled dependencies (#29551)
* [assimp] depends_on pkgconfig and disable hunter, build zlib/minizip
2022-03-17 15:56:33 +01:00
Erik Schnetter
e174623edf
openssh: Update to version 8.9 (#29539) 2022-03-17 08:18:51 -06:00
Harmen Stoppels
55544950e2
PackageViewMixin: fix symlinks conflict issue (#29515)
`stat`'ing a file in the dst dir is the wrong thing to do, you should
`lstat` to capture broken symlinks.
2022-03-17 08:18:28 -06:00
Valentin Volkl
3544b0274f
fastjet: use mirror for sources (#29357)
as a workaround for https://github.com/spack/spack/issues/20050
2022-03-17 12:21:36 +00:00
haralmha
9ba41449a9
Add intermediate folder in lib to LD_LIBRARY_PATH (#29519) 2022-03-17 12:20:22 +00:00
Erik Schnetter
5fd05a8cbe
openssl: Deprecate old versions (#29554) 2022-03-17 06:02:56 -06:00
Jen Herting
5f3ab83e2d
New package: py-quart (#29142)
* [py-quart] created template

* [py-quart]

- added homepage
- added description
- added dependencies
- removed fixmes

* [py-quart] removed setuptools dependency
2022-03-17 05:42:31 -06:00
Wouter Deconinck
fa9894ae16
assimp: remove -Werror to allow compilation on Intel oneAPI (#29552) 2022-03-17 03:54:53 -06:00
Tom Scogland
3648adc2a7
python: allow versions with garbage suffix (#29543)
* python: allow versions with garbage suffix

Ubuntu 22.04 preview python prints version as 3.10.2+, the + causes
version parsing to fail and breaks detection.

* Add version comment

* match VALID_VERSION regex
2022-03-17 03:54:29 -06:00
Seth R. Johnson
4ef534b19b
libiconv,lmod: improvements for static builds (#29493)
* libiconv: compile with pic even when static build

* lmod: require shared lua

It seems to be unable to detect lua-posix when using a static lua:
```
Error: The follow lua module(s) are missing:  posix
```
2022-03-16 22:31:33 +01:00
Erik Schnetter
73287df7c5
openssl: Security update (#29538) 2022-03-16 13:47:04 -06:00
Jen Herting
993ce4c095
[py-configparser] added version 5.2.0 (#29136)
* [py-configparser] added version 5.2.0

* [py-configparser] fixed setuptools versions and added setuptools_scm
2022-03-16 14:13:08 -05:00
Jen Herting
4b9f216c11
New package: py-hypercorn (#29141)
* [py-hypercorn] created template

* [py-hypercorn]

- added homepage
- added description
- added dependencies
- removed fixmes

* [py-hypercorn] removed setuptools dependency and added version restriction for py-typing-extensions
2022-03-16 14:12:27 -05:00
Adam J. Stewart
508e3e03b9
py-numpy: add v1.22.3 (#29425) 2022-03-16 19:24:10 +01:00
Olivier Cessenat
9b0c2cb954
diffutils: work around for nvhpc not 11 compliant for __builtin_add_overflow (#28451) 2022-03-16 12:34:58 -04:00
Charles Doutriaux
ea93b1a03b
Py kosh (#29532) 2022-03-16 09:16:55 -05:00
Alberto Invernizzi
d3131cd2da
constrain dependency as needed by neovim (#29252) 2022-03-15 19:38:21 -06:00
Simon Flood
3a5ae0fb66
Added R 4.1.3 to package.py (#29495) 2022-03-15 20:11:11 -05:00
Tom Scogland
94794d061a
optimize instantiation and comparison of versions (#29429)
Re-work the checks and comparisons around commit versions, when no
commit version is involved the overhead is now in the noise, where one
is the overhead is now constant rather than linear.
2022-03-15 18:53:28 +00:00
Larry Knox
1250fac467
Add changes to test functions for checking spack versions of hdf5 with (#29159)
develop in the version string.  The versions from the HDF5 code were not
matching because 'develop-' is not part of the HDF5 version.  Also, the
develop-x.x versions in spack omit the release version (third) number
because the branch spans all of the release versions.
2022-03-15 12:22:30 -06:00
Harmen Stoppels
8c59736ff9
libdrm: add docs variants and missing dependency (#29423) 2022-03-15 17:38:57 +01:00
Simon Frasch
825fed2ffa
spla: add version 1.5.4 (#29509) 2022-03-15 16:14:17 +01:00
haralmha
be58d354ac
py-stomp-py: Add new package (#29380)
* py-stomp-py: Add package

* Specify python and py-docopt dependencies
2022-03-15 08:02:41 -06:00
FJ-NaokiMatsumura
4176ce5c07
h5z-zfp: fix build with Fujitsu compiler (#29029) 2022-03-15 05:46:21 -06:00
Toyohisa Kameyama
8409443b1f
jogl: new package (#29332) 2022-03-15 04:10:59 -06:00
Toyohisa Kameyama
aee763015e
glugen: new package. (#29312) 2022-03-15 00:01:15 -07:00
Carlos Bederián
50b5b314b3
petsc, py-petsc4py: add 3.16.5 (#29505)
* petsc: add 3.16.5

* py-petsc4py: add 3.16.5
2022-03-14 19:15:04 -07:00
Jon Rood
8a754ad502
amr-wind: Fix hypre dependency. (#29504) 2022-03-14 19:10:21 -06:00
Axel Huebl
7f03724db2
py-pybind11: 2.9.1 (#29387)
* py-pybind11: 2.9.1

Add the latest releases of pybind11.

* Bump requirements

according to `pyproject.toml`
2022-03-14 16:06:12 -05:00
Axel Huebl
ed359cb00b
Update: py-cmake (#28760)
* Update: py-cmake

Add additional dependencies as declared by the `py-cmake` repository.

Note: for either from-source or from-binary builds, this downloads
additional software via the network. We might want to propose upstream
patches to make this work on nodes without internet connection.

* Add Review Comments + Newest Version

* Add: Ninja

Preferred generator according to outputs and upstream repo logic

* Attempt to use resource() for CMake source
2022-03-14 13:21:54 -07:00
Jen Herting
f5a2d87eb2
[py-watchdog] added version 2.1.6 (#29137)
* [py-watchdog] switched to pypi and audited dependencies

* [py-watchdog] added version 2.1.6

* [py-watchdog] updated dependencies for old versions

* [py-watchdog] added when for variant

* [py-watchdog] added some newlines to make flake8 happy
2022-03-14 14:46:53 -05:00
eugeneswalker
c3b6b3036d
ci: add e4s mac stack (#29476) 2022-03-14 09:32:09 -07:00
Sergey Kosukhin
f1bdbefd46
mpich: fix the detection of the package (#29284) 2022-03-14 16:33:56 +01:00
Tim Haines
f14840fcf2
Dyninst: add v12.1.0 (#29482) 2022-03-14 07:53:00 -07:00
Ben Morgan
2e3bea8e17
vecgeom: add v1.1.19 (#29488)
Adjust build args for new CUDA build mechanism.
2022-03-14 06:34:33 -06:00