summaryrefslogtreecommitdiff
path: root/etc/spack/defaults/packages.yaml
AgeCommit message (Collapse)AuthorFilesLines
2023-08-17`zlib-api`: use `zlib-ng +compat` by default (#39358)Harmen Stoppels1-1/+1
In the HPC package manager, we want the fastest `zlib` implementation by default. `zlib-ng` is up to 4x faster than stock `zlib`, and it can do things like take advantage of AVX-512 instructions. This PR makes `zlib-ng` the default `zlib-api` provider (`zlib-api` was introduced earlier, in #37372). As far as I can see, the only issues you can encounter are: 1. Build issues with packages that heavily rely on `zlib` internals. In Gitlab CI only one out of hundreds of packages had that issue (it extended zlib with deflate stuff, and used its own copy of zlib sources). 2. Packages that like to detect `zlib-ng` separately and rely on `zlib-ng` internals. The only issue I've found with this among the hundreds of packages built in CI is `perl` trying to report more specific zlib-ng version details, and relied on some internals that got refactored. But yeah... that warrants a patch / conflict and is nothing special. At runtime, you cannot really have any issues, given that zlib and zlib-ng export the exact same symbols (and zlib-ng tests this in their CI). You can't really have issues with externals when using zlib-ng either. The only type of issue is when system zlib is rather new, and not marked as external; if another external uses new symbols, and Spack builds an older zlib/zlib-ng, then the external might not find the new symbols. But this is a configuration issue, and it's not an issue caused by zlib-ng, as the same would happen with older Spack zlib. * zlib-api: use zlib-ng +compat by default * make a trivial change to zlib-ng to trigger a rebuild * add `haampie` as maintainer
2023-08-09zlib-api: new virtual with zlib/zlib-ng as providers (#37372)Harmen Stoppels1-0/+1
Introduces a new virtual zlib-api, which replaces zlib in most packages. This allows users to switch to zlib-ng by default for better performance.
2023-08-02Add qmake virtual provider (#38848)Adam J. Stewart1-0/+1
2023-05-11Update providers of virtual packages related to Intel OneAPI (#37412)Nisarg Patel1-3/+3
* add a virtual dependency name instead of complete package name * add OneAPI components as providers of virtual packages * Revert the default of tbb --------- Co-authored-by: Nisarg Patel <nisarg.patel@lrz.de>
2023-03-10go: refactor bootstrapping process (#35823)Alec Scott1-1/+1
* Refactor go bootstrapping to include binary or gcc bootstrap
2022-10-18go,gcc: Support external go compilers for Go bootstrap (#27769)Bernhard Kaindl1-1/+2
For ARM64, fallback to gccgo. (go-bootstrap@1.4 can't support ARM64)
2022-07-29OpenGL restructure (#31748)Chuck Atkins1-4/+4
* OpenGL: Restructures the OpenGL packages This provides concrete glx and osmesa packages which delegate to virtual libglx and libosmesa packages provided by mesa. This was necessary because GLX and OSMesa both provide gl implementations but with mesa providing the girtual gl package there was no way to properly distinguish which of the two opengl implementations was beiing requested when querying the spec['gl'] dependency. This additional level of indirection allows for that. * OpenGL: Adjust downstream dependents of OpenGL for the restructure This implements the necessary fixes in the packages that depend on OpenGL to work with the restructuring. This also attempts to create a consistent variant for specifying glx or osmesa.
2022-05-10Add a Lua build-system (#28854)Tom Scogland1-1/+2
Reworking lua to allow easier substitution of the base lua implementation. Also adding in a maintained version of luajit and re-factoring the entire stack to use a custom build-system to centralize functionality like environment variable management and luarocks installation. The `lua-lang` virtual is now versioned so that a package that requires Lua 5.1 semantics can get any lua, but one that requires 5.2 will only get upstream lua. The luaposix package requires lua-bit32, but only when built with a lua conforming to version 5.1. This adds the package, and the dependencies, but exposed a problem with luarocks dependency detection. Since we're installing each package in its own "tree" and there's no environment variable to list extra trees, spack now generates a luarocks config file that lists all the trees of all the dependencies, and references it by setting `LUAROCKS_CONFIG` in the build environment of every LuaPackage. This allows luarocks to find the spack installed dependencies correctly rather than trying (and failing) to download them. Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Tom Scogland <tscogland@llnl.gov> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-01-11Packaging: Virtual package for libllvm (#27200)kwryankrattiger1-0/+1
Add an abstraction around libllvm to allow libllvm providers to be specified for all packages. This is targeting allowing mesa to build against llvm-amdgpu or intel-llvm or llvm or any other custom llvm variant that arises for specific GPU toolchains
2021-07-27pbs: new virtual package (#24568)Seth R. Johnson1-0/+1
* pbs: new virtual package Some of our clusters have an older installation of libtorque and tm.h that are *not* from OpenPBS. Using the current openpbs dependency for openmpi causes concretization errors due to restrictions on older python and hwloc requirements that don't apply, even with an external non-buildable installation. The new 'torque' bundle package allows users to point to that external installation without problems. Detailed description of torque by Sergey Kosukhin <skosukhin@gmail.com>
2021-06-28Hdf5 cmake (#18937)Larry Knox1-1/+1
* Switch hdf5 package from autotools to cmake. * Add variant for building with zlib, default to ON. * Update for format requirements. * Format change. * Fix breakage from last merge from develop. Switch szip to use libaec (unrestricted encryption). Remove 'static' variant: static libs will only be installed when ~shared. * Improve args based on suggestions from pull request. * Update code URL to github.com Add/modify 4 depends_on lines to fix running "spack graph --deptype=link hdf5". * Remove trailing whitespace. * Remove dependencies added solely to make "spack greph --type=link" work. * Add new version HDF5 1.8.22. * Remove unnecessary java_check. * Fix whitespace for style checks. * Reverted zlib version dependency to 1.1.2:. zlib variant removed. api version default renamed "default". * Remove blank line. * Whitespace corrections. * iRemoved unnecessary 'debug' variant. * Fix typo in version number in conflict for '+szip'. * Set default for tools variant to True. Remove patch functions dependent on 'libtool' file that cmake doesn't produce. * Remove line to set ONLY_SHARED_LIBS to true. Add post_install code to install only one version of tools with shared linkage and original tool names. * Remove trailing white space and import of glob package not used. * Leave BUILD_TESTING set to default which is ON. * Remove post_install code to install only one version of tools because some dependent packages running tests in e4s testing are using h5diff-shared. Keep both tools versions for now. * No longer need to import os.
2021-06-15add irep and lua-lang virtual dependency (#22492)Richarda Butler1-0/+1
This adds a package for `irep`, a tool for reading `lua` input decks from Fortran, C, and C++. `irep` can be built with either `lua` or `luajit`. To address this, we also add a virtual package for lua called `lua-lang`. `luajit` isn't, by default, a drop-in replacement for `lua`, but we add a `+lualinks` variant to it that adds symlinks that make it behave like `lua@5.1`. With this variant enabled, it provides the `lua-lang` virtual. `lua` always provides `lua-lang`. - [x] add `irep` package - [x] add `+lualinks` variant to `lua-luajit` - [x] create `lua-lang` virtual, provided by `lua` and `luajit+lualinks` Co-authored-by: Kayla Richarda Butler <butler59@quartz1148.llnl.gov> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2021-06-11Fixing provides directive for intel-oneapi-onedal package (#24108)Nikolay Petrov1-0/+1
2021-05-27Add fuse virtual dependency, new macfuse package (#23904)Adam J. Stewart1-0/+1
2021-05-25Add xxd for hsa-rocr-dev build script (#23855)Harmen Stoppels1-4/+5
2021-03-03zig: add new package at v0.7.1 (#22046)Massimiliano Culpo1-0/+1
2020-12-29Introduce virtual provider uuid (#18322)Michael Kuhn1-0/+1
libuuid is currently contained in util-linux, libuuid and uuid. This change introduces a new virtual provider `uuid` and renames the existing `uuid` package to `ossp-uuid`. util-linux's libuuid is provided in the form of a separate package util-linux-uuid to make sure that packages depending on uuid and util-linux can use a separate uuid implementation, which the concretizer does not allow if libuuid is contained in util-linux.
2020-11-30Fix Mesa GLES conflicts (#20184)Chuck Atkins1-1/+1
2020-10-31[NEW] Added amdfftw, amdlibflame and amdscalapack recipes (#19457)vijay kallesh1-4/+5
* [NEW] Added amdfftw, amdlibflame and amdscalapack recipes Updated base fftw, libflame and netlib-scalapack recipes to accommodate the above listed AMD Optimizing CPU Libraries which are a set of numerical routines optimized for AMD platforms. Updated amdblis spack recipe amdblis: 1. updated with amdblis 2.2 release amdfftw: 1. "--enable-single" now work as synonym for "--enable-float" amdlibflame: 1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag Libflame: 1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag 2. Corrected invocation of "enable_or_disable('threads')" Change-Id: I9da0a2c2c4e2075b7fa2776e7cfe6548a2e0b32f * Added amd-toolchain-support as maintainers Added team github account amd-toolchain-support as maintainers for all the recipes owned by AMD Optimizing CPU Libraries (AOCL) team Change-Id: I9a7969bd48fc42cfbb88dd7bd93e0802c6138582 * Incorporated review comments Updated packages.yaml with aocl components Handled Flake8 test failures Change-Id: I0a03f02d8c9f326b2434ec907958c3de3a8e18eb * Readded accidental removal of stream recipe amdfftw: 1. Updated the aocc clang selection as per spack standards fftw: 1. Currently apple-clang section is redundant, already it is handled in the conflict checks. Change-Id: Idef4a3f61717eb81f321e0cd16e7ba9619eac846 * Fix for style and docs/validate (pull_request) test unnumbered format placeholders from {} to {0} Change-Id: If67a3374177ec067573e5504462d257712fafc05 * changed compiler references to Spack's compiler wrapper:spack_cc, spack_cxx, spack_fc Change-Id: I7ae29c978fff16e37773913f14c84df232499763 * Removed 'single' variant from amdfftw recipe Instead of conflict for apple-clang + openmp, handled this senario via below available feature: depends_on('llvm-openmp', when='%apple-clang +openmp') Change-Id: I701b23d83e822a500ca3aaf2b60cc9ace09e13dc * Added relevant info for users who prefers to use single precision Change-Id: I3506e21da428ddef5fb7895b5aaed32c2a061ef6 * Minor changes on fftw, amdfftw and libflame amdfftw: 1. Removed escape symbol to the single quotes 2. Rewording the conflict line from Recommended to Required fftw: 1. Reorded to following recommended sections: versions, variants, dependencies, providers, patches libflame: 1. Added provides entry for 5.1.0 version Change-Id: I21ebff99b6dfde031763154693ecb3f1fa47b476 * Removed single quote from amdfftw docstring to fix style failures Change-Id: Ife939a5a2f5ccbc8879b730c7bebfe2fcfef9332
2020-10-30mesa: Retire older autotools mesa as mesa18 and create current meson mesa ↵Chuck Atkins1-2/+3
(#19528)
2020-10-20Adding AOCC compiler to SPACK community (#19345)GaneshPrasadMA1-1/+1
* Adding AOCC compiler to SPACK community The AOCC compiler system offers a high level of advanced optimizations, multi-threading and processor support that includes global optimization, vectorization, inter-procedural analyses, loop transformations, and code generation. AMD also provides highly optimized libraries, which extract the optimal performance from each x86 processor core when utilized. The AOCC Compiler Suite simplifies and accelerates development and tuning for x86 applications. * Added unit tests for detection and flags for AOCC * Addressed reviewers comments w.r.t version checks and url,checksum related line lengths Co-authored-by: Test User <spack@example.com>
2020-10-10make py-pillow the default for pil (#19251)Andrew Gaspar1-1/+1
py-pillow-simd is not portable to other architectures.
2020-10-01Add yacc provider and add dependency to swig (#19087)Andrew Gaspar1-1/+1
* Add byacc dependency to swig when building an autoconf version * Add yacc provider Removed extra sycl provider default
2020-09-03Pillow-SIMD: use as default PIL provider (#18097)Adam J. Stewart1-1/+1
* Pillow-SIMD: use as default PIL provider * Fix concretization of pil * Fix build of older versions of pillow
2020-07-23Revert "Add libglvnd packages/Add EGL support (#14572)" (#17682)Chuck Atkins1-6/+2
This reverts commit 573489db710c6fd315170a45d6c609db2e30e5e4.
2020-07-13Add libglvnd packages/Add EGL support (#14572)Omar Padron1-2/+6
* add new package: "libglvnd-frontend" * add +glvnd variant to opengl package * add +glvnd variant to mesa package * add +egl variant to paraview package * add libglvnd-frontend entries to default packages config * fix style * add default providers for glvnd virtuals add default providers for glvnd-gl, glvnd-glx, and glvnd-egl * WIP: rough start to external OpenGL documentation * rename libglvnd-frontend package and backend virtual dependencies * update documentation * fix ligvnd-be-* typos * fix libglvnd-fe package class name * fix doc parse error
2020-05-25hdf: new version, variants and refactoring (#16469)Sergey Kosukhin1-0/+1
* hdf: new version, variants and refactoring. * libc provides rpc * Fix szip-related configure argument. * Update dependent packages.
2020-03-28Hack to select iconv implementation - libiconv vs. libc iconv (#15437)iarspider1-0/+1
(re-do of #15213 due to changes in gnupg recipe)
2020-03-20multiprocessing: allow Spack to run uninterrupted in background (#14682)Greg Becker1-0/+1
Spack currently cannot run as a background process uninterrupted because some of the logging functions used in the install method (especially to create the dynamic verbosity toggle with the v key) cause the OS to issue a SIGTTOU to Spack when it's backgrounded. This PR puts the necessary gatekeeping in place so that Spack doesn't do anything that will cause a signal to stop the process when operating as a background process.
2020-02-13hipsycl: new package and new 'sycl' virtual package (#14051)Federico Ficarelli1-0/+1
2019-07-25Make OpenJDK the default (#12106)Elizabeth Fischer1-1/+1
2019-07-01openfoam: rename openfoam-com to openfoam (#11876)Mark Olesen1-1/+0
The original packaging, with openfoam as a virtual and with openfoam-com, openfoam-org and openfoam-extend as providers, adds an obfuscation layer without any benefit. - Rename `openfoam-com` to `openfoam`, and remove the `openfoam` virtual package.
2019-06-10ninja{-fortran}: make pkgs nonvirtual (fix #11628) (#11629)Geoffrey Oxberry1-2/+0
2019-05-21Add Fujitsu compiler to Spack. (#11287)t-karatsu1-1/+1
* Add Fujitsu compiler to Spack. * Fixes for flake8 * Chenges location of FCC to subdirectory called case-insensitive * Add compiler tests for Fujitsu compiler * Modify the logic of taking compiler version for new version of Fujitsu compiler
2019-05-07ninja: drop python as a run dep (#11347)Chuck Atkins1-0/+2
* ninja: Make python a build-only dependency * ninja, ninja-fortran: allow the packages to provide eachother
2019-05-01mesa: re-written to new meson build system (#10482)Chuck Atkins1-1/+2
* mesa: re-writen to new meson build system * xorg-server: Remove unneeded mesa dependency * glx: provide the virtual GLX package * Convert most "mesa" dependencies to use virtual gl and glx dependencies * mesa: Switch to always building from the git repo instead of a tarball * Use gl and glx version ranges instead of exact versions * glx: provide a default package * add auto to swr variant * Revert "add auto to swr variant" This reverts commit 2e7cd8a8aca07767c00657d0d09985ddd6306883. * update mesa package to version 19.0 * set +glx by default only when running on linux * fix style issues in geant4 package * remove virtual package "egl"
2019-03-26mysql: Support client-only, cxxstd and more versions (#10911)Chris Green1-1/+1
* add cxxstd variant * add CMake constraints based on platform/version * add older versions * update boost dependency version constraints (which are closely tied to mysql version) and update boost cxxstd choice to be the same as the cxxstd chosen for mysql * add client-only support (including a patch for 5.5.x) * record the mysql package as a provider of the mysql-client virtual
2019-03-15New package: mariadb-c-client (#7729)Chris Green1-0/+2
* mariadb-c-client is a new package using the distinct, LGPL, MySQL-compatible client library from mariadb.com. It provides the virtual package mariadb-client * mariadb is recorded as a provider of the mariadb-client virtual * The mysql-client virtual package is also added, and mariadb-c-client is recorded as a provider for it
2019-03-12New package: ibm-java (#10777)Mark W. Krentel1-1/+1
* Add binary package of the IBM Java SDK for big and little-endian powerpc (power7, 8 and 9). The jdk and openjdk packages only install on x86_64. * Add ibm-java as a java provider * The jdk and openjdk packages only install on x86_64. Add conflicts for ppc64 and ppc64le to jdk and openjdk.
2018-11-09Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)Nichols A. Romero1-0/+1
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages. * make fftw default package for fftw-api virtual package * virtual package test assertion now provides location of default virtual packages. * Change name of virtual package to fftw-api and used versioned interface.
2018-10-11permissions: add permission configuration to packages.yaml (#8773)Greg Becker1-1/+3
Spack can now be configured to assign permissions to the files installed by a package. In the `packages.yaml` file under `permissions`, the attributes `read`, `write`, and `group` control the package permissions. These attributes can be set per-package, or for all packages under `all`. If permissions are set under `all` and for a specific package, the package-specific settings take precedence. The `read` and `write` attributes take one of `user`, `group`, and `world`. packages: all: permissions: write: group group: spack my_app: permissions: read: group group: my_team
2018-08-06spack general packages.yaml defaults: add unwindGeoffrey Malcolm Oxberry1-0/+2
This commit adds 'libunwind' as the default 'unwind' provider in spack. This preference should be overridden by the darwin/packages.yaml file on macOS. Continues the changes discussed in
2018-05-05Set default provider for every virtual package (#7784)Adam J. Stewart1-1/+2
* Set default provider for every virtual package * Add unit test to ensure that every virtual package has a default provider explicitly set
2018-04-12Specify default providers for the glu virtual package. (#7733)Veselin Dobrev1-0/+1
2018-01-22Update gl/qt options for vtk package (#6551)Scott Wittenburg1-0/+1
This provides options for hardware and software rendering with the gl API and updates the vtk package to make use of those options: * Create new "gl" virtual package, provided by mesa * Add external-only "opengl" package, which represents a system install that provides gl * For vtk: prefer system gl implementation by default to get speed up from hardware rendering. When software rendering is specifically requested (+osmesa), try to use the llvmpipe approach, as it is much faster. * Make qt dependency optional for vtk * Add basic support for VTK on osx * qt: Depend on virtual gl package, rather than mesa impl
2017-11-23Introduce virtual dependency pkgconfig (#5198)Michael Kuhn1-0/+1
There are two providers, pkgconf and pkg-config, with the former being the default provider.
2017-08-24Make jpeg a virtual dependency. (#5190)Sergey Kosukhin1-0/+1
* Make jpeg a virtual dependency. * Make 'libjpeg-turbo' the default implementation of 'jpeg'.
2017-08-16Refactor IntelInstaller into IntelPackage base class (#4300)Adam J. Stewart1-3/+4
* Refactor IntelInstaller into IntelPackage base class * Move license attributes from __init__ to class-level * Flake8 fixes: remove unused imports * Fix logic that writes the silent.cfg file * More specific version numbers for Intel MPI * Rework logic that selects components to install * Final changes necessary to get intel package working * Various updates to intel-parallel-studio * Add latest version of every Intel package * Add environment variables for Intel packages * Update env vars for intel package * Finalize components for intel-parallel-studio package Adds a +tbb variant to intel-parallel-studio. The tbb package was renamed to intel-tbb. Now both intel-tbb and intel-parallel-studio+tbb provide tbb. * Overhaul environment variables set by intel-parallel-studio * Point dependent packages to the correct MPI wrappers * Never default to intel-parallel-studio * Gather env vars by sourcing setup scripts * Use mpiicc instead of mpicc when using Intel compiler * Undo change to ARCH * Add changes from intel-mpi to intel-parallel-studio * Add comment explaining mpicc vs mpiicc * Prepend env vars containing 'PATH' or separators * Flake8 fix * Fix bugs in from_sourcing_file * Indentation fix * Prepend, not set if contains separator * Fix license symlinking broken by changes to intel-parallel-studio * Use comments instead of docstrings to document attributes * Flake8 fixes * Use a set instead of a list to prevent duplicate components * Fix MKL and MPI library linking directories * Remove +all variant from intel-parallel-studio * It is not possible to build with MKL, GCC, and OpenMP at this time * Found a workaround for locating GCC libraries * Typos and variable names * Fix initialization of empty LibraryList
2017-08-05Add a new package for IcedTea (#4804)snehring1-0/+1
* alsa-lib: new package * cups: new package * icedtea: new package * icedtea: adding JAVA_HOME variable * alsa: removing placeholder * icedtea: typo fix * alsa: fixing formattting * icedtea: formatting fixes and cleanup * icedtea: additional cleanup * jdk: adding provides('java') to jdk, setting jdk to default java. * icedtea: adding jdk as a dependency * java: changing depends_on('jdk') and similar entries to depends_on('java') * icedtea: removing unused imports, trying to placate flake8. * fastqc: fixing flake8 error * bazel: fixing typo in java dependency * jdk: changing provides java to a range * icedtea: cleaning up. Splitting up checksums. * icedtea: jdk dependency is build only
2017-08-04New package libaec: a BSD-licensed replacement for the szip library. (#4437)Sergey Kosukhin1-0/+1
* Added package for 'libaec'. * New version for package 'libaec'.