Merge pull request #451 from kiwix/integrate-zimwriterfs-into-zim-tools
This commit is contained in:
commit
962835b33a
|
@ -36,14 +36,14 @@ elif PLATFORM_TARGET.startswith("iOS"):
|
||||||
TARGETS = ("libzim", "kiwix-lib")
|
TARGETS = ("libzim", "kiwix-lib")
|
||||||
elif PLATFORM_TARGET.startswith("native_"):
|
elif PLATFORM_TARGET.startswith("native_"):
|
||||||
if OS_NAME == "osx":
|
if OS_NAME == "osx":
|
||||||
TARGETS = ("libzim", ) if PLATFORM_TARGET == "native_mixed" else ("libzim", "zimwriterfs", "zim-tools", "kiwix-lib")
|
TARGETS = ("libzim", ) if PLATFORM_TARGET == "native_mixed" else ("libzim", "zim-tools", "kiwix-lib")
|
||||||
else:
|
else:
|
||||||
if DESKTOP:
|
if DESKTOP:
|
||||||
TARGETS = ("kiwix-desktop",)
|
TARGETS = ("kiwix-desktop",)
|
||||||
elif PLATFORM_TARGET == "native_mixed":
|
elif PLATFORM_TARGET == "native_mixed":
|
||||||
TARGETS = ("libzim",)
|
TARGETS = ("libzim",)
|
||||||
else:
|
else:
|
||||||
TARGETS = ("zimwriterfs", "zim-tools", "kiwix-tools")
|
TARGETS = ("zim-tools", "kiwix-tools")
|
||||||
elif PLATFORM_TARGET in ("win32_static", "armhf_static", "i586_static"):
|
elif PLATFORM_TARGET in ("win32_static", "armhf_static", "i586_static"):
|
||||||
TARGETS = ("kiwix-tools",)
|
TARGETS = ("kiwix-tools",)
|
||||||
elif PLATFORM_TARGET == "flatpak":
|
elif PLATFORM_TARGET == "flatpak":
|
||||||
|
|
|
@ -72,10 +72,10 @@ EXPORT_FILES = {
|
||||||
"zimdiff",
|
"zimdiff",
|
||||||
"zimpatch",
|
"zimpatch",
|
||||||
"zimsplit",
|
"zimsplit",
|
||||||
|
"zimwriterfs",
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"zimwriterfs": (INSTALL_DIR / "bin", ["zimwriterfs" + BIN_EXT]),
|
|
||||||
"libzim": (
|
"libzim": (
|
||||||
INSTALL_DIR,
|
INSTALL_DIR,
|
||||||
(
|
(
|
||||||
|
|
|
@ -18,14 +18,14 @@ elif PLATFORM_TARGET.startswith("iOS"):
|
||||||
TARGETS = ("libzim", "kiwix-lib")
|
TARGETS = ("libzim", "kiwix-lib")
|
||||||
elif PLATFORM_TARGET.startswith("native_"):
|
elif PLATFORM_TARGET.startswith("native_"):
|
||||||
if OS_NAME == "osx":
|
if OS_NAME == "osx":
|
||||||
TARGETS = ("libzim", "zimwriterfs", "zim-tools", "kiwix-lib")
|
TARGETS = ("libzim", "zim-tools", "kiwix-lib")
|
||||||
else:
|
else:
|
||||||
if DESKTOP:
|
if DESKTOP:
|
||||||
TARGETS = ("kiwix-desktop",)
|
TARGETS = ("kiwix-desktop",)
|
||||||
elif PLATFORM_TARGET == "native_mixed":
|
elif PLATFORM_TARGET == "native_mixed":
|
||||||
TARGETS = ("libzim",)
|
TARGETS = ("libzim",)
|
||||||
else:
|
else:
|
||||||
TARGETS = ("libzim", "zimwriterfs", "zim-tools", "kiwix-lib", "kiwix-tools")
|
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
|
||||||
else:
|
else:
|
||||||
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
|
TARGETS = ("libzim", "zim-tools", "kiwix-lib", "kiwix-tools")
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,15 @@ kiwix-build zim-tools # will build zim-tools and its dependencies
|
||||||
|
|
||||||
By default, `kiwix-build` will build `kiwix-tools` .
|
By default, `kiwix-build` will build `kiwix-tools` .
|
||||||
|
|
||||||
|
To see the whole list of available targets run with non existing target, ex:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kiwix-build not-existing-target
|
||||||
|
...
|
||||||
|
invalid choice: 'not-existing-target' (choose from 'alldependencies', 'android-ndk',
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
#### Target platform
|
#### Target platform
|
||||||
|
|
||||||
If no target platform is specified, a default one will be infered from
|
If no target platform is specified, a default one will be infered from
|
||||||
|
|
|
@ -25,7 +25,6 @@ from . import (
|
||||||
uuid,
|
uuid,
|
||||||
xapian,
|
xapian,
|
||||||
zim_tools,
|
zim_tools,
|
||||||
zimwriterfs,
|
|
||||||
zlib,
|
zlib,
|
||||||
zstd
|
zstd
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,12 +13,12 @@ class AllBaseDependencies(Dependency):
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_dependencies(cls, platformInfo, allDeps):
|
def get_dependencies(cls, platformInfo, allDeps):
|
||||||
base_deps = ['zlib', 'lzma', 'zstd', 'xapian-core', 'pugixml', 'libcurl', 'icu4c', 'mustache', 'libmicrohttpd']
|
base_deps = ['zlib', 'lzma', 'zstd', 'xapian-core', 'pugixml', 'libcurl', 'icu4c', 'mustache', 'libmicrohttpd']
|
||||||
# zimwriterfs
|
|
||||||
if platformInfo.build not in ('android', 'win32'):
|
|
||||||
base_deps += ['libmagic', 'gumbo']
|
|
||||||
|
|
||||||
# zimtools
|
# zimtools
|
||||||
if platformInfo.build not in ('android','iOS'):
|
# We do not build zimtools at all on "android" and "iOS"
|
||||||
|
if platformInfo.build not in ('android', 'iOS'):
|
||||||
base_deps += ['docoptcpp']
|
base_deps += ['docoptcpp']
|
||||||
|
if platformInfo.build != 'win32':
|
||||||
|
# zimwriterfs
|
||||||
|
base_deps += ['libmagic', 'gumbo']
|
||||||
|
|
||||||
return base_deps
|
return base_deps
|
||||||
|
|
|
@ -12,10 +12,19 @@ class ZimTools(Dependency):
|
||||||
git_dir = "zim-tools"
|
git_dir = "zim-tools"
|
||||||
|
|
||||||
class Builder(MesonBuilder):
|
class Builder(MesonBuilder):
|
||||||
dependencies = ['libzim', 'docoptcpp']
|
@classmethod
|
||||||
|
def get_dependencies(cls, platformInfo, allDeps):
|
||||||
|
base_deps = ['libzim', 'docoptcpp']
|
||||||
|
if platformInfo.build != 'win32':
|
||||||
|
base_deps += ['libmagic', 'gumbo']
|
||||||
|
return base_deps
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def configure_option(self):
|
def configure_option(self):
|
||||||
|
base_option = ""
|
||||||
|
# We don't build zimwriterfs on win32, and so we don't have magic
|
||||||
|
if self.buildEnv.platformInfo.build != 'win32':
|
||||||
|
base_option += " -Dmagic-install-prefix={buildEnv.install_dir}"
|
||||||
if self.buildEnv.platformInfo.static:
|
if self.buildEnv.platformInfo.static:
|
||||||
return "-Dstatic-linkage=true"
|
base_option += " -Dstatic-linkage=true"
|
||||||
return ""
|
return base_option
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
from .base import (
|
|
||||||
Dependency,
|
|
||||||
GitClone,
|
|
||||||
MesonBuilder)
|
|
||||||
|
|
||||||
class Zimwriterfs(Dependency):
|
|
||||||
name = "zimwriterfs"
|
|
||||||
force_build = True
|
|
||||||
|
|
||||||
class Source(GitClone):
|
|
||||||
git_remote = "https://github.com/openzim/zimwriterfs.git"
|
|
||||||
git_dir = "zimwriterfs"
|
|
||||||
|
|
||||||
class Builder(MesonBuilder):
|
|
||||||
dependencies = ['libzim', 'zlib', 'xapian-core', 'gumbo', 'icu4c', 'libmagic']
|
|
||||||
|
|
||||||
@property
|
|
||||||
def configure_option(self):
|
|
||||||
base_option = "-Dmagic-install-prefix={buildEnv.install_dir}"
|
|
||||||
if self.buildEnv.platformInfo.static:
|
|
||||||
base_option += " -Dstatic-linkage=true"
|
|
||||||
return base_option
|
|
|
@ -5,7 +5,6 @@ main_project_versions = {
|
||||||
'kiwix-lib': '9.3.0',
|
'kiwix-lib': '9.3.0',
|
||||||
'kiwix-tools': '3.1.2', # Also need to change this in appveyor/install_kiwix-tools.cmd
|
'kiwix-tools': '3.1.2', # Also need to change this in appveyor/install_kiwix-tools.cmd
|
||||||
'zim-tools': '1.2.1',
|
'zim-tools': '1.2.1',
|
||||||
'zimwriterfs': '1.3.10',
|
|
||||||
'kiwix-desktop': '2.0.2' # Also change KIWIX_DESKTOP_VERSION and KIWIX_DESKTOP_RELEASE in appveyor.yml
|
'kiwix-desktop': '2.0.2' # Also change KIWIX_DESKTOP_VERSION and KIWIX_DESKTOP_RELEASE in appveyor.yml
|
||||||
# You need to do the release process of kiwix-tools and kiwix-desktop in two separated process.
|
# You need to do the release process of kiwix-tools and kiwix-desktop in two separated process.
|
||||||
}
|
}
|
||||||
|
@ -35,7 +34,6 @@ release_versions = {
|
||||||
'kiwix-lib': 0, # Depends of libzim (was 1)
|
'kiwix-lib': 0, # Depends of libzim (was 1)
|
||||||
'kiwix-tools': 0, # Depends of kiwix-lib and libzim (was 6)
|
'kiwix-tools': 0, # Depends of kiwix-lib and libzim (was 6)
|
||||||
'zim-tools': None, # Depends of libzim (was 3)
|
'zim-tools': None, # Depends of libzim (was 3)
|
||||||
'zimwriterfs': None, # Depends of libzim (was 4)
|
|
||||||
'kiwix-desktop': None # Depends of kiwix-lib and libzim (was 0)
|
'kiwix-desktop': None # Depends of kiwix-lib and libzim (was 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue