-
Notifications
You must be signed in to change notification settings - Fork 33
/
build
executable file
·49 lines (34 loc) · 1.23 KB
/
build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env python3
# Copyright 2018 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Build zlib package."""
import os
from pathlib import Path
import sys
FILESDIR = Path(__file__).resolve().parent
sys.path.insert(0, str(FILESDIR.parent.parent / "bin"))
import ssh_client # pylint: disable=wrong-import-position
ARCHIVES = ("%(P)s.tar.gz",)
def src_configure(_metadata):
"""Configure the source."""
if os.path.exists("configure.log"):
return
try:
ssh_client.run(["./configure", "--static", "--prefix=/"])
except Exception:
ssh_client.run(["cat", "configure.log"])
ssh_client.unlink("configure.log")
raise
def src_compile(_metadata):
"""Compile the source."""
ssh_client.emake("libz.a")
def src_install(metadata):
"""Install the package."""
tc = metadata["toolchain"]
ssh_client.copy("libz.a", os.path.join(tc.libdir, "libz.a"))
ssh_client.copy("zlib.pc", os.path.join(tc.pkgconfdir, "zlib.pc"))
for header in ("zconf.h", "zlib.h"):
target = os.path.join(tc.incdir, header)
ssh_client.copy(header, target)
ssh_client.build_package(sys.modules[__name__], "pnacl")