cleverca22
6/26/2016 - 8:06 PM

version1.nix

{ stdenv, python2, pygame, python2Packages, ftputil }:

let
  pythonPath = builtins.concatStringsSep ":" (builtins.map (pkg: "${pkg}/lib/${python2.libPrefix}/site-packages") [ pygame python2Packages.pyopengl python2Packages.pillow python2Packages.numpy python2Packages.pyyaml ftputil ]);
in
stdenv.mkDerivation {
  name = "mcedit";
  src = ./MCEdit.v1.5.1.0.Lin.Universal.run;
  unpackPhase = ''
    cp $src MCEdit.v1.5.1.0.Lin.Universal.run
    chmod +x MCEdit.v1.5.1.0.Lin.Universal.run
    ./MCEdit.v1.5.1.0.Lin.Universal.run --noexec --keep
    cd mcedit
  '';
  installPhase = ''
    mkdir -pv $out/{bin,lib{,splash}}
    cp -vir mcedit *.png pymclevel Items bo3.def RELEASE-VERSION.json lang fonts toolicons $out/lib
    touch $out/lib/splash
    cat <<EOF > $out/bin/mcedit
    #${stdenv.shell}
    export PYTHONPATH=${pythonPath}
    exec ${python2}/bin/python $out/lib/mcedit "\$@"
    EOF
    chmod +x $out/bin/mcedit
    ln -sv /tmp/mcedit.log $out/lib/mcedit.log
  '';
}
{ stdenv, fetchFromGitHub, python2, pygame, python2Packages, ftputil }:

let
  pythonPath = builtins.concatStringsSep ":" (builtins.map (pkg: "${pkg}/lib/${python2.libPrefix}/site-packages") [ pygame python2Packages.pyopengl python2Packages.pillow python2Packages.numpy python2Packages.pyyaml ftputil ]);
in
python2Packages.buildPythonPackage rec {
#stdenv.mkDerivation {
  name = "mcedit";
  src = fetchFromGitHub {
    owner = "Khroki";
    repo = "MCEdit-Unified";
    rev = "07567d6a8668064e4e235a9db1ca170f1e775206";
    sha256 = "1jw7iapmkhz49wbv96jjy3x2qmdhz075q6haw6rzchgnd3vq1qp0";
  };
  buildInputs = [ python2Packages.cython ];
  installPhase = ''
    mkdir -pv $out/{bin,lib{,splash}}
    cp -vir mcedit *.png pymclevel Items bo3.def RELEASE-VERSION.json lang fonts toolicons $out/lib
    touch $out/lib/splash
    cat <<EOF > $out/bin/mcedit
    #${stdenv.shell}
    export PYTHONPATH=${pythonPath}
    exec ${python2}/bin/python $out/lib/mcedit "\$@"
    EOF
    chmod +x $out/bin/mcedit
    ln -sv /tmp/mcedit.log $out/lib/mcedit.log
  '';
}