Something went wrong. Try again.
Nix Packages collection & NixOS github.com/NixOS/nixpkgs
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114{ lib, fetchPypi, buildPythonPackage, fetchpatch, isPyPy, python,
# build-system meson, meson-python, pkg-config,
# native dependencies dbus, dbus-glib,
# test dependencies pygobject3,}:
buildPythonPackage (finalAttrs: { pname = "dbus-python"; version = "1.4.0"; pyproject = true;
disabled = isPyPy;
outputs = [ "out" "dev" ];
src = fetchPypi { pname = "dbus-python"; inherit (finalAttrs) version; hash = "sha256-mRZm5Jj2Db8+Sbi3Z49VWbimUDT99hquYs3s232Jx3A="; };
patches = [ # reduce required dependencies # https://gitlab.freedesktop.org/dbus/dbus-python/-/merge_requests/23 (fetchpatch { url = "https://gitlab.freedesktop.org/dbus/dbus-python/-/commit/d5e19698a8d6e1485f05b67a5b2daa2392819aaf.patch"; hash = "sha256-Rmj/ByRLiLnIF3JsMBElJugxsG8IARcBdixLhoWgIYU="; })
# Fix on Python 3.15, the patch did not achieve what it aimed for anyway. # https://gitlab.freedesktop.org/dbus/dbus-python/-/work_items/59 (fetchpatch { url = "https://gitlab.freedesktop.org/dbus/dbus-python/-/commit/ebecd1747c382a57ad8e47d0e32112cdbd454b40.patch"; hash = "sha256-Hg4o+FPJvQ1/RW9fd8UJg/YEeVOvbJCov7SS7bT0vvs="; revert = true; }) ];
postPatch = '' # we provide patchelf natively, not through the python package sed -i '/patchelf/d' pyproject.toml
patchShebangs test/*.sh '';
nativeBuildInputs = [ dbus # build systems checks for `dbus-run-session` in PATH meson meson-python pkg-config ];
buildInputs = [ dbus dbus-glib ];
checkInputs = [ pygobject3 ];
mesonFlags = [ (lib.mesonEnable "tests" finalAttrs.finalPackage.doInstallCheck) ];
# workaround bug in meson-python # https://github.com/mesonbuild/meson-python/issues/240 postInstall = '' mkdir -p $dev/lib mv $out/${python.sitePackages}/.dbus_python.mesonpy.libs/pkgconfig/ $dev/lib '';
# make sure the Cflags in the pkgconfig file are correct and make the structure backwards compatible postFixup = '' ln -s $dev/include/*/dbus_python/dbus-1.0/ $dev/include/dbus-1.0 '';
nativeCheckInputs = [ dbus.out ];
checkPhase = '' runHook preCheck
meson test -C build --no-rebuild --print-errorlogs --timeout-multiplier 0
runHook postCheck '';
meta = { description = "Python DBus bindings"; homepage = "https://gitlab.freedesktop.org/dbus/dbus-python"; license = lib.licenses.mit; platforms = dbus.meta.platforms; maintainers = [ ]; };})