gst_all_1: specify CPE identifier where applicable (#558401)

This commit is contained in:
Grimmauld
2026-09-11 22:51:03 +00:00
committed by GitHub
9 changed files with 37 additions and 0 deletions

View File

@@ -443,5 +443,6 @@ stdenv.mkDerivation (finalAttrs: {
license = if enableGplPlugins then lib.licenses.gpl2Plus else lib.licenses.lgpl2Plus;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -240,5 +240,6 @@ stdenv.mkDerivation (finalAttrs: {
);
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -146,6 +146,26 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
updateScript = directoryListingUpdater { odd-unstable = true; };
# From around version 1.12.0 on, there is a single CPE identifier for all of GStreamer.
# FIXME: Should gst-plugins-rs follow the main GStreamer versioning or its own deviating version?
gstreamerCpeParts =
let
commonGstreamerVersion = finalAttrs.version;
in
version:
lib.warnIf (version != commonGstreamerVersion)
''
Detected mismatch between common GStreamer version (${commonGstreamerVersion}) and version used for gstreamerCpeParts (${version}).
Note that GStreamer uses a common CPE identifier for its components.
Having a deviating version is unusual, but may occur e.g. if overriding a subset of GStreamer libraries.
''
(
lib.meta.cpeFullVersionWithVendor "gstreamer" version
// {
product = "gstreamer";
}
);
};
meta = {
@@ -159,5 +179,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
tmarkus
];
identifiers.cpeParts = finalAttrs.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -132,5 +132,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -14,6 +14,8 @@
flex,
gettext,
gobject-introspection,
# for passthru.gstreamerCpeParts
gstreamer,
# Checks meson.is_cross_build(), so even canExecute isn't enough.
enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
hotdoc,
@@ -93,5 +95,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -61,6 +61,8 @@
wavpack,
glib,
openssl,
# for passthru.gstreamerCpeParts
gstreamer,
# Checks meson.is_cross_build(), so even canExecute isn't enough.
enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
hotdoc,
@@ -306,5 +308,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -75,5 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tmarkus ];
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
};
})

View File

@@ -10,6 +10,8 @@
gobject-introspection,
gst-plugins-base,
gst-plugins-bad,
# only for passthru.gstreamerCpeParts
gstreamer,
# Checks meson.is_cross_build(), so even canExecute isn't enough.
enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
hotdoc,
@@ -82,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
A library on top of GStreamer for building an RTSP server.
'';
license = lib.licenses.lgpl2Plus;
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ bkchr ];
};

View File

@@ -17,6 +17,8 @@
libintl,
lib,
enableGplPlugins ? true,
# only for passthru.gstreamerCpeParts
gstreamer,
# Checks meson.is_cross_build(), so even canExecute isn't enough.
enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
hotdoc,
@@ -122,6 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
like. The code might be widely known to present patent problems.
'';
license = if enableGplPlugins then lib.licenses.gpl2Plus else lib.licenses.lgpl2Plus;
identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ tmarkus ];
};