genode/libports/ports/libav.mk
Norman Feske 9d778a658d ports/libports: Avoid multi-target rules
This patch splits the download of signatures from the download of the
archive to improve robustness. This way, signature files will be
downloaded even if the corresponding archive is already in place.

Issue #748
2013-06-12 11:35:13 +02:00

53 lines
1.7 KiB
Makefile

include lib/import/import-av.inc
LIBAV_TGZ = $(LIBAV).tar.gz
LIBAV_SIG = $(LIBAV_TGZ).asc
LIBAV_SHA = $(LIBAV_TGZ).sha1
LIBAV_BASE_URL = http://www.libav.org/releases
LIBAV_URL = $(LIBAV_BASE_URL)/$(LIBAV_TGZ)
LIBAV_URL_SIG = $(LIBAV_BASE_URL)/$(LIBAV_SIG)
LIBAV_URL_SHA = $(LIBAV_BASE_URL)/$(LIBAV_SHA)
#
# XXX Add hash verification for libav downloads. Note: signatures are provided
# for newer versions. Therefore, all is prepared in the make file for
# enabling the signature check. However, the signature check is yet
# commented out.
#
#LIBAV_KEY = UNCLEAR WHAT GOES IN HERE
#
# Interface to top-level prepare Makefile
#
PORTS += $(LIBAV)
prepare-libav: $(CONTRIB_DIR)/$(LIBAV)
$(CONTRIB_DIR)/$(LIBAV): clean-libav
#
# Port-specific local rules
#
$(DOWNLOAD_DIR)/$(LIBAV_TGZ):
$(VERBOSE)wget -c -P $(DOWNLOAD_DIR) $(LIBAV_URL) && touch $@
$(DOWNLOAD_DIR)/$(LIBAV_SHA):
$(VERBOSE)wget -c -P $(DOWNLOAD_DIR) $(LIBAV_URL_SHA) && touch $@
$(DOWNLOAD_DIR)/$(LIBAV_SIG):
$(VERBOSE)wget -c -P $(DOWNLOAD_DIR) $(LIBAV_URL_SIG) && touch $@
$(DOWNLOAD_DIR)/$(LIBAV_TGZ).verified: $(DOWNLOAD_DIR)/$(LIBAV_TGZ) \
$(DOWNLOAD_DIR)/$(LIBAV_SHA) \
$(DOWNLOAD_DIR)/$(LIBAV_SIG)
# XXX Hash verification of libav does not ensure authenticity
$(VERBOSE)$(HASHVERIFIER) $(DOWNLOAD_DIR)/$(LIBAV_TGZ) $(DOWNLOAD_DIR)/$(LIBAV_SHA) sha1
$(VERBOSE)touch $@
$(CONTRIB_DIR)/$(LIBAV): $(DOWNLOAD_DIR)/$(LIBAV_TGZ).verified
$(VERBOSE)tar xfz $(<:.verified=) -C $(CONTRIB_DIR) && touch $@
$(VERBOSE)patch -d $(CONTRIB_DIR)/$(LIBAV) -p1 -i $(CURDIR)/src/app/avplay/avplay.patch
clean-libav:
$(VERBOSE)rm -rf $(CONTRIB_DIR)/$(LIBAV)