45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from os import environ
|
|
|
|
from .base import Dependency, NoopSource, NoopBuilder
|
|
|
|
from kiwixbuild._global import neutralEnv
|
|
|
|
|
|
class AllBaseDependencies(Dependency):
|
|
name = "alldependencies"
|
|
|
|
Source = NoopSource
|
|
|
|
class Builder(NoopBuilder):
|
|
@classmethod
|
|
def get_dependencies(cls, configInfo, allDeps):
|
|
if neutralEnv("distname") == "Windows":
|
|
return ["zlib", "zstd", "icu4c", "zim-testing-suite", "xapian-core"]
|
|
if configInfo.build == "wasm" or environ.get("OS_NAME") == "manylinux":
|
|
return ["zlib", "lzma", "zstd", "icu4c", "xapian-core"]
|
|
|
|
base_deps = [
|
|
"zlib",
|
|
"lzma",
|
|
"zstd",
|
|
"xapian-core",
|
|
"pugixml",
|
|
"libcurl",
|
|
"icu4c",
|
|
"mustache",
|
|
"libmicrohttpd",
|
|
"zim-testing-suite",
|
|
]
|
|
# Add specific dependencies depending of the config
|
|
if configInfo.build not in ("android", "iOS"):
|
|
# For zimtools
|
|
base_deps += ["docoptcpp"]
|
|
if configInfo.build != "win32":
|
|
# zimwriterfs
|
|
base_deps += ["libmagic", "gumbo"]
|
|
if configInfo.build == "native" and neutralEnv("distname") != "Darwin":
|
|
# We compile kiwix-desktop only on native and not on `Darwin`
|
|
# So we need aria2 only there
|
|
base_deps += ["aria2"]
|
|
return base_deps
|