Skip to content

Commit

Permalink
Prepare porting to meson buildsytem
Browse files Browse the repository at this point in the history
- Setup meson to install python sources
  during meson builds
- Install executable binary using meson
- Update debian builds to use meson
- Update testing script
  • Loading branch information
hsbasu committed Dec 5, 2024
1 parent c26dbf5 commit 37ddb06
Show file tree
Hide file tree
Showing 18 changed files with 806 additions and 29 deletions.
File renamed without changes
45 changes: 45 additions & 0 deletions data/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
app_icon_dir = join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps')
category_icon_dir = join_paths(datadir, 'icons', 'hicolor', 'scalable', 'categories')
schema_dir = join_paths(datadir, 'glib-2.0', 'schemas')
# message(f'Icon dir: @app_icon_dir@')
# message(f'Schema dir: @schema_dir@')

# install icons
install_emptydir(app_icon_dir)
install_data(
join_paths(meson.current_source_dir(), 'icons', f'@[email protected]'),
install_dir: app_icon_dir,
)

install_data(
join_paths(meson.current_source_dir(), 'icons/categories/applications-webapps.svg'),
install_dir: category_icon_dir,
)


# Install desktop file
# desktop_file = i18n.merge_file(
# input: 'webapp-manager.desktop.in',
# output: 'webapp-manager.desktop',
# type: 'desktop',
# po_dir: '../po',
# install: true,
# install_dir: desktop_dir
# )

# Install schema file
schema_file = i18n.merge_file(
input: 'org.x.webapp-manager.gschema.xml.in',
output: 'org.x.webapp-manager.gschema.xml',
type: 'xml',
po_dir: '../po',
install: true,
install_dir: schema_dir
)

compile_schemas = find_program('glib-compile-schemas', required: false)
if compile_schemas.found()
test('Validate schema file',
compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()])
endif
File renamed without changes.
1 change: 0 additions & 1 deletion debian/compat

This file was deleted.

16 changes: 12 additions & 4 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,15 @@ Source: webapp-manager
Section: admin
Priority: optional
Maintainer: Linux Mint <[email protected]>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.5
Build-Depends: debhelper-compat (= 13),
desktop-file-utils,
dh-python,
libglib2.0-bin,
libgtk-4-bin,
meson (>= 1.3.0),
pkg-config,
python3-all,
Standards-Version: 4.6.1

Package: webapp-manager
Architecture: all
Expand All @@ -15,7 +22,8 @@ Depends: gir1.2-xapp-1.0 (>= 1.4),
python3-pil,
python3-setproctitle,
python3-tldextract,
xapps-common,
${misc:Depends},
xapps-common,,
${python3:Depends},
${misc:Depends}
Description: Web Application Manager
Launch websites as if they were apps.
25 changes: 20 additions & 5 deletions debian/postinst
Original file line number Diff line number Diff line change
@@ -1,20 +1,35 @@
#!/bin/sh
# postinst script for webapp-manager
#
# see: dh_installdeb(1)

set -e


case "$1" in
configure)
if which glib-compile-schemas >/dev/null 2>&1
then
glib-compile-schemas /usr/share/glib-2.0/schemas
fi
if which glib-compile-schemas >/dev/null 2>&1
then
glib-compile-schemas /usr/share/glib-2.0/schemas
fi
if which gtk4-update-icon-cache >/dev/null 2>&1
then
gtk4-update-icon-cache -q -t -f /usr/share/icons/hicolor
fi
;;

abort-upgrade|abort-remove|abort-deconfigure)

;;

*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
32 changes: 32 additions & 0 deletions debian/postrm
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/sh
# postrm script for webapp-manager
#
# see: dh_installdeb(1)

set -e


case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
if which glib-compile-schemas >/dev/null 2>&1
then
glib-compile-schemas /usr/share/glib-2.0/schemas
fi
if which gtk4-update-icon-cache >/dev/null 2>&1
then
gtk4-update-icon-cache -q -t -f /usr/share/icons/hicolor
fi
;;

*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
28 changes: 19 additions & 9 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
# export DH_VERBOSE = 1

DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
export PYBUILD_NAME=webapp-manager
export PYBUILD_SYSTEM=pyproject

# DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')

%:
dh ${@}

# Inject version number in the code
override_dh_installdeb:
dh_installdeb
for pkg in $$(dh_listpackages -i); do \
find debian/$$pkg -type f -exec sed -i -e s/__DEB_VERSION__/$(DEB_VERSION)/g {} +; \
done
dh ${@} --with=python3 --buildsystem=meson

# # Inject version number in the code
# override_dh_installdeb:
# dh_installdeb
# for pkg in $$(dh_listpackages -i); do \
# find debian/$$pkg -type f -exec sed -i -e s/__DEB_VERSION__/$(DEB_VERSION)/g {} +; \
# done

override_dh_auto_build:
dh_auto_build -O--buildsystem=meson
make -j8
28 changes: 28 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
project('webapp-manager',
version: run_command('head', '-1', 'debian/changelog', check: true).stdout().split(' ')[1].strip('(').strip(')'),
license: ['GPL3'],
meson_version: '>= 1.3.0',
default_options: ['warning_level=3',
'prefix=/usr',
]
)

application_id = meson.project_name()
i18n = import('i18n')
gnome = import('gnome')
pymod = import('python')
python = pymod.find_installation('python3')

prefix = get_option('prefix')
bindir = get_option('bindir')
datadir = get_option('datadir')

subdir('src')
subdir('data')
# subdir('po')

gnome.post_install(
glib_compile_schemas: true,
gtk_update_icon_cache: true,
update_desktop_database: true,
)
1 change: 1 addition & 0 deletions src/WebappManager/VERSION.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@version@
Loading

0 comments on commit 37ddb06

Please sign in to comment.