diff options
Diffstat (limited to 'pkgs/development/python-modules/rubicon-objc/default.nix')
-rw-r--r-- | pkgs/development/python-modules/rubicon-objc/default.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/rubicon-objc/default.nix b/pkgs/development/python-modules/rubicon-objc/default.nix new file mode 100644 index 0000000000000..f12f08e0ad47f --- /dev/null +++ b/pkgs/development/python-modules/rubicon-objc/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, darwin +, fetchFromGitHub +, pythonOlder +, setuptools +, setuptools-scm +, unittestCheckHook +}: + +buildPythonPackage rec { + pname = "rubicon-objc"; + version = "0.4.8"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "beeware"; + repo = "rubicon-objc"; + rev = "refs/tags/v${version}"; + hash = "sha256-aFKzLeVYn5u8hTEgXCum3XpZxI7C/Wql41jkWkCF0HQ="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools==69.2.0" "setuptools" \ + --replace-fail "setuptools_scm==8.0.4" "setuptools_scm" + ''; + + build-system = [ + setuptools + setuptools-scm + ]; + + preCheck = '' + make -C tests/objc + ''; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + checkInputs = [ + darwin.apple_sdk.frameworks.Foundation + ]; + + pythonImportsCheck = [ + "rubicon.objc" + ]; + + __darwinAllowLocalNetworking = true; + + meta = { + description = "A bridge interface between Python and Objective-C"; + homepage = "https://github.com/beeware/rubicon-objc/"; + changelog = "https://github.com/beeware/rubicon-objc/releases/tag/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ natsukium ]; + platforms = lib.platforms.darwin; + }; +} |