GSConnect / gnome-shell-extension-gsconnect

KDE Connect implementation for GNOME

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Need clarification for GSConnect CLI build

nebulosa2007 opened this issue · comments

Describe your request

I made the PKGBUILD for CLI version, it even works on my system but I have a few questions about build instructions.

Some comments about Preparations item:

  • I made another PKGBUILD for libgnome-volume-control, can you to clarify how GSConnect use it? How I can test is everything work or not?
  • ydotool: it might be worth adding the information that the user should be in the input group. That would save many hours of searching why it doesn't start
  • wl-type: Not found info about this package anywhere, guess it's wtype, am I right?

Main question is about building: first step, meson build works as expected, but second does not. When you do ninja -C build install-zip it copies the files directly to $HOME/.local/share/... without any options. Package is empty and useless in that case. With the DESTDIR directive it builds as it should: DESTDIR=${pkgdir} meson install -C build, but has many more files that install-zip. How I can change this step?

The other instructions below not causing more questions. gsconnect I run as a user service, gsconnect-preferences is shown etc..

Proposed solution

No response

Alternatives

No response

GSConnect version

Git version: 56.r11.g360ccd3

Installed from

other source

GNOME Shell version

None, CLI version

Linux distribution/release

Arch Linux

Additional context

No response

@JingMatrix Maybe you can help with this one?

@nebulosa2007 Thank you for helping the aur community of Arch Linux.
Yes, you are right about the input group and wtype, I changed them in wiki now after seeing your comments.

For libgnome-volume-control, if the files mentioned in the README of https://github.com/JingMatrix/gvc exist then it is good. gsconnect uses this library to control system volume, and unfortunately this module is not provided as an indpendent package before.
If you don't have this step correctly setup, then gsconnect will simply throw en error.

Currently, I don't think that you can change the export directory of the plugin build files.
Some libraries of gjs seem to allow only those pre-selected paths for extensions, and I think it is acceptable to put the files in ~/.local/share/gnome-shell/extensions.
BTW, as a personal perference, I feel more comfortable when an extension is in the ~/.local directory instead of usr.
For example, users could update the extension easily without rebuild your PKGBUILD.

@nebulosa2007 Thank you for helping the aur community of Arch Linux. Yes, you are right about the input group and wtype, I changed them in wiki now after seeing your comments.
For libgnome-volume-control, if the files mentioned in the README of https://github.com/JingMatrix/gvc exist then it is good. gsconnect uses this library to control system volume, and unfortunately this module is not provided as an indpendent package before. If you don't have this step correctly setup, then gsconnect will simply throw en error.

Thanks for clearing that up.

Currently, I don't think that you can change the export directory of the plugin build files. Some libraries of gjs seem to allow only those pre-selected paths for extensions, and I think it is acceptable to put the files in ~/.local/share/gnome-shell/extensions.

Well, as I can see, after one week of using, it works not only for user Home directory. When you build package in ArchLinux it is prohibited to write anything to /home.. folder and as I said above - package, in that case, is useless, you can't download it and install on some other PC or Notebook. Before creating PKGBUILD, I tested the instructions and saw this oddity. I also found this PKGBUILD, then I copied the build logic and that helped.

Also I found that when you did install-zip it execute mkzip.sh where is hardcoded the path for installation. Could it changed for some variable path? I'm not very familiar with meson and ninja, so I thought I'd ask first.

BTW, as a personal perference, I feel more comfortable when an extension is in the ~/.local directory instead of usr. For example, users could update the extension easily without rebuild your PKGBUILD.

Yes, but that doesn't take into account the Arch package guidelines and that's why I'm here.

Main question is about building: first step, meson build works as expected, but second does not. When you do ninja -C build install-zip it copies the files directly to $HOME/.local/share/... without any options. Package is empty and useless in that case. With the DESTDIR directive it builds as it should: DESTDIR=${pkgdir} meson install -C build, but has many more files that install-zip. How I can change this step?

Sorry, I missed that this was unrelated to the Wayland support.

install-zip is not for packagers, this is for users. Packagers should be reading the Packaging page in the wiki, and using standard installation if targeting a system install:

# Setup 
meson setup --prefix=/usr \
            --libdir=lib64/ \
            _build

# Build & Install
meson compile -C _build
meson install -C _build

install-zip is not for packagers, this is for users. Packagers should be reading the Packaging page in the wiki, and using standard installation if targeting a system install:

I see, thanks for pointing that out! I will read this and update PKGBUILD if necessary.