[PATCH] gnu: add libaml, libneatvnc, and wayvnc

OpenSubmitted by kitzman.
Details
2 participants
  • kitzman
  • Maxime Devos
Owner
unassigned
Severity
normal
K
K
kitzman wrote on 20 Feb 22:51 +0100
(name . guix-patches)(address . guix-patches@gnu.org)
87mtilb40o.fsf@disroot.org
I have attached a patch for the following packages:
- gnu/packages/linux.scm:8818 libaml
- gnu/packages/vnc.scm:361 libneatvnc
- gnu/packages/vnc.scm:384 wayvnc

The libraries/software are created by a single person, with
dependents/dependencies which are also created by them. I can
split this into a patch set if deemed more appropriate.
From 2d83057da80a6ee9617aa914497f7c58398a4fe1 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Sun, 20 Feb 2022 23:46:43 +0200
Subject: [PATCH] gnu: add libaml, libneatvnc, and wayvnc

---
gnu/packages/linux.scm | 21 +++++++++++++++++++
gnu/packages/vnc.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+)

Toggle diff (85 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1c514c3cec..a2cd5bb1a2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8814,3 +8814,24 @@ (define-public libgpiod
     (license (list license:lgpl2.1+   ;; libgpiod
                    license:gpl2+      ;; gpio-tools
                    license:lgpl3+)))) ;; C++ bindings
+
+(define-public libaml
+  (package
+    (name "libaml")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/aml")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "aml" (string-append "v" version)))
+              (sha256
+               (base32
+                "0mxmzlhiv88hm4sf8kyawyrml8qy1xis019hdyb5skl9g95z9yyf"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/any1/aml")
+    (synopsis "Another/Andri's Main Loop")
+    (description "Portable and simple main loop implementation.")
+    (license license:isc)))
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index c0fabe848b..5d2891c9ce 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -357,3 +357,49 @@ (define-public libvnc
 easily implement VNC server or client functionality in your program.")
     (license ;; GPL for programs, FDL for documentation
      (list license:gpl2+ license:fdl1.2+))))
+
+(define-public libneatvnc
+  (package
+    (name "libneatvnc")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/neatvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "neatvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "1wpq1vyjqra877vwc3n4i0c1dyhmabyn993cslf1k142ikyc0a8w"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config libdrm))
+    (propagated-inputs
+     (list libglvnd libxkbcommon pixman libaml gnutls libjpeg-turbo zlib))
+    (home-page "https://github.com/any1/neatvnc")
+    (synopsis "VNC server library that's intended to be fast and neat")
+    (description "This is a liberally licensed VNC server library that's intended to be fast and neat.")
+    (license license:isc)))
+
+(define-public wayvnc
+  (package
+    (name "wayvnc")
+    (version "0.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/wayvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "wayvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "0cws9jfnmxqycmlyllvvqzw4jsbrwwk10v9gy8wifv3c61rwgdkk"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config libaml libdrm scdoc))
+    (inputs
+     (list pixman libglvnd libxkbcommon libaml libneatvnc wayland))
+    (home-page "https://github.com/any1/wayvnc")
+    (synopsis "VNC server for wlroots-based Wayland compositors")
+    (description "This is a VNC server for wlroots-based Wayland compositors (no_entry Gnome and KDE are not supported). It attaches to a running Wayland session, creates virtual input devices, and exposes a single display via the RFB protocol. The Wayland session may be a headless one, so it is also possible to run wayvnc without a physical display attached.")
+    (license license:isc)))
-- 
2.32.0
K
K
kitzman wrote on 21 Feb 09:06 +0100
Re: bug#54078: [PATCH 0/0] gnu: add libaml, libneatvnc, and wayvnc
(address . 54078@debbugs.gnu.org)
87fsocbq3w.fsf@disroot.org
I was missing some imports in gnu/packages/vnc.scm.

With this occasion I have also split my commit in three different ones.

kitzman <kitzman@disroot.org> writes:

Toggle quote (8 lines)
> I have attached a patch for the following packages:
> - gnu/packages/linux.scm:8818 libaml
> - gnu/packages/vnc.scm:361 libneatvnc
> - gnu/packages/vnc.scm:384 wayvnc
>
> The libraries/software are created by a single person, with
> dependents/dependencies which are also created by them. I can
> split this into a patch set if deemed more appropriate.
K
K
kitzman wrote on 21 Feb 09:09 +0100
Re: bug#54078: [PATCH 1/3] gnu: add libaml
(address . 54078@debbugs.gnu.org)
87bkz0bpzd.fsf_-_@disroot.org
I have attached a patch for libaml:

