From patchwork Sun Feb 16 14:02:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gyorgy Sarvari X-Patchwork-Id: 57428 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6853FC021A4 for ; Sun, 16 Feb 2025 14:02:13 +0000 (UTC) Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.groups.io with SMTP id smtpd.web11.29090.1739714528844190149 for ; Sun, 16 Feb 2025 06:02:09 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=j6YA9HYt; spf=pass (domain: gmail.com, ip: 209.85.128.43, mailfrom: skandigraun@gmail.com) Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4395dddb07dso36941005e9.2 for ; Sun, 16 Feb 2025 06:02:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739714527; x=1740319327; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=AppZu96OL3GZXXQgqWKmC3yfybo1+uNEvn+7RAvusqE=; b=j6YA9HYtZ3mZmgr8Bmhm8kT2yKMKOOTyvgGlLt9F11tB/xef8iCsDvoJyyYwKiaE7V tDjaURaTVrhMlY4yD9ZvcUb7OUHYOrAGHgm7ZDHjF/xBUiYg+jpNxylyiq8SxNtEKi0E Pcn/wgPgo8n8/dzLDJMDaqYmsZumdgkEZ+ldGTiNjUkmRYtK8tW3D9iuaGcSP74Am+Nc xok7JBh4b2HJ5Y3q1ZFWevnZdpvSd39/ufBxLVslqCqoKkSMs4UCrDqiR0sduzbYYqI9 62Jqp+LT1ZhO0rEC5GQpCS658bcWLaY/KXvAfSGKxciQvp+rTk16TrzJAzkACxZ2gieo uD+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739714527; x=1740319327; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AppZu96OL3GZXXQgqWKmC3yfybo1+uNEvn+7RAvusqE=; b=sW6iaPoAMfqTkoKmvTRx0AXwd63AJTzWRPPou6ft1U/2qkASeioVszsGNvhua24DT8 3WqRjQ7ODXpsF/pwCxYNNr7zYSge2mD1DqXxb8kQPWZO4rvANGzCjYIBaRlHtp7rcPFi glJHARVMoVucju3xgEgZcToQu++wpkoKbnGJh+urYZ+e1HIJZZm4tHVB+9Ht/hN36VMf aPK6ZSdBbubkU+ELN6yHtgyk6EZnZYwpculLf0tKzH+GqN0xFbE+EfpaGGPCyvP+EHUJ kP4oN9N7+0j9PZvwezYqBMaaHriNNGFd56YgNHM1QBVJePW7Jrlxr/FDQsw1Noayw9jL ivGg== X-Gm-Message-State: AOJu0Yxn55Ymrh6NWFqhT0LUN9ZFzoftLjuaB5O/H5VeuATWkhWgzC8V /W78L0KyCRGFJzx7zrELog0CxMw6jevq/CIlW6LxtwbcPKHwDWPiQiAoXw== X-Gm-Gg: ASbGnctv5dFjTin3a21ovwWd22bFwsfPtttBx5t/sFuAzBxnI0isXMM3CUFK1X7Vhna NQ4zQdLwmagzKpglTw3A53e1E4WNv+RDmG+Rn6cP43rD6F2NqQDihcP+nYt4SJcVDiuy7turwqR bGtye0UyQuqoseQ0XuNHVZ9ZkNMCflnmtXwbnbczgOqfcpSkjinkYtU9xHVh44Woay0FMbTU3vG vt/wEDKjB0U48jXkonHR3bmyx72icPTBjdajRfqOECcbdXry6grR48y3+Akil5kVJ7+rSITYdLh agD85vvKh8r0UfOk61IVp/0wliCuCgA= X-Google-Smtp-Source: AGHT+IFsdAq47G4zHTms9KukvNC4n+o3X/svpB4rrB2cl4z6eLUiR931dINGMNIEOKO/9CA93IQpaw== X-Received: by 2002:a05:6000:1f87:b0:38f:2c10:da07 with SMTP id ffacd0b85a97d-38f340735d8mr6383457f8f.45.1739714526712; Sun, 16 Feb 2025 06:02:06 -0800 (PST) Received: from localhost.localdomain ([51.154.145.205]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f258ddba7sm9854640f8f.38.2025.02.16.06.02.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Feb 2025 06:02:06 -0800 (PST) From: Gyorgy Sarvari To: openembedded-devel@lists.openembedded.org Subject: [meta-oe][PATCH 1/2] libplacebo: fix glslang PACKAGECONFIG Date: Sun, 16 Feb 2025 15:02:04 +0100 Message-ID: <20250216140205.1527859-1-skandigraun@gmail.com> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Feb 2025 14:02:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/115502 In case glslang PACKAGECONFIG is enabled, compilation fails with a lot of errors about undefined references from the glslang namespace, e.g. | /usr/src/debug/libplacebo/7.349.0/src/glsl/glslang.cc:79:(.text+0x160): undefined reference to `glslang::TShader::TShader(EShLanguage)' This has been solved in the upstream project, and this change backports the commit that fixes the meson.build file to find the correct libraries during compilation. Additionally, fix also the TMPDIR QA error that popped up after fixing the above issue: remove the RECIPE_SYSROOT value from the generated pkgconf file (and instead of referring to the libraries by absolute path, just refer to them by name, as they are supposed to be present in the standard library lookup path). Signed-off-by: Gyorgy Sarvari --- ...n-add-glslang-lib-for-15.0.0-linking.patch | 34 +++++++++++++++++++ .../mplayer/libplacebo_7.349.0.bb | 10 +++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-multimedia/mplayer/libplacebo/0001-meson-add-glslang-lib-for-15.0.0-linking.patch diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-meson-add-glslang-lib-for-15.0.0-linking.patch b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-meson-add-glslang-lib-for-15.0.0-linking.patch new file mode 100644 index 0000000000..8d784da0cc --- /dev/null +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-meson-add-glslang-lib-for-15.0.0-linking.patch @@ -0,0 +1,34 @@ +From d18a23cc275576bcefbdcc179d08ae643eeb3f3e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= +Date: Mon, 2 Dec 2024 17:10:00 +0100 +Subject: [PATCH] meson: add glslang lib for 15.0.0 linking + +Glslang 15.0.0 moved some code around, add also linking to glslang, +while this is not needed for older versions, it will still work. + +Unfortunately CMake config embedded in distributions is not usable +without installing additional package like glslang-tools, because at +least Ubuntu splits it. On Arch it would work, but generally the CMake +config require cmake binary to work also, so let's keep it as-is for +now. + +Upstream-Status: Backport [https://github.com/haasn/libplacebo/commit/056b852018db04aa2ebc0982e27713afcea8106b] +--- + src/glsl/meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/glsl/meson.build b/src/glsl/meson.build +index 5a881960..8fb5e699 100644 +--- a/src/glsl/meson.build ++++ b/src/glsl/meson.build +@@ -39,6 +39,10 @@ elif not glslang_req.disabled() + + glslang_deps += spirv + ++ # Glslang 15.0.0 moved some code around, add also linking to glslang, while ++ # this is not needed for older versions, it will still work. ++ glslang_deps += cxx.find_library('glslang', required: required, static: static) ++ + if static + glslang_deps += [ + # Always required for static linking diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb index 15f324ff49..a5b38db335 100644 --- a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb @@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=435ed639f84d4585d93824e7da3d85da" DEPENDS += "fastfloat glad-native python3-mako-native python3-jinja2-native vulkan-headers" -SRC_URI = "git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v7.349" +SRC_URI = "git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v7.349 \ + file://0001-meson-add-glslang-lib-for-15.0.0-linking.patch" SRCREV = "1fd3c7bde7b943fe8985c893310b5269a09b46c5" inherit meson pkgconfig @@ -20,3 +21,10 @@ PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" PACKAGECONFIG[demos] = "-Ddemos=true,-Ddemos=false,ffmpeg libsdl2 libsdl2-image" EXTRA_OEMESON = "-Dvulkan-registry=${STAGING_DATADIR}/vulkan/registry/vk.xml" + +do_install:append(){ + if [ -f ${D}${libdir}/pkgconfig/libplacebo.pc ]; then + sed -i "s,${RECIPE_SYSROOT}${libdir}/libSPIRV.so,-lSPIRV,g" ${D}${libdir}/pkgconfig/libplacebo.pc + sed -i "s,${RECIPE_SYSROOT}${libdir}/libglslang.so,-lglslang,g" ${D}${libdir}/pkgconfig/libplacebo.pc + fi +} From patchwork Sun Feb 16 14:02:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gyorgy Sarvari X-Patchwork-Id: 57429 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66D5FC02198 for ; Sun, 16 Feb 2025 14:02:13 +0000 (UTC) Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.groups.io with SMTP id smtpd.web11.29091.1739714529590422141 for ; Sun, 16 Feb 2025 06:02:09 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=ciUOekQm; spf=pass (domain: gmail.com, ip: 209.85.221.49, mailfrom: skandigraun@gmail.com) Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-38f325dd9e6so738881f8f.1 for ; Sun, 16 Feb 2025 06:02:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739714528; x=1740319328; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=NKb6m7uYnHZ+N6feC1QUsUOPOAeru230h8ccb56bmvo=; b=ciUOekQmtDzjDSl6/cEcs+YvIY05CgAXJOaYU56SmAhPt7wsA/wjQ9Ni5bvFJk6+pj 90BlSt+NHY/n81YhS6tegPdHF8Z1cEO+sp7H8qVDR730n80l0tqOx7maVp6FCXdXtrmk CtPpBELgKhDRvVSKuHVbAAS+xtCWRxzLeqG1wX+e9mxyLJAz8mgeFHrS3cLg++otZUeu 5e1NctFl83+ldh0XBj5i4d3IbSV2GDwIwqxuJdSyiofApUREVtEasdSf2oROtuuj1aT5 WVdTN7g3ZNasOyf6wilpA9LbxMRx/9sI4FPnzWIKa0AgIyaCM1icbLGFMSxrnfOWyAi1 hI1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739714528; x=1740319328; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NKb6m7uYnHZ+N6feC1QUsUOPOAeru230h8ccb56bmvo=; b=NOf0scczepoJ39dGFbBY0rzOMHnNcGf8NQ1cvINLnSRx+IjkQ2YkSLYQGBQebXceaw yNeZBXvXn2exz0n6Ja7NKDc0rRj1VOxVhxuMG2ywzeTqy6P+gsudXbwmRhU5+ZdyfKsA RwNnDzhj/2tiB11zXxpIl8B8hsreGq1eiM4/BzGVx4g4hV9I7Pqj1evHSIV26Wyujkzg dGho2vA6cppTOslqeRnTWzh4X/9FR8/t766is2+4KSFvLfe1MQX0vF5GdByM8qMAHhZI TYKGKreig1A0I7Zc5MeSOWFqDHJV7w/9+oO0aDL846K7wlc/93p1dE1dUbJ9YKWOrZ3K ynEg== X-Gm-Message-State: AOJu0YyD/JS0eISdQ0AwJu7ica8SsYjGOMvWhNzS1fimKhzR15KWpogc D8mKHb5Sr0kq82PNzXHwdVxcDWJoARePijXa2siFGqFRVxC8zXDHTP0Ipw== X-Gm-Gg: ASbGncvqKEQ1a16/Wp1Kwh3aqcH3Zup90FXIOWy2oux6v2m0wLQT1ZPnXQtS4xBj+qI 95sjvlnDpiDbkPM+0zIHKH9VAoU5OH3GahUE+xURYg0wr3qs+esXMah2+x+fOpZDINevQ3u3F56 XHhnemReRBxLlAgQS79gmLcYf1vXe2ZzkRz3iU2hMQlTYHi+BKpIZE8eQC5stz2pNuOSXF3m9JH LNHoPdlDVTLb+6OukZzEhPNL7a8bNhR9iSTP5GiwZdHY41zJx80RO+PBD39+gRHVWp1weq2e3JW FkvgMVskr/fb8qBjECxbThJ6DbIjpG0= X-Google-Smtp-Source: AGHT+IEM94+Yn6L9+/DnbYXafrqqAR9CzDhJGXsSAEIyOWP/Qvb6lBke/TMhgpP4RqOpZfM60s2hLw== X-Received: by 2002:a5d:5f47:0:b0:38f:3791:c1d3 with SMTP id ffacd0b85a97d-38f3791c27emr5448360f8f.54.1739714527456; Sun, 16 Feb 2025 06:02:07 -0800 (PST) Received: from localhost.localdomain ([51.154.145.205]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38f258ddba7sm9854640f8f.38.2025.02.16.06.02.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Feb 2025 06:02:07 -0800 (PST) From: Gyorgy Sarvari To: openembedded-devel@lists.openembedded.org Subject: [meta-oe][PATCH 2/2] libplacebo: fix demos PACKAGECONFIG Date: Sun, 16 Feb 2025 15:02:05 +0100 Message-ID: <20250216140205.1527859-2-skandigraun@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250216140205.1527859-1-skandigraun@gmail.com> References: <20250216140205.1527859-1-skandigraun@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Feb 2025 14:02:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/115503 In case the demos PACKAGECONFIG is enabled, linking fails with the following error: | /usr/src/debug/libplacebo/7.349.0/demos/plplay.c:669:(.text.startup+0x90): undefined reference to `parse_args' | collect2: error: ld returned 1 exit status The implementation of the missing function is guarded erroneously by an ifdef flag (HAVE_NUKLEAR, which is only true in case headers from the nuklear library are present - but in this recipe they are not included). This patch moves the implementation of this function outside of the ifdef to avoid the build failure. Signed-off-by: Gyorgy Sarvari --- ...-Fix-compiling-demos-without-nuklear.patch | 40 +++++++++++++++++++ .../mplayer/libplacebo_7.349.0.bb | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-multimedia/mplayer/libplacebo/0001-Fix-compiling-demos-without-nuklear.patch diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-Fix-compiling-demos-without-nuklear.patch b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-Fix-compiling-demos-without-nuklear.patch new file mode 100644 index 0000000000..bd849a75dd --- /dev/null +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo/0001-Fix-compiling-demos-without-nuklear.patch @@ -0,0 +1,40 @@ +From ad0bbc5099d99bbb0c914b39cb5ab4920fd6eeda Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari +Date: Sun, 16 Feb 2025 14:23:40 +0100 +Subject: [PATCH] Fix compiling demos without nuklear + +Demos can't be compiled if nuklear headers are not present, because +the implementation of parse_args function is guarded by HAVE_NUKLEAR macro. + +To allow compiling demos without the Nuklear headers, move the implementation +outside of this ifdef. + +Upstream-Status: Submitted [https://github.com/haasn/libplacebo/pull/315] +--- + demos/settings.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/demos/settings.c b/demos/settings.c +index 197e8b7e..73f0e5b9 100644 +--- a/demos/settings.c ++++ b/demos/settings.c +@@ -14,9 +14,6 @@ + #define PL_BASENAME basename + #endif + +-#ifdef HAVE_NUKLEAR +-#include "ui.h" +- + bool parse_args(struct plplay_args *args, int argc, char *argv[]) + { + static struct option long_options[] = { +@@ -89,6 +86,9 @@ error: + return false; + } + ++#ifdef HAVE_NUKLEAR ++#include "ui.h" ++ + static void add_hook(struct plplay *p, const struct pl_hook *hook, const char *path) + { + if (!hook) diff --git a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb index a5b38db335..e79ab2e983 100644 --- a/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb +++ b/meta-oe/recipes-multimedia/mplayer/libplacebo_7.349.0.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=435ed639f84d4585d93824e7da3d85da" DEPENDS += "fastfloat glad-native python3-mako-native python3-jinja2-native vulkan-headers" SRC_URI = "git://code.videolan.org/videolan/libplacebo.git;protocol=https;branch=v7.349 \ - file://0001-meson-add-glslang-lib-for-15.0.0-linking.patch" + file://0001-meson-add-glslang-lib-for-15.0.0-linking.patch \ + file:///0001-Fix-compiling-demos-without-nuklear.patch" SRCREV = "1fd3c7bde7b943fe8985c893310b5269a09b46c5" inherit meson pkgconfig