diff --git a/kiwixbuild/dependencies/xapian.py b/kiwixbuild/dependencies/xapian.py index 0ba92f0..e49289f 100644 --- a/kiwixbuild/dependencies/xapian.py +++ b/kiwixbuild/dependencies/xapian.py @@ -3,51 +3,56 @@ from .base import Dependency, GitClone, ReleaseDownload, MakeBuilder, MesonBuild from kiwixbuild.utils import Remotefile from kiwixbuild._global import neutralEnv +import platform + class Xapian(Dependency): name = "xapian-core" - class Source(GitClone): - git_remote = "https://github.com/openzim/xapian-meson.git" - git_dir = "xapian-core" + if platform.system() == "Windows": - # class Source(ReleaseDownload): - # src_archive = Remotefile( - # "xapian-core-1.4.23.tar.xz", - # "30d3518172084f310dab86d262b512718a7f9a13635aaa1a188e61dc26b2288c" - # ) - # meson_patch = Remotefile( - # "xapian-core-1.4.23-1_patch.zip", - # "", - # "https://public.kymeria.fr/KIWIX/xapian-core-1.4.23-1_patch.zip" - # ) - # archives = [src_archive, meson_patch] + class Source(GitClone): + git_remote = "https://github.com/openzim/xapian-meson.git" + git_dir = "xapian-core" - # class Builder(MakeBuilder): - # configure_options = [ - # "--disable-sse", - # "--disable-backend-chert", - # "--disable-backend-remote", - # "--disable-documentation"] - # configure_env = {'_format_LDFLAGS': "{env.LDFLAGS} -L{buildEnv.install_dir}/{buildEnv.libprefix}", - # '_format_CXXFLAGS': "{env.CXXFLAGS} -I{buildEnv.install_dir}/include"} + class Builder(MesonBuilder): + configure_options = [ + "-Denable-sse=false", + "-Denable-backend-chert=false", + "-Denable-backend-remote=false", + ] + subsource_dir = "xapian-core" - class Builder(MesonBuilder): - configure_options = [ - "-Denable-sse=false", - "-Denable-backend-chert=false", - "-Denable-backend-remote=false" - ] - subsource_dir = "xapian-core" - - @classmethod - def get_dependencies(cls, configInfo, allDeps): - if neutralEnv("distname") == "Windows": + @classmethod + def get_dependencies(cls, configInfo, allDeps): return ["zlib"] - deps = ["zlib", "lzma"] - if ( - configInfo.build in ("win32", "wasm") - or neutralEnv("distname") == "Darwin" - ): - return deps - return deps + ["uuid"] + + else: + + class Source(ReleaseDownload): + archive = Remotefile( + "xapian-core-1.4.23.tar.xz", + "30d3518172084f310dab86d262b512718a7f9a13635aaa1a188e61dc26b2288c", + ) + + class Builder(MakeBuilder): + configure_options = [ + "--disable-sse", + "--disable-backend-chert", + "--disable-backend-remote", + "--disable-documentation", + ] + configure_env = { + "_format_LDFLAGS": "{env.LDFLAGS} -L{buildEnv.install_dir}/{buildEnv.libprefix}", + "_format_CXXFLAGS": "{env.CXXFLAGS} -I{buildEnv.install_dir}/include", + } + + @classmethod + def get_dependencies(cls, configInfo, allDeps): + deps = ["zlib", "lzma"] + if ( + configInfo.build in ("win32", "win64", "wasm") + or neutralEnv("distname") == "Darwin" + ): + return deps + return deps + ["uuid"]