From f8d61d957d4a2d086f4b97f2e3d7d19d0bb35f13 Mon Sep 17 00:00:00 2001 From: Vika Date: Sun, 1 Sep 2024 18:10:26 +0300 Subject: Mesonify build This took a while and had me scratching my head often. But I managed to combine the best parts of Crane and Meson together, allowing me to have blazing fast Nix builds. This also adds initial scaffolding for gettext and other cool things. --- data/meson.build | 75 ++++++++++++++++++++++ data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in | 12 ++++ 2 files changed, 87 insertions(+) create mode 100644 data/meson.build create mode 100644 data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in (limited to 'data') diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..c1d1997 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,75 @@ +#subdir('icons') +#subdir('resources') + +# Desktop file +desktop_conf = configuration_data() +desktop_conf.set('icon', application_id) +desktop_file = i18n.merge_file( + type: 'desktop', + input: configure_file( + input: '@0@.desktop.in.in'.format(base_id), + output: '@BASENAME@', + configuration: desktop_conf + ), + output: '@0@.desktop'.format(application_id), + po_dir: podir, + install: true, + install_dir: datadir / 'applications' +) +# Validate Desktop file +if desktop_file_validate.found() + test( + 'validate-desktop', + desktop_file_validate, + args: [ + desktop_file.full_path() + ], + depends: desktop_file, + ) +endif + +# Appdata +#appdata_conf = configuration_data() +#appdata_conf.set('app-id', application_id) +#appdata_conf.set('gettext-package', gettext_package) +#appdata_file = i18n.merge_file( +# input: configure_file( +# input: '@0@.metainfo.xml.in.in'.format(base_id), +# output: '@BASENAME@', +# configuration: appdata_conf +# ), +# output: '@0@.metainfo.xml'.format(application_id), +# po_dir: podir, +# install: true, +# install_dir: datadir / 'metainfo' +#) +## Validate Appdata +#if appstreamcli.found() +# test( +# 'validate-appdata', appstreamcli, +# args: [ +# 'validate', '--no-net', '--explain', appdata_file.full_path() +# ], +# depends: appdata_file, +# ) +#endif + +## GSchema +#gschema_conf = configuration_data() +#gschema_conf.set('app-id', application_id) +#gschema_conf.set('gettext-package', gettext_package) +#configure_file( +# input: '@0@.gschema.xml.in'.format(base_id), +# output: '@0@.gschema.xml'.format(application_id), +# configuration: gschema_conf, +# install: true, +# install_dir: datadir / 'glib-2.0' / 'schemas' +#) +# +## Validata GSchema +#test( +# 'validate-gschema', glib_compile_schemas, +# args: [ +# '--strict', '--dry-run', meson.current_build_dir() +# ], +#) diff --git a/data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in b/data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in new file mode 100644 index 0000000..5eb03c5 --- /dev/null +++ b/data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Bowl +Comment=Minimalist Micropub post creator +Type=Application +Exec=bowl +Terminal=false +Categories=GNOME;Internet; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=Micropub;IndieWeb;Kittybox; +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=@icon@ +StartupNotify=true \ No newline at end of file -- cgit 1.4.1