Subject: Re: [bug#34189] [PATCH] gnu: Add arcan.

From: L p R n d n <[email-masked]>
Date: Wed, 13 Mar 2019 12:20:31 +0100

Hello,

Ludovic Courtès <[email-masked]> writes:

[...]
>
> Sorry that this is taking so long, but at least we’re making progress!
> :-)
>
> Ludo’.

Don't worry I'm not very quick to answer myself and as long as we're
going forward, everything should be fine.

I join new patches for xarcan and arcan-wayland.

Thanks for your help!

Lprndn
>From d94d5d01f46c006473c023620441f2f34d2f52c2 Mon Sep 17 00:00:00 2001
From: Lprndn <[email-masked]>
Date: Thu, 24 Jan 2019 13:39:06 +0100
Subject: [PATCH] gnu: Add xarcan.

* gnu/packages/arcan.scm (xarcan): New variable.
---
 gnu/packages/arcan.scm | 71 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index aa32acfb9f..c7c81241f0 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -18,6 +18,7 @@
 
 (define-module (gnu packages arcan)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -25,6 +26,7 @@
 
   #:use-module (gnu packages apr)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages fontutils)
@@ -40,8 +42,10 @@
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
 (define-public arcan
@@ -178,3 +182,70 @@ engine programmable using Lua.")
               "-DENABLE_LWA=on" "-DSTATIC_SQLITE3=off"
               "-DSTATIC_FREETYPE=off" "-DSHMIF_TUI_ACCEL=on")))))
     (synopsis "Combined display server, multimedia framework and game engine (sdl)")))
+
+(define-public xarcan
+  (let ((commit "8e6ee029388326cfe5cddeffe482eb3702e9b7f3")
+        (revision "1" ))
+    (package
+      (name "xarcan")
+      (version (git-version "0.5.4" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (file-name (git-file-name name version))
+         (uri (git-reference
+               (url "https://github.com/letoram/xarcan.git")
+               (commit commit)))
+         (sha256
+          (base32 "0zng7cs6733mnf0p6g5wv02981f2sf567n56csax6cmzb8fpamym"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:configure-flags
+         `("--enable-kdrive" "--enable-xarcan"
+           "--disable-xorg" "--disable-xwayland"
+           "--disable-xnest" "--disable-xvfb"
+           "--enable-glamor" "--enable-glx"
+           "--disable-int10-module" "--enable-ipv6"
+           "--enable-record" "--without-systemd-daemon"
+           "--enable-xcsecurity" "--disable-static"
+           ,(string-append "--with-xkb-path="
+                           (assoc-ref %build-inputs "xkeyboard-config")
+                           "/share/X11/xkb")
+           ,(string-append "--with-xkb-bin-directory="
+                           (assoc-ref %build-inputs "xkbcomp")
+                           "/bin")
+           ,(string-append "--with-xkb-output="
+                           "/tmp"))     ; FIXME: Copied from xorg
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'noconfigure
+             (lambda _
+               (setenv "NOCONFIGURE" "true")
+               #t)))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("libtool" ,libtool)
+         ("util-macros" ,util-macros)))
+      (inputs
+       `(("arcan" ,arcan)
+         ("font-util" ,font-util)
+         ("libdrm" ,libdrm)
+         ("libepoxy" ,libepoxy)
+         ("libkbfile" ,libxkbfile)
+         ("libressl" ,libressl)
+         ("libx11" ,libx11)
+         ("libxfont2" ,libxfont2)
+         ("mesa" ,mesa)
+         ("pixman" ,pixman)
+         ("xkeyboard-config" ,xkeyboard-config)
+         ("xkbcomp" ,xkbcomp)
+         ("xorgproto" ,xorgproto)
+         ("xtrans" ,xtrans)))
+      (home-page "https://arcan-fe.com")
+      (synopsis "Patched Xserver that bridges connections to Arcan")
+      (description "Patched Xserver with a KDrive backend that uses the arcan-shmif
+ to map Xlib/Xcb/X clients to a running arcan instance.  It allows running an X session
+as a window under Arcan.")
+      (license license:expat))))
-- 
2.20.1

>From eef364a45e520a6a9b34172b1ae0455d77a6c769 Mon Sep 17 00:00:00 2001
From: Lprndn <[email-masked]>
Date: Thu, 24 Jan 2019 13:41:30 +0100
Subject: [PATCH] gnu: Add arcan-wayland.

* gnu/packages/arcan.scm (arcan-wayland): New variable.
---
 gnu/packages/arcan.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index c7c81241f0..b59e5637be 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -30,11 +30,13 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages ocr)
   #:use-module (gnu packages pcre)
@@ -249,3 +251,35 @@ engine programmable using Lua.")
  to map Xlib/Xcb/X clients to a running arcan instance.  It allows running an X session
 as a window under Arcan.")
       (license license:expat))))
+
+(define-public arcan-wayland
+  (package
+    (inherit arcan)
+    (name "arcan-wayland")
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("arcan" ,arcan)
+       ("libseccomp" ,libseccomp)
+       ("libxkbcommon" ,libxkbcommon)
+       ("mesa" ,mesa)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "src/tools/waybridge")
+             #t))
+         (add-after 'unpack 'fix-cmake-find-shmif
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/platform/cmake/modules/Findarcan_shmif.cmake"
+               (("/usr/local") (assoc-ref inputs "arcan")))
+             #t)))))
+    (synopsis "Wayland protocol service for Arcan")
+    (description "Arcan-wayland (waybridge) bridges Wayland connections
+with an Arcan connection point.  It allows Wayland compatible clients
+to connect and render using Arcan.")
+    (license license:bsd-3)))
-- 
2.20.1