Subject: [bug#70466] [PATCH v2] gnu: Add libdecor.

From: aurtzy <[email-masked]>
Date: Sat, 20 Apr 2024 06:12:17 -0400

* gnu/packages/freedesktop.scm (libdecor): New variable.

Change-Id: Ic8d8886a55ae344fafbe16288a1180c89fa36af1
---

Hi John,

> > * gnu/packages/xorg.scm (libdecor): New variable.
> >
> > Change-Id: Ic8d8886a55ae344fafbe16288a1180c89fa36af1
> > ---
> >
> > Is this a reasonable location for libdecor?  I had trouble deciding between
> > (gnu packages xorg) and (gnu packages xdisorg), but even then I wasn't sure if
> > it belonged in either.
> >
> 
> I'm not expert, but maybe in freedesktop? Since that is where wayland
> is, for example (and this is a freedesktop project, though not sure that
> maps for all).

I think it makes sense; moved to freedesktop.

> >  gnu/packages/xorg.scm | 35 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >
> > diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
> > index 81d8462761..4fd4c3eece 100644
> > --- a/gnu/packages/xorg.scm
> > +++ b/gnu/packages/xorg.scm
> > @@ -38,6 +38,8 @@
> >  ;;; Copyright © 2023 Janneke Nieuwenhuizen <[email-masked]>
> >  ;;; Copyright © 2023, 2024 John Kehayias <[email-masked]>
> >  ;;; Copyright © 2023, 2024 Kaelyn Takata <[email-masked]>
> > +;;; Copyright © 2022 Samuel Culpepper <[email-masked]>
> 
> Who is this for? Did this come from another channel/previous patch then?
> (Not a problem and giving credit is, of course, correct! Just wondering.)

Woops, should have explained that - yes, the original libdecor definition was
found here: https://github.com/Admicos/minecraft-wayland/issues/18

> > +    (native-inputs (list cmake
> > +                         pkg-config))
> 
> Minor nit: this should be one line.

Adjusted!

> Otherwise LGTM, just want to confirm the extra copyright line. You can
> send an update putting this in freedesktop if you agree and fixing the
> native-inputs line, or I can do it when pushing.
> 
> Thanks!
> John

Cheers,

aurtzy

 gnu/packages/freedesktop.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 339297c087..081269ebaf 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -35,6 +35,8 @@
 ;;; Copyright © 2023 Alex Devaure <[email-masked]>
 ;;; Copyright © 2023 Bruno Victal <[email-masked]>
 ;;; Copyright © 2024 Zheng Junjie <[email-masked]>
+;;; Copyright © 2022 Samuel Culpepper <[email-masked]>
+;;; Copyright © 2024 aurtzy <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3234,3 +3236,34 @@ (define-public waypipe
      "Waypipe is a proxy for Wayland clients, with the aim of
 supporting behavior like @samp{ssh -X}.")
     (license license:expat)))
+
+(define-public libdecor
+  (package
+    (name "libdecor")
+    (version "0.2.2")
+    (source
+     (origin (method git-fetch)
+             (uri (git-reference
+                   (url "https://gitlab.freedesktop.org/libdecor/libdecor")
+                   (commit version)))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "05rxchwzhnkm91kcr30mavizkp25wgjlhb6lcraa456pw7vgb04q"))))
+    (build-system meson-build-system)
+    (native-inputs (list cmake pkg-config))
+    (inputs (list cairo
+                  dbus
+                  egl-wayland
+                  gtk+
+                  libglvnd
+                  libxkbcommon
+                  pango
+                  wayland
+                  wayland-protocols))
+    (home-page "https://gitlab.freedesktop.org/libdecor/libdecor")
+    (synopsis "Client-side decorations library for Wayland clients")
+    (description "libdecor is a library that can help Wayland clients draw
+window decorations for them.  It aims to provide multiple backends that
+implements the decoration drawing.")
+    (license license:expat)))

base-commit: 0797fff8b8b3feb1e421aad170b4c12a87091663
-- 
2.41.0