aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Craven <david@craven.ch>2016-08-28 17:07:57 +0200
committerDavid Craven <david@craven.ch>2016-09-06 17:48:59 +0200
commit901385ca026bde2a6d4bfeccf8251d8875ab1453 (patch)
treefb397e0159a97ffa7a03423e2d37b29a29c8829e
parent99c53e226ee95f2ee7f58a2704e2c5051af6aaef (diff)
downloadgnu-guix-901385ca026bde2a6d4bfeccf8251d8875ab1453.tar
gnu-guix-901385ca026bde2a6d4bfeccf8251d8875ab1453.tar.gz
gnu: Add greenisland.
* gnu/packages/display-managers.scm (greenisland): New variable.
-rw-r--r--gnu/packages/display-managers.scm92
1 files changed, 89 insertions, 3 deletions
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 3f3c6dba5c..74a607a870 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -25,12 +25,98 @@
#:use-module (guix build-system cmake)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)
- #:use-module (gnu packages xorg)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages image)
- #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages linux))
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg))
+
+(define-public greenisland
+ (package
+ (name "greenisland")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/greenisland/greenisland"
+ "/releases/download/v" version "/"
+ "greenisland-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("dbus" ,dbus)
+ ("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("xorg-server" ,xorg-server)))
+ (inputs
+ `(("elogind" ,elogind)
+ ("eudev" ,eudev)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("glib" ,glib)
+ ("libdrm" ,libdrm)
+ ("libinput" ,libinput-minimal)
+ ("libxcursor" ,libxcursor)
+ ("libxkbcommon" ,libxkbcommon)
+ ("libx11" ,libx11)
+ ("mesa" ,mesa)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("xcb-util-cursor" ,xcb-util-cursor)))
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DPLUGIN_INSTALL_DIR="
+ (assoc-ref %outputs "out") "/plugins")
+ (string-append "-DQML_INSTALL_DIR="
+ (assoc-ref %outputs "out") "/qml"))
+ #:modules ((guix build cmake-build-system)
+ (guix build qt-utils)
+ (guix build utils))
+ #:imported-modules (,@%cmake-build-system-modules
+ (guix build qt-utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-udev-tests
+ (lambda _ ; FIXME: Build env doesn't contain /dev/sda
+ (substitute* "tests/auto/platform/tst_udev.cpp"
+ (("QVERIFY") "// QVERIFY")
+ (("QCOMPARE") "// QCOMPARE"))))
+ (replace 'check
+ (lambda _
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (zero? (system* "dbus-launch" "ctest" "."))))
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (setenv "XDG_RUNTIME_DIR" (getcwd))
+ #t))
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-qt-program out "greenisland")
+ (wrap-qt-program out "greenisland-launcher")
+ (wrap-qt-program out "greenisland-screencaster")
+ (wrap-qt-program out "greenisland-wayland-scanner")
+ #t))))))
+ (synopsis "QtQuick Wayland compositor and shell for desktop and mobile")
+ (description "Green Island provides a full blown Wayland compositor for
+QtQuick as well as pluggable hardware abstraction, extensions, tools and a
+Qt-style API for Wayland clients.")
+ (home-page "http://hawaiios.org")
+ ;; Choice of license at the user's opinion.
+ (license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
(define-public slim
(package