kumquat-buildroot/package/gcnano-binaries/gcnano-binaries.mk
Kory Maincent 001986db10 package/gcnano-binaries: bump version to 6.4.13
Update to the latest version of the gcnano-binaries blobs, which are
compatible with the last v6.1-stm32mp-r1 kernel from the
STMicroelectronics BSP.

The location of the driver has changed it is now in the
gcnano-driver-stm32mp directory instead of an archive.

The VERSION and PREFIX temporary variable in pkgconfig file came back
therefore the sed replacement also came back.

The EULA license file has changed due to copyright year update, so its
hash has changed.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-01-04 23:34:05 +01:00

76 lines
2.8 KiB
Makefile

################################################################################
#
# gcnano-binaries
#
################################################################################
GCNANO_BINARIES_LIB_VERSION = 6.4.13
GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_VERSION)
GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION)-20230517
GCNANO_BINARIES_VERSION = 5d02efd5cb4cfa85307633891f3cf87550a8bc1d
GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION))
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 libgbm
# 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
awk 'BEGIN { start = 0; } \
/^EOEULA/ { start = 0; } \
{ if (start) print; } \
/<<EOEULA/ { start = 1; }' \
$(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin > $(@D)/EULA
cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin --auto-accept
endef
GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER
GCNANO_BINARIES_MODULE_SUBDIRS = gcnano-driver-stm32mp
GCNANO_BINARIES_MODULE_MAKE_OPTS = \
KERNEL_DIR=$(LINUX_DIR) \
SOC_PLATFORM=st-mp1 \
AQROOT=$(@D)/gcnano-driver-stm32mp \
DEBUG=0
GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION)
define GCNANO_BINARIES_INSTALL
cd $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/release/drivers/ ; \
find . -type f -exec $(INSTALL) -D -m 0755 {} $(1)/usr/lib/{} \; ; \
for sharelib in *.so.*; do \
dev_lib_name=`echo $${sharelib} | awk -F'.so' '{print $$1}'`.so ; \
link_name=`$(TARGET_OBJDUMP) -x $${sharelib} 2>/dev/null | grep SONAME | sed 's/.* //'` ; \
ln -sf $${sharelib} $(1)/usr/lib/$${dev_lib_name} ; \
ln -sf $${sharelib} $(1)/usr/lib/$${link_name} ; \
done
mkdir -p $(1)/usr/include
cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/release/include/* $(1)/usr/include/
cd $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/pkgconfig/ ; \
for file in *.pc ; do \
sed -e "s|#PREFIX#|/usr|" -e "s|#VERSION#|22.0.3|" $$file > $$file.temp ; \
$(INSTALL) -D -m 0644 $$file.temp $(1)/usr/lib/pkgconfig/$$file ; \
done
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))