kumquat-buildroot/package/cache-calibrator/cache-calibrator.mk
Yann E. MORIN 2ba0ec576e package/cache-calibrator: fix legal-info
Fixes:
http://autobuild.buildroot.net/results/e1b/e1b3dee917f5ab3961f3dea006720431444d0ef5/

cache-calibrator is a single C file that is downloaded as-is, and we
patch it. We also use that file as the license file.

Thus, the file when it is downloaded has a specific hash, but when
saved by legal-info, it has a different hash.

However, we can't store two different hashes for the same _filename_
with different content.

So, we extract the license file as a pre-patch hook, and store it in a
separate file, for which we can now add a hash.

[Peter: add autobuilder reference]
Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-07-04 00:03:39 +02:00

30 lines
974 B
Makefile

################################################################################
#
# cache-calibrator
#
################################################################################
CACHE_CALIBRATOR_SOURCE = calibrator.c
CACHE_CALIBRATOR_SITE = http://homepages.cwi.nl/~manegold/Calibrator/src
CACHE_CALIBRATOR_LICENSE = Cache calibrator license
CACHE_CALIBRATOR_LICENSE_FILES = calibrator.c.license
define CACHE_CALIBRATOR_EXTRACT_CMDS
cp $(DL_DIR)/$(CACHE_CALIBRATOR_SOURCE) $(@D)
endef
define CACHE_CALIBRATOR_EXTRACT_LICENSE
head -n 38 $(@D)/calibrator.c >$(@D)/calibrator.c.license
endef
CACHE_CALIBRATOR_PRE_PATCH_HOOKS += CACHE_CALIBRATOR_EXTRACT_LICENSE
define CACHE_CALIBRATOR_BUILD_CMDS
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) $(@D)/calibrator.c -o $(@D)/cache_calibrator -lm
endef
define CACHE_CALIBRATOR_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/cache_calibrator $(TARGET_DIR)/usr/bin/cache_calibrator
endef
$(eval $(generic-package))