mijorus / smile

An emoji picker for linux, with custom tags support and localization. I'll also put some random emojis here 🦁🐾🦔🦇

Home Page:https://mijorus.it/projects/smile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Instructions to use this program without FlatPak?

jangxx opened this issue · comments

This project looks like a cool emoji picker for Linux, but there are sadly no instructions on how to run it without FlatPak in the loop somewhere. I'm trying to run it on Linux Mint and the flatpak installer wants to download 1.5 GB of packages and use 3.5 GB of disk space, which is completely absurd for a simple emoji picker.

Trying to simply create a venv, install requirements.txt with pip and then running src/main.py directly does not seem to work unfortunately, and it throws the error:

Traceback (most recent call last):
  File "<...>/smile-master/src/main.py", line 5, in <module>
    from .utils import make_option, portal
ImportError: attempted relative import with no known parent package

Trying to build it with meson also doesn't work:

$ meson setup build
The Meson build system
Version: 1.3.0
Source dir: <...>/smile-master
Build dir: <...>/smile-master/build
Build type: native build
Project name: smile
Project version: 2.9.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: NO
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: YES (/usr/bin/pkg-config) 0.29.2
Build-time dependency gio-2.0 found: YES 2.72.4
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program python3 found: YES (<...>/smile-master/venv/bin/python3)
Configuring smile using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 13
NOTICE: Future-deprecated features used:
 * 0.55.0: {'ExternalProgram.path'}
 * 0.64.0: {'copy arg in configure_file'}


ERROR: Could not detect Ninja v1.8.2 or newer

A full log can be found at <...>/smile-master/build/meson-logs/meson-log.txt

Is there any way to run/build it without using flatpak? I would really like to use it, but can't justify sacrificing 3.5 GB of disk space for a simple emoji picker.

i installed meson via pipx (to get from this decade) so I could compile this app without errors, and then started installing dependencies.

The problem I hit is that that smile

self.emoji_list.remove_all()
requires at least Gtk4 4.12, which was released 6 months ago. so unless you're living on the bleeding edge, most distros won't be shipping that

requires at least Gtk4 4.12, which was released 6 months ago. so unless you're living on the bleeding edge, most distros won't be shipping that

Obviously that's because this app is designed to work as a flatpak.
Even if I add a check of some sort, there would probably be a hundred more lines to fix...

@jangxx That's only a problem if you haven't used Flatpak before.
Since I already have a few Flatpak apps installed, Smile only uses a couple of MB.