Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / cx-freeze / default.nix
blob1c147ddbb88b97cf4f2f3b7084f19016d270dbcb
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , pythonOlder
5 , ncurses
6 , importlib-metadata
7 , setuptools
8 , wheel
9 , patchelf
12 buildPythonPackage rec {
13   pname = "cx-freeze";
14   version = "6.15.16";
15   pyproject = true;
17   disabled = pythonOlder "3.8";
19   src = fetchPypi {
20     pname = "cx_Freeze";
21     inherit version;
22     hash = "sha256-xjmRiG/ypTGfjw0HwDSaa74aZbXzIPi5JDiI5jyaSiI=";
23   };
25   nativeBuildInputs = [
26     setuptools
27     wheel
28   ];
30   propagatedBuildInputs = [
31     importlib-metadata # upstream has this for 3.8 as well
32     ncurses
33     setuptools
34   ];
36   postPatch = ''
37     # timestamp need to come after 1980 for zipfiles and nix store is set to epoch
38     substituteInPlace cx_Freeze/freezer.py \
39       --replace "st.st_mtime" "time.time()"
41     sed -i /patchelf/d pyproject.toml
42   '';
44   makeWrapperArgs = [
45     "--prefix"
46     "PATH"
47     ":"
48     (lib.makeBinPath [ patchelf ])
49   ];
51   # fails to find Console even though it exists on python 3.x
52   doCheck = false;
54   meta = with lib; {
55     description = "A set of scripts and modules for freezing Python scripts into executables";
56     homepage = "https://marcelotduarte.github.io/cx_Freeze/";
57     changelog = "https://github.com/marcelotduarte/cx_Freeze/releases/tag/${version}";
58     license = licenses.psfl;
59     maintainers = with maintainers; [ ];
60     mainProgram = "cxfreeze";
61   };