From 5bde4da1de6963c8c499072599bf6ea437721f68 Mon Sep 17 00:00:00 2001 From: whoomee Date: Mon, 31 Aug 2026 15:39:00 +0200 Subject: [PATCH] gst_all_1: specify CPE identifier where applicable --- .../libraries/gstreamer/bad/default.nix | 1 + .../libraries/gstreamer/base/default.nix | 1 + .../libraries/gstreamer/core/default.nix | 21 +++++++++++++++++++ .../libraries/gstreamer/devtools/default.nix | 1 + .../libraries/gstreamer/ges/default.nix | 3 +++ .../libraries/gstreamer/good/default.nix | 3 +++ .../libraries/gstreamer/libav/default.nix | 1 + .../gstreamer/rtsp-server/default.nix | 3 +++ .../libraries/gstreamer/ugly/default.nix | 3 +++ 9 files changed, 37 insertions(+) diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index d91572296421..e607d95bb631 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 087c8c50b3d1..b1a4029028fd 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -240,5 +240,6 @@ stdenv.mkDerivation (finalAttrs: { ); platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ tmarkus ]; + identifiers.cpeParts = gstreamer.passthru.gstreamerCpeParts finalAttrs.version; }; }) diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 0c959452333b..354dd05ddf7c 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix index 12eafbc7e91a..892fe6e84af6 100644 --- a/pkgs/development/libraries/gstreamer/devtools/default.nix +++ b/pkgs/development/libraries/gstreamer/devtools/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix index 0bef33df0348..7b0130b4c977 100644 --- a/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 00b47201a47e..eac75c3bc0a8 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 6dc5f3abd6e4..4d0d96121fb9 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -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; }; }) diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix index 742fbc362821..bb02d891686e 100644 --- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix +++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix @@ -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 ]; }; diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 4ad03256c94e..bb5a84bb7873 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -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 ]; };