From 6b62a8fba22ac1af710abbcbd1a29e8a9eaf0a9e Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 3 Sep 2025 18:08:59 +0200 Subject: [PATCH] python3Packages.mpl-typst: add typst to closure, unbreak --- .../python-modules/mpl-typst/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 +++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/mpl-typst/default.nix b/pkgs/development/python-modules/mpl-typst/default.nix index c2d0d1ffc697..47f092e89fa0 100644 --- a/pkgs/development/python-modules/mpl-typst/default.nix +++ b/pkgs/development/python-modules/mpl-typst/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, fetchFromGitHub, buildPythonPackage, setuptools, @@ -8,6 +9,7 @@ pytestCheckHook, pillow, nix-update-script, + typst, }: buildPythonPackage rec { @@ -22,6 +24,14 @@ buildPythonPackage rec { hash = "sha256-lkO4BTo3duNAsppTjteeBuzgSJL/UnKVW2QXgrfVrqM="; }; + postPatch = '' + # make hermetic + substituteInPlace mpl_typst/config.py \ + --replace-fail \ + "get_typst_compiler(name: str, default=Path('typst'))" \ + "get_typst_compiler(name: str, default=Path('${lib.getExe typst}'))" + ''; + build-system = [ setuptools ]; @@ -36,11 +46,25 @@ buildPythonPackage rec { numpy ]; + pytestFlagsArray = [ "-v" ]; + pythonImportsCheck = [ "mpl_typst" "mpl_typst.as_default" ]; + disabledTests = [ + # runs typst and gets "error: failed to download package" + "test_draw_path" + "test_draw_image_lenna" + "test_draw_image_spy" + ]; + + disabledTestPaths = lib.optional stdenv.hostPlatform.isDarwin [ + # fatal error when matplotlib creates a canvas + "mpl_typst/backend_test.py" + ]; + passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 989f26ad914b..879c025a2cb7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9635,7 +9635,9 @@ self: super: with self; { mpl-scatter-density = callPackage ../development/python-modules/mpl-scatter-density { }; - mpl-typst = callPackage ../development/python-modules/mpl-typst { }; + mpl-typst = callPackage ../development/python-modules/mpl-typst { + inherit (pkgs) typst; + }; mplcursors = callPackage ../development/python-modules/mplcursors { };