gst-meet/shell.nix

90 lines
3.1 KiB
Nix
Raw Normal View History

with import <nixpkgs> {};
let
meson-patched = meson.overridePythonAttrs(old: rec {
version = "0.59.4";
src = pythonPackages.fetchPypi {
inherit version;
pname = old.pname;
sha256 = "a77988cc50554f73ede075bc9bf77a2d7ecb6ff892f2a0180d4940920eaaec84";
};
patches = builtins.filter (patch: baseNameOf patch != "gir-fallback-path.patch") old.patches;
});
gstreamer = (gst_all_1.gstreamer.override {
meson = meson-patched;
}).overrideAttrs(old: rec {
2021-11-05 02:41:50 +00:00
version = "1.19.3";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${old.pname}/${old.pname}-${version}.tar.xz";
2021-11-05 02:41:50 +00:00
sha256 = "906d7d4bf92f941586c0cbce717d9cad6aac36994e16fa6f2f153e07e3221bca";
};
patches = [];
mesonFlags = old.mesonFlags ++ ["-Dorc=disabled"];
});
gst-plugins-base = (gst_all_1.gst-plugins-base.override {
meson = meson-patched;
gstreamer = gstreamer;
}).overrideAttrs(old: rec {
2021-11-05 02:41:50 +00:00
version = "1.19.3";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${old.pname}/${old.pname}-${version}.tar.xz";
2021-11-05 02:41:50 +00:00
sha256 = "e277f198623a26c1b0a1e19734656392e9368bebf3677cd94262a1316a960827";
};
patches = [];
mesonFlags = old.mesonFlags ++ ["-Dorc=disabled"];
});
gst-plugins-good = (gst_all_1.gst-plugins-good.override {
meson = meson-patched;
gst-plugins-base = gst-plugins-base;
}).overrideAttrs(old: rec {
2021-11-05 02:41:50 +00:00
version = "1.19.3";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${old.pname}/${old.pname}-${version}.tar.xz";
2021-11-05 02:41:50 +00:00
sha256 = "79ea32a77fa47e6596530e38113bf97c113fd95658087d9a91ffb8af47d11d07";
};
patches = [];
mesonFlags = old.mesonFlags ++ ["-Dorc=disabled"];
});
gst-plugins-bad = (gst_all_1.gst-plugins-bad.override {
meson = meson-patched;
gst-plugins-base = gst-plugins-base;
}).overrideAttrs(old: rec {
2021-11-05 02:41:50 +00:00
version = "1.19.3";
src = fetchurl {
url = "https://gstreamer.freedesktop.org/src/${old.pname}/${old.pname}-${version}.tar.xz";
2021-11-05 02:41:50 +00:00
sha256 = "50193a23b13713ccb32ee5d1852faeeaed29b91f8398285acdfd522fa3e16835";
};
patches = [];
mesonFlags = old.mesonFlags ++ ["-Dorc=disabled" "-Dgs=disabled" "-Disac=disabled" "-Dldac=disabled" "-Donnx=disabled" "-Dopenaptx=disabled" "-Dqroverlay=disabled" "-Dtests=disabled" "-Dfaad=disabled" "-Dmpeg2enc=disabled" "-Dmplex=disabled" "-Dresindvd=disabled" "-Dx265=disabled"];
});
libnice-patched = (libnice.override {
meson = meson-patched;
}).overrideAttrs(old: rec {
buildInputs = [
gstreamer
gst-plugins-base
openssl
];
outputs = [ "bin" "out" "dev" ];
mesonFlags = old.mesonFlags ++ ["-Dgupnp=disabled" "-Dgtk_doc=disabled"];
});
in
mkShell {
name = "gst-meet";
buildInputs = [
cargo
pkg-config
glib
glib-networking
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
libnice-patched
] ++ (if stdenv.isDarwin then [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
] else []);
GIO_EXTRA_MODULES = ["${pkgs.glib-networking.out}/lib/gio/modules"];
}