kumquat-buildroot/package/am335x-pru-package/am335x-pru-package.mk
Yann E. MORIN 4aff9fae45 package/am335x-pru-package: fix download issue
am335x-pru-package is downloaded with the github helper, so the tarball
is generated "on-the-fly" by github.

It looks like the process to generate those tarballs has changed,
again.  The hash for the archive has recently changed. The delta is in
the way directories are stored in the tarball: it looks like the
"basename" of the directory path has been split off from the
"dirname", into a separate field:

@@ -270078,8 +270078,8 @@
 0041efd0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041efe0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041eff0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
-0041f000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
-0041f010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
+0041f000  50 52 55 5f 50 52 55 74  6f 50 52 55 5f 49 6e 74 |PRU_PRUtoPRU_Int|
+0041f010  65 72 72 75 70 74 2f 00  00 00 00 00 00 00 00 00 |errupt/.........|
 0041f020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041f030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041f040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
@@ -270104,8 +270104,8 @@
 0041f170  34 61 64 35 37 63 63 31  39 35 66 32 38 62 66 35 |4ad57cc195f28bf5|
 0041f180  65 35 38 35 63 33 64 34  34 36 61 62 61 36 65 65 |e585c3d446aba6ee|
 0041f190  37 30 39 36 2f 70 72 75  5f 73 77 2f 65 78 61 6d |7096/pru_sw/exam|
-0041f1a0  70 6c 65 5f 61 70 70 73  2f 50 52 55 5f 50 52 55 |ple_apps/PRU_PRU|
-0041f1b0  74 6f 50 52 55 5f 49 6e  74 65 72 72 75 70 74 00 |toPRU_Interrupt.|
+0041f1a0  70 6c 65 5f 61 70 70 73  00 00 00 00 00 00 00 00 |ple_apps........|
+0041f1b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041f1c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041f1d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
 0041f1e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|

Switch to using a git download, which uses our reproducible way of
generating archives.

Once extracted, the files have been verified to be identical to the ones
in the archive on s.b.o.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 5206e1dba2ccb8e65fc960362017c72799b0e5df)
[Peter adjust filename/hash for 2024.02.x]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-08-31 18:20:36 +02:00

76 lines
2.7 KiB
Makefile

################################################################################
#
# am335x-pru-package
#
################################################################################
AM335X_PRU_PACKAGE_VERSION = 5f374ad57cc195f28bf5e585c3d446aba6ee7096
AM335X_PRU_PACKAGE_SITE = https://github.com/beagleboard/am335x_pru_package
AM335X_PRU_PACKAGE_SITE_METHOD = git
AM335X_PRU_PACKAGE_LICENSE = BSD-3-Clause
AM335X_PRU_PACKAGE_LICENSE_FILES = pru_sw/utils/LICENCE.txt
AM335X_PRU_PACKAGE_DEPENDENCIES = host-am335x-pru-package
AM335X_PRU_PACKAGE_INSTALL_STAGING = YES
# The default 'all' rule builds everything, when we just need the library
ifeq ($(BR2_ENABLE_DEBUG),y)
AM335X_PRU_PACKAGE_MAKE_TARGET = debug $(if $(BR2_STATIC_LIBS),,sodebug)
else
AM335X_PRU_PACKAGE_MAKE_TARGET = release $(if $(BR2_STATIC_LIBS),,sorelease)
endif
define AM335X_PRU_PACKAGE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \
-C $(@D)/pru_sw/app_loader/interface $(AM335X_PRU_PACKAGE_MAKE_TARGET)
endef
# 'install' installs whatever was built, and our patch removes the dependency
# on the release build, so we can use it to install whatever we built above.
define AM335X_PRU_PACKAGE_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) DESTDIR="$(STAGING_DIR)" PREFIX="/usr" \
-C $(@D)/pru_sw/app_loader/interface install
endef
define AM335X_PRU_PACKAGE_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) DESTDIR="$(TARGET_DIR)" PREFIX="/usr" \
-C $(@D)/pru_sw/app_loader/interface install
endef
# The debug libraries are named differently than the release ones,
# so we must provide a symlink to still be able to link with them.
ifeq ($(BR2_ENABLE_DEBUG),y)
define AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_STATIC
ln -sf libprussdrvd.a $(STAGING_DIR)/usr/lib/libprussdrv.a
endef
AM335X_PRU_PACKAGE_POST_INSTALL_STAGING_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_STATIC
ifeq ($(BR2_STATIC_LIBS),)
define AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_SHARED
ln -sf libprussdrvd.so $(STAGING_DIR)/usr/lib/libprussdrv.so
endef
AM335X_PRU_PACKAGE_POST_INSTALL_STAGING_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_SHARED
define AM335X_PRU_PACKAGE_LN_DEBUG_TARGET
ln -sf libprussdrvd.so $(TARGET_DIR)/usr/lib/libprussdrv.so
endef
AM335X_PRU_PACKAGE_POST_INSTALL_TARGET_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_TARGET
endif # !STATIC
endif # DEBUG
define HOST_AM335X_PRU_PACKAGE_BUILD_CMDS
cd $(@D)/pru_sw/utils/pasm_source; \
$(HOSTCC) -Wall -D_UNIX_ pasm.c pasmpp.c pasmexp.c pasmop.c \
pasmdot.c pasmstruct.c pasmmacro.c path_utils.c -o ../pasm
endef
define HOST_AM335X_PRU_PACKAGE_INSTALL_CMDS
$(INSTALL) -m 0755 -D $(@D)/pru_sw/utils/pasm $(HOST_DIR)/bin/pasm
endef
$(eval $(generic-package))
$(eval $(host-generic-package))