gst_all_1.gst-plugins-rs: 0.11.0+fixup -> 0.11.3

Co-Authored-By: OPNA2608 <opna2608@protonmail.com>
This commit is contained in:
Lily Foster 2024-02-05 08:54:15 -05:00 committed by hacker1024
parent 5c24cf2f0a
commit b409a1d3be
4 changed files with 1361 additions and 994 deletions

View File

@ -12,6 +12,7 @@
, MediaToolbox , MediaToolbox
, OpenGL , OpenGL
, Security , Security
, SystemConfiguration
, VideoToolbox , VideoToolbox
, ipu6ep-camera-hal , ipu6ep-camera-hal
, ipu6epmtl-camera-hal , ipu6epmtl-camera-hal
@ -32,7 +33,7 @@
gst-plugins-viperfx = callPackage ./viperfx { }; gst-plugins-viperfx = callPackage ./viperfx { };
gst-plugins-rs = callPackage ./rs { inherit Security; }; gst-plugins-rs = callPackage ./rs { inherit Security SystemConfiguration; };
gst-rtsp-server = callPackage ./rtsp-server { }; gst-rtsp-server = callPackage ./rtsp-server { };

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
, openssl , openssl
, pango , pango
, Security , Security
, SystemConfiguration
, gst-plugins-good , gst-plugins-good
, nix-update-script , nix-update-script
# specifies a limited subset of plugins to build (the default `null` means all plugins supported on the stdenv platform) # specifies a limited subset of plugins to build (the default `null` means all plugins supported on the stdenv platform)
@ -60,8 +61,8 @@ let
raptorq = [ ]; raptorq = [ ];
reqwest = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; reqwest = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
rtp = [ ]; rtp = [ ];
webrtc = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; webrtc = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
webrtchttp = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; webrtchttp = [ gst-plugins-bad openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
# text # text
textahead = [ ]; textahead = [ ];
@ -126,9 +127,9 @@ in
assert lib.assertMsg (invalidPlugins == []) assert lib.assertMsg (invalidPlugins == [])
"Invalid gst-plugins-rs plugin${lib.optionalString (lib.length invalidPlugins > 1) "s"}: ${lib.concatStringsSep ", " invalidPlugins}"; "Invalid gst-plugins-rs plugin${lib.optionalString (lib.length invalidPlugins > 1) "s"}: ${lib.concatStringsSep ", " invalidPlugins}";
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "gst-plugins-rs"; pname = "gst-plugins-rs";
version = "0.11.0+fixup"; version = "0.11.3";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -136,8 +137,8 @@ stdenv.mkDerivation rec {
domain = "gitlab.freedesktop.org"; domain = "gitlab.freedesktop.org";
owner = "gstreamer"; owner = "gstreamer";
repo = "gst-plugins-rs"; repo = "gst-plugins-rs";
rev = version; rev = finalAttrs.version;
hash = "sha256-nvDvcY/WyVhcxitcoqgEUT8A1synZqxG2e51ct7Fgss="; hash = "sha256-0N8duv9E21S1l6G/GAJq8NHDePRqca4Jl9fW9PBDmuw=";
# TODO: temporary workaround for case-insensitivity problems with color-name crate - https://github.com/annymosse/color-name/pull/2 # TODO: temporary workaround for case-insensitivity problems with color-name crate - https://github.com/annymosse/color-name/pull/2
postFetch = '' postFetch = ''
sedSearch="$(cat <<\EOF | sed -ze 's/\n/\\n/g' sedSearch="$(cat <<\EOF | sed -ze 's/\n/\\n/g'
@ -162,12 +163,12 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.importCargoLock { cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
"cairo-rs-0.18.1" = "sha256-k+YIAZXxejbxPQqbUU91qbx2AR98gTrseknLHtNZDEE="; "cairo-rs-0.18.4" = "sha256-HK2DEfFSXxFBq3s4ekWsDJetIoSlmQmb49XUWvA81r0=";
"color-name-1.1.0" = "sha256-RfMStbe2wX5qjPARHIFHlSDKjzx8DwJ+RjzyltM5K7A="; "color-name-1.1.0" = "sha256-RfMStbe2wX5qjPARHIFHlSDKjzx8DwJ+RjzyltM5K7A=";
"ffv1-0.0.0" = "sha256-af2VD00tMf/hkfvrtGrHTjVJqbl+VVpLaR0Ry+2niJE="; "ffv1-0.0.0" = "sha256-af2VD00tMf/hkfvrtGrHTjVJqbl+VVpLaR0Ry+2niJE=";
"flavors-0.2.0" = "sha256-zBa0X75lXnASDBam9Kk6w7K7xuH9fP6rmjWZBUB5hxk="; "flavors-0.2.0" = "sha256-zBa0X75lXnASDBam9Kk6w7K7xuH9fP6rmjWZBUB5hxk=";
"gdk4-0.7.1" = "sha256-UMGmZivVdvmKRAjIGlj6pjDxwfNJyz8/6C0eYH1OOw4="; "gdk4-0.7.3" = "sha256-2uJvefWqEregygbJwDue8hXgfq4g6UL4syC6Q2NoMn4=";
"gstreamer-0.21.0" = "sha256-2uilK8wYG8e59fdL3q+kmixc1zw+EBwqvGs/EgfCGhk="; "gstreamer-0.21.2" = "sha256-pgSoTcvwMvLugbW7jCnI5lAOB69pl9uV6qBkRJhqad0=";
}; };
}; };
@ -202,36 +203,26 @@ stdenv.mkDerivation rec {
map (plugin: lib.mesonEnable plugin true) selectedPlugins map (plugin: lib.mesonEnable plugin true) selectedPlugins
) ++ [ ) ++ [
(lib.mesonOption "sodium-source" "system") (lib.mesonOption "sodium-source" "system")
(lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
(lib.mesonEnable "doc" enableDocumentation) (lib.mesonEnable "doc" enableDocumentation)
]; ];
# turn off all auto plugins since we use a list of plugins we generate # turn off all auto plugins since we use a list of plugins we generate
mesonAutoFeatures = "disabled"; mesonAutoFeatures = "disabled";
doCheck = true; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# csound lib dir must be manually specified for it to build # csound lib dir must be manually specified for it to build
# webrtc and webrtchttp plugins are the only that need gstreamer-webrtc (from gst-plugins-bad, a heavy set)
preConfigure = '' preConfigure = ''
export CARGO_BUILD_JOBS=$NIX_BUILD_CORES export CARGO_BUILD_JOBS=$NIX_BUILD_CORES
patchShebangs dependencies.py patchShebangs dependencies.py
'' + lib.optionalString (lib.elem "csound" selectedPlugins) '' '' + lib.optionalString (lib.elem "csound" selectedPlugins) ''
export CSOUND_LIB_DIR=${lib.getLib csound}/lib export CSOUND_LIB_DIR=${lib.getLib csound}/lib
'' + lib.optionalString (lib.mutuallyExclusive [ "webrtc" "webrtchttp" ] selectedPlugins) ''
sed -i "/\['gstreamer-webrtc-1\.0', 'gst-plugins-bad', 'gstwebrtc_dep', 'gstwebrtc'\]/d" meson.build
'' + lib.optionalString (!gst-plugins-base.glEnabled) ''
sed -i "/\['gstreamer-gl-1\.0', 'gst-plugins-base', 'gst_gl_dep', 'gstgl'\]/d" meson.build
''; '';
# run tests ourselves to avoid meson timing out by default # give meson longer before timing out for tests
checkPhase = '' mesonCheckFlags = [ "--verbose" "--timeout-multiplier" "12" ];
runHook preCheck
meson test --no-rebuild --verbose --timeout-multiplier 12
runHook postCheck
'';
doInstallCheck = (lib.elem "webp" selectedPlugins) && !stdenv.hostPlatform.isStatic && doInstallCheck = (lib.elem "webp" selectedPlugins) && !stdenv.hostPlatform.isStatic &&
stdenv.hostPlatform.isElf; stdenv.hostPlatform.isElf;
@ -243,6 +234,7 @@ stdenv.mkDerivation rec {
passthru.updateScript = nix-update-script { passthru.updateScript = nix-update-script {
# use numbered releases rather than gstreamer-* releases # use numbered releases rather than gstreamer-* releases
# this matches upstream's recommendation: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/470#note_2202772
extraArgs = [ "--version-regex" "([0-9.]+)" ]; extraArgs = [ "--version-regex" "([0-9.]+)" ];
}; };
@ -254,4 +246,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ lilyinstarlight ]; maintainers = with maintainers; [ lilyinstarlight ];
}; };
} })

View File

@ -21313,7 +21313,7 @@ with pkgs;
gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
callPackage = newScope (gst_all_1 // { libav = pkgs.ffmpeg-headless; }); callPackage = newScope (gst_all_1 // { libav = pkgs.ffmpeg-headless; });
inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL Security VideoToolbox; inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL Security SystemConfiguration VideoToolbox;
}); });
gusb = callPackage ../development/libraries/gusb { }; gusb = callPackage ../development/libraries/gusb { };