mirror of
https://github.com/ZDoom/zdoom-macos-deps.git
synced 2025-02-16 16:41:42 +00:00
aedi: add zip target
This commit is contained in:
parent
5148f2b0f9
commit
d4bfcb7a15
2 changed files with 34 additions and 0 deletions
|
@ -101,6 +101,7 @@ def targets():
|
||||||
NinjaTarget(),
|
NinjaTarget(),
|
||||||
PkgConfigTarget(),
|
PkgConfigTarget(),
|
||||||
YasmTarget(),
|
YasmTarget(),
|
||||||
|
ZipTarget(),
|
||||||
|
|
||||||
# Special
|
# Special
|
||||||
CleanAllTarget(),
|
CleanAllTarget(),
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
import shlex
|
||||||
import zipapp
|
import zipapp
|
||||||
|
|
||||||
from .base import *
|
from .base import *
|
||||||
|
@ -132,3 +133,35 @@ class YasmTarget(ConfigureMakeDependencyTarget):
|
||||||
|
|
||||||
def detect(self, state: BuildState) -> bool:
|
def detect(self, state: BuildState) -> bool:
|
||||||
return os.path.exists(state.source + 'libyasm.h')
|
return os.path.exists(state.source + 'libyasm.h')
|
||||||
|
|
||||||
|
|
||||||
|
class ZipTarget(MakeTarget):
|
||||||
|
def __init__(self, name='zip'):
|
||||||
|
super().__init__(name)
|
||||||
|
|
||||||
|
def prepare_source(self, state: BuildState):
|
||||||
|
state.download_source(
|
||||||
|
'https://downloads.sourceforge.net/project/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz',
|
||||||
|
'f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369',
|
||||||
|
patches='zip-fix-misc')
|
||||||
|
|
||||||
|
def build(self, state: BuildState):
|
||||||
|
args = [
|
||||||
|
state.c_compiler(),
|
||||||
|
'-O3', '-I.', '-DUNIX',
|
||||||
|
'-DBZIP2_SUPPORT', '-DLARGE_FILE_SUPPORT', '-DUNICODE_SUPPORT',
|
||||||
|
'-DHAVE_DIRENT_H', '-DHAVE_TERMIOS_H',
|
||||||
|
'crc32.c', 'crypt.c', 'deflate.c', 'fileio.c', 'globals.c', 'trees.c',
|
||||||
|
'ttyio.c', 'unix/unix.c', 'util.c', 'zip.c', 'zipfile.c', 'zipup.c',
|
||||||
|
'-lbz2', '-o', 'zip'
|
||||||
|
]
|
||||||
|
|
||||||
|
for var in ('CFLAGS', 'LDFLAGS'):
|
||||||
|
args += shlex.split(self.environment[var])
|
||||||
|
|
||||||
|
subprocess.run(args, check=True, cwd=state.build_path)
|
||||||
|
|
||||||
|
def post_build(self, state: BuildState):
|
||||||
|
bin_path = state.install_path + 'bin'
|
||||||
|
os.makedirs(bin_path, exist_ok=True)
|
||||||
|
shutil.copy(state.build_path + 'zip', bin_path)
|
||||||
|
|
Loading…
Reference in a new issue