Age | Commit message (Collapse) | Author | Files | Lines |
|
bin/spack now needs to have a "-*- python -*-" line after the shebang, so
that emacs will interpret it as a python file instead of as a shell
script. Add one line to the license check limit to accommodate this.
|
|
The Python landscape is going to be changing in 2020, and Python 2 will
be end of life. Spack should *prefer* Python 3 to Python 2 by default,
but we still need to run on systems that only have Python2 available.
This is trickier than it sounds, as on some systems, the `python` command
is `python2`; on others it's `python3`, and RHEL8 doesn't even have the
`python` command. Instead, it makes you choose `python3` or
`python2`. You can thus no longer make a simple shebang to handle all the
cases.
This commit makes the `spack` script bilingual. It is still valid
Python, but its shebang is `#!/bin/sh`, and it has a tiny bit of shell
code at the beginning to pick the right python and execute itself with
what it finds.
This has a lot of advantages. I think this will help ensure that Spack
works well in Python3 -- there are cases where we've missed things
because Python2 is still the default `python` on most systems. Also,
with this change, you do not lose the ability to execute the `spack`
script directly with a python interpreter. This is useful for forcing
your own version of python, running coverage tools, and running profiling
tools. i.e., these will not break with this change:
```console
$ python2 $(which spack) <args>
$ coverage run $(which spack) <args>
$ pyinstrument $(which spack) <args>
```
These would not work if we split `spack` into a python file and a shell
script (see #11783). So, this gives us the best of both worlds. We get
to control our interpreter *and* remain a mostly pure python executable.
|
|
* The perl-uri-escape package duplicates perl-uri
The Perl URI::Escape module is in the Perl URI package so the Spack
perl-uri-escape package is a duplicate of the perl-uri package. This PR
does the following:
- replace `depends_on('perl-uri-escape')` with `depends_on('perl-uri')`
in packages that dependend on perl-uri-escape
- add the version from perl-uri-escape to perl-uri
- remove the unneeded dependency from perl-uri
- remove the perl-uri-escape package
* Reinstated perl-test-needs dependency
Put the perl-test-needs dependency for perl-uri back in but set it to
type='test'.
* For tests to succeed the type must be ('build', 'test')
|
|
LLVM, mesa and other packages check for these generic
microarchitectures. One solution is to let Spack know they exist.
|
|
Now the support for SSE3 or AVX is tested on the selected target
|
|
|
|
Now the support for SSE3 or AVX is tested on the selected target
|
|
|
|
|
|
|
|
|
|
The adios code (currently) won't compile against the Python 3.7 C API.
This change adds a dependency on 3.6 or less.
|
|
|
|
|
|
|
|
This fixes #12852 where perl builds that use Build.PL will fail when the
shebang of the Build script produced from the configure step is too
long.
|
|
qt4 fails to build because it's expecting something like 'x86_64' rather
than 'broadwell'.
|
|
Changes deps and rpaths for bins and libs, changes id for libs.
|
|
|
|
Linux (#12909)
|
|
Use spec.target.family instead of spec.architecture.target
|
|
Now that Spack injects microarchitecture specific optimizations for
the selected target, packages should avoid adding flags that could
step over those.
|
|
Now the support for SSE3 or AVX is tested on the selected target
|
|
|
|
|
|
This PR adds interproscan-4.8, which has a completely different build
system than version 5. Note that this builds for running on a host as
opposed to a queue system. I am fairly certain that a queue system can
be configured later.
This PR also adds a patch for intrproscan-5 to build when the user
building the packages has a large GID by setting posix mode for tar.
|
|
|
|
|
|
* llvm: fixed issues with syntax and formatting
* use spec.architecture.target.family
* use spec.target instead of spec.architecture.target
* mesa: use == instead of __contains__
|
|
|
|
|
|
|
|
|
|
A function added to this package ran as part of importing it and
printed a warning for most Spack invocations, this removes the
warning message.
Also:
* Use compilers directly instead of Spack compiler wrappers (since
references to the compiler are embedded in text and binary files
of the installation)
* Add 'cross' variant for setting CROSS environment variable for
build
* Set UPCXX_INSTALL for generated module files
* Set UPCXX_GASNET_CONDUIT/UPCXX_NETWORK in generated module files
on Cray systems
* Also set UPCXX_NETWORK in build environment for Cray systems
|
|
The output of subprocess.check_output is a byte string in Python 3. This causes dictionary lookup to fail later on.
A try-except around this function prevented this error from being noticed. Removed this so that more errors can propagate out.
|
|
|
|
|
|
This PR adds the following dependency:
+ depends_on('perl-libwww-perl', type=('build', 'run'))
|
|
The following dependencies were added:
+ depends_on('perl-exporter-tiny', type=('build', 'run'))
+ depends_on('perl-list-moreutils-xs', type=('build', 'run'))
|
|
The following dependencies are needed for perl-libwww-perl according to
https://metacpan.org:
+ depends_on('perl-encode-locale', type=('build', 'run'))
+ depends_on('perl-file-listing', type=('build', 'run'))
+ depends_on('perl-html-parser', type=('build', 'run'))
+ depends_on('perl-http-cookies', type=('build', 'run'))
+ depends_on('perl-http-daemon', type=('build', 'run'))
+ depends_on('perl-http-date', type=('build', 'run'))
+ depends_on('perl-http-message', type=('build', 'run'))
+ depends_on('perl-http-negotiate', type=('build', 'run'))
+ depends_on('perl-lwp-mediatypes', type=('build', 'run'))
+ depends_on('perl-net-http', type=('build', 'run'))
+ depends_on('perl-try-tiny', type=('build', 'run'))
+ depends_on('perl-uri', type=('build', 'run'))
+ depends_on('perl-www-robotrules', type=('build', 'run'))
|
|
Added the following dependencies:
+ depends_on('perl-http-date', type=('build', 'run'))
+ depends_on('perl-module-build-tiny', type='build')
|
|
Add newest release with ability to pre-build as shared or static
library.
|
|
|
|
Preferred targets were failing because we were looking them up by
Microarchitecture object, not by string.
- [x] Add a call to `str()` to fix target lookup.
- [x] Add a test to exercise this part of concretization.
- [x] Add documentation for setting `target` in `packages.yaml`
|
|
* microarchitectures: zen starts from x86_64, not from excavator
* Unit tests: fixed a test that is wrong with the new modeling
* microarchitectures: fixed features and inheritance for 15h family
bulldozer doesn't inherit from barcelona (10h) + added xop, lwp and tbm
instruction sets to the 15h family (it distinguish the family from 17h)
|
|
* Fix installation permissions on BLIS and libflame libs
* Fix undefined symbols
|
|
|
|
Also enable vectorization via -O3 for gcc/clang
|
|
Addresses #12804
This PR adds the creation of the remaining (16) templates to ensure we can create them with expected content. The goal is to facilitate catching during testing.
|
|
The 'fontconfig' option is only valid when freetype is enabled.
|