WIP: bees service
[jackhill/guix/guix.git] / gnu / packages / arcan.scm
index 0dfbf33..a84bf0d 100644 (file)
 
 (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)
   #:use-module (guix utils)
   #: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)
+  #: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)
   #: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
@@ -53,7 +59,7 @@
                 (method git-fetch)
                 (file-name (git-file-name name version))
                 (uri (git-reference
-                      (url "https://github.com/letoram/arcan.git")
+                      (url "https://github.com/letoram/arcan")
                       (commit commit)))
                 (sha256
                  (base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw"))))
                             (method git-fetch)
                             (file-name "arcan-openal-0.5.4")
                             (uri (git-reference
-                                  (url "https://github.com/letoram/openal.git")
+                                  (url "https://github.com/letoram/openal")
                                   (commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef")))
                             (sha256
                              (base32
@@ -177,3 +183,96 @@ 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")
+               (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
+      (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))))
+
+(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)))