Merge pull request #736 from kiwix/zim-tools_deps_windows

This commit is contained in:
Matthieu Gautier 2024-08-28 20:41:19 +02:00 committed by GitHub
commit 290a8b811f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 58 additions and 6 deletions

View File

@ -1,6 +1,7 @@
from .base import * from .base import *
from . import ( from . import (
all_dependencies, all_dependencies,
boostregex,
tc_android_ndk, tc_android_ndk,
aria2, aria2,
tc_armhf, tc_armhf,

View File

@ -23,6 +23,8 @@ class AllBaseDependencies(Dependency):
"xapian-core", "xapian-core",
"zim-testing-suite", "zim-testing-suite",
"icu4c", "icu4c",
"boostregex",
"docoptcpp"
] ]
if not configInfo.name.endswith("_dyn"): if not configInfo.name.endswith("_dyn"):

View File

@ -0,0 +1,27 @@
from .base import Dependency, ReleaseDownload, Builder as BaseBuilder
from kiwixbuild.utils import Remotefile, pj
from shutil import copytree
class BoostRegex(Dependency):
name = "boostregex"
class Source(ReleaseDownload):
archive = Remotefile(
"regex-boost-1.86.0.zip",
"",
"https://codeload.github.com/boostorg/regex/zip/refs/tags/boost-1.86.0",
)
class Builder(BaseBuilder):
def build(self):
self.command("copy_headers", self._copy_headers)
def _copy_headers(self, context):
context.try_skip(self.build_path)
copytree(
pj(self.source_path, "include", "boost"),
pj(self.buildEnv.install_dir, "include", "boost"),
dirs_exist_ok=True,
)

View File

@ -1,7 +1,7 @@
from .base import Dependency, ReleaseDownload, MesonBuilder from .base import Dependency, ReleaseDownload, MesonBuilder
from kiwixbuild.utils import Remotefile from kiwixbuild.utils import Remotefile
from kiwixbuild._global import neutralEnv
class docoptcpp(Dependency): class docoptcpp(Dependency):
name = "docoptcpp" name = "docoptcpp"
@ -21,6 +21,14 @@ class docoptcpp(Dependency):
) )
archives = [src_archive, meson_archive] archives = [src_archive, meson_archive]
patches = ["docopt_meson_install_pkgconfig.patch"] patches = [
"docopt_meson_install_pkgconfig.patch",
"docopt_meson_use_boostregex.patch",
]
Builder = MesonBuilder class Builder(MesonBuilder):
@classmethod
def get_dependencies(cls, configInfo, allDeps):
if neutralEnv("distname") == "Windows":
return ["boostregex"]
return []

View File

@ -18,9 +18,9 @@ if platform.system() == "Windows":
class Source(ReleaseDownload): class Source(ReleaseDownload):
archive = Remotefile( archive = Remotefile(
"icu4c-73_1-Win64-MSVC2019.zip", "icu4c-74_1-Win64-MSVC2022.zip",
"", "",
"https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-Win64-MSVC2019.zip", "https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-Win64-MSVC2022.zip",
) )
class Builder(BaseBuilder): class Builder(BaseBuilder):

View File

@ -0,0 +1,14 @@
diff -ur docoptcpp-0.6.2/meson.build docoptcpp-0.6.2_boostregex/meson.build
--- docoptcpp-0.6.2/meson.build 2024-08-28 17:22:46.256716100 +0200
+++ docoptcpp-0.6.2_boostregex/meson.build 2024-08-28 17:02:47.932681000 +0200
@@ -8,6 +8,10 @@
add_project_arguments('-DDOCOPT_DLL', '-DDOCOPT_EXPORTS', language: 'cpp')
endif
+if cpp.get_id() =='msvc'
+ add_project_arguments('-DDOCTOPT_USE_BOOST_REGEX', '-DBOOST_REGEX_STANDALONE', language: 'cpp')
+endif
+
# bug with missing dllexport. fixed in next version.
if cpp.get_argument_syntax() == 'msvc'
doclib = static_library('docopt', 'docopt.cpp', install: true)

View File

@ -39,7 +39,7 @@ release_versions = {
# This is the "version" of the whole base_deps_versions dict. # This is the "version" of the whole base_deps_versions dict.
# Change this when you change base_deps_versions. # Change this when you change base_deps_versions.
base_deps_meta_version = "06" base_deps_meta_version = "07"
base_deps_versions = { base_deps_versions = {
"zlib": "1.2.12", "zlib": "1.2.12",