external find for cpio (#19379)

* external find for cpio

* address reviewer comments
This commit is contained in:
Sajid Ali 2020-10-19 17:48:27 -05:00 committed by GitHub
parent 92bbc2e789
commit 7052c65031
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import re
class Cpio(AutotoolsPackage, GNUMirrorPackage):
@ -13,12 +14,20 @@ class Cpio(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/cpio/"
gnu_mirror_path = "cpio/cpio-2.13.tar.gz"
executables = ['^cpio$']
version('2.13', sha256='e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88')
patch('https://src.fedoraproject.org/rpms/cpio/raw/dfe64c466d3ea2c8dfbd99700d9006f610064167/f/cpio-2.13-mutiple-definition.patch', sha256='d22633c368b8aedf4c08b23b6fbaa81a52404c8943ab04926404083ac10f1a4b', when='%gcc@10:')
build_directory = 'spack-build'
@classmethod
def determine_version(cls, exe):
output = Executable(exe)('--version', output=str, error=str)
match = re.search(r'\(GNU cpio\)\s+(\S+)', output)
return match.group(1) if match else None
def flag_handler(self, name, flags):
spec = self.spec