gnu/packages/linux.scm:8818 libaml
From b81b98e4fcac6435b1f76a9f3ccc221834c1d972 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Mon, 21 Feb 2022 10:02:56 +0200
Subject: [PATCH 1/3] gnu: add libaml

---
gnu/packages/linux.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1c514c3cec..a2cd5bb1a2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8814,3 +8814,24 @@ (define-public libgpiod
     (license (list license:lgpl2.1+   ;; libgpiod
                    license:gpl2+      ;; gpio-tools
                    license:lgpl3+)))) ;; C++ bindings
+
+(define-public libaml
+  (package
+    (name "libaml")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/aml")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "aml" (string-append "v" version)))
+              (sha256
+               (base32
+                "0mxmzlhiv88hm4sf8kyawyrml8qy1xis019hdyb5skl9g95z9yyf"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/any1/aml")
+    (synopsis "Another/Andri's Main Loop")
+    (description "Portable and simple main loop implementation.")
+    (license license:isc)))
-- 
2.32.0
K
K
kitzman wrote on 21 Feb 09:11 +0100
Re: bug#54078: [PATCH 2/3] gnu: add libneatvnc
(address . 54078@debbugs.gnu.org)
877d9obpw6.fsf_-_@disroot.org
I have attached a patch for libneatvnc:

gnu/packages/vnc.scm:361 libneatvnc
From 8998b04ee557c62c4ad7d1da671fb6b3c3141c90 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Mon, 21 Feb 2022 10:04:00 +0200
Subject: [PATCH 2/3] gnu: add libneatvnc

---
gnu/packages/vnc.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index c0fabe848b..5795ea525c 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -39,12 +39,15 @@ (define-module (gnu packages vnc)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -357,3 +360,27 @@ (define-public libvnc
 easily implement VNC server or client functionality in your program.")
     (license ;; GPL for programs, FDL for documentation
      (list license:gpl2+ license:fdl1.2+))))
+
+(define-public libneatvnc
+  (package
+    (name "libneatvnc")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/neatvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "neatvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "1wpq1vyjqra877vwc3n4i0c1dyhmabyn993cslf1k142ikyc0a8w"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config libdrm))
+    (propagated-inputs
+     (list libglvnd libxkbcommon pixman libaml gnutls libjpeg-turbo zlib))
+    (home-page "https://github.com/any1/neatvnc")
+    (synopsis "VNC server library that's intended to be fast and neat")
+    (description "This is a liberally licensed VNC server library that's intended to be fast and neat.")
+    (license license:isc)))
+
-- 
2.32.0
K
K
kitzman wrote on 21 Feb 09:12 +0100
Re: bug#54078: [PATCH 3/3] gnu: add wayvnc
(address . 54078@debbugs.gnu.org)
8735kcbptq.fsf_-_@disroot.org
I have attached the final patch in this series: wayvnc.

gnu/packages/vnc.scm:384 wayvnc
From 51bb697e93fe88d1178de92e54a9895ca3a89ab9 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Mon, 21 Feb 2022 10:04:17 +0200
Subject: [PATCH 3/3] gnu: add wayvnc

---
gnu/packages/vnc.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index 5795ea525c..31409d9d30 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -384,3 +384,25 @@ (define-public libneatvnc
     (description "This is a liberally licensed VNC server library that's intended to be fast and neat.")
     (license license:isc)))
 
+(define-public wayvnc
+  (package
+    (name "wayvnc")
+    (version "0.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/wayvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "wayvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "0cws9jfnmxqycmlyllvvqzw4jsbrwwk10v9gy8wifv3c61rwgdkk"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config libaml libdrm scdoc))
+    (inputs
+     (list pixman libglvnd libxkbcommon libaml libneatvnc wayland))
+    (home-page "https://github.com/any1/wayvnc")
+    (synopsis "VNC server for wlroots-based Wayland compositors")
+    (description "This is a VNC server for wlroots-based Wayland compositors (no_entry Gnome and KDE are not supported). It attaches to a running Wayland session, creates virtual input devices, and exposes a single display via the RFB protocol. The Wayland session may be a headless one, so it is also possible to run wayvnc without a physical display attached.")
+    (license license:isc)))
-- 
2.32.0
M
M
Maxime Devos wrote on 21 Feb 14:12 +0100
Re: [bug#54078] [PATCH 1/3] gnu: add libaml
d51b3e7092323034cd4e85af76ad2f14add1fcf2.camel@telenet.be
kitzman via Guix-patches via schreef op ma 21-02-2022 om 10:09 [+0200]:
Toggle quote (2 lines)
> +    (synopsis "Another/Andri's Main Loop")

What's up with the capitalisation? In most situations, only the first
letter of a sentence (*) is capitalised, as in

(synopsis of 'texmacs')
Editing platform with special features for scientists

(*) It's not a complete sentence but AFAIK the same capitalisation
rules hold.

Toggle quote (2 lines)
> +    (description "Portable and simple main loop implementation.")

This is not very descriptive, perhaps you an write a bit about what
it supports (file descriptor readability/writability, signal handlers,
timers, ...)?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhOPxRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g2WAQCru+tLsTpFQMa7ktjq9SlU+UsB
dxCpmfFy9UpChtbdYwEAyhK/o1TK+CcDxg/NWKJetsNkBVji5Hw7v38D6hvDqwA=
=/g5z
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 21 Feb 14:22 +0100
Re: [bug#54078] [PATCH 2/3] gnu: add libneatvnc
97f7f47db2a4f6857bd78d662b29156e0cd4e362.camel@telenet.be
kitzman via Guix-patches via schreef op ma 21-02-2022 om 10:11 [+0200]:
Toggle quote (3 lines)
> +    (native-inputs
> +     (list pkg-config libdrm))

Looking at 'src/tight.c', 'libdrm' looks like a regular input to me,
not a native-input. It needs to be in inputs, otherwise the cross-
compiler won't find libdrm's header when src/tight.c is being cross-
compiled.

Toggle quote (4 lines)
> +    (propagated-inputs
> +     (list libglvnd libxkbcommon pixman libaml gnutls libjpeg-turbo
> zlib))

Is propagation necessary here? Would regular inputs suffice?
(Propagation can cause propagation conflicts and other issues.)

Toggle quote (6 lines)
> +    (home-page "https://github.com/any1/neatvnc")
> +    (synopsis "VNC server library that's intended to be fast and
> neat")
> +    (description "This is a liberally licensed VNC server library
> that's intended to be fast and neat.")

‘Liberally licensed’: the package definition has a 'license' field
that should be sufficient for the user to determine if they like the
license or not. Also, please keep the descriptions descriptive, no
marketing phrases ‘liberal’, ‘fast, and ‘neat’ (from (guix)Synopses and
Descriptions):

Please avoid marketing phrases such as “world-leading”,
“industrial-strength”, and “next-generation”, and avoid superlatives
like “the most advanced”—they are not helpful to users looking for a
package and may even sound suspicious. Instead, try to be factual,
mentioning use cases and features.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhOSCxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7suXAQDGx80plxJBbqBlGewwben5on9+
pQgbPZfZOl1KG4et0QEA52+fRUtCJsqQU3H6hP7KhENPjlvoD7MMVN1o1x57JAg=
=3nbg
-----END PGP SIGNATURE-----


K
K
kitzman wrote on 23 Feb 18:50 +0100
Re: bug#54078: [PATCH 1/3] gnu: add libaml
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54078@debbugs.gnu.org)
871qztqxpt.fsf_-_@disroot.org
Dear Maxime,

Thank you for reviewing.
From b1b6cef5886852a987c926d31ff9c3aed8a0476a Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Wed, 23 Feb 2022 17:48:31 +0200
Subject: [PATCH 1/3] gnu: add libaml

---
gnu/packages/linux.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1c514c3cec..9cc619f9de 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8814,3 +8814,33 @@ (define-public libgpiod
     (license (list license:lgpl2.1+   ;; libgpiod
                    license:gpl2+      ;; gpio-tools
                    license:lgpl3+)))) ;; C++ bindings
+
+(define-public libaml
+  (package
+    (name "libaml")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/aml")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "aml" (string-append "v" version)))
+              (sha256
+               (base32
+                "0mxmzlhiv88hm4sf8kyawyrml8qy1xis019hdyb5skl9g95z9yyf"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/any1/aml")
+    (synopsis "Another/Andri's main loop")
+    (description "The @code{aml} library provides an event loop for C, for Linux,
+with the following features:
+@enumerate
+@item fd event handlers
+@item timers and tickers
+@item signal handlers
+@item idle dispatch callbacks
+@item thread pool support
+@end enumerate
+")
+    (license license:isc)))
-- 
2.32.0
I have attached here the fixed patch for libaml. The rest of the patches
are going to be part of the new series.

Kind regards,
Kitzman
M
M
Maxime Devos wrote on 23 Feb 18:58 +0100
(name . kitzman)(address . kitzman@disroot.org)(address . 54078@debbugs.gnu.org)
7bd7a166fdca7f2fead3b42630682fd4189add0f.camel@telenet.be
kitzman schreef op wo 23-02-2022 om 19:50 [+0200]:
Toggle quote (3 lines)
> +    (description "The @code{aml} library provides an event loop for
> C, for Linux,

According to the README, it has portability as a goal.
Looking at src/kqueue.c, it supports some BSDs.
Looking at posix.c, it should support anything POSIX-like
(and hence, the Hurd).

As such, I don't think the qualifier 'for Linux' is very meaningful
here.

Toggle quote (4 lines)
> +with the following features:
> +@enumerate
> +@item fd event handlers

‘(guix)Synopses and Descriptions’ recommends avoiding acronyms:

[...] Use full sentences, and avoid using acronyms without first
introducing them. [...]

‘@item file descriptor event handlers’ would be more explicit and
avoids the 'fd' acronym.

Otherwise, the description looks nice to me.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhZ1yRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rMyAP9GyHmezJw5iwdwSMaeHJlELP6y
W8M2hBBO6alO1XmbFgD/XBAIO09jFuVfDH2YN8ellUziYi3WS7x+Xg/T9juOQQM=
=dLCG
-----END PGP SIGNATURE-----


K
K
kitzman wrote on 23 Feb 19:50 +0100
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54078@debbugs.gnu.org)
87o82xpgd8.fsf_-_@disroot.org
From ac8f0bdbc92a834bbc96b3e676cc58059afc3633 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Wed, 23 Feb 2022 20:41:17 +0200
Subject: [PATCH 1/3] gnu: add libaml

---
gnu/packages/linux.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1c514c3cec..27c54f90b0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8814,3 +8814,33 @@ (define-public libgpiod
     (license (list license:lgpl2.1+   ;; libgpiod
                    license:gpl2+      ;; gpio-tools
                    license:lgpl3+)))) ;; C++ bindings
+
+(define-public libaml
+  (package
+    (name "libaml")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/aml")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "aml" (string-append "v" version)))
+              (sha256
+               (base32
+                "0mxmzlhiv88hm4sf8kyawyrml8qy1xis019hdyb5skl9g95z9yyf"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/any1/aml")
+    (synopsis "Another/Andri's main loop")
+    (description "The @code{aml} library provides a portable event loop for C,
+with the following features:
+@enumerate
+@item file descriptor event handlers
+@item timers and tickers
+@item signal handlers
+@item idle dispatch callbacks
+@item thread pool support
+@end enumerate
+")
+    (license license:isc)))
-- 
2.32.0
K
K
kitzman wrote on 23 Feb 19:57 +0100
Re: bug#54078: [PATCH] gnu: add libaml, libneatvnc, and wayvnc
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54078@debbugs.gnu.org)
87h78ppg0p.fsf_-_@disroot.org
Dear Maxime,

Toggle quote (3 lines)
> Is propagation necessary here? Would regular inputs suffice?
> (Propagation can cause propagation conflicts and other issues.)

That is true, the inputs were wrong.

Toggle quote (5 lines)
> ‘Liberally licensed’: the package definition has a 'license' field
> that should be sufficient for the user to determine if they like the
> license or not. Also, please keep the descriptions descriptive, no
> marketing phrases ‘liberal’, ‘fast, and ‘neat’

Instead of copying the repo's description, now there are some
functionalities of the library. However, it is unknown if they work with
all clients. Do you think it's worth mentioning?
From c1e8719438ab738193866e0fb43962a7a7117b48 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Wed, 23 Feb 2022 20:46:15 +0200
Subject: [PATCH 2/3] gnu: add libneatvnc

---
gnu/packages/vnc.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index c0fabe848b..e7b2872074 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,12 +40,15 @@ (define-module (gnu packages vnc)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -357,3 +361,27 @@ (define-public libvnc
 easily implement VNC server or client functionality in your program.")
     (license ;; GPL for programs, FDL for documentation
      (list license:gpl2+ license:fdl1.2+))))
+
+(define-public libneatvnc
+  (package
+    (name "libneatvnc")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/neatvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "neatvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "1wpq1vyjqra877vwc3n4i0c1dyhmabyn993cslf1k142ikyc0a8w"))))
+    (build-system meson-build-system)
+    (native-inputs (list pkg-config))
+    (inputs
+     (list libdrm libglvnd libxkbcommon pixman libaml gnutls libjpeg-turbo zlib))
+    (home-page "https://github.com/any1/neatvnc")
+    (synopsis "Lightweight VNC server library")
+    (description "NeatVNC is a lightweight VNC server library, supporting
+authentication, SSH tunneling, and ZRLE or Tight encoding.")
+    (license license:isc)))
+
-- 
2.32.0
Kind regards,
Kitzman
M
M
Maxime Devos wrote on 23 Feb 20:15 +0100
(name . kitzman)(address . kitzman@disroot.org)(address . 54078@debbugs.gnu.org)
724ef26e516c2936acc17909385077ad41ff7a42.camel@telenet.be
kitzman schreef op wo 23-02-2022 om 20:57 [+0200]:
Toggle quote (5 lines)
> Instead of copying the repo's description, now there are some
> functionalities of the library. However, it is unknown if they work
> with
> all clients. Do you think it's worth mentioning?

Different interpretations of the specifications and bugs causing
server-client incompatibilities, and clients not making use of all the
features offered by the server, is always possible. As such, I don't
think documenting incompatibilities in the description of servers is
very meaningful (YMMV; I would accept a description mentioning
incompatibilities FWIW).

It might be interesting to document these features (or lack of
features) in the descriptions of the clients though. E.g., encryption
can be very important, so if a client doesn't support that, that might
be good to mention in the description of the package of the client.
SSH tunneling does not seem to be ‘core’ functionality of VNC but
rather an extra, so that also seems useful to document in the client.

(TBC, this is only superficial review, and I'm not a committer.)

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYhaHvRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uRjAQD50CjPFgmKNSJWBvUM9A5/Zmcv
V/L7if1HAf80LTOofwEAn3wy9SrOepNvDC+7d6vrzriB1mFdzOtuhgApRxDEhwo=
=9VYN
-----END PGP SIGNATURE-----


K
K
kitzman wrote on 23 Feb 22:02 +0100
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54078@debbugs.gnu.org)
87czjdpa8z.fsf_-_@disroot.org
Dear Maxime,

Toggle quote (5 lines)
> I don't
> think documenting incompatibilities in the description of servers is
> very meaningful (YMMV; I would accept a description mentioning
> incompatibilities FWIW).

From my perspective, these incompatibilities can be found anyway in the
README, plus it is unknown if some clients go well with the server -
thus one can always try, and maybe open an issue if there's a
problem. So I will leave that out for now.

Toggle quote (2 lines)
> (TBC, this is only superficial review, and I'm not a committer.)

Thank you, the problem with the inputs was really bad and the
descriptions now do justice to the server and libs. It will make the
rest of the process much easier.

Kind regards,
Kitzman
K
K
kitzman wrote on 23 Feb 22:04 +0100
Re: bug#54078: [PATCH 3/3] gnu: add wayvnc
(address . 54078@debbugs.gnu.org)
878ru1pa4r.fsf_-_@disroot.org
I have attached here an updated version of the wayvnc package,
corresponding to the latest 1/3 and 2/3 patches.
From 193148229de71411d2aaa561252cfef154ab98d6 Mon Sep 17 00:00:00 2001
From: kitzman <kitzman@disroot.org>
Date: Wed, 23 Feb 2022 20:47:06 +0200
Subject: [PATCH 3/3] gnu: add wayvnc

---
gnu/packages/vnc.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index e7b2872074..4e0c27152d 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -385,3 +385,29 @@ (define-public libneatvnc
 authentication, SSH tunneling, and ZRLE or Tight encoding.")
     (license license:isc)))
 
+(define-public wayvnc
+  (package
+    (name "wayvnc")
+    (version "0.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/any1/wayvnc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "wayvnc" (string-append "v" version)))
+              (sha256
+               (base32
+                "0cws9jfnmxqycmlyllvvqzw4jsbrwwk10v9gy8wifv3c61rwgdkk"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list pkg-config scdoc))
+    (inputs
+     (list libaml libneatvnc zlib libjpeg-turbo gnutls libdrm pixman libglvnd libxkbcommon wayland))
+    (home-page "https://github.com/any1/wayvnc")
+    (synopsis "VNC server for wlroots-based Wayland compositors")
+    (description "This is a VNC server for wlroots-based Wayland compositors
+ (no_entry Gnome and KDE are not supported). It attaches to a running Wayland
+ session, creates virtual input devices, and exposes a single display via the
+ RFB protocol. The Wayland session may be a headless one, so it is also 
+possible to run wayvnc without a physical display attached.")
+    (license license:isc)))
-- 
2.32.0
?