about summary refs log tree commit diff
path: root/pkgs/applications/window-managers/sway/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/window-managers/sway/default.nix')
-rw-r--r--pkgs/applications/window-managers/sway/default.nix83
1 files changed, 51 insertions, 32 deletions
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index ac725733d647..274325b67858 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -1,45 +1,64 @@
-{ stdenv, fetchFromGitHub, pango, libinput
-, makeWrapper, cmake, pkgconfig, asciidoc, libxslt, docbook_xsl, cairo
-, wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, dbus_libs, libcap
-, xwayland, pam, gdk_pixbuf
+{ stdenv, fetchFromGitHub
+, makeWrapper, cmake, pkgconfig, asciidoc, libxslt, docbook_xsl
+, wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, dbus_libs
+, pango, cairo, libinput, libcap, xwayland, pam, gdk_pixbuf, libpthreadstubs
+, libXdmcp
 }:
 
 let
   version = "0.13.0";
-in
-  stdenv.mkDerivation rec {
-    name = "sway-${version}";
+  # Temporary workaround (0.14.0 segfaults)
+  wlc_009 = stdenv.lib.overrideDerivation wlc (oldAttrs: rec {
+    name = "wlc-${version}";
+    version = "0.0.9";
 
     src = fetchFromGitHub {
-      owner = "Sircmpwn";
-      repo = "sway";
-      rev = "${version}";
-      sha256 = "1vgk4rl51nx66yzpwg4yhnbj7wc30k5q0hh5lf8y0i1nvpal0p3q";
+      owner = "Cloudef";
+      repo = "wlc";
+      rev = "v${version}";
+      fetchSubmodules = true;
+      sha256 = "1r6jf64gs7n9a8129wsc0mdwhcv44p8k87kg0714rhx3g2w22asg";
     };
+  });
+in stdenv.mkDerivation rec {
+  name = "sway-${version}";
 
-    nativeBuildInputs = [ makeWrapper cmake pkgconfig asciidoc libxslt docbook_xsl ];
+  src = fetchFromGitHub {
+    owner = "Sircmpwn";
+    repo = "sway";
+    rev = "${version}";
+    sha256 = "1vgk4rl51nx66yzpwg4yhnbj7wc30k5q0hh5lf8y0i1nvpal0p3q";
+  };
 
-    buildInputs = [ wayland wlc libxkbcommon pixman fontconfig pcre json_c dbus_libs pango cairo libinput libcap xwayland pam gdk_pixbuf ];
+  nativeBuildInputs = [
+    makeWrapper cmake pkgconfig
+    asciidoc libxslt docbook_xsl
+  ];
+  buildInputs = [
+    wayland wlc_009 libxkbcommon pixman fontconfig pcre json_c dbus_libs
+    pango cairo libinput libcap xwayland pam gdk_pixbuf libpthreadstubs
+    libXdmcp
+  ];
 
-    patchPhase = ''
-      sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt;
-    '';
+  patchPhase = ''
+    sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt;
+  '';
 
-    makeFlags = "PREFIX=$(out)";
-    cmakeFlags = "-DVERSION=${version}";
-    installPhase = "PREFIX=$out make install";
+  makeFlags = "PREFIX=$(out)";
+  cmakeFlags = "-DVERSION=${version}";
+  installPhase = "PREFIX=$out make install";
 
-    LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ wlc dbus_libs ];
-    preFixup = ''
-      wrapProgram $out/bin/sway \
-        --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}";
-    '';
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ wlc_009 dbus_libs ];
+  preFixup = ''
+    wrapProgram $out/bin/sway \
+      --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}";
+  '';
 
-    meta = with stdenv.lib; {
-      description = "i3-compatible window manager for Wayland";
-      homepage    = "http://swaywm.org";
-      license     = licenses.mit;
-      platforms   = platforms.linux;
-      maintainers = with maintainers; [ ];
-    };
-  }
+  meta = with stdenv.lib; {
+    description = "i3-compatible window manager for Wayland";
+    homepage    = http://swaywm.org;
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ primeos ]; # Trying to keep it up-to-date.
+  };
+}