From 29053e25d66b98d3d438138028d6e931eaa5186c Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sun, 4 Jul 2021 12:37:29 +0300 Subject: [PATCH] aedi: add p7zip target --- aedi/target/__init__.py | 1 + aedi/target/tools.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/aedi/target/__init__.py b/aedi/target/__init__.py index 0d63938a..320b5fcb 100644 --- a/aedi/target/__init__.py +++ b/aedi/target/__init__.py @@ -101,6 +101,7 @@ def targets(): MesonTarget(), NasmTarget(), NinjaTarget(), + P7ZipTarget(), PkgConfigTarget(), YasmTarget(), ZipTarget(), diff --git a/aedi/target/tools.py b/aedi/target/tools.py index 94e91c8d..fca8231f 100644 --- a/aedi/target/tools.py +++ b/aedi/target/tools.py @@ -103,6 +103,24 @@ class NinjaTarget(MakeTarget): self.copy_to_bin(state) +class P7ZipTarget(CMakeTarget): + def __init__(self, name='p7zip'): + super().__init__(name) + self.src_root = 'CPP/7zip/CMAKE/7za' + + def prepare_source(self, state: BuildState): + state.download_source( + 'https://github.com/jinfeihan57/p7zip/archive/refs/tags/v17.04.tar.gz', + 'ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef') + + def detect(self, state: BuildState) -> bool: + return os.path.exists(state.source + 'CPP/7zip/CMAKE/CMakeLists.txt') \ + and os.path.exists(state.source + 'C/fast-lzma2/fast-lzma2.h') + + def post_build(self, state: BuildState): + self.copy_to_bin(state, '7za') + + class PkgConfigTarget(ConfigureMakeDependencyTarget): def __init__(self, name='pkg-config'): super().__init__(name)