From 48d8d9cfbb483e99ac7ed9cc73f7d88291bebfb1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 2 Jun 2026 10:42:16 +0200 Subject: [PATCH] pythonPackages.pyobjus: init at 1.2.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: GaƩtan Lepage Co-authored-by: Benjamin Saunders Co-authored-by: Sarah Clark --- .../python-modules/ffpyplayer/default.nix | 2 +- .../python-modules/pyobjus/default.nix | 72 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/pyobjus/default.nix diff --git a/pkgs/development/python-modules/ffpyplayer/default.nix b/pkgs/development/python-modules/ffpyplayer/default.nix index 0661ecb99681..ce6b9c326709 100644 --- a/pkgs/development/python-modules/ffpyplayer/default.nix +++ b/pkgs/development/python-modules/ffpyplayer/default.nix @@ -11,7 +11,7 @@ # buildInputs SDL2, # ffpyplayer is not compatible with ffmpeg 7 - # https://github.com/matham/ffpyplayer/issues/166 + # https://github.com/matham/ffpyplayer/issues/16 ffmpeg_6, }: diff --git a/pkgs/development/python-modules/pyobjus/default.nix b/pkgs/development/python-modules/pyobjus/default.nix new file mode 100644 index 000000000000..7ad8bd677dd1 --- /dev/null +++ b/pkgs/development/python-modules/pyobjus/default.nix @@ -0,0 +1,72 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + python, + + # build-system + cython, + setuptools, + + # buildInputs + libffi, + pytestCheckHook, + clang, +}: + +buildPythonPackage (finalAttrs: { + pname = "pyobjus"; + version = "1.2.4"; + pyproject = true; + __structureAttrs = true; + + src = fetchFromGitHub { + owner = "kivy"; + repo = "pyobjus"; + tag = "v${finalAttrs.version}"; + hash = "sha256-rKMaXvUNdl8/wlDCQPGccQljnaCBSv/P68f7X1xOe0o="; + }; + + build-system = [ + cython + setuptools + ]; + + buildInputs = [ + libffi + ]; + + pythonImportsCheck = [ "pyobjus" ]; + + preCheck = '' + rm -rf pyobjus + make test_lib + mkdir -p $out/${python.sitePackages}/objc_classes + mv objc_classes/test $out/${python.sitePackages}/objc_classes + ''; + + postCheck = '' + rm -rf $out/${python.sitePackages}/objc_classes/test + ''; + + nativeCheckInputs = [ + clang + pytestCheckHook + ]; + + disabledTests = [ + # AssertionError: False is not true + "test_multiple_delegates" + ]; + + meta = { + changelog = "https://github.com/kivy/pyobjus/releases/tag/v${finalAttrs.version}"; + description = "Access Objective-C classes from Python"; + homepage = "https://github.com/kivy/pyobjus"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + drupol + ]; + platforms = lib.platforms.darwin; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1883c287f7b8..ec55b7e74113 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14713,6 +14713,8 @@ self: super: with self; { callPackage ../development/python-modules/pyobjc-framework-libdispatch { }; + pyobjus = callPackage ../development/python-modules/pyobjus { }; + pyocd = callPackage ../development/python-modules/pyocd { }; pyocd-pemicro = callPackage ../development/python-modules/pyocd-pemicro { };