anchor.diff:      find . -type f \
         -exec sed -i -e 's/_SVID_SOURCE/_DEFAULT_SOURCE/g' {} \; \
         -exec sed -i -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' {} \;
  +  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
  +    #add missing ctrl+c\z\x\v keybind for non-Darwin
  +    substituteInPlace src/cmd/acme/text.c \
  +      --replace "case Kcmd+'c':" "case 0x03: case Kcmd+'c':" \
  +      --replace "case Kcmd+'z':" "case 0x1a: case Kcmd+'z':" \
  +      --replace "case Kcmd+'x':" "case 0x18: case Kcmd+'x':" \
  +      --replace "case Kcmd+'v':" "case 0x16: case Kcmd+'v':"
     '';
   
     builder = ./builder.sh;
   
     NIX_LDFLAGS="-lgcc_s";
  -  buildInputs = stdenv.lib.optionals
  -                  (!stdenv.isDarwin)
  -                  [ which
  -                    perl
  -                    libX11
  -                    fontconfig
  -                    xproto
  -                    libXt
  -                    xextproto
  -                    libXext
  -                    freetype #fontsrv wants ft2build.h. provides system fonts for acme and sam.
  -                  ];
  +  buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [
  +    which
  +    perl
  +    libX11
  +    fontconfig
  +    xproto
  +    libXt
  +    xextproto
  +    libXext
  +    freetype #fontsrv wants ft2build.h. provides system fonts for acme and sam.
  +  ];
   
     enableParallelBuilding = true;
   
  
positive.code: }:
  
  stdenv.mkDerivation rec {
    name = "plan9port-2015-11-10";
  
    src = fetchgit {
      # Latest, same as on github, google code is old
      url = "https://plan9port.googlesource.com/plan9";
      rev = "0d2dfbc";
      sha256 = "1h16wvps4rfkjim2ihkmniw8wzl7yill5910larci1c70x6zcicf";
    };
  
    patches = [
  
negative.code:     homepage = "http://swtch.com/plan9port/";
      description = "Plan 9 from User Space";
      license = licenses.lpl-102;
      maintainers = with maintainers; [ ftrvxmtrx kovirobi ];
      platforms = platforms.unix;
    };
  
  