From patchwork Fri Jul 19 16:15:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javad Rahimipetroudi X-Patchwork-Id: 1962559 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WQZYB69Drz1xrQ for ; Sat, 20 Jul 2024 02:16:13 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 463B680E8E; Fri, 19 Jul 2024 16:16:10 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id gtnsrnhXQGj2; Fri, 19 Jul 2024 16:16:09 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org DC81D80E5D Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id DC81D80E5D; Fri, 19 Jul 2024 16:16:08 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id B0F2B1BF313 for ; Fri, 19 Jul 2024 16:16:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9EF9C6064B for ; Fri, 19 Jul 2024 16:16:06 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id hB9TLRhObXFp for ; Fri, 19 Jul 2024 16:16:05 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::62d; helo=mail-ej1-x62d.google.com; envelope-from=javad.rahimipetroudi@essensium.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org 1828D60659 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 1828D60659 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by smtp3.osuosl.org (Postfix) with ESMTPS id 1828D60659 for ; Fri, 19 Jul 2024 16:16:04 +0000 (UTC) Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a77dc08db60so241900566b.1 for ; Fri, 19 Jul 2024 09:16:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721405762; x=1722010562; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=eryvT2xifRNjRUagltCs34d6QNA2rqdx5djDoA4azY4=; b=Rp/DLuWyfMNPxpGGkeHMeFkpMTR4UFgdcn4QMaOvax1ygjJTt41ypg0LX0Cd39YBWI sY7vVva/LuzGtBGydlzoPLHJC9P2w5oaZA/Xn/I7Fk616J15fio1HVVo8jnkRozUmUJG n4bHKPUp2lkzqz1jgz613aY4aM7zdfPc33DgcLxqqT4JoKjnVjpH/I3sDhI4c3Paupcr KxoqRajH7FqyCvrqXnuSKv9fwX85UWBZoeI9E53lRMKAW5lTPxTygOEO8ldSyg5aBDMo xSJ9ui6saBxhCvYEg/E2j+I13pL5ZL8FZmJGDPOmuXJ4PCNEx5V4KtPEpioEZBEvJMIR k1NQ== X-Gm-Message-State: AOJu0Yy6JLsU70dGrL1NSEJzLhlpTG+VriAKAtAS7jyiUe6vDejWeBwK RYWUKKiqnNnI1U7iEkiQxtsmJt9ppVCgq2pR6tcrcpll3P5NORfK2g6w+ydv0s+x4Kxy2fu3pVN I X-Google-Smtp-Source: AGHT+IG3R2wnfTe5qBXebOc29HiBz0G8QhTzFDIs1/ieHYlxhAKlYJwslslsMcTREgGq1ElmpM22DQ== X-Received: by 2002:a17:906:c00f:b0:a72:4402:9344 with SMTP id a640c23a62f3a-a7a011e47c0mr582602466b.20.1721405762396; Fri, 19 Jul 2024 09:16:02 -0700 (PDT) Received: from mind.home ([2a02:a03f:8b19:d600:77b0:81c2:554:9d13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7a3c7be69bsm50192066b.80.2024.07.19.09.16.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jul 2024 09:16:02 -0700 (PDT) X-Google-Original-From: Javad Rahimipetroudi To: buildroot@buildroot.org Date: Fri, 19 Jul 2024 18:15:56 +0200 Message-ID: <20240719161557.8832-1-javad.rahimipetroudi@mind.be> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=essensium.com; s=google; t=1721405762; x=1722010562; darn=buildroot.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=eryvT2xifRNjRUagltCs34d6QNA2rqdx5djDoA4azY4=; b=LxFo9ehymXzIE3QiQIeRUBg5BayX03Z3Ra3TWQySpJm0dK8D+FxNqqiKbvnnWXG83T /l9kNJIiFeMTCdRzWHJ6BqI0DUpPvaz+/IjTQxt5nJ2aTiv+duc6OUegayv1hw/6UWIK fcaRETKT9IzETSrRTGyzfYBAvw88QAVtIKw08TV17oia+yM3ia6hkKzfJ9XdkmXKxWbf Il8Ojvc7GOKLk+fmnA5agGyPavdtZEKIQdBRYbYH9vWxyhq+Nc+XlUD3NdnaP3VSZ983 2pKWTDlP9vDXU9COjN4wcKz8ItmPPMwXQHNvOhgm6dxTFKCzfgqSd3+wxWRIqRvUOh4f G9Cw== X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=essensium.com X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=essensium.com header.i=@essensium.com header.a=rsa-sha256 header.s=google header.b=LxFo9ehy Subject: [Buildroot] [PATCH 1/2] package/libplacebo: add libplacebo package X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Javad Rahimipetroudi via buildroot From: Javad Rahimipetroudi Reply-To: Javad Rahimipetroudi Cc: Javad Rahimipetroudi Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" This patch adds libplacebo package that is used by mpv player. libplacebo is the core rendering algorithms and ideas of mpv rewritten as an independent library and contains a large assortment of video processing shaders, focusing on both quality and performance. Signed-off-by: Javad Rahimipetroudi Tested-by: Sen Hastings --- package/Config.in | 1 + ...ild-fix-linker-error-in-uclibc-sparc.patch | 45 +++++++++++++++++++ ...h-add-static_assert-define-for-ulibc.patch | 36 +++++++++++++++ package/libplacebo/Config.in | 18 ++++++++ package/libplacebo/libplacebo.hash | 2 + package/libplacebo/libplacebo.mk | 15 +++++++ 6 files changed, 117 insertions(+) create mode 100644 package/libplacebo/0001-meson.build-fix-linker-error-in-uclibc-sparc.patch create mode 100644 package/libplacebo/0002-src-pl_assert.h-add-static_assert-define-for-ulibc.patch create mode 100644 package/libplacebo/Config.in create mode 100644 package/libplacebo/libplacebo.hash create mode 100644 package/libplacebo/libplacebo.mk diff --git a/package/Config.in b/package/Config.in index f2e10b2b5e..1207001640 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1509,6 +1509,7 @@ menu "Audio/Sound" source "package/libmodplug/Config.in" source "package/libmpdclient/Config.in" source "package/libopenmpt/Config.in" + source "package/libplacebo/Config.in" source "package/libreplaygain/Config.in" source "package/libsamplerate/Config.in" source "package/libsidplay2/Config.in" diff --git a/package/libplacebo/0001-meson.build-fix-linker-error-in-uclibc-sparc.patch b/package/libplacebo/0001-meson.build-fix-linker-error-in-uclibc-sparc.patch new file mode 100644 index 0000000000..3056d28651 --- /dev/null +++ b/package/libplacebo/0001-meson.build-fix-linker-error-in-uclibc-sparc.patch @@ -0,0 +1,45 @@ +From 4386f3e3b3d02c55776e3f674d8447fd24388c2c Mon Sep 17 00:00:00 2001 +From: Javad Rahimipetroudi +Date: Fri, 19 Jul 2024 07:02:48 +0200 +Subject: [PATCH] meson.build: add libatomic dependency if needed + +This PR fixes the problem related to not finding the libatomic during the +build. Some combinations or architecture and libc (e.g. uClibc on SPARC) +operations in a separate library and don't link with it automatically. +An optional find_library to meson.build has been added to +discover this. + + +Fixes: + - https://github.com/haasn/libplacebo/issues/278 + +Signed-off-by: Javad Rahimipetroudi +Upstream: https://github.com/haasn/libplacebo/commit/4386f3e3b3d02c55776e3f674d8447fd24388c2c +--- + meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index a73e49ff..f8cbf9f1 100644 +--- a/meson.build ++++ b/meson.build +@@ -448,6 +448,7 @@ add_project_link_arguments(link_args, language: ['c', 'cpp']) + # Global dependencies + fs = import('fs') + libm = cc.find_library('m', required: false) ++atomic = cc.find_library('atomic', required: false) + thirdparty = meson.project_source_root()/'3rdparty' + python = import('python').find_installation() + python_env = environment() +@@ -473,7 +474,7 @@ else + ) + endif + +-build_deps = [ libm, threads ] ++build_deps = [ libm, threads, atomic] + + subdir('tools') + subdir('src') +-- +2.45.2 + diff --git a/package/libplacebo/0002-src-pl_assert.h-add-static_assert-define-for-ulibc.patch b/package/libplacebo/0002-src-pl_assert.h-add-static_assert-define-for-ulibc.patch new file mode 100644 index 0000000000..6960c2f219 --- /dev/null +++ b/package/libplacebo/0002-src-pl_assert.h-add-static_assert-define-for-ulibc.patch @@ -0,0 +1,36 @@ +From 0182e2b94bbc6bb964f96527d18e93c9b4709a3a Mon Sep 17 00:00:00 2001 +From: Javad Rahimipetroudi +Date: Fri, 19 Jul 2024 07:57:45 +0200 +Subject: [PATCH] src/pl_assert.h:add static_assert define for ulibc + +This PR adds the static_assert macro defination for uClibc that is +missed in some platforms. However, it is limited to C versions lower +than C23. From C23, static_assert is not defined as macro anymore: +https://en.cppreference.com/w/c/language/_Static_assert + +Signed-off-by: Javad Rahimipetroudi +Upstream: https://github.com/haasn/libplacebo/commit/0182e2b94bbc6bb964f96527d18e93c9b4709a3a +--- + src/pl_assert.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/pl_assert.h b/src/pl_assert.h +index b4c6656c..de9d3547 100644 +--- a/src/pl_assert.h ++++ b/src/pl_assert.h +@@ -20,6 +20,12 @@ + #include + #include + ++#if !defined (__cplusplus) ++#if (__STDC_VERSION__ < 202301L) ++#define static_assert _Static_assert ++#endif ++#endif ++ + #ifndef NDEBUG + # define pl_assert assert + #else +-- +2.45.2 + diff --git a/package/libplacebo/Config.in b/package/libplacebo/Config.in new file mode 100644 index 0000000000..e2fc434248 --- /dev/null +++ b/package/libplacebo/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBPLACEBO + bool "libplacebo" + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 #C++20 + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_STATIC_LIBS # needs + + help + libplacebo is, in a nutshell, the core rendering + algorithms and ideas of mpv rewritten as an + independent library. As of today, libplacebo + contains a large assortment of video processing + shaders, focusing on both quality and performance. + +comment "libplacebo needs a toolchain w/ dynamic library, threads, and dynamic loading" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libplacebo/libplacebo.hash b/package/libplacebo/libplacebo.hash new file mode 100644 index 0000000000..d1588a608b --- /dev/null +++ b/package/libplacebo/libplacebo.hash @@ -0,0 +1,2 @@ +sha256 afaaf16668a1dfaa5f5bf7329713d0dd89cf2ca0dbe7c68aeea894d333e2503e libplacebo-v7.349.0-git4.tar.gz +sha256 b3aa400aca6d2ba1f0bd03bd98d03d1fe7489a3bbb26969d72016360af8a5c9d LICENSE diff --git a/package/libplacebo/libplacebo.mk b/package/libplacebo/libplacebo.mk new file mode 100644 index 0000000000..ae3cb68022 --- /dev/null +++ b/package/libplacebo/libplacebo.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# libplacebo +# +################################################################################ + +LIBPLACEBO_VERSION = v7.349.0 +LIBPLACEBO_SITE = https://github.com/haasn/libplacebo +LIBPLACEBO_SITE_METHOD = git +LIBPLACEBO_GIT_SUBMODULES = YES +LIBPLACEBO_LICENSE = LGPL-2.1 +LIBPLACEBO_LICENSE_FILES = LICENSE +LIBPLACEBO_INSTALL_STAGING = YES + +$(eval $(meson-package)) From patchwork Fri Jul 19 16:15:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javad Rahimipetroudi X-Patchwork-Id: 1962560 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WQZYF4mWzz1xrQ for ; Sat, 20 Jul 2024 02:16:17 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 85AA480EC6; Fri, 19 Jul 2024 16:16:14 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id rO3vAifFSa6k; Fri, 19 Jul 2024 16:16:12 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 925738223D Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 925738223D; Fri, 19 Jul 2024 16:16:12 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 819F41BF313 for ; Fri, 19 Jul 2024 16:16:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 7C36760659 for ; Fri, 19 Jul 2024 16:16:08 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 7PqXcDGL3I30 for ; Fri, 19 Jul 2024 16:16:07 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::62a; helo=mail-ej1-x62a.google.com; envelope-from=javad.rahimipetroudi@essensium.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org DA90D6064B DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org DA90D6064B Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by smtp3.osuosl.org (Postfix) with ESMTPS id DA90D6064B for ; Fri, 19 Jul 2024 16:16:06 +0000 (UTC) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a77abe5c709so209072766b.2 for ; Fri, 19 Jul 2024 09:16:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721405764; x=1722010564; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p+fRl0zynYUFUeMq9ds4xtm2yhI0TSiTl9nV10kTaQ0=; b=NfKebZczaRTGyEfE50R9/iMF4A6v8yicNBJXmHBl+CmMch2BBBDQFpnZ9M8zUwZLRU R0KpAyB0LS56ud2dKhqubEbet8yX/OeMhTznaVyRBCNmkYswo/X7zIe9CpfTWyJ1FfWP xmyGUB5khDtQMzmrpi0ldEi2gc53oEVt/QIKK/O22Se3ZdmQ9RAPMRpNslZeBGPG4HrB eA7zCU6BJ1tybQBfApqa53d8JtC4f/wqaK4E0ReZJ2CMIB+j+23UX5v1v6XWEkCtk/9P qUIr9elro7Y7fwOcvjMnbsM3FkV7JKnqKif2BwglozRcQQO0EXqFtLGriv+UUHRTb/H1 U7qg== X-Gm-Message-State: AOJu0YzVhzKHlqTnRQr00KHlBQIaI8tiefOJhmYi+Or6p/OQyN9LZvSU xaSvSq8IBqe0V2Edj/Lx+tqoVVXTEuZoUJJGjVGXy0xRboJTYtBUafx9mQpHOgaIW+KUV6sRj9N B X-Google-Smtp-Source: AGHT+IGrQHXeQRFKifcVjjUK2i5wfeiD4fcJrOkhuPmCX3ze6118sEFbwOfwHIkE91OxC/WIBaeExg== X-Received: by 2002:a17:907:2d8a:b0:a7a:1d35:4106 with SMTP id a640c23a62f3a-a7a1d35420amr419231966b.5.1721405763105; Fri, 19 Jul 2024 09:16:03 -0700 (PDT) Received: from mind.home ([2a02:a03f:8b19:d600:77b0:81c2:554:9d13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7a3c7be69bsm50192066b.80.2024.07.19.09.16.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jul 2024 09:16:02 -0700 (PDT) X-Google-Original-From: Javad Rahimipetroudi To: buildroot@buildroot.org Date: Fri, 19 Jul 2024 18:15:57 +0200 Message-ID: <20240719161557.8832-2-javad.rahimipetroudi@mind.be> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240719161557.8832-1-javad.rahimipetroudi@mind.be> References: <20240719161557.8832-1-javad.rahimipetroudi@mind.be> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=essensium.com; s=google; t=1721405764; x=1722010564; darn=buildroot.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p+fRl0zynYUFUeMq9ds4xtm2yhI0TSiTl9nV10kTaQ0=; b=IPWsikpvjnu285HqRQ6wK2+QBBmG/6xT8w4LUdoV1cP4i8ELGkIJbWqFZtqloZC+aP hV1bPxPuz+tYezsPoUJMLf1aHH3HDlJGAAlIKk0BMwO8/up+uNMBY8hc2UAyuT6cl64j 4id9rxFFvkuN5UpaXKUHNRsoiA/pKtdtIGDd1KvQ0uOqX/CrJRUBzWkbTdN4g8CLfUh5 odifcIpusbgi18IJM8hu1vZ1SPU/ibgR39dYnsicXyBbBvunlHMGyTAZBfOPjBrqr9a1 vNT3lOk+CLy5RgGyYozYIFmmP8puf0gwX50qPMj33EIyb2lJ7fMIc+6+peTVAosGCDsY pQvw== X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=quarantine dis=none) header.from=essensium.com X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=essensium.com header.i=@essensium.com header.a=rsa-sha256 header.s=google header.b=IPWsikpv Subject: [Buildroot] [PATCH 2/2] package/mpv: bump version to v0.38.0 X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Javad Rahimipetroudi via buildroot From: Javad Rahimipetroudi Reply-To: Javad Rahimipetroudi Cc: Javad Rahimipetroudi Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" The waf build system is currently broken in Buildroot, since the bump to Python 3.12. This causes mpv to fail to build. A simple workaround is to switch to bump version to v0.38.0 and switch to meson - waf support will be removed entirely in later releases. Bumping version to v0.38.0 was required, because building v0.35.1 was failed even when switching to meson. For this reason, this patch both upgrades the mpv version and also change the build system to meson. Due to such change 0001-fix-powerpc64-altivec.patch also has been removed. As it was modifing waflib for ppc64. The conversion of all options was checked by verifying in meson_options.txt that the option name hasn't changed. Fixes: http://autobuild.buildroot.net/results/474/474d6b3cb4c3582d7bca2e4f93188b9f7e01aa8e Signed-off-by: Javad Rahimipetroudi --- .checkpackageignore | 1 - package/mpv/0001-fix-powerpc64-altivec.patch | 32 ----- package/mpv/Config.in | 1 + package/mpv/mpv.hash | 2 +- package/mpv/mpv.mk | 127 +++++++++---------- 5 files changed, 64 insertions(+), 99 deletions(-) delete mode 100644 package/mpv/0001-fix-powerpc64-altivec.patch diff --git a/.checkpackageignore b/.checkpackageignore index 2e6e8a9cac..1432b3af3b 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -950,7 +950,6 @@ package/motion/S99motion Shellcheck lib_sysv.Indent lib_sysv.Variables package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch lib_patch.Upstream package/mpd/S95mpd lib_sysv.Variables package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch lib_patch.Upstream -package/mpv/0001-fix-powerpc64-altivec.patch lib_patch.Upstream package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch lib_patch.Upstream package/mrouted/S41mrouted NotExecutable package/mrp/S65mrp lib_sysv.Indent lib_sysv.Variables diff --git a/package/mpv/0001-fix-powerpc64-altivec.patch b/package/mpv/0001-fix-powerpc64-altivec.patch deleted file mode 100644 index 45983fec8f..0000000000 --- a/package/mpv/0001-fix-powerpc64-altivec.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: [PATCH] Work around bool type redefinition by altivec - -On powerpc64le, the SDL header may include altivec.h and this -(combined with -std=c99) will cause a compile failure due to bool -being redefined as a vector type. - -Adjust the compiler flags to add -std=gnu99 (which is compatible with -altivec) when using gcc. The generic flag '-std=c99' is left in place for other -compilers (in the gcc case it is overridden by the (later) gnu flag). - -Signed-off-by: Sam Bobroff ---- - waftools/detections/compiler.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/waftools/detections/compiler.py b/waftools/detections/compiler.py -index 5bbba87..50836a2 100644 ---- a/waftools/detections/compiler.py -+++ b/waftools/detections/compiler.py -@@ -43,7 +43,8 @@ def __add_gcc_flags__(ctx): - "-Wno-switch", "-Wparentheses", "-Wpointer-arith", - "-Wno-pointer-sign", - # GCC bug 66425 -- "-Wno-unused-result"] -+ "-Wno-unused-result", -+ "-std=gnu99"] - - def __add_clang_flags__(ctx): - ctx.env.CFLAGS += ["-Wno-logical-op-parentheses", "-fcolor-diagnostics", --- -2.10.0.297.gf6727b0 - diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 5c32f593fe..1eb4294c0d 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -18,6 +18,7 @@ config BR2_PACKAGE_MPV select BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_LIBASS + select BR2_PACKAGE_LIBPLACEBO select BR2_PACKAGE_ZLIB select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND # Select xkbcommon for wayland to avoid being mysterious diff --git a/package/mpv/mpv.hash b/package/mpv/mpv.hash index a09015619d..6f55f369fb 100644 --- a/package/mpv/mpv.hash +++ b/package/mpv/mpv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9 mpv-0.35.1.tar.gz +sha256 86d9ef40b6058732f67b46d0bbda24a074fae860b3eaae05bab3145041303066 mpv-0.38.0.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk index cf37091186..4977e6a291 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -4,207 +4,204 @@ # ################################################################################ -MPV_VERSION = 0.35.1 +MPV_VERSION = 0.38.0 MPV_SITE = $(call github,mpv-player,mpv,v$(MPV_VERSION)) MPV_DEPENDENCIES = \ - host-pkgconf ffmpeg libass zlib \ + host-pkgconf ffmpeg libass libplacebo zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) MPV_LICENSE = GPL-2.0+ MPV_LICENSE_FILES = LICENSE.GPL MPV_CPE_ID_VENDOR = mpv MPV_INSTALL_STAGING = YES -MPV_NEEDS_EXTERNAL_WAF = YES - # Some of these options need testing and/or tweaks MPV_CONF_OPTS = \ - --prefix=/usr \ - --disable-android \ - --disable-caca \ - --disable-cocoa \ - --disable-coreaudio \ - --disable-cuda-hwaccel \ - --disable-opensles \ - --disable-rubberband \ - --disable-uchardet \ - --disable-vapoursynth + -Degl-android=disabled\ + -Dcaca=disabled \ + -Dcocoa=disabled \ + -Dcoreaudio=disabled \ + -Dcuda-hwaccel=disabled \ + -Dopensles=disabled \ + -Drubberband=disabled \ + -Duchardet=disabled \ + -Dvapoursynth=disabled ifeq ($(BR2_REPRODUCIBLE),y) -MPV_CONF_OPTS += --disable-build-date +MPV_CONF_OPTS += -Dbuild-date=disabled endif ifeq ($(BR2_STATIC_LIBS),y) -MPV_CONF_OPTS += --disable-libmpv-shared --enable-libmpv-static +MPV_CONF_OPTS += -Dlibmpv=true else -MPV_CONF_OPTS += --enable-libmpv-shared --disable-libmpv-static +MPV_CONF_OPTS += -Dlibmpv=false endif ifeq ($(BR2_PACKAGE_ALSA_LIB),y) -MPV_CONF_OPTS += --enable-alsa +MPV_CONF_OPTS += -Dalsa=enabled MPV_DEPENDENCIES += alsa-lib else -MPV_CONF_OPTS += --disable-alsa +MPV_CONF_OPTS += -Dalsa=disabled endif ifeq ($(BR2_PACKAGE_MESA3D_GBM),y) -MPV_CONF_OPTS += --enable-gbm +MPV_CONF_OPTS += -Dgbm=enabled MPV_DEPENDENCIES += mesa3d ifeq ($(BR2_PACKAGE_LIBDRM),y) -MPV_CONF_OPTS += --enable-egl-drm +MPV_CONF_OPTS += -Degl-drm=enabled else -MPV_CONF_OPTS += --disable-egl-drm +MPV_CONF_OPTS += -Degl-drm=disabled endif else -MPV_CONF_OPTS += --disable-gbm --disable-egl-drm +MPV_CONF_OPTS += -Dgbm=disabled -Degl-drm=disabled endif # jack support # It also requires 64-bit sync intrinsics ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_JACK2),yy) -MPV_CONF_OPTS += --enable-jack +MPV_CONF_OPTS += -Djack=enabled MPV_DEPENDENCIES += jack2 else -MPV_CONF_OPTS += --disable-jack +MPV_CONF_OPTS += -Djack=disabled endif # jpeg support ifeq ($(BR2_PACKAGE_JPEG),y) -MPV_CONF_OPTS += --enable-jpeg +MPV_CONF_OPTS += -Djpeg=enabled MPV_DEPENDENCIES += jpeg else -MPV_CONF_OPTS += --disable-jpeg +MPV_CONF_OPTS += -Djpeg=disabled endif # lcms2 support ifeq ($(BR2_PACKAGE_LCMS2),y) -MPV_CONF_OPTS += --enable-lcms2 +MPV_CONF_OPTS += -Dlcms2=enabled MPV_DEPENDENCIES += lcms2 else -MPV_CONF_OPTS += --disable-lcms2 +MPV_CONF_OPTS += -Dlcms2=disabled endif # libarchive support ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) -MPV_CONF_OPTS += --enable-libarchive +MPV_CONF_OPTS += -Dlibarchive=enabled MPV_DEPENDENCIES += libarchive else -MPV_CONF_OPTS += --disable-libarchive +MPV_CONF_OPTS += -Dlibarchive=disabled endif # bluray support ifeq ($(BR2_PACKAGE_LIBBLURAY),y) -MPV_CONF_OPTS += --enable-libbluray +MPV_CONF_OPTS += -Dlibbluray=enabled MPV_DEPENDENCIES += libbluray else -MPV_CONF_OPTS += --disable-libbluray +MPV_CONF_OPTS += -Dlibbluray=disabled endif # libcdio-paranoia ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA),y) -MPV_CONF_OPTS += --enable-cdda +MPV_CONF_OPTS += -Dcdda=enabled MPV_DEPENDENCIES += libcdio-paranoia else -MPV_CONF_OPTS += --disable-cdda +MPV_CONF_OPTS += -Dcdda=disabled endif # libdvdnav ifeq ($(BR2_PACKAGE_LIBDVDNAV),y) -MPV_CONF_OPTS += --enable-dvdnav +MPV_CONF_OPTS += -Ddvdnav=enabled MPV_DEPENDENCIES += libdvdnav else -MPV_CONF_OPTS += --disable-dvdnav +MPV_CONF_OPTS += -Ddvdnav=disabled endif # libdrm ifeq ($(BR2_PACKAGE_LIBDRM),y) -MPV_CONF_OPTS += --enable-drm +MPV_CONF_OPTS += -Ddrm=enabled MPV_DEPENDENCIES += libdrm else -MPV_CONF_OPTS += --disable-drm +MPV_CONF_OPTS += -Ddrm=disabled endif # libvdpau ifeq ($(BR2_PACKAGE_LIBVDPAU),y) -MPV_CONF_OPTS += --enable-vdpau +MPV_CONF_OPTS += -Dvdpau=enabled MPV_DEPENDENCIES += libvdpau else -MPV_CONF_OPTS += --disable-vdpau +MPV_CONF_OPTS += -Dvdpau=disabled endif # LUA support, only for lua51/lua52/luajit # This enables the controller (OSD) together with libass ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUAJIT),y) -MPV_CONF_OPTS += --enable-lua +MPV_CONF_OPTS += -Dlua=enabled MPV_DEPENDENCIES += luainterpreter else -MPV_CONF_OPTS += --disable-lua +MPV_CONF_OPTS += -Dlua=disabled endif # OpenGL support ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) -MPV_CONF_OPTS += --enable-gl +MPV_CONF_OPTS += -Dgl=enabled MPV_DEPENDENCIES += libgl else ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) -MPV_CONF_OPTS += --enable-gl +MPV_CONF_OPTS += -Dgl=enabled MPV_DEPENDENCIES += libgles else ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) -MPV_CONF_OPTS += --enable-gl +MPV_CONF_OPTS += -Dgl=enabled MPV_DEPENDENCIES += libegl else -MPV_CONF_OPTS += --disable-gl +MPV_CONF_OPTS += -Dgl=disabled endif # pulseaudio support ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) -MPV_CONF_OPTS += --enable-pulse +MPV_CONF_OPTS += -Dpulse=enabled MPV_DEPENDENCIES += pulseaudio else -MPV_CONF_OPTS += --disable-pulse +MPV_CONF_OPTS += -Dpulse=disabled endif # SDL support # Sdl2 requires 64-bit sync intrinsics ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_SDL2),yy) -MPV_CONF_OPTS += --enable-sdl2 +MPV_CONF_OPTS += -Dsdl2=enabled MPV_DEPENDENCIES += sdl2 else -MPV_CONF_OPTS += --disable-sdl2 +MPV_CONF_OPTS += -Dsdl2=disabled endif # Raspberry Pi support ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -MPV_CONF_OPTS += --enable-rpi --enable-gl +#MPV_CONF_OPTS += -Drpi=enabled -Dgl=enabled MPV_DEPENDENCIES += rpi-userland -else -MPV_CONF_OPTS += --disable-rpi +#else +#MPV_CONF_OPTS += -Drpi=disabled endif # va-api support ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MPV_SUPPORTS_VAAPI),yy) -MPV_CONF_OPTS += --enable-vaapi +MPV_CONF_OPTS += -Dvaapi=enabled MPV_DEPENDENCIES += libva ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),yy) -MPV_CONF_OPTS += --enable-vaapi-drm +MPV_CONF_OPTS += -Dvaapi-drm=enabled else -MPV_CONF_OPTS += --disable-vaapi-drm +MPV_CONF_OPTS += -Dvaapi-drm=disabled endif else -MPV_CONF_OPTS += --disable-vaapi --disable-vaapi-drm +MPV_CONF_OPTS += -Dvaapi=disabled -Dvaapi-drm=disabled endif # wayland support ifeq ($(BR2_PACKAGE_WAYLAND),y) -MPV_CONF_OPTS += --enable-wayland +MPV_CONF_OPTS += -Dwayland=enabled MPV_DEPENDENCIES += libxkbcommon wayland wayland-protocols else -MPV_CONF_OPTS += --disable-wayland +MPV_CONF_OPTS += -Dwayland=disabled endif # Base X11 support. Config.in ensures that if BR2_PACKAGE_XORG7 is # enabled, xlib_libX11, xlib_libXext, xlib_libXinerama, # xlib_libXrandr, xlib_libXScrnSaver. ifeq ($(BR2_PACKAGE_XORG7),y) -MPV_CONF_OPTS += --enable-x11 +MPV_CONF_OPTS += -Dx11=enabled MPV_DEPENDENCIES += \ xlib_libX11 \ xlib_libXext \ @@ -214,17 +211,17 @@ MPV_DEPENDENCIES += \ xlib_libXScrnSaver # XVideo ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y) -MPV_CONF_OPTS += --enable-xv +MPV_CONF_OPTS += -Dxv=enabled MPV_DEPENDENCIES += xlib_libXv else -MPV_CONF_OPTS += --disable-xv +MPV_CONF_OPTS += -Dxv=disabled endif else -MPV_CONF_OPTS += --disable-x11 +MPV_CONF_OPTS += -Dx11=disabled endif ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) MPV_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic" endif -$(eval $(waf-package)) +$(eval $(meson-package))