diff --git a/pkgs/by-name/el/elfdeps/package.nix b/pkgs/by-name/el/elfdeps/package.nix new file mode 100644 index 000000000000..045faa19eb13 --- /dev/null +++ b/pkgs/by-name/el/elfdeps/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, +}: + +python3Packages.buildPythonApplication rec { + pname = "elfdeps"; + version = "0.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "python-wheel-build"; + repo = "elfdeps"; + tag = "v${version}"; + hash = "sha256-5CrxVmtZcBYBMXw7o58CpFopYFgXD4W/S42aow1z1Xw="; + }; + + build-system = with python3Packages; [ + setuptools + setuptools-scm + ]; + + dependencies = [ python3Packages.pyelftools ]; + + nativeCheckInputs = [ python3Packages.pytestCheckHook ]; + + pythonImportsCheck = [ + "elfdeps" + ]; + + preCheck = '' + export PATH=$PATH:$out/bin + ''; + + # tests assume that sys.executable is an ELF object + doCheck = stdenv.hostPlatform.isElf; + + disabledTests = [ + # Attempts to zip sys.executable and fails with: + # ValueError: ZIP does not support timestamps before 1980 + "test_main_zipfile" + "test_zipmember_python" + ]; + + meta = { + description = "Python implementation of RPM elfdeps"; + homepage = "https://pypi.org/project/elfdeps/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ booxter ]; + mainProgram = "elfdeps"; + }; +} diff --git a/pkgs/by-name/fr/fromager/package.nix b/pkgs/by-name/fr/fromager/package.nix new file mode 100644 index 000000000000..76ce0dd60272 --- /dev/null +++ b/pkgs/by-name/fr/fromager/package.nix @@ -0,0 +1,62 @@ +{ + lib, + python3, + fetchFromGitHub, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "fromager"; + version = "0.46.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "python-wheel-build"; + repo = "fromager"; + tag = version; + hash = "sha256-SBb5gWV8/t3oRAR2R5T72DW1LKrxXXH6yho9l7agsNI="; + }; + + build-system = with python3.pkgs; [ + setuptools + setuptools-scm + ]; + + dependencies = with python3.pkgs; [ + click + elfdeps + html5lib + packaging + pkginfo + psutil + pydantic + pyproject-hooks + pyyaml + requests + resolvelib + rich + setuptools + stevedore + tomlkit + tqdm + virtualenv + wheel + ]; + + nativeCheckInputs = with python3.pkgs; [ + pytestCheckHook + requests-mock + twine + ]; + + pythonImportsCheck = [ + "fromager" + ]; + + meta = { + description = "Wheel maker"; + homepage = "https://pypi.org/project/fromager/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ booxter ]; + mainProgram = "fromager"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b57b65b78a53..eab2fc006ff1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4408,6 +4408,8 @@ self: super: with self; { elevenlabs = callPackage ../development/python-modules/elevenlabs { }; + elfdeps = toPythonModule (pkgs.elfdeps.override { python3Packages = self; }); + elgato = callPackage ../development/python-modules/elgato { }; eliot = callPackage ../development/python-modules/eliot { };