Remove code for kiwix-desktop workaround.

As we don't use the workaround now, we can remove the code associated to
it.

It simplify our build definition.
This commit is contained in:
Matthieu Gautier 2023-05-12 10:36:49 +02:00
parent 8237adf950
commit 7b6ed275ed
3 changed files with 40 additions and 58 deletions

View File

@ -3,7 +3,7 @@ import csv, io, re
# Definition of what to build. # Definition of what to build.
# Array is read line by line. # Array is read line by line.
# Empty cells under (OS_NAME, DESKTOP, PLATFORM_TARGET) mean "always match" (catch all, or `.*` regex) # Empty cells under (OS_NAME, PLATFORM_TARGET) mean "always match" (catch all, or `.*` regex)
# Once a cell doesn't match, skip to the next line. # Once a cell doesn't match, skip to the next line.
# Once a line matches, other lines are not read, so put more specific combination first. # Once a line matches, other lines are not read, so put more specific combination first.
# Lines composed of `-` , or `=`, or starting by `#` are ignored. # Lines composed of `-` , or `=`, or starting by `#` are ignored.
@ -11,48 +11,45 @@ import csv, io, re
# 'd' letter means that the project's dependencies are build and published to be used by the project's CI. # 'd' letter means that the project's dependencies are build and published to be used by the project's CI.
# If a cell contains both, both are done. # If a cell contains both, both are done.
BUILD_DEF = """ BUILD_DEF = """
| OS_NAME | DESKTOP | PLATFORM_TARGET | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop | | OS_NAME | PLATFORM_TARGET | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop |
======================================================================================================= ==============================================================================================
# Bionic is a special case as we need to compile libzim on old arch for python # Bionic is a special case as we need to compile libzim on old arch for python
| bionic | | | B | | | | | | bionic | | B | | | | |
------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------
# Osx builds, build binaries on native_dyn and native_static. On anyother things, build only the libraries # Osx builds, build binaries on native_dyn and native_static. On anyother things, build only the libraries
| osx | | native_dyn | d | d | dB | B | | | osx | native_dyn | d | d | dB | B | |
| osx | | native_static | | | B | B | | | osx | native_static | | | B | B | |
| osx | | native_mixed | B | B | | | | | osx | native_mixed | B | B | | | |
| osx | | iOS_arm64 | dB | B | | | | | osx | iOS_arm64 | dB | B | | | |
| osx | | iOS_x86_64 | dB | B | | | | | osx | iOS_x86_64 | dB | B | | | |
| osx | | iOS_Mac_ABI | B | B | | | | | osx | iOS_Mac_ABI | B | B | | | |
| osx | | macOS_arm64_static | B | B | | | | | osx | macOS_arm64_static | B | B | | | |
| osx | | macOS_arm64_mixed | B | B | | | | | osx | macOS_arm64_mixed | B | B | | | |
| osx | | macOS_x86_64 | B | B | | | | | osx | macOS_x86_64 | B | B | | | |
------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------
# Build kiwix-desktop only on specific targets | | flatpak | | | | | B |
| | eval'True | | | | | | B | | | native_static | d | d | dB | dB | |
| | | flatpak | | | | | B | | | native_dyn | d | d | dB | dB | B |
------------------------------------------------------------------------------------------------------- | | native_mixed | B | B | | | |
| | | native_static | d | d | dB | dB | |
| | | native_dyn | d | d | dB | dB | B |
| | | native_mixed | B | B | | | |
# libzim CI is building alpine_dyn but not us # libzim CI is building alpine_dyn but not us
| | | android_arm | dB | dB | | | | | | android_arm | dB | dB | | | |
| | | android_arm64 | dB | dB | | | | | | android_arm64 | dB | dB | | | |
| | | android_x86 | B | B | | | | | | android_x86 | B | B | | | |
| | | android_x86_64 | B | B | | | | | | android_x86_64 | B | B | | | |
| | | armv6_static | | | B | B | | | | armv6_static | | | B | B | |
| | | armv6_dyn | | | B | B | | | | armv6_dyn | | | B | B | |
| | | armv6_mixed | B | | | | | | | armv6_mixed | B | | | | |
| | | armv8_static | | | B | B | | | | armv8_static | | | B | B | |
| | | armv8_dyn | | | B | B | | | | armv8_dyn | | | B | B | |
| | | armv8_mixed | B | | | | | | | armv8_mixed | B | | | | |
| | | aarch64_static | | | B | B | | | | aarch64_static | | | B | B | |
| | | aarch64_dyn | d | | B | B | | | | aarch64_dyn | d | | B | B | |
| | | aarch64_mixed | B | | | | | | | aarch64_mixed | B | | | | |
| | | win32_static | d | dB | dB | dB | | | | win32_static | d | dB | dB | dB | |
| | | win32_dyn | d | dB | dB | dB | | | | win32_dyn | d | dB | dB | dB | |
| | | i586_static | | | B | B | | | | i586_static | | | B | B | |
| | | i586_dyn | | | B | B | | | | i586_dyn | | | B | B | |
| | | wasm | dB | | | | | | | wasm | dB | | | | |
""" """
@ -79,19 +76,15 @@ def strip_array(array_str):
def selector_match(selector, value): def selector_match(selector, value):
if not selector: if not selector:
return True return True
if selector.startswith("eval'"):
selector = eval(selector[5:])
return selector == value
return re.fullmatch(selector, value) is not None return re.fullmatch(selector, value) is not None
class Context(NamedTuple): class Context(NamedTuple):
OS_NAME: str OS_NAME: str
DESKTOP: bool
PLATFORM_TARGET: str PLATFORM_TARGET: str
def match(self, row): def match(self, row):
for key in ["OS_NAME", "DESKTOP", "PLATFORM_TARGET"]: for key in ["OS_NAME", "PLATFORM_TARGET"]:
context_value = getattr(self, key) context_value = getattr(self, key)
selector = row[key] selector = row[key]
if not selector_match(selector, context_value): if not selector_match(selector, context_value):
@ -102,11 +95,10 @@ class Context(NamedTuple):
BUILD = "B" BUILD = "B"
DEPS = "d" DEPS = "d"
def select_build_targets(criteria): def select_build_targets(criteria):
from common import PLATFORM_TARGET, DESKTOP, OS_NAME from common import PLATFORM_TARGET, OS_NAME
context = Context(PLATFORM_TARGET=PLATFORM_TARGET, DESKTOP=DESKTOP, OS_NAME=OS_NAME) context = Context(PLATFORM_TARGET=PLATFORM_TARGET, OS_NAME=OS_NAME)
reader = csv.DictReader(strip_array(BUILD_DEF), dialect=TableDialect()) reader = csv.DictReader(strip_array(BUILD_DEF), dialect=TableDialect())
for row in reader: for row in reader:

