# Overrides for the generated python-packages.nix # # This function is intended to be used as an extension to the generated file # python-packages.nix. The main objective is to add needed dependencies of C # libraries and tweak the build instructions where needed. { pkgs , basePythonPackages }: let sed = "sed -i"; in self: super: { "cffi" = super."cffi".override (attrs: { buildInputs = [ pkgs.libffi ]; }); "ipython" = super."ipython".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ self."setuptools-scm" ]; }); "gevent" = super."gevent".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ # NOTE: (marcink) odd requirements from gevent aren not set properly, # thus we need to inject psutil manually self."psutil" ]; }); "hgsubversion" = super."hgsubversion".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ pkgs.sqlite #basePythonPackages.sqlite3 self.mercurial ]; }); "subvertpy" = super."subvertpy".override (attrs: { SVN_PREFIX = "${pkgs.subversion.dev}"; propagatedBuildInputs = [ pkgs.apr.dev pkgs.aprutil pkgs.subversion ]; }); "mercurial" = super."mercurial".override (attrs: { propagatedBuildInputs = [ # self.python.modules.curses ]; }); "dulwich" = super."dulwich".override (attrs: { patches = [ ./patches/dulwich/handle-dir-refs.patch ]; }); "pygit2" = super."pygit2".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ pkgs.libffi pkgs.libgit2rc ]; }); "pytest" = super."pytest".override (attrs: { patches = [ ./patches/pytest/setuptools.patch ]; }); "pytest-runner" = super."pytest-runner".override (attrs: { propagatedBuildInputs = [ self."setuptools-scm" ]; }); "py" = super."py".override (attrs: { propagatedBuildInputs = [ self."setuptools-scm" ]; }); "configparser" = super."configparser".override (attrs: { patches = [ ./patches/configparser/pyproject.patch ]; propagatedBuildInputs = [ self."setuptools-scm" ]; }); "importlib-metadata" = super."importlib-metadata".override (attrs: { patches = [ ./patches/importlib_metadata/pyproject.patch ]; propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ self."setuptools-scm" ]; }); "zipp" = super."zipp".override (attrs: { patches = [ ./patches/zipp/pyproject.patch ]; propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ self."setuptools-scm" ]; }); # Avoid that base packages screw up the build process inherit (basePythonPackages) setuptools; }