Skip to content

Void Linux support #1164

@scipunch

Description

@scipunch

Is your feature request related to a problem? Please describe.
There is not void's package manager xbps in dependencies.json file

Describe the solution you'd like
Add xbps setup

Describe alternatives you've considered
Manually search for all required dependencies, the command looks like

sudo xbps-install python3-pyqt6-webengine python3-pyqt6 python3-pyqt6-sip qt6-multimedia qt6-svg wmctrl nodejs libvdpau-va-gl

Additional context
Add any other context or screenshots about the feature request here.

Activity

manateelazycat

manateelazycat commented on Feb 21, 2025

@manateelazycat
Member

PR are welcome!

manateelazycat

manateelazycat commented on Feb 23, 2025

@manateelazycat
Member

@scipunch Hi

You need checkout

def install_sys_deps(distro: str, deps_list):

Add xbps-install support, then apply patch to EAF's dependencies.json, not just emacs-application-framework, all EAF application's should check.

Thank you for your help.

scipunch

scipunch commented on Mar 7, 2025

@scipunch
Author

I've been tinkering here and got issues with installing python packages system wide which don't exist in void repository (e.g. sexpdata)

Also I've seen comment like this:

# For pip dependencies, the distribution name takes precedence over the os name.
#
# For example, in Arch Linux, we need install PyQt from Arch repository to instead install from PIP repository
# to make EAF browser support HTML5 video:
#
# rm -rf ~/.local/lib/python3.10/site-packages/PyQt6*
# sudo rm -rf /usr/lib/python3.10/site-packages/PyQt6*
# sudo pacman -S python-pyqt6-webengine python-pyqt6 python-pyqt6-sip

I'm thinking about creating special virtual environment and use it to install all required deps, which could be easily done with uv / poetry / pip. I'm sure that I'm not the first one who thought about it, what's blocked this kind of solution in the beginning?

If this question stayed unexplored, then I'm ready to dive deeper in it and come back with POC

manateelazycat

manateelazycat commented on Mar 8, 2025

@manateelazycat
Member

sexpdata is pip package

scipunch

scipunch commented on Mar 8, 2025

@scipunch
Author

Yes, the point is to use pip to install all dependencies instead of installing them through the Linux distro's package manager. This will be the unified way for all systems. (QT deps and any other possible required package like sexpdata)

Instead of configuring dependencies.json for each system, I offer ot use requirements.txt and simply do pip install -r requirements.txt. This approach will allow us to clearly see the versions of packages, easily manage them, and avoid interfering with system packages.

manateelazycat

manateelazycat commented on Mar 8, 2025

@manateelazycat
Member

No, if we install pyqt from pip, ArchLinux can't support HTML5 video, because it need compile with system's ffmpeg.

That's why need install some package from system repo.

Looks 04de86c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @manateelazycat@scipunch

        Issue actions

          Void Linux support · Issue #1164 · emacs-eaf/emacs-application-framework