Add external package support to xz (#19339)

* Add external package support to xz

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
This commit is contained in:
iarspider 2020-10-16 23:30:57 +02:00 committed by GitHub
parent e9da8d1633
commit 7296f8c628
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import re
from spack import *
@ -16,6 +18,8 @@ class Xz(AutotoolsPackage, SourceforgePackage):
sourceforge_mirror_path = "lzmautils/files/xz-5.2.5.tar.bz2"
list_url = "http://tukaani.org/xz/old.html"
executables = [r'^xz$']
version('5.2.5', sha256='5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df')
version('5.2.4', sha256='3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf')
version('5.2.3', sha256='fd9ca16de1052aac899ad3495ad20dfa906c27b4a5070102a2ec35ca3a4740c1')
@ -33,3 +37,9 @@ def flag_handler(self, name, flags):
@property
def libs(self):
return find_libraries(['liblzma'], root=self.prefix, recursive=True)
@classmethod
def determine_version(cls, exe):
output = Executable(exe)('--version', output=str, error=str)
match = re.search(r'xz \(XZ Utils\) (\S+)', output)
return match.group(1) if match else None