From 8e8481c2bc6cc7c692682f714dbaa77a3fd64aea Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> Date: Thu, 22 Feb 2018 14:40:27 -0500 Subject: [PATCH] contrib: Fix installation of kashmir-dependency, other fixes. * contrib/src/main.mak (dep_on): Filter out top-level packages from the result (as it used to be prior to commit 6fa37b57c10). (pprint): Display 'None' when there are no packages selected. * contrib/src/kashmir-dependency/rules.mak (.kashmir-dependency): Ensure installation directory exists before copying files. * contrib/src/asio/rules.mak: Do not add to PKGS. This prevent build this indirect dependency when its parent referrer was disabled. * contrib/src/kashmir-dependency/rules.mak: Likewise. * contrib/src/restbed/rules.mak: Likewise. Change-Id: I58e515c4e4e49220f0e82144b349c97ba86d6940 Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> --- contrib/src/asio/rules.mak | 2 +- contrib/src/kashmir-dependency/rules.mak | 6 ++++-- contrib/src/main.mak | 24 ++++++++++++++---------- contrib/src/restbed/rules.mak | 2 +- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/contrib/src/asio/rules.mak b/contrib/src/asio/rules.mak index 61b97929de..be1dc04386 100644 --- a/contrib/src/asio/rules.mak +++ b/contrib/src/asio/rules.mak @@ -21,7 +21,7 @@ ASIO_VERSION := f5c570826d2ebf50eb38c44039181946a473148b ASIO_URL := https://github.com/chriskohlhoff/asio/archive/$(ASIO_VERSION).tar.gz -PKGS += asio +# Pure dependency of restbed: do not add to PKGS. $(TARBALLS)/asio-$(ASIO_VERSION).tar.gz: $(call download,$(ASIO_URL)) diff --git a/contrib/src/kashmir-dependency/rules.mak b/contrib/src/kashmir-dependency/rules.mak index c8639d983a..d324e1d3c9 100644 --- a/contrib/src/kashmir-dependency/rules.mak +++ b/contrib/src/kashmir-dependency/rules.mak @@ -1,3 +1,4 @@ +# -*- mode: makefile; -*- # # Copyright (C) 2018 Savoir-faire Linux Inc. # @@ -21,7 +22,7 @@ KASHMIR_VERSION := 2f3913f49c4ac7f9bff9224db5178f6f8f0ff3ee KASHMIR_URL := https://github.com/Corvusoft/kashmir-dependency/archive/$(KASHMIR_VERSION).tar.gz -PKGS += kashmir-dependency +# Pure dependency of restbed: do not add to PKGS. $(TARBALLS)/kashmir-dependency-$(KASHMIR_VERSION).tar.gz: $(call download,$(KASHMIR_URL)) @@ -31,7 +32,8 @@ kashmir-dependency: kashmir-dependency-$(KASHMIR_VERSION).tar.gz $(MOVE) .kashmir-dependency: kashmir-dependency .sum-kashmir-dependency - cd $< && cp -r kashmir $(PREFIX)/include + mkdir -p "$(PREFIX)/include" + cd $< && cp -r kashmir "$(PREFIX)/include" touch $@ .sum-kashmir-dependency: kashmir-dependency-$(KASHMIR_VERSION).tar.gz diff --git a/contrib/src/main.mak b/contrib/src/main.mak index f07180eaef..1c3d1f963c 100644 --- a/contrib/src/main.mak +++ b/contrib/src/main.mak @@ -1,3 +1,5 @@ +# -*- mode: makefile; -*- +# # Main makefile for VLC 3rd party libraries ("contrib") # Copyright (C) 2003-2011 the VideoLAN team # @@ -399,9 +401,9 @@ PKGS_MANUAL := $(sort $(PKGS_ENABLE) $(filter-out $(PKGS_DISABLE),$(PKGS_AUTOMAT # Resolve dependencies: dep_on = $(if $(filter $1,$2),\ $(error Dependency cycle detected: $(patsubst %,% ->,$2) $(filter $1,$2)),\ - $(sort $(foreach p,$(filter-out $(PKGS_FOUND),$(1)),$(p) $(call dep_on,$(DEPS_$(p)),$2 $(p))))) -PKGS_DEPS := $(call dep_on,$(PKGS_MANUAL)) -PKGS := $(sort $(PKGS_MANUAL) $(PKGS_DEPS)) + $(foreach p,$(filter-out $(PKGS_FOUND),$(1)),$(p) $(call dep_on,$(DEPS_$(p)),$2 $(p)))) +PKGS_DEPS := $(filter-out $(PKGS_MANUAL),$(call dep_on,$(PKGS_MANUAL))) +PKGS := $(PKGS_MANUAL) $(PKGS_DEPS) convert-static: for p in $(PREFIX)/lib/pkgconfig/*.pc; do $(SRC)/pkg-static.sh $$p; done @@ -444,21 +446,23 @@ package: install cd tmp/$(notdir $(PREFIX)) && $(abspath $(SRC))/change_prefix.sh $(PREFIX) @@CONTRIB_PREFIX@@ (cd tmp && tar c $(notdir $(PREFIX))/) | bzip2 -c > ../ring-contrib-$(HOST)-$(DATE).tar.bz2 +pprint = @echo ' $(or $(sort $1), None)' | fmt + list: @echo All packages: - @echo ' $(PKGS_ALL)' | fmt + $(call pprint,$(PKGS_ALL)) @echo Distribution-provided packages: - @echo ' $(PKGS_FOUND)' | fmt + $(call pprint,$(PKGS_FOUND)) @echo Automatically selected packages: - @echo ' $(PKGS_AUTOMATIC)' | fmt + $(call pprint,$(PKGS_AUTOMATIC)) @echo Manually deselected packages: - @echo ' $(PKGS_DISABLE)' | fmt + $(call pprint,$(PKGS_DISABLE)) @echo Manually selected packages: - @echo ' $(PKGS_ENABLE)' | fmt + $(call pprint,$(PKGS_ENABLE)) @echo Depended-on packages: - @echo ' $(PKGS_DEPS)' | fmt + $(call pprint,$(PKGS_DEPS)) @echo To-be-built packages: - @echo ' $(PKGS)' | fmt + $(call pprint,$(PKGS)) .PHONY: all fetch fetch-all install mostlyclean clean distclean package list prebuilt diff --git a/contrib/src/restbed/rules.mak b/contrib/src/restbed/rules.mak index f3af25be6d..957a06f8b1 100644 --- a/contrib/src/restbed/rules.mak +++ b/contrib/src/restbed/rules.mak @@ -22,7 +22,7 @@ RESTBED_VERSION := df867a858dddc4cf6ca8642da02720bd65ba239a RESTBED_URL := https://github.com/corvusoft//restbed/archive/$(RESTBED_VERSION).tar.gz -PKGS += restbed +# Pure dependency of OpenDHT: do not add to PKGS. ifeq ($(call need_pkg,"restbed >= 4.0"),) PKGS_FOUND += restbed -- GitLab