guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#67257] [PATCH v2 2/2] gnu: Add x2goclient.


From: Steve George
Subject: [bug#67257] [PATCH v2 2/2] gnu: Add x2goclient.
Date: Thu, 22 Feb 2024 22:08:20 +0000

From: nicodebo <nicolas.debonnaire@gmail.com>

* gnu/packages/nx.scm (x2goclient): New variable.

Reviewed-by: Steve George <steve@futurile.net>

Change-Id: Ib0ff6328ede3fb4a0b48462ac1a003438c53c862
---
 gnu/packages/nx.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

diff --git a/gnu/packages/nx.scm b/gnu/packages/nx.scm
index 92542c02a7b..be00e466fec 100644
--- a/gnu/packages/nx.scm
+++ b/gnu/packages/nx.scm
@@ -16,19 +16,25 @@
 (define-module (gnu packages nx)
   #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages commencement)
+  #:use-module (gnu packages cups)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages onc-rpc)
+  #:use-module (gnu packages openldap)
   #:use-module (gnu packages patchutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages ssh)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -139,3 +145,76 @@ (define-public nx-libs
 developers and TheQVD.")
     (home-page "https://github.com/ArcticaProject/nx-libs";)
     (license license:gpl2)))
+
+(define-public x2goclient
+  (package
+    (name "x2goclient")
+    (version "4.1.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://code.x2go.org/releases/source/x2goclient/x2goclient-";
+             version ".tar.gz"))
+       (sha256
+        (base32 "0g6aba8kpsixq4486a8mga945lp31y0mzwa2krs5qqiiip3v72xb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; there aren't any tests
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (add-before 'build 'fix-makefile
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (etc (string-append out "/etc")))
+                        (mkdir-p etc)
+                        (substitute* "Makefile"
+                          (("= 4")
+                           "= 5") ;use qt5 instead of qt4
+                          (("-o root -g root") ;from archlinux
+                           "")
+                          (("/usr/local")
+                           out)
+                          (("/etc/x2go")
+                           etc)
+                          ;; Workaround to turn off invoking lrelease because
+                          ;; it fails with a warning about qmake spec
+                          (("lrelease")
+                           "true")
+                          (("qmake")
+                           (which "qmake")))
+                        (substitute* "src/onmainwindow.cpp"
+                          (("/usr/sbin/sshd")
+                           (which "sshd"))))))
+                  ;; Avoid man2html by calling build_client then install_man
+                  (replace 'build
+                    (lambda _
+                      (invoke "make" "build_client")))
+                  (add-after 'build 'build-man
+                    (lambda _
+                      (invoke "make" "install_man")))
+                  ;; Due to lrelease workaround above: run lrelease on each
+                  ;; individual .ts file
+                  (add-after 'build 'compile-ts-files
+                    (lambda _
+                      (for-each (lambda (file)
+                                  (invoke "lrelease" file))
+                                (find-files "./" "\\.ts$")))))))
+    (native-inputs (list pkg-config
+                         qttools-5
+                         qtbase-5
+                         qtx11extras
+                         qtsvg-5
+                         libssh
+                         cups
+                         libxpm
+                         openldap
+                         gcc-toolchain))
+    (propagated-inputs (list nx-libs
+                             openssh))
+    (synopsis "Remote desktop and application solution")
+    (description
+     "X2goclient allows you to connect to a remote graphical desktop over the
+network through SSH.")
+    (home-page "http://x2go.org/";)
+    (license license:gpl2)))
-- 
2.41.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]