{ lib, stdenv, buildPythonPackage, cargo, fetchFromGitHub, openssl, pkg-config, pythonOlder, rustc, rustPlatform, }: buildPythonPackage rec { pname = "typst"; version = "0.13.4"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "messense"; repo = "typst-py"; tag = "v${version}"; hash = "sha256-nY5ErzIApQuVMcmVmufab/ugznKHXV3BkyeWRBPH7Z0="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; hash = "sha256-02nnO9Ie+AcS0Zssh70rqMGT8nmRJZ/Sz1opkqbooKQ="; }; build-system = [ cargo pkg-config rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook rustc ]; buildInputs = [ openssl ]; pythonImportsCheck = [ "typst" ]; env = { OPENSSL_NO_VENDOR = true; }; # Module has no tests doCheck = false; meta = { description = "Python binding to typst"; homepage = "https://github.com/messense/typst-py"; changelog = "https://github.com/messense/typst-py/releases/tag/v${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; }