summary refs log tree commit diff
path: root/pkgs/tools/X11/winswitch/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/X11/winswitch/default.nix')
-rw-r--r--pkgs/tools/X11/winswitch/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
new file mode 100644
index 00000000000..b53db509daf
--- /dev/null
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, buildPythonPackage, pythonPackages
+, which, xpra, xmodmap }:
+
+let
+  base = buildPythonPackage rec {
+    name = "winswitch-${version}";
+    namePrefix = "";
+    version = "0.12.16";
+
+    src = fetchurl {
+      url = "http://winswitch.org/src/${name}.src.tar.bz2";
+      sha256 = "0ix122d7rgzdkk70f2q3sd7a4pvyaqsyxkw93pc4zkcg1xh9z3y8";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [
+      pygtk twisted pycrypto pyasn1 which xpra xmodmap
+    ];
+
+    patchPhase = ''
+      sed -i -r -e 's|(PREFIX_DIR *= *).*|\1"'"$out"'"|'             \
+                -e 's|(PREFIX_SEARCH_ORDER *= *).*|\1["'"$out"'"]|'  \
+                -e 's|(ETC_SEARCH_ORDER *= *).*|\1["'"$out/etc"'"]|' \
+                -e 's|(BIN_SEARCH_ORDER *= *).*|\1["'"$out/bin"'"]|' \
+                winswitch/util/paths.py
+
+      sed -i -e '/elif *LINUX:/,/distro_helper/{
+        s/elif *LINUX:.*/else: name = "NixOS"/p
+        /distro_helper/!d
+      }' winswitch/util/distro_packaging_util.py
+    '';
+
+    buildPhase = ''
+      python setup.py build
+    '';
+
+    installCommand = ''
+      PREFIX="$out" python ./setup.py install --prefix="$out"
+    '';
+
+    doCheck = false;
+  };
+in stdenv.lib.overrideDerivation base (b: {
+  postFixup = b.postFixup + ''
+    sed -i -e 's/\''${PATH:+:}\$PATH//g' "$out/bin"/*
+  '';
+})