diff --git a/.gitignore b/.gitignore
index 492e2e8a..c61e0538 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,15 @@
*~
builddir
repo
+subprojects/**/
+subprojects/*.wrap
+!subprojects/
+!subprojects/packagefiles/
+!subprojects/packagefiles/*.patch
+!subprojects/granite.wrap
+!subprojects/json-glib.wrap
+!subprojects/libgee.wrap
+!subprojects/granite-stylesheet.wrap
+.pixiewood
+_build
+apks/
diff --git a/build-aux/pixiewood.xml b/build-aux/pixiewood.xml
new file mode 100644
index 00000000..b094b337
--- /dev/null
+++ b/build-aux/pixiewood.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+ hack
+ pthread-restrictions
+
+
+
+
+
+
+
+
+ aarch64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/icons/scalable/actions/edit-delete-symbolic.svg b/data/icons/scalable/actions/edit-delete-symbolic.svg
new file mode 100644
index 00000000..d9b8fd85
--- /dev/null
+++ b/data/icons/scalable/actions/edit-delete-symbolic.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/data/icons/scalable/actions/face-angel-symbolic.svg b/data/icons/scalable/actions/face-angel-symbolic.svg
new file mode 100644
index 00000000..d9a06bc6
--- /dev/null
+++ b/data/icons/scalable/actions/face-angel-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-angry-symbolic.svg b/data/icons/scalable/actions/face-angry-symbolic.svg
new file mode 100644
index 00000000..01b36221
--- /dev/null
+++ b/data/icons/scalable/actions/face-angry-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-cool-symbolic.svg b/data/icons/scalable/actions/face-cool-symbolic.svg
new file mode 100644
index 00000000..44108d2f
--- /dev/null
+++ b/data/icons/scalable/actions/face-cool-symbolic.svg
@@ -0,0 +1,20 @@
+
diff --git a/data/icons/scalable/actions/face-crying-symbolic.svg b/data/icons/scalable/actions/face-crying-symbolic.svg
new file mode 100644
index 00000000..ba25ce4b
--- /dev/null
+++ b/data/icons/scalable/actions/face-crying-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-devilish-symbolic.svg b/data/icons/scalable/actions/face-devilish-symbolic.svg
new file mode 100644
index 00000000..918042b5
--- /dev/null
+++ b/data/icons/scalable/actions/face-devilish-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-embarrassed-symbolic.svg b/data/icons/scalable/actions/face-embarrassed-symbolic.svg
new file mode 100644
index 00000000..f3a7156f
--- /dev/null
+++ b/data/icons/scalable/actions/face-embarrassed-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-heart-broken-symbolic.svg b/data/icons/scalable/actions/face-heart-broken-symbolic.svg
new file mode 100644
index 00000000..7654a929
--- /dev/null
+++ b/data/icons/scalable/actions/face-heart-broken-symbolic.svg
@@ -0,0 +1,20 @@
+
diff --git a/data/icons/scalable/actions/face-heart-symbolic.svg b/data/icons/scalable/actions/face-heart-symbolic.svg
new file mode 100644
index 00000000..7ef722e7
--- /dev/null
+++ b/data/icons/scalable/actions/face-heart-symbolic.svg
@@ -0,0 +1,20 @@
+
diff --git a/data/icons/scalable/actions/face-kiss-symbolic.svg b/data/icons/scalable/actions/face-kiss-symbolic.svg
new file mode 100644
index 00000000..012cc5aa
--- /dev/null
+++ b/data/icons/scalable/actions/face-kiss-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-laugh-symbolic.svg b/data/icons/scalable/actions/face-laugh-symbolic.svg
new file mode 100644
index 00000000..19c986a5
--- /dev/null
+++ b/data/icons/scalable/actions/face-laugh-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-monkey-symbolic.svg b/data/icons/scalable/actions/face-monkey-symbolic.svg
new file mode 100644
index 00000000..9e270c89
--- /dev/null
+++ b/data/icons/scalable/actions/face-monkey-symbolic.svg
@@ -0,0 +1,20 @@
+
diff --git a/data/icons/scalable/actions/face-plain-symbolic.svg b/data/icons/scalable/actions/face-plain-symbolic.svg
new file mode 100644
index 00000000..2635b16a
--- /dev/null
+++ b/data/icons/scalable/actions/face-plain-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-raspberry-symbolic.svg b/data/icons/scalable/actions/face-raspberry-symbolic.svg
new file mode 100644
index 00000000..0fd06d87
--- /dev/null
+++ b/data/icons/scalable/actions/face-raspberry-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-sad-symbolic.svg b/data/icons/scalable/actions/face-sad-symbolic.svg
new file mode 100644
index 00000000..08ea148c
--- /dev/null
+++ b/data/icons/scalable/actions/face-sad-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-sick-symbolic.svg b/data/icons/scalable/actions/face-sick-symbolic.svg
new file mode 100644
index 00000000..609110f5
--- /dev/null
+++ b/data/icons/scalable/actions/face-sick-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-smile-big-symbolic.svg b/data/icons/scalable/actions/face-smile-big-symbolic.svg
new file mode 100644
index 00000000..751cf135
--- /dev/null
+++ b/data/icons/scalable/actions/face-smile-big-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-smile-symbolic.svg b/data/icons/scalable/actions/face-smile-symbolic.svg
new file mode 100644
index 00000000..69a3803d
--- /dev/null
+++ b/data/icons/scalable/actions/face-smile-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-smirk-symbolic.svg b/data/icons/scalable/actions/face-smirk-symbolic.svg
new file mode 100644
index 00000000..f3d5ce27
--- /dev/null
+++ b/data/icons/scalable/actions/face-smirk-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-surprise-symbolic.svg b/data/icons/scalable/actions/face-surprise-symbolic.svg
new file mode 100644
index 00000000..d036909c
--- /dev/null
+++ b/data/icons/scalable/actions/face-surprise-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-tired-symbolic.svg b/data/icons/scalable/actions/face-tired-symbolic.svg
new file mode 100644
index 00000000..edcb3d6e
--- /dev/null
+++ b/data/icons/scalable/actions/face-tired-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-uncertain-symbolic.svg b/data/icons/scalable/actions/face-uncertain-symbolic.svg
new file mode 100644
index 00000000..162f8996
--- /dev/null
+++ b/data/icons/scalable/actions/face-uncertain-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-wink-symbolic.svg b/data/icons/scalable/actions/face-wink-symbolic.svg
new file mode 100644
index 00000000..b47c1480
--- /dev/null
+++ b/data/icons/scalable/actions/face-wink-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/face-worried-symbolic.svg b/data/icons/scalable/actions/face-worried-symbolic.svg
new file mode 100644
index 00000000..f8815c99
--- /dev/null
+++ b/data/icons/scalable/actions/face-worried-symbolic.svg
@@ -0,0 +1,19 @@
+
diff --git a/data/icons/scalable/actions/list-add-symbolic.svg b/data/icons/scalable/actions/list-add-symbolic.svg
new file mode 100644
index 00000000..a9ec1811
--- /dev/null
+++ b/data/icons/scalable/actions/list-add-symbolic.svg
@@ -0,0 +1,23 @@
+
+
diff --git a/data/icons/scalable/actions/open-menu-symbolic.svg b/data/icons/scalable/actions/open-menu-symbolic.svg
new file mode 100644
index 00000000..c9206e36
--- /dev/null
+++ b/data/icons/scalable/actions/open-menu-symbolic.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/data/icons/scalable/actions/view-list-symbolic.svg b/data/icons/scalable/actions/view-list-symbolic.svg
new file mode 100644
index 00000000..3b60ffff
--- /dev/null
+++ b/data/icons/scalable/actions/view-list-symbolic.svg
@@ -0,0 +1,14 @@
+
+
diff --git a/data/jorts.gresource.xml.in b/data/jorts.gresource.xml.in
index af22535f..931327d0 100644
--- a/data/jorts.gresource.xml.in
+++ b/data/jorts.gresource.xml.in
@@ -3,5 +3,33 @@
Application.css
Themes.css
+
+ icons/scalable/actions/edit-delete-symbolic.svg
+ icons/scalable/actions/face-sad-symbolic.svg
+ icons/scalable/actions/face-angel-symbolic.svg
+ icons/scalable/actions/face-sick-symbolic.svg
+ icons/scalable/actions/face-angry-symbolic.svg
+ icons/scalable/actions/face-smile-big-symbolic.svg
+ icons/scalable/actions/face-cool-symbolic.svg
+ icons/scalable/actions/face-smile-symbolic.svg
+ icons/scalable/actions/face-crying-symbolic.svg
+ icons/scalable/actions/face-smirk-symbolic.svg
+ icons/scalable/actions/face-devilish-symbolic.svg
+ icons/scalable/actions/face-surprise-symbolic.svg
+ icons/scalable/actions/face-embarrassed-symbolic.svg
+ icons/scalable/actions/face-tired-symbolic.svg
+ icons/scalable/actions/face-heart-broken-symbolic.svg
+ icons/scalable/actions/face-uncertain-symbolic.svg
+ icons/scalable/actions/face-heart-symbolic.svg
+ icons/scalable/actions/face-wink-symbolic.svg
+ icons/scalable/actions/face-kiss-symbolic.svg
+ icons/scalable/actions/face-worried-symbolic.svg
+ icons/scalable/actions/face-laugh-symbolic.svg
+ icons/scalable/actions/list-add-symbolic.svg
+ icons/scalable/actions/face-monkey-symbolic.svg
+ icons/scalable/actions/open-menu-symbolic.svg
+ icons/scalable/actions/face-plain-symbolic.svg
+ icons/scalable/actions/view-list-symbolic.svg
+ icons/scalable/actions/face-raspberry-symbolic.svg
-
\ No newline at end of file
+
diff --git a/data/jorts.metainfo.xml.in.in b/data/jorts.metainfo.xml.in.in
index f1b87996..7866548a 100644
--- a/data/jorts.metainfo.xml.in.in
+++ b/data/jorts.metainfo.xml.in.in
@@ -1,5 +1,5 @@
-
+
@APP_ID@
CC0-1.0
GPL-3.0+
diff --git a/data/meson.build b/data/meson.build
index 9fca466c..4267e6ca 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -29,7 +29,8 @@ gschema_file = configure_file(
install_data(
gschema_file,
- install_dir: datadir / 'glib-2.0' / 'schemas'
+ install_dir: datadir / 'glib-2.0' / 'schemas',
+ install_tag: 'runtime'
)
@@ -47,7 +48,10 @@ subdir('icons')
#========================
# FONTS
-subdir('fonts')
+if not android
+ subdir('fonts')
+
+endif
#========================
diff --git a/meson.build b/meson.build
index b88d99e1..9846a777 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@ project(
['c', 'vala'], # The floor is vala
license: 'GPL-3.0-or-later',
version: '4.3.0', # Versioning: first should follow Gtk version, second and third depending how proud you are of the update
- meson_version: '>= 1.1' # Use meson.option instead of meson_options.txt
+ meson_version: '>= 1.1' # Use meson.options instead of meson_options.txt
)
app_name = meson.project_name()
@@ -76,15 +76,20 @@ endif
linux = get_option('profile') == 'linux'
windows = get_option('profile') == 'windows'
+android = get_option('profile') == 'android'
# Here is to autodetect and adjust
# Remember however that people may do cross compiling, so do not assume by default it is for linux
# So avoid else conditions adding linux stuff
build_machine_system = build_machine.system()
+host_machine_system = host_machine.system()
-if build_machine_system == 'windows'
+if host_machine_system == 'windows'
windows = true
+elif host_machine_system == 'android'
+ android = true
+
endif
# Here is to adjust the project accordingly to stuff
@@ -95,6 +100,18 @@ if windows
appstream = false
libportal = false
+elif android
+ appstream = true
+ libportal = false
+
+ add_project_arguments([
+ '--define=ANDROID',
+ '--pkg=gtk4',
+ '--pkg=json-glib-1.0',
+ '--pkg=glib-2.0'
+ ], language: 'vala')
+
+ subproject('granite-stylesheet')
else
# Ideal case, Linux, with all the things
appstream = true
@@ -132,6 +149,6 @@ subdir('tests')
gnome.post_install(
glib_compile_schemas: true,
- gtk_update_icon_cache: true,
+ gtk_update_icon_cache: not android,
update_desktop_database: true
)
diff --git a/meson.options b/meson.options
index c0130fdb..c2e46d5e 100644
--- a/meson.options
+++ b/meson.options
@@ -6,9 +6,9 @@ option('icon_variant',
)
option('profile',
type : 'combo',
- choices : ['linux', 'windows'],
+ choices : ['linux', 'windows', 'android'],
value : 'linux',
description : 'What we build for. Switched on automatically on windows machines'
)
option('development', type: 'boolean', value: false, description: 'If this is a dev build')
-option('legacy_rdnn', type: 'boolean', value: false, description: 'If this uses the io.github.ellie-commons domain (Flathub)')
\ No newline at end of file
+option('legacy_rdnn', type: 'boolean', value: false, description: 'If this uses the io.github.ellie-commons domain (Flathub)')
diff --git a/src/meson.build b/src/meson.build
index 8695f126..fa677d4b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -98,5 +98,6 @@ executable(
dependencies: dependencies,
c_args: '-w', # Because of Vala we get ten thousand warnings we can do nothing about
win_subsystem: development ? 'console' : 'windows', # Show a console in windows dev builds. Seem to not bother standard builds
+ android_exe_type: 'application',
install : true
)
diff --git a/subprojects/granite-stylesheet.wrap b/subprojects/granite-stylesheet.wrap
new file mode 100644
index 00000000..09d8664b
--- /dev/null
+++ b/subprojects/granite-stylesheet.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+directory=granite-stylesheet
+url=https://github.com/elementary/stylesheet.git
+revision=main
+depth=1
+diff_files=granite-stylesheet_install_tag.patch
diff --git a/subprojects/granite.wrap b/subprojects/granite.wrap
new file mode 100644
index 00000000..9be734f5
--- /dev/null
+++ b/subprojects/granite.wrap
@@ -0,0 +1,9 @@
+[wrap-git]
+directory=granite
+url=https://github.com/elementary/granite.git
+revision=7.8.1
+depth=1
+diff_files=granite_disable_icon_cache.patch,granite_pass_pkg_args_to_valac.patch
+
+[provide]
+granite-7 = libgranite_dep
diff --git a/subprojects/json-glib.wrap b/subprojects/json-glib.wrap
new file mode 100644
index 00000000..fbae4039
--- /dev/null
+++ b/subprojects/json-glib.wrap
@@ -0,0 +1,10 @@
+[wrap-file]
+directory = json-glib-1.10.8
+source_url = https://download.gnome.org/sources/json-glib/1.10/json-glib-1.10.8.tar.xz
+source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/json-glib_1.10.8-1/json-glib-1.10.8.tar.xz
+source_filename = json-glib-1.10.8.tar.xz
+source_hash = 55c5c141a564245b8f8fbe7698663c87a45a7333c2a2c56f06f811ab73b212dd
+wrapdb_version = 1.10.8-1
+
+[provide]
+json-glib-1.0 = json_glib_dep
diff --git a/subprojects/libgee.wrap b/subprojects/libgee.wrap
new file mode 100644
index 00000000..742e7658
--- /dev/null
+++ b/subprojects/libgee.wrap
@@ -0,0 +1,7 @@
+[wrap-git]
+url = https://github.com/frida/libgee
+revision = ad17ed847039469fcc2dc711ecfee2bbf7d2bf87
+
+[provide]
+dependency_names = gee-0.8
+
diff --git a/subprojects/packagefiles/granite-stylesheet_install_tag.patch b/subprojects/packagefiles/granite-stylesheet_install_tag.patch
new file mode 100644
index 00000000..4add88d6
--- /dev/null
+++ b/subprojects/packagefiles/granite-stylesheet_install_tag.patch
@@ -0,0 +1,23 @@
+diff --git a/src/gtk-4.0/meson.build b/src/gtk-4.0/meson.build
+index a381884..9baec00 100644
+--- a/src/gtk-4.0/meson.build
++++ b/src/gtk-4.0/meson.build
+@@ -41,15 +41,15 @@ foreach variant : variants
+
+ meson.add_install_script (install_exec,
+ variant_target.full_path(),
+- dest_theme_dir / 'gtk-4.0' / 'gtk.css'
++ dest_theme_dir / 'gtk-4.0' / 'gtk.css', install_tag: 'runtime'
+ )
+
+ meson.add_install_script (install_exec,
+ variant_dark_target.full_path(),
+- dest_theme_dir / 'gtk-4.0' / 'gtk-dark.css'
++ dest_theme_dir / 'gtk-4.0' / 'gtk-dark.css', install_tag: 'runtime'
+ )
+
+ install_subdir([
+ 'assets',
+- ], install_dir: dest_theme_dir / 'gtk-4.0' )
++ ], install_dir: dest_theme_dir / 'gtk-4.0', install_tag: 'runtime')
+ endforeach
diff --git a/subprojects/packagefiles/granite_disable_icon_cache.patch b/subprojects/packagefiles/granite_disable_icon_cache.patch
new file mode 100644
index 00000000..e4bf1d55
--- /dev/null
+++ b/subprojects/packagefiles/granite_disable_icon_cache.patch
@@ -0,0 +1,11 @@
+diff --git a/meson.build b/meson.build
+index 004caaee..fbb7317d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -77,5 +77,5 @@ if get_option('demo')
+ endif
+
+ gnome.post_install(
+- gtk_update_icon_cache: true
++ gtk_update_icon_cache: false
+ )
diff --git a/subprojects/packagefiles/granite_pass_pkg_args_to_valac.patch b/subprojects/packagefiles/granite_pass_pkg_args_to_valac.patch
new file mode 100644
index 00000000..67b526e6
--- /dev/null
+++ b/subprojects/packagefiles/granite_pass_pkg_args_to_valac.patch
@@ -0,0 +1,20 @@
+diff --git a/meson.build b/meson.build
+index 004caaee..c11e0b10 100644
+--- a/meson.build
++++ b/meson.build
+@@ -28,6 +28,15 @@ else
+ vala_os_arg = []
+ endif
+
++if host_machine.system() == 'android'
++ vala_os_arg = ['--define=ANDROID']
++
++ add_project_arguments([
++ '--pkg=gtk4',
++ '--pkg=glib-2.0'
++ ], language: 'vala')
++endif
++
+ glib_min_version = '2.50'
+ if build_machine.system() == 'windows'
+ gio_os_dep = dependency('gio-windows-2.0', version: '>=' + glib_min_version)