View File

@ -17,11 +17,6 @@ from kiwixbuild.versions import (
) )
PLATFORM_TARGET = _environ["PLATFORM_TARGET"] PLATFORM_TARGET = _environ["PLATFORM_TARGET"]
if PLATFORM_TARGET == "native_desktop":
PLATFORM_TARGET = "native_dyn"
DESKTOP = True
else:
DESKTOP = False
OS_NAME = _environ["OS_NAME"] OS_NAME = _environ["OS_NAME"]
HOME = Path(os.path.expanduser("~")) HOME = Path(os.path.expanduser("~"))
@ -32,9 +27,6 @@ INSTALL_DIR = BASE_DIR / "INSTALL"
TMP_DIR = Path("/tmp") TMP_DIR = Path("/tmp")
KBUILD_SOURCE_DIR = HOME / "kiwix-build" KBUILD_SOURCE_DIR = HOME / "kiwix-build"
# [TODO]
KIWIX_DESKTOP_ONLY = False
_ref = _environ.get("GITHUB_REF", "").split("/")[-1] _ref = _environ.get("GITHUB_REF", "").split("/")[-1]
MAKE_RELEASE = re.fullmatch(r"r_[0-9]+", _ref) is not None MAKE_RELEASE = re.fullmatch(r"r_[0-9]+", _ref) is not None
MAKE_RELEASE = MAKE_RELEASE and (_environ.get('GITHUB_EVENT_NAME') != 'schedule') MAKE_RELEASE = MAKE_RELEASE and (_environ.get('GITHUB_EVENT_NAME') != 'schedule')

View File

@ -8,8 +8,6 @@ from common import (
upload, upload,
OS_NAME, OS_NAME,
PLATFORM_TARGET, PLATFORM_TARGET,
DESKTOP,
KIWIX_DESKTOP_ONLY,
) )
from build_definition import select_build_targets, DEPS from build_definition import select_build_targets, DEPS