4e10617bc4
Wow, this is one of the most dangerous programs I've seen in a while. It not only tries to probe for a package manager to install dependencies but also tries to execute a whole bunch of programs in $PATH. That's why I decided to override the postFixup phase for now in order to get rid of the current $PATH and meanwhile getting the basics working. So, I'm still not sure how to do the best implementation here on NixOS without allowing winswitch to be too invasive and without restricting it too much so that it's of no use. But let's figure that out once we trimmed down the radiation level of this "living" thing ;-) Signed-off-by: aszlig <aszlig@redmoonstudios.org>
46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{ 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"/*
|
|
'';
|
|
})
|