76 lines
1.8 KiB
Nix
76 lines
1.8 KiB
Nix
{ buildPythonPackage
|
|
, fetchurl
|
|
, meson
|
|
, ninja
|
|
, stdenv
|
|
, pkgconfig
|
|
, python
|
|
, pygobject3
|
|
, gobject-introspection
|
|
, gst-plugins-base
|
|
, isPy3k
|
|
, fetchpatch
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "gst-python";
|
|
version = "1.16.2";
|
|
|
|
format = "other";
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
src = fetchurl {
|
|
url = "${meta.homepage}/src/gst-python/${pname}-${version}.tar.xz";
|
|
sha256 = "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
pkgconfig
|
|
python
|
|
gobject-introspection
|
|
gst-plugins-base
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
gst-plugins-base
|
|
pygobject3
|
|
];
|
|
|
|
patches = stdenv.lib.optionals stdenv.isDarwin [
|
|
# Fix configure python lib detection in macOS. Remove with the next release
|
|
(fetchpatch {
|
|
url = "https://github.com/GStreamer/gst-python/commit/f98c206bdf01529f8ea395a719b10baf2bdf717f.patch";
|
|
sha256 = "04n4zrnfivgr7iaqw4sjlbd882s8halc2bbbhfxqf0sg2lqwmrxg";
|
|
})
|
|
] ++ [
|
|
# Fix linking against Python 3.8
|
|
# https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/30
|
|
(fetchpatch {
|
|
url = "https://gitlab.freedesktop.org/gstreamer/gst-python/commit/22f28155d86e27c4134de4ed2861264003fcfd23.patch";
|
|
sha256 = "Y70qVguHUBmmRVMFBKAP0d6anBQw5W0TKyu2bAwxbQg=";
|
|
})
|
|
];
|
|
|
|
mesonFlags = [
|
|
"-Dpython=python${if isPy3k then "3" else "2"}"
|
|
"-Dpygi-overrides-dir=${placeholder "out"}/${python.sitePackages}/gi/overrides"
|
|
];
|
|
|
|
doCheck = true;
|
|
|
|
# TODO: Meson setup hook does not like buildPythonPackage
|
|
# https://github.com/NixOS/nixpkgs/issues/47390
|
|
installCheckPhase = "meson test --print-errorlogs";
|
|
|
|
meta = {
|
|
homepage = "https://gstreamer.freedesktop.org";
|
|
|
|
description = "Python bindings for GStreamer";
|
|
|
|
license = stdenv.lib.licenses.lgpl2Plus;
|
|
};
|
|
}
|