Open tx46 opened 2 weeks ago
Signal-cli would probably always need to be installed separately, as it depends on the native libraries. Even if we decided to package the most common x86_64
version with scli, we'd have to keep making new releases just to keep it updated.
Otherwise, installing scli with pip
is on the horizon: #129. Would it be good enough for your purposes to just avoid install the other python dependencies?
If your use-case involves frequent reinstalls, or installs on multiple systems, then you can actually make use of python's virtual environments to download all the (recursive) dependencies, that can later be reused.
Finally, there are some third-party packages for (a few) systems.
thank you for responding.
for me, it's a patter of package management aesthetics, although you bring up several good points. urwid is also too new in my distro for it to be used with scli, hence i have to revert to using venv, which brings on another plethora of issues as i am syncing binaries between a few different linux machines.
i don't mind having a build step that packages it into a binary (although if there was, then that would likely be done in ci anyway), but i generally dislike having to move 10s or 100s of files split between the app i want to run and dependencies of unusual versions installed all around my system. i'm exaggerating a bit here, but i think you get the idea.
optimally, it would be packaged into a single file (i could even see a python runnable zip-archive as a feasible option).
it just feels "flimsy" and fragile to have all these files, as compared to, say. gurk, which is literally a single binary file.
urwid is also too new in my distro for it to be used with scli
Scli should work with any version of urwid. (Tested with the latest released v2.6.16). If it does not - that's a bug, and should be a separate issue.
gurk
For a pure-rust project it makes sense to release the compiled binary builds.
It might help if you provide more details on what your use-case is. For most users executing pip install
should be simple enough. More involved scenarios would likely need deployment scripts / system orchestration anyway. For offline installations (or to just not have to re-download all the pip dependencies), one can use a local pip index to install offline.
on my system (void), urwid is 2.2.3 and 0.14 for readline. last time i tested, it does not run, meaning i have to setup a separate python venv.
as for doing pip install, it is not possible to do on managed systems without setting up a venv, which i want to avoid.
imho, scli is not packaged well (unfortunately true for many python apps).
i love scli, but i hate that it's not really stand-alone. would it be possible to package it into a single, binary package that runs without having to install deps and/or set up a pyenv? if so, how?