nixpkgs/pkgs/development/python-modules/nuitka/default.nix
2020-05-23 19:28:48 +00:00

53 lines
1.2 KiB
Nix

{ stdenv
, buildPythonPackage
, fetchurl
, vmprof
, pyqt4
, isPyPy
, pkgs
}:
let
# scons is needed but using it requires Python 2.7
# Therefore we create a separate env for it.
scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
in buildPythonPackage rec {
version = "0.6.8.1";
pname = "Nuitka";
# Latest version is not yet on PyPi
src = fetchurl {
url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
sha256 = "1rn6i2mcljhb9nmh8qj3slcmqzs9jx8s7j8r2b7685n7751h5ipj";
};
checkInputs = [ vmprof pyqt4 ];
nativeBuildInputs = [ scons ];
postPatch = ''
patchShebangs tests/run-tests
'' + stdenv.lib.optionalString stdenv.isLinux ''
substituteInPlace nuitka/plugins/standard/ImplicitImports.py --replace 'locateDLL("uuid")' '"${pkgs.utillinux.out}/lib/libuuid.so"'
'';
# We do not want any wrappers here.
postFixup = '''';
checkPhase = ''
tests/run-tests
'';
# Problem with a subprocess (parts)
doCheck = false;
# Requires CPython
disabled = isPyPy;
meta = with stdenv.lib; {
description = "Python compiler with full language support and CPython compatibility";
license = licenses.asl20;
homepage = "https://nuitka.net/";
};
}