Closed yochananmarqos closed 2 years ago
Hi @yochananmarqos Are you trying to built it directly with meson, or you are building the Flatpak?
I'm building it with Meson.
I'm building it with Meson.
As this is my first Linux app, I am quite inexperienced and just targeted flatpak: I didn't test the building process outside of it.
However, that seems to be a problem with python not creating the file on the first run.
Could you please share the python version/os that you are using so I can spin up a VM and possibly push a fix?
Thank you
I'm using Manjaro (unstable branch) with Python 3.10.2 and Meson 0.61.1. Here's my PKGBUILD. It's probably missing a few dependencies as I haven't been able to determine them yet due to the failed build.
I was working on a fix but then I remembered that this app heavily relies on gnome's org.gnome.Sdk:41
runtime in order to display emojis correctly.
This is because some of the latest emojis (like skin tones or flags) are displayed as two different emojis on unsupported systems, like this one for example.
This would break the symmetry of the table and would look awful. In other words, unless i re-write the app to use some built-in images Smile is unusable outside of a flatpak.
That's not the point. The files should be available to Meson, not referencing something you already have installed in your system during build.
That's not the point. The files should be available to Meson, not referencing something you already have installed in your system during build.
Which version of python are you using? In the error, it looks like it complaints about a file not found, while it should be creating it (note the 'w+' syntax).
I'm using Python 3.10.4.
The file structure doesn't look right in /usr/share/smile/
. The meson.build
should not be installed and there should not be a /usr/share/smile/smile/
directory:
.
βββ usr
βββ share
βββ smile
βββ assets
βΒ Β βββ meson.build
βΒ Β βββ NotoColorEmoji.ttf
βββ smile
βΒ Β βββ AboutDialog.py
βΒ Β βββ assets
βΒ Β βΒ Β βββ smile.autostart.desktop
βΒ Β βΒ Β βββ style.css
βΒ Β βββ CustomTagEntry.py
βΒ Β βββ __init__.py
βΒ Β βββ lib
βΒ Β βΒ Β βββ custom_tags.py
βΒ Β βΒ Β βββ emoji_history.py
βΒ Β βΒ Β βββ user_config.py
βΒ Β βββ main.py
βΒ Β βββ meson.build
βΒ Β βββ Picker.py
βΒ Β βββ Settings.py
βΒ Β βββ ShortcutsWindow.py
βΒ Β βββ smile.gresource
βΒ Β βββ smile.gresource.xml
βΒ Β βββ smile.in
βΒ Β βββ ui
βΒ Β βΒ Β βββ menu.xml
βΒ Β βΒ Β βββ settings.glade
βΒ Β βΒ Β βββ settings.glade~
βΒ Β βΒ Β βββ shortcuts.xml
βΒ Β βββ utils.py
βββ smile.gresource
Which version of python are you using? In the error, it looks like it complaints about a file not found, while it should be creating it (note the 'w+' syntax).
Python reports "File Not Found" when it cannot find the directory the created file needs to be created in. So, the directory /usr/share/smile/smile/assets/
does not exist.
This makes sense, since https://mesonbuild.com/Reference-manual_builtin_meson.html#mesonadd_install_script documents that you should use MESON_INSTALL_DESTDIR_PREFIX
but you are using MESON_INSTALL_PREFIX
instead.
The actual file that is supposed to be getting created is:
/build/smile/pkg/smile/usr/share/smile/smile/assets/emoji_list.py
@eli-schwartz Aha! That does the trick.
lol I am so noob with this.
Btw I fully recognize that "building" a python file is not actually the cleanest thing ever, but hey that works
Well, you might want to create it using custom_target() instead.
Independent of how you create it, it's probably not completely ideal to close the ticket so quickly.
I tried building 1.1.5 from source, but the
generate_emoji_dict.py
script failed: