diff mbox series

[bug#64261,v3] gnu: Add xrdp and xorgxrdp

Message ID eb07db4c5ce6ee7d09cff956448209990ab1038d.1687850929.git.atai@atai.org
State New
Headers show
Series [bug#64261,v3] gnu: Add xrdp and xorgxrdp | expand

Commit Message

Andy Tai June 27, 2023, 7:29 a.m. UTC
* gnu/packages/rdesktop.scm (xrdp): New variabble
  (xorgxrdp): New variable
---
 gnu/packages/rdesktop.scm | 122 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)


base-commit: ac86174e22fcd762893bd4515786b1376af9397b

Comments

Ludovic Courtès July 11, 2023, 2:12 p.m. UTC | #1
Hi Andy,

Andy Tai <atai@atai.org> skribis:

> * gnu/packages/rdesktop.scm (xrdp): New variabble
>   (xorgxrdp): New variable

Could you send a v2 with one patch per package, as is customary?

> +    (home-page "https://www.xrdp.org")
> +    (synopsis "Open source RDP server ")

Please remote the trailing slash as well as “open source”: everything is
free software in here, so no need to specify it! :-) However, please
spell out “Remote Desktop Protocol (RDP)”.

> +    (description
> +     "Xrdp provides a graphical login to remote machines using
> +Microsoft Remote Desktop Protocol (RDP).  Xrdp accepts connections from a
> +variety of RDP clients:
> +* FreeRDP
> +* rdesktop

Please use @itemize.

See
<https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html>.

> +(define-public xorgxrdp
> +  (package
> +    (name "xorgxrdp")
> +    (version "0.9.19")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/neutrinolabs/xorgxrdp/releases/download/v"
> +                    version "/xorgxrdp-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0m8lvdnhfvwwqrr56difgy3mblplp23x6iy12kl4r8i87ic4rky1"))))

Should it inherit from ‘xrdp’?  I fail to see what the difference is.

> +    (arguments
> +     (list #:configure-flags #~(list "--enable-strict-locations=yes"
> +                                     (string-append "XRDP_CFLAGS=-I"
> +                                                    (assoc-ref %build-inputs
> +                                                               "xrdp")
> +                                                    "/common"))))

Rather than (assoc-ref …), write #$(this-package-input "xrdp').

Also, xrdp should not have .h files under /common; it should be under
/include or /include/common or similar.  Could you check that?

> +    (home-page "https://github.com/neutrinolabs/xorgxrdp")
> +    (synopsis "Xorg drivers for xrdp")
> +    (description
> +     "xorgxrdp is a collection of modules to be used with a pre-existing X.Org
> +install to make the X server act like X11rdp")

Please add a period at the end of the sentence and expound a bit so one
can better understand what this is about.

Thanks in advance!

Ludo’.
Andy Tai July 11, 2023, 2:13 p.m. UTC | #2
will do

On Tue, Jul 11, 2023 at 7:12 AM Ludovic Courtès <ludo@gnu.org> wrote:

> Hi Andy,
>
> Andy Tai <atai@atai.org> skribis:
>
> > * gnu/packages/rdesktop.scm (xrdp): New variabble
> >   (xorgxrdp): New variable
>
> Could you send a v2 with one patch per package, as is customary?
>
> > +    (home-page "https://www.xrdp.org")
> > +    (synopsis "Open source RDP server ")
>
> Please remote the trailing slash as well as “open source”: everything is
> free software in here, so no need to specify it! :-) However, please
> spell out “Remote Desktop Protocol (RDP)”.
>
> > +    (description
> > +     "Xrdp provides a graphical login to remote machines using
> > +Microsoft Remote Desktop Protocol (RDP).  Xrdp accepts connections from
> a
> > +variety of RDP clients:
> > +* FreeRDP
> > +* rdesktop
>
> Please use @itemize.
>
> See
> <
> https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html
> >.
>
> > +(define-public xorgxrdp
> > +  (package
> > +    (name "xorgxrdp")
> > +    (version "0.9.19")
> > +    (source (origin
> > +              (method url-fetch)
> > +              (uri (string-append
> > +                    "
> https://github.com/neutrinolabs/xorgxrdp/releases/download/v"
> > +                    version "/xorgxrdp-" version ".tar.gz"))
> > +              (sha256
> > +               (base32
> > +
> "0m8lvdnhfvwwqrr56difgy3mblplp23x6iy12kl4r8i87ic4rky1"))))
>
> Should it inherit from ‘xrdp’?  I fail to see what the difference is.
>
> > +    (arguments
> > +     (list #:configure-flags #~(list "--enable-strict-locations=yes"
> > +                                     (string-append "XRDP_CFLAGS=-I"
> > +                                                    (assoc-ref
> %build-inputs
> > +                                                               "xrdp")
> > +                                                    "/common"))))
>
> Rather than (assoc-ref …), write #$(this-package-input "xrdp').
>
> Also, xrdp should not have .h files under /common; it should be under
> /include or /include/common or similar.  Could you check that?
>
> > +    (home-page "https://github.com/neutrinolabs/xorgxrdp")
> > +    (synopsis "Xorg drivers for xrdp")
> > +    (description
> > +     "xorgxrdp is a collection of modules to be used with a
> pre-existing X.Org
> > +install to make the X server act like X11rdp")
>
> Please add a period at the end of the sentence and expound a bit so one
> can better understand what this is about.
>
> Thanks in advance!
>
> Ludo’.
>
diff mbox series

Patch

diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index be4fe83cdc..9c73f57754 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -31,19 +31,29 @@  (define-module (gnu packages rdesktop)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages assembly)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages mp3)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
@@ -137,3 +147,115 @@  (define-public freerdp
 functionality, and Windows Portable Runtime (WinPR), a portable implementation
 of parts of the Windows API.")
     (license license:asl2.0)))
+
+(define-public xrdp
+  (package
+    (name "xrdp")
+    (version "0.9.22.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/neutrinolabs/xrdp/releases/download/v"
+                    version "/xrdp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1jzknwy003fk5lqzrncbypirq3smpghxy2prg2m2ljjrx77j1lvd"))))
+    (build-system gnu-build-system)
+    (inputs (list check
+                  fuse
+                  imlib2
+                  lame
+                  libjpeg-turbo
+                  libx11
+                  libxfixes
+                  libxml2
+                  libxpm
+                  libxrandr
+                  libxslt
+                  libxt
+                  linux-pam
+                  openssl
+                  pixman
+                  python
+                  python-libxml2))
+    (native-inputs (list autoconf
+                         automake
+                         libtool
+                         bison
+                         flex
+                         gettext-minimal
+                         intltool
+                         nasm
+                         pkg-config
+                         pixman))
+
+    (arguments
+     (list #:configure-flags #~(list "--enable-strict-locations=yes"
+                                     "--enable-fuse=yes"
+                                     "--enable-mp3lame=yes"
+                                     "--enable-pixman=yes"
+                                     "--enable-imlib2=yes"
+                                     "--enable-pam-config=unix"
+                                     "--enable-ipv6=yes")))
+    (home-page "https://www.xrdp.org")
+    (synopsis "Open source RDP server ")
+    (description
+     "Xrdp provides a graphical login to remote machines using
+Microsoft Remote Desktop Protocol (RDP).  Xrdp accepts connections from a
+variety of RDP clients:
+* FreeRDP
+* rdesktop
+* KRDC
+* NeutrinoRDP
+* Windows MSTSC (Microsoft Terminal Services Client, aka mstsc.exe)
+* Microsoft Remote Desktop (found on Microsoft Store, which is distinct from MSTSC)")
+    (license license:asl2.0)))
+
+
+
+(define-public xorgxrdp
+  (package
+    (name "xorgxrdp")
+    (version "0.9.19")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/neutrinolabs/xorgxrdp/releases/download/v"
+                    version "/xorgxrdp-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0m8lvdnhfvwwqrr56difgy3mblplp23x6iy12kl4r8i87ic4rky1"))))
+    (build-system gnu-build-system)
+    (inputs (list check
+                  libx11
+                  libxfixes
+                  libxfont2
+                  libxml2
+                  libxpm
+                  libxrandr
+                  libxslt
+                  libxt
+                  pixman
+                  xdpyinfo
+                  xorg-server
+                  xrdp))
+    (native-inputs (list autoconf
+                         automake
+                         libtool
+                         nasm
+                         intltool
+                         pkg-config
+                         pixman))
+    (arguments
+     (list #:configure-flags #~(list "--enable-strict-locations=yes"
+                                     (string-append "XRDP_CFLAGS=-I"
+                                                    (assoc-ref %build-inputs
+                                                               "xrdp")
+                                                    "/common"))))
+    (home-page "https://github.com/neutrinolabs/xorgxrdp")
+    (synopsis "Xorg drivers for xrdp")
+    (description
+     "xorgxrdp is a collection of modules to be used with a pre-existing X.Org
+install to make the X server act like X11rdp")
+    (license license:x11)))
+