From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 4MkQOwqp2mVBPAEA62LTzQ:P1 (envelope-from ) for ; Sun, 25 Feb 2024 03:42:19 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id 4MkQOwqp2mVBPAEA62LTzQ (envelope-from ) for ; Sun, 25 Feb 2024 03:42:19 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=ultrarare.space header.s=dkim header.b="H2t8J6i/"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=ultrarare.space ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1708828938; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=NbAv1I8Ylm50gKpbfPGS+uLYILLzKDu6MCMKN8NQENE=; b=qO/ugtCK64Pc32YPgMxgppBcxjZfJxbwD+/74KzR2zhp2/kVR3oPOXtXMeTNYRQkaXLLjC P3nb3ec0G/w0Tz2L+kOZy2DGYF5p6DrHnhuwInplQb9J6rtRoQRg4ogomlOjpTwm3+yLV5 PhixbGla6O1V4+fdXWhzYjNNGuW6TYsptVsvMgxl4mDURUdXzsVcF6VIsDApPUlyLxQNDH nACXZsZV4KIuN+SUfsEmoAxBDz/vzPwVwQ4jKTVL6dpjUV+fTh16+J6XJj3rP2/chLJiXj 57ZXCrGmSeWFoK9/kop1qJfZzh743M3fFZc2HWBikybf5/szr8DLf+yi9PgwYw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=ultrarare.space header.s=dkim header.b="H2t8J6i/"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=ultrarare.space ARC-Seal: i=1; s=key1; d=yhetil.org; t=1708828938; a=rsa-sha256; cv=none; b=TfP6F7ojPCCtDvpZ1oYy8nOMxyejw7Ntqw82SOQmOXpOGH+l5rL96uKsoFV3Ib7bvXrCol k39H/Pg8JajJDwaYMf+BapBay18rlrmgFvsqiyNZgeqaZjruGsNxouj1cwgiywCQQgybnz KdL1IxaXt7aqd/c7ZVBOkZ7JKecQbvdCEH9ynlE5X+EmNarEWCe+elDn9NVHC2NPLXPTeb M14Lkh9LWZ4FrFdsP1NQwv1k9Dz0fN+3lClqWs//QYbf4FWfOcdOdHpOcA6GumMYB72FGA umf9dawG/5BrbLrxDc/HZj7Qi5TSp0w6hqJOGncRUBL/hC2K0M9y06urs/ZjXg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CCB646B8CB for ; Sun, 25 Feb 2024 03:42:18 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1re4SQ-0001OO-HW; Sat, 24 Feb 2024 21:41:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1re4SO-0001Nu-VI for guix-devel@gnu.org; Sat, 24 Feb 2024 21:41:36 -0500 Received: from mail.boiledscript.com ([144.168.59.46]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1re4SN-0005hE-7x for guix-devel@gnu.org; Sat, 24 Feb 2024 21:41:36 -0500 Date: Sun, 25 Feb 2024 10:39:03 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarare.space; s=dkim; t=1708828880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NbAv1I8Ylm50gKpbfPGS+uLYILLzKDu6MCMKN8NQENE=; b=H2t8J6i/y2HGdR2v90HbAPqlxgh58VLe1nc9TyW6kViaZul7e2vc4pDHbdCZbaDL9GFU2X H5NLaj9rl2ThL1dwCAwKnYpVf8gqzYFLId1b7qli0/emfjhixpd+1vKP0SUvK55iHF/h60 p3UFOZFMuWVaGAdnTBfCgci3k/5d1jGZPSod22IjI0jaQw9YZgmnTMwUOLUm7pmaotMGQi /49hIxuji2ob9Zl/2+4fSoBYXaehbK6OuOJN1eIRl3F0Idoq3UJevWHZkXbsXmaGIE3KPQ vIp/r7EJF9GcnaYUqdBD3CNo9kwTy7R4hkI5EbhoOuFRBDDBeSIVzbw6BuI8HQ== Message-ID: <87frxh5ku0.wl-hako@ultrarare.space> From: Hilton Chain To: Lucy Coleclough Cc: guix-devel@gnu.org, hutzdog , John Kehayias Subject: Re: Packaging Hyprland In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-7 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ++ Received-SPF: pass client-ip=144.168.59.46; envelope-from=hako@ultrarare.space; helo=mail.boiledscript.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -3.11 X-Spam-Score: -3.11 X-Migadu-Queue-Id: CCB646B8CB X-TUID: 81i8N8wnJuz2 Hi everyone, On Sun, 25 Feb 2024 08:32:27 +0800, Lucy Coleclough wrote: > >> On Sat, 24 Feb 2024 at 20:48, hutzdog 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 t= hat I >> know of). I've taken the liberty of packaging the latest version (see >> https://git.sr.ht/~hutzdog/patchwork/tree/master/item/patchwork/package= s/desktop.scm >> for the package), but there are some changes that need to happen in ord= er >> 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 =A1hyprland=A2 and =A1xdg-desktop-portal-hyprland=A2, these two= packages in my channel are made ready for upstreaming to Guix (but not their dependenci= es). hyprland: https://github.com/rakino/Rosenthal/blob/trunk/rosenthal/packages/wm.scm#L1= 62 xdg-desktop-portal-hyprland: https://github.com/rakino/Rosenthal/blob/trunk/rosenthal/packages/wm.scm#L2= 87 >> # 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 t= hese >> 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 out= side >> 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 wor= king > in my hyprland service, Each plugin can be built to a shared object and t= hen > referenced in the config plugins: > https://gitlab.com/lucyCole/GuixChannel/-/blob/main/lucyChannel/packages/= hyprlandPlugins.scm?ref_type=3Dheads > service: > https://gitlab.com/lucyCole/GuixConfig/-/blob/main/variationAndSource/exi= stingSystemOperation/home/services/temporary.scm?ref_type=3Dheads#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-43c57fc1a44f0d3b5b= 7642f365df293ffada6ebe4e756ac1ce08ba849f38e361R155 The main issue with hyprpm (plugin manager distributed with Hyprland, depen= ds on tomlplusplus, I removed it in my definition) is that it shells out to downl= oad 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 (wit= hout requiring users to install any extra package), or keep only the plugin load= ing functionality. Thanks