From: Hilton Chain <hako@ultrarare.space>
To: Lucy Coleclough <coleclough.lucy@gmail.com>
Cc: guix-devel@gnu.org, hutzdog <hutzdog@proton.me>,
John Kehayias <john.kehayias@protonmail.com>
Subject: Re: Packaging Hyprland
Date: Sun, 25 Feb 2024 10:39:03 +0800 [thread overview]
Message-ID: <87frxh5ku0.wl-hako@ultrarare.space> (raw)
In-Reply-To: <CADVEqJkdRadeNcA6GhBcpYiGH81FtKmvhypzWQTXBgxq78ThgA@mail.gmail.com>
Hi everyone,
On Sun, 25 Feb 2024 08:32:27 +0800,
Lucy Coleclough wrote:
>
>> On Sat, 24 Feb 2024 at 20:48, hutzdog <hutzdog@proton.me> wrote:
>>
>> Hi all,
>>
>> I've been working on moving over to GNU Guix recently, and have hit a
>> roadblock: there is no package for Hyprland (the one WLRoots based
>> compositor with single window capture and automatic window swallowing that I
>> know of). I've taken the liberty of packaging the latest version (see
>> https://git.sr.ht/~hutzdog/patchwork/tree/master/item/patchwork/packages/desktop.scm
>> for the package), but there are some changes that need to happen in order
>> for it to be upstreamed (as of v0.35.0).
Thanks for the work! I think John (Cc-ed) is going to update dependencies for
Hyprland in next mesa-updates, so the libdrm patch will likely be picked by
them.
In terms of ‘hyprland’ and ‘xdg-desktop-portal-hyprland’, these two packages in
my channel are made ready for upstreaming to Guix (but not their dependencies).
hyprland:
https://github.com/rakino/Rosenthal/blob/trunk/rosenthal/packages/wm.scm#L162
xdg-desktop-portal-hyprland:
https://github.com/rakino/Rosenthal/blob/trunk/rosenthal/packages/wm.scm#L287
>> # Pending Patches
>> The following existing patches need to be merged:
>> LibInput -> 1.25.0 (https://issues.guix.gnu.org/68844)
libinput 1.24.0 is currently available in core-updates:
https://issues.guix.gnu.org/65525
>> LibDRM -> 2.4.120 (https://issues.guix.gnu.org/68845)
>>
>> # New Patches
>> The following new patches will need to be created (I intend to submit these
>> at some point in the near future):
>> Cairo -> 1.18.0 (requires moving to Meson, I have a mostly complete set of
>> changes to make it work)
I didn't take a closer look at cairo update, but yes, this may require some
work, at least to be able to finish its tests.
>> Toml++ (package will be sent as a patch soon)
>> Hyprlang (for xdg-desktop-portal-hyprland, will publish after Hyprland)
>>
>> ## HWData
>> As with packages using the release versions of WLRoots, due to how Guix
>> packages HWData a patch is needed to make Meson find it. We have a few
>> options: maintain a parallel package which simply farms all outputs of
>> HWData as symlinks and adds the pkg-config file, maintain a patch on a much
>> more volatile version of WLRoots, or find some other solution.
hwdata with a pkg-config file is in core-updates too:
https://issues.guix.gnu.org/64228
>> # Hyprland
>> This will allow me to submit packages for Hyprland and its XDG Desktop
>> Portal at version 0.35.0 (the latest release). As it's one of the more
>> popular Wayland compositors out there, I think it is worth adding it to the
>> repos. For now, the package is available through my Guix channel (fair
>> warning, it is still very WIP and I wouldn't recommend using it yet outside
>> of maybe pulling the Hyprland packages). I look forward to working with Guix
>> (Scheme is certainly a breath of fresh air after dealing with Nix for a
>> while) and contributing to its ecosystem.
>
> Hey there, have been working on hyprland recently, I have got plugins working
> in my hyprland service, Each plugin can be built to a shared object and then
> referenced in the config plugins:
> https://gitlab.com/lucyCole/GuixChannel/-/blob/main/lucyChannel/packages/hyprlandPlugins.scm?ref_type=heads
> service:
> https://gitlab.com/lucyCole/GuixConfig/-/blob/main/variationAndSource/existingSystemOperation/home/services/temporary.scm?ref_type=heads#L278
>
> I also made a tomlplusplus package and submitted it to the rosenthal repo but
> yh could probably just go in guix
> https://github.com/rakino/Rosenthal/pull/13/files#diff-43c57fc1a44f0d3b5b7642f365df293ffada6ebe4e756ac1ce08ba849f38e361R155
The main issue with hyprpm (plugin manager distributed with Hyprland, depends on
tomlplusplus, I removed it in my definition) is that it shells out to download
and build Hyprland and its plugins, making it work out of the box needs some
effort, and shipping yet another package manager is not what we want.
Hyprland plugins are not hard to package, we just need a loading mechanism.
Adding a search path may be a solution, but this requires some work and is
better done in upstream.
At least for me to accept hyprpm, it should work either out of the box (without
requiring users to install any extra package), or keep only the plugin loading
functionality.
Thanks
next prev parent reply other threads:[~2024-02-25 2:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-23 1:20 Packaging Hyprland hutzdog
2024-02-24 21:15 ` John Kehayias
2024-02-24 22:32 ` hutzdog
2024-02-25 0:32 ` Lucy Coleclough
2024-02-25 1:07 ` hutzdog
2024-02-25 2:39 ` Hilton Chain [this message]
2024-03-02 2:04 ` John Kehayias
-- strict thread matches above, loose matches on Subject: below --
2024-02-24 22:32 John Kehayias
2024-02-25 10:42 ` Efraim Flashner
2024-03-02 2:09 ` John Kehayias
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87frxh5ku0.wl-hako@ultrarare.space \
--to=hako@ultrarare.space \
--cc=coleclough.lucy@gmail.com \
--cc=guix-devel@gnu.org \
--cc=hutzdog@proton.me \
--cc=john.kehayias@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).