From patchwork Mon Nov 11 16:24:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Kleintje X-Patchwork-Id: 1193012 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=web.de Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=web.de header.i=@web.de header.b="EVxdMeYL"; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47Bbmw1JSRz9sPc for ; Tue, 12 Nov 2019 03:24:32 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 13A5686747; Mon, 11 Nov 2019 16:24:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q1RZyBtpQbKz; Mon, 11 Nov 2019 16:24:28 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 161CE8648E; Mon, 11 Nov 2019 16:24:28 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 1D0671BF977 for ; Mon, 11 Nov 2019 16:24:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id EA5AB86477 for ; Mon, 11 Nov 2019 16:24:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9MYBWhjBta-q for ; Mon, 11 Nov 2019 16:24:23 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mout.web.de (mout.web.de [212.227.17.11]) by whitealder.osuosl.org (Postfix) with ESMTPS id 1C5E2864D8 for ; Mon, 11 Nov 2019 16:24:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1573489459; bh=hbVkmvTvJZfvMGVBzY1/SDdXikAoljYYWv4JJAVh/E4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=EVxdMeYLBbq5dTXWyVwgfx06oGdm9acLZJH4yuKs4VDRn9kbIhdyvC8YSuOR7ELUZ hBjZ+Ihb7ge67ROe4vMIll3CTtaME0GYe6uAQrMM6MJh9PeWfxNDZg2FRMsLxTgmeQ DLvbvfwU1F6iL2hDuqonnSo+6xy5NVSaMSnG8izg= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from wslxew169.ultratronik.de ([82.100.224.114]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MeSKR-1iGFrw2fBX-00QCXi; Mon, 11 Nov 2019 17:24:19 +0100 From: Jens Kleintje To: buildroot@busybox.net Date: Mon, 11 Nov 2019 17:24:08 +0100 Message-Id: <20191111162409.24361-2-scooby22@web.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191111162409.24361-1-scooby22@web.de> References: <20191111162409.24361-1-scooby22@web.de> X-Provags-ID: V03:K1:bcusE58kz+AjyaspX8k4/KPC1dwBRgvuiY0Wg3r5747de6ERlIr Vq7Dix21Xjep3RzVdKAiYXSgaWqWT8iwOXBiq8WwFwSdD6zFYQMWfOojI8xiODqbiT1fwWA juQdbju6BPzNe5In/teEEdiDMHVQnxp1hzsdw/I4YdioPM9yfd5vBNor6Mgd8VH7b2FnQsL mkoQ9ZF6W/2cMaySFoeyQ== X-UI-Out-Filterresults: notjunk:1; V03:K0:KDF9cGLfGII=:uLt9wNPwI+o4SsygvDosaC 1VzGglmIMOszY2/Im6fKi4U19+6WAoFZj+ErlhjA1VeSq0OxZrj6sBYkcglJfcpu2SXUC1Dn/ mmD6luaWIMn8gJvziasklX9168yCOOxBZE20tZRqxs8ADClN/KCQq2ignyoLrUmQFIry1fH0x DQcfX404vm9tQ5/HM+TPDt3hSGPr+usZGQhQZ2BoktXon7wDmLbPZPhQJZg3IV256xsooxIxT VX5ShQZfF6gb8/fromHLf0EjK917jnNP/xQXNXWuoOcXUX0MgK3G8Stvp8H4xuEBfrpKbpjXd qrfAY4/UQpamXMQ0YOdPFQMrSLEj+/UrzMb1emdRDvnMQNGI6Kc/3y6jvMs1EA9wqm2HNRQMO 4s1CL8+sU9NJsO+RWoX5/RUS3IiQcg1fxvCAGKznOM1RuVGFfWqvgFPWheKvZuB30TYGo3FF9 o9a1sbcQm0BU7JLyn7JY9VFRp8fKF8n/MwRBTkKCl8eD1GLyt4GEIqwW7zsA2Ouz5ar14gUta dTnBBYu2a59YUPsdPMZZClQSPQgTThj9VrExOB4si9CVjpS3lXh0rX2S8+eBCBBaPDMT120Lv yf5KJe/OOOrjUfusjg7Hqj8n2R6XxC0WFEUez3SkoSSXS7b0v1OmX6nKeiIZp4b4u5l1H3jAV SeHn8G6UNUt7/9hj3togolmASGfZ8ljaPiHKTHqTAmGusQCOy5iF4boThxdrOuSP+zUMiHAh3 7f7Sx8rDCxxESRL4IzfvApNnLCMyI96zTXMKjjxieIsMVE0IBZ/5o2ND5XXKklhZ0GmPbJWhj 8hB5glNlG5E8TZwlRGoHt2r6YVyNSxWiAcGsWp7Fd+1YjHC11dxVxoBJcUCt4CHx3OmAr0VSL Xt31ce9SEHwGP+wXSANFkA6jSOI6e2PARQyClBd/bS1/xfYi7XdQkeING4mW5ylY6+18Ifk65 Xzwz3gRopEGlr2zDQjefi5oTtf2DfomVNYOpTH6Ew6TGziuqXo1yr+mXGPjPJd1MN4rrNa5qf L7EpTri4f8zX7xTPmyDiFV0h9sHW/Sqh50iyNMof12ywX1boR78Y/wkxoDGTUlPJntRI9+xuO w5RHy2vDAPI0QkB/k17f+XLuL29iYbDhoQP5Rs/rgDUlAtnxzhftx/DviEY9LYFQLMYNoPOQi O+GZrV/KjfL4iCmtAAumqOl7ztjbONLyifZyaT9dnaGoBPEcLMSY4XhpCx241u2hw2XkqJ7L/ XTqj2wy6QT6yNIvvW29WPMGKja1BMrAN14KAxKA== Subject: [Buildroot] [PATCH v1 1/2] package/gcnano-binaries: new package X-BeenThere: buildroot@busybox.net 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: , Cc: Jens Kleintje MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" New package which provides the driver and binary blob libraries for the STM32MP157 vivante gcnano gpu. The precompiled libaries depends on wayland and libdrm. Since the github repo has no releases/tags we use the standard git method with explicit SHA. Signed-off-by: Jens Kleintje --- DEVELOPERS | 3 + package/Config.in | 1 + package/gcnano-binaries/Config.in | 24 +++++++ package/gcnano-binaries/gcnano-binaries.hash | 2 + package/gcnano-binaries/gcnano-binaries.mk | 75 ++++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 package/gcnano-binaries/Config.in create mode 100644 package/gcnano-binaries/gcnano-binaries.hash create mode 100644 package/gcnano-binaries/gcnano-binaries.mk -- 2.17.1 diff --git a/DEVELOPERS b/DEVELOPERS index cdd44be37c..9c39bbd41e 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2536,3 +2536,6 @@ F: package/tinc/ N: Aussedat Louis F: board/friendlyarm/nanopi-neo-plus2/ F: configs/friendlyarm_nanopi_neo_plus2_defconfig + +N: Jens Kleintje +F: package/gcnano-binaries diff --git a/package/Config.in b/package/Config.in index dc5ec56d6b..1a88da547d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -449,6 +449,7 @@ endmenu source "package/freescale-imx/Config.in" source "package/fxload/Config.in" source "package/gadgetfs-test/Config.in" + source "package/gcnano-binaries/Config.in" source "package/gpm/Config.in" source "package/gpsd/Config.in" source "package/gptfdisk/Config.in" diff --git a/package/gcnano-binaries/Config.in b/package/gcnano-binaries/Config.in new file mode 100644 index 0000000000..9cc9d149c0 --- /dev/null +++ b/package/gcnano-binaries/Config.in @@ -0,0 +1,24 @@ +comment "gcnano binaries needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_GCNANO_BINARIES + bool "gcnano binaries" + depends on BR2_arm + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_WAYLAND + help + Driver and libaries for stm vivante gcnano gpu. + https://github.com/STMicroelectronics/gcnano-binaries/ + +if BR2_PACKAGE_GCNANO_BINARIES + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "gcnano-binaries" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "gcnano-binaries" + +endif diff --git a/package/gcnano-binaries/gcnano-binaries.hash b/package/gcnano-binaries/gcnano-binaries.hash new file mode 100644 index 0000000000..fae7e56deb --- /dev/null +++ b/package/gcnano-binaries/gcnano-binaries.hash @@ -0,0 +1,2 @@ +sha256 19f3fe4e83ec95fd2ecb70d5cb03c7b00a13357966a9b6e56b59e5788c550c88 gcnano-binaries-c01642ed5e18cf09ecd905af193e935cb3be95ed.tar.gz +sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk new file mode 100644 index 0000000000..224cb5ccfa --- /dev/null +++ b/package/gcnano-binaries/gcnano-binaries.mk @@ -0,0 +1,75 @@ +################################################################################ +# +# gcnano-binaries +# +################################################################################ + +GCNANO_BINARIES_FILE_VERSION = 6.2.4.p4 +GCNANO_BINARIES_VERSION = c01642ed5e18cf09ecd905af193e935cb3be95ed +GCNANO_BINARIES_SITE = https://github.com/STMicroelectronics/gcnano-binaries.git +GCNANO_BINARIES_SITE_METHOD = git + +GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms +GCNANO_BINARIES_LICENSE_FILES = EULA +GCNANO_BINARIES_REDISTRIBUTE = NO + +GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm + +GCNANO_BINARIES_INSTALL_STAGING = YES + +GCNANO_BINARIES_PROVIDES = libegl libgles + +# The Github repository doesn't contain the source code as-is: it +# contains a tarball with the kernel driver source code, and a +# self-extractible binary for the user-space parts. So we extract both +# below, and also extract the EULA text from the self-extractible binary +define GCNANO_BINARIES_EXTRACT_HELPER + tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_FILE_VERSION).tar.xz -C $(@D) + awk 'BEGIN { start = 0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /< $(@D)/EULA + cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626.bin --auto-accept +endef + +GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER + +GCNANO_BINARIES_MODULE_MAKE_OPTS = \ + KERNEL_DIR=$(LINUX_DIR) \ + SOC_PLATFORM=st-st \ + AQROOT=$(@D) \ + DEBUG=0 + +# The wayland-egl.pc and libwayland-egl.so are provided by the wayland package +define GCNANO_BINARIES_INSTALL + rm -f $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626/usr/lib/pkgconfig/wayland-egl.pc + rm -f $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626/usr/lib/libwayland-egl.so.1 + rm -f $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626/usr/lib/libwayland-egl.so + cp -r $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626/usr/lib/* $(1)/usr/lib/ + cd $(1)/usr/lib; \ + ln -sf gbm_viv.6.2.4.multi.release.so gbm_viv.so; \ + ln -sf libEGL.6.2.4.multi.release.so libEGL.so; \ + ln -sf libEGL.so libEGL.so.1; \ + ln -sf libGAL.6.2.4.multi.release.so libGAL.so; \ + ln -sf libgbm.6.2.4.multi.release.so libgbm.so; \ + ln -sf libgbm.so libgbm.so.1; \ + ln -sf libGLESv1_CM.6.2.4.multi.release.so libGLESv1_CM.so; \ + ln -sf libGLESv2.6.2.4.multi.release.so libGLESv2.so; \ + ln -sf libGLESv2.so libGLESv2.so.2; \ + ln -sf libGLSLC.6.2.4.multi.release.so libGLSLC.so; \ + ln -sf libOpenVG.6.2.4.multi.release.so libOpenVG.so; \ + ln -sf libVSC.6.2.4.multi.release.so libVSC.so; + cp -r $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_FILE_VERSION)-20190626/usr/include/* $(1)/usr/include/ +endef + +define GCNANO_BINARIES_INSTALL_TARGET_CMDS + $(call GCNANO_BINARIES_INSTALL,$(TARGET_DIR)) +endef + +define GCNANO_BINARIES_INSTALL_STAGING_CMDS + $(call GCNANO_BINARIES_INSTALL,$(STAGING_DIR)) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package))