Open thibaultmol opened 4 years ago
I said on reddit i'm gonna make an AUR package. I had some issues getting a "native" package working. (the sip python package has to be an outdated version for another lib, but the old sip package hasn't support for python 3.8 which is shipped by arch)
I still made an AUR Package tho, but it basically extracts & installs the appimage provided. AUR: cadmus-appimage
Credits to Dave Parrish for his brilliant appimage pkgbuild template
Edit: this is my cadmus-git pkgbuild, it dosnt work and is very unclean if someone, that knows python packaging, wants to fix it; please do https://gist.github.com/sp1ritCS/96aeca02789ba3e5e760fd087bd781ad
The problem is you're relying on pip and bundled libs. It's not your responsibility as a developer to package everything your application requires. List what dependencies your application uses, code it so these libraries can be loaded from system directories, and let packagers handle the rest.
I've created AUR packages for the missing dependencies I ran into trying to run main.py: https://aur.archlinux.org/packages/python-fbs/ https://aur.archlinux.org/packages/python-pulsectl/ https://aur.archlinux.org/packages/noise-suppression-for-voice/
Your application quite happily uses the first two if they're installed as system libs, but you seem to have hardcoded it so only the version of librnnoise_ladspa.so you provide can be used (after it's copied to the user's ~/.cache?). I'm happy to help get this packaged up properly for the AUR, but at the moment it's not possible.
With the work @WorMzy has done, I managed to get the python file running directly on my system. I created a PKGBUILD for that, but I cant figure out how fbs
works. The current state of the PKGBUILD is that it installs the package (basicly just the patched main.py), but failes at runtime when python tries to run it.
Traceback (most recent call last):
File "/usr/bin/cadmus", line 70, in <module>
appctxt = ApplicationContext()
File "/usr/lib/python3.8/site-packages/fbs_runtime/application_context/__init__.py", line 31, in __init__
self.app
File "/usr/lib/python3.8/site-packages/fbs_runtime/application_context/__init__.py", line 54, in app
result.setApplicationName(self.build_settings['app_name'])
File "/usr/lib/python3.8/site-packages/fbs_runtime/application_context/__init__.py", line 65, in build_settings
return _source.load_build_settings(self._project_dir)
File "/usr/lib/python3.8/site-packages/fbs_runtime/application_context/__init__.py", line 127, in _project_dir
return _source.get_project_dir()
File "/usr/lib/python3.8/site-packages/fbs_runtime/_source.py", line 21, in get_project_dir
raise FbsError(
fbs_runtime.FbsError: Could not determine the project base directory. Was expecting src/main/python.
I've created a temporary git repository, because a gist is bad for keeping track of .patch files. https://github.com/sp1ritCS/cadmus-git
fbs_runtime.FbsError: Could not determine the project base directory. Was expecting src/main/python.
It seems like it expects a specific directory structure... idk maybe you will need something like a shell-script which calls the python-script so that the base directory would be something like /usr/lib/cadmus
and the python-script was in /usr/lib/cadmus/src/main/python/main.py
.
So a script like this for example:
#!/bin/sh
cd /usr/lib/cadmus
python /usr/lib/cadmus/src/main/python/main.py
You will need python-fbs and pyinstaller as makedepends. In order to start the app "fbs run" has to be used. In order to create an stand alone executable the documentation is pointing at "fbs freeze". But at this step the installer throwing an error inside pyinstaller which I cannot fix.
Fbs is an tool to create cross platform GUI applications. But this app is linux only ...
(I already read on the readme that it's planned. This issue is just for people to subscribe to so they get notified once it's been added on there)