From 694d633a2c46505b5bcb2e57a52966e37c36477e Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 4 Feb 2021 13:17:32 +0100 Subject: spack external find: allow to search by tags (#21407) This commit adds an option to the `external find` command that allows it to search by tags. In this way group of executables with common purposes can be grouped under a single name and a simple command can be used to detect all of them. As an example introduce the 'build-tools' tag to search for common development tools on a system --- var/spack/repos/builtin/packages/autoconf/package.py | 2 ++ var/spack/repos/builtin/packages/automake/package.py | 2 ++ var/spack/repos/builtin/packages/cmake/package.py | 2 ++ var/spack/repos/builtin/packages/flex/package.py | 2 ++ var/spack/repos/builtin/packages/gmake/package.py | 2 ++ var/spack/repos/builtin/packages/libtool/package.py | 2 ++ var/spack/repos/builtin/packages/m4/package.py | 2 ++ var/spack/repos/builtin/packages/pkg-config/package.py | 2 ++ var/spack/repos/builtin/packages/pkgconf/package.py | 2 ++ 9 files changed, 18 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py index 1ba77a4240..0a307e00c1 100644 --- a/var/spack/repos/builtin/packages/autoconf/package.py +++ b/var/spack/repos/builtin/packages/autoconf/package.py @@ -31,6 +31,8 @@ class Autoconf(AutotoolsPackage, GNUMirrorPackage): build_directory = 'spack-build' + tags = ['build-tools'] + executables = [ '^autoconf$', '^autoheader$', '^autom4te$', '^autoreconf$', '^autoscan$', '^autoupdate$', '^ifnames$' diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py index 33d8abd5aa..e364fe07cb 100644 --- a/var/spack/repos/builtin/packages/automake/package.py +++ b/var/spack/repos/builtin/packages/automake/package.py @@ -25,6 +25,8 @@ class Automake(AutotoolsPackage, GNUMirrorPackage): build_directory = 'spack-build' + tags = ['build-tools'] + executables = ['^automake$'] @classmethod diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index 8278482e99..556a2117ce 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -14,6 +14,8 @@ class Cmake(Package): url = 'https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0.tar.gz' maintainers = ['chuckatkins'] + tags = ['build-tools'] + executables = ['^cmake$'] version('3.19.2', sha256='e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0') diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py index 6ae8ddbce1..a3398e6566 100644 --- a/var/spack/repos/builtin/packages/flex/package.py +++ b/var/spack/repos/builtin/packages/flex/package.py @@ -14,6 +14,8 @@ class Flex(AutotoolsPackage): homepage = "https://github.com/westes/flex" url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz" + tags = ['build-tools'] + executables = ['^flex$'] version('2.6.4', sha256='e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995') diff --git a/var/spack/repos/builtin/packages/gmake/package.py b/var/spack/repos/builtin/packages/gmake/package.py index 3c01635d8e..0073ccb5f1 100644 --- a/var/spack/repos/builtin/packages/gmake/package.py +++ b/var/spack/repos/builtin/packages/gmake/package.py @@ -29,6 +29,8 @@ class Gmake(AutotoolsPackage, GNUMirrorPackage): patch('https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-2.patch', level=1, sha256='fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125', when='@4.2.1') patch('https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-3.patch', level=1, sha256='ca60bd9c1a1b35bc0dc58b6a4a19d5c2651f7a94a4b22b2c5ea001a1ca7a8a7f', when='@:4.2.1') + tags = ['build-tools'] + executables = ['^g?make$'] @classmethod diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py index b840688885..001327c78f 100644 --- a/var/spack/repos/builtin/packages/libtool/package.py +++ b/var/spack/repos/builtin/packages/libtool/package.py @@ -30,6 +30,8 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage): build_directory = 'spack-build' + tags = ['build-tools'] + executables = ['^g?libtool(ize)?$'] @classmethod diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py index 78ea153adc..23f802d9d1 100644 --- a/var/spack/repos/builtin/packages/m4/package.py +++ b/var/spack/repos/builtin/packages/m4/package.py @@ -33,6 +33,8 @@ class M4(AutotoolsPackage, GNUMirrorPackage): build_directory = 'spack-build' + tags = ['build-tools'] + executables = ['^g?m4$'] @classmethod diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index 89950cc7bd..f0f06d81ed 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -31,6 +31,8 @@ class PkgConfig(AutotoolsPackage): parallel = False + tags = ['build-tools'] + executables = ['^pkg-config$'] @classmethod diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py index c6109d33cc..fdcddf7b56 100644 --- a/var/spack/repos/builtin/packages/pkgconf/package.py +++ b/var/spack/repos/builtin/packages/pkgconf/package.py @@ -37,6 +37,8 @@ class Pkgconf(AutotoolsPackage): # https://github.com/spack/spack/issues/3525 conflicts('%pgi') + tags = ['build-tools'] + executables = ['^pkgconf$', '^pkg-config$'] @classmethod -- cgit v1.2.3-70-g09d2