summary refs log tree commit diff
path: root/data
diff options
context:
space:
mode:
authorVika <vika@fireburn.ru>2024-09-01 18:10:26 +0300
committerVika <vika@fireburn.ru>2024-09-04 19:51:50 +0300
commitf8d61d957d4a2d086f4b97f2e3d7d19d0bb35f13 (patch)
tree740988c295d5e3c53b93bd09bad0ce73211b2f40 /data
parent7718901fb8346a75bd203f04e4303d0df007dcd1 (diff)
downloadbowl-f8d61d957d4a2d086f4b97f2e3d7d19d0bb35f13.tar.zst
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.
Diffstat (limited to 'data')
-rw-r--r--data/meson.build75
-rw-r--r--data/xyz.vikanezrimaya.kittybox.Bowl.desktop.in.in12
2 files changed, 87 insertions, 0 deletions
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