commit
c0c907bb92
|
@ -23,6 +23,8 @@ class Kiwixlib(Dependency):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def configure_option(self):
|
def configure_option(self):
|
||||||
|
if self.buildEnv.platformInfo.build == 'flatpak':
|
||||||
|
return ""
|
||||||
base_option = "-Dctpp2-install-prefix={buildEnv.install_dir}"
|
base_option = "-Dctpp2-install-prefix={buildEnv.install_dir}"
|
||||||
if self.buildEnv.platformInfo.build == 'android':
|
if self.buildEnv.platformInfo.build == 'android':
|
||||||
base_option += ' -Dandroid=true'
|
base_option += ' -Dandroid=true'
|
||||||
|
|
|
@ -138,7 +138,8 @@ class FlatpakBuilder:
|
||||||
module['name'] = stepDef[1]
|
module['name'] = stepDef[1]
|
||||||
if stepDef[0] == 'source':
|
if stepDef[0] == 'source':
|
||||||
source = get_target_step(stepDef)
|
source = get_target_step(stepDef)
|
||||||
module['no-autogen'] = getattr(source, 'flatpack_no_autogen', False)
|
if getattr(source, 'flatpak_no_autogen', False):
|
||||||
|
module['no-autogen'] = True
|
||||||
module_sources = module.setdefault('sources', [])
|
module_sources = module.setdefault('sources', [])
|
||||||
if isinstance(source, ReleaseDownload):
|
if isinstance(source, ReleaseDownload):
|
||||||
src = {
|
src = {
|
||||||
|
@ -174,7 +175,6 @@ class FlatpakBuilder:
|
||||||
builder = get_target_step(stepDef)
|
builder = get_target_step(stepDef)
|
||||||
if isinstance(builder, MesonBuilder):
|
if isinstance(builder, MesonBuilder):
|
||||||
module['buildsystem'] = 'meson'
|
module['buildsystem'] = 'meson'
|
||||||
module['builddir'] = True
|
|
||||||
elif isinstance(builder, CMakeBuilder):
|
elif isinstance(builder, CMakeBuilder):
|
||||||
module['buildsystem'] = 'cmake'
|
module['buildsystem'] = 'cmake'
|
||||||
module['builddir'] = True
|
module['builddir'] = True
|
||||||
|
@ -186,8 +186,15 @@ class FlatpakBuilder:
|
||||||
module['config-opts'] = builder.configure_option.split(' ')
|
module['config-opts'] = builder.configure_option.split(' ')
|
||||||
|
|
||||||
manifest = MANIFEST.copy()
|
manifest = MANIFEST.copy()
|
||||||
manifest['modules'] = list(modules.values())
|
modules = [m for m in modules.values() if m.get('sources')]
|
||||||
with open(pj(self.platform.buildEnv.build_dir, 'manifest.json'), 'w') as f:
|
for m in modules:
|
||||||
|
temp = m['sources']
|
||||||
|
del m['sources']
|
||||||
|
m['sources'] = temp
|
||||||
|
manifest['modules'] = modules
|
||||||
|
manifest_name = "{}.json".format(MANIFEST['app-id'])
|
||||||
|
manifest_path = pj(self.platform.buildEnv.build_dir, manifest_name)
|
||||||
|
with open(manifest_path, 'w') as f:
|
||||||
f.write(json.dumps(manifest, indent=4))
|
f.write(json.dumps(manifest, indent=4))
|
||||||
|
|
||||||
def copy_patches(self):
|
def copy_patches(self):
|
||||||
|
@ -206,7 +213,8 @@ class FlatpakBuilder:
|
||||||
def build(self):
|
def build(self):
|
||||||
log = pj(self.platform.buildEnv.log_dir, 'cmd_build_flatpak.log')
|
log = pj(self.platform.buildEnv.log_dir, 'cmd_build_flatpak.log')
|
||||||
context = Context('build', log, False)
|
context = Context('build', log, False)
|
||||||
command = "flatpak-builder --user --ccache --force-clean --repo=repo builddir manifest.json"
|
command = "flatpak-builder --user --ccache --force-clean --repo=repo builddir {id}.json"
|
||||||
|
command = command.format(id = MANIFEST['app-id'])
|
||||||
try:
|
try:
|
||||||
run_command(command, self.platform.buildEnv.build_dir, context, self.platform.buildEnv)
|
run_command(command, self.platform.buildEnv.build_dir, context, self.platform.buildEnv)
|
||||||
context._finalise()
|
context._finalise()
|
||||||
|
|
Loading…
Reference in New Issue