|
@@ -22,10 +22,10 @@ endif
|
|
endif
|
|
endif
|
|
export ERL_LIBS
|
|
export ERL_LIBS
|
|
|
|
|
|
-PKG_FILE ?= $(CURDIR)/.erlang.mk.packages.v1
|
|
|
|
|
|
+PKG_FILE ?= $(CURDIR)/.erlang.mk.packages.v2
|
|
export PKG_FILE
|
|
export PKG_FILE
|
|
|
|
|
|
-PKG_FILE_URL ?= https://raw.githubusercontent.com/extend/erlang.mk/master/packages.v1.tsv
|
|
|
|
|
|
+PKG_FILE_URL ?= https://raw.githubusercontent.com/extend/erlang.mk/master/packages.v2.tsv
|
|
|
|
|
|
# Core targets.
|
|
# Core targets.
|
|
|
|
|
|
@@ -42,17 +42,20 @@ distclean:: distclean-deps distclean-pkg
|
|
|
|
|
|
# Deps related targets.
|
|
# Deps related targets.
|
|
|
|
|
|
|
|
+define dep_fetch_git
|
|
|
|
+ git clone -n -- $(2) $(DEPS_DIR)/$(1)
|
|
|
|
+ cd $(DEPS_DIR)/$(1) ; git checkout -q $(3)
|
|
|
|
+endef
|
|
|
|
+
|
|
define dep_fetch
|
|
define dep_fetch
|
|
@mkdir -p $(DEPS_DIR)
|
|
@mkdir -p $(DEPS_DIR)
|
|
-ifeq (,$(findstring pkg://,$(word 1,$(dep_$(1)))))
|
|
|
|
- git clone -n -- $(word 1,$(dep_$(1))) $(DEPS_DIR)/$(1)
|
|
|
|
-else
|
|
|
|
|
|
+ifeq (,$(dep_$(1)))
|
|
@if [ ! -f $(PKG_FILE) ]; then $(call core_http_get,$(PKG_FILE),$(PKG_FILE_URL)); fi
|
|
@if [ ! -f $(PKG_FILE) ]; then $(call core_http_get,$(PKG_FILE),$(PKG_FILE_URL)); fi
|
|
- git clone -n -- `awk 'BEGIN { FS = "\t" }; \
|
|
|
|
- $$$$1 == "$(subst pkg://,,$(word 1,$(dep_$(1))))" { print $$$$2 }' \
|
|
|
|
- $(PKG_FILE)` $(DEPS_DIR)/$(1)
|
|
|
|
|
|
+ $(eval DEP_FETCH_PKG := $(shell awk 'BEGIN { FS = "\t" }; $$1 == "$(1)" { print $$2 " " $$3 " "$$4 }' $(PKG_FILE)))
|
|
|
|
+ $(call dep_fetch_$(word 1,$(DEP_FETCH_PKG)),$(1),$(word 2,$(DEP_FETCH_PKG)),$(word 3,$(DEP_FETCH_PKG)))
|
|
|
|
+else
|
|
|
|
+ $(call dep_fetch_$(word 1,$(dep_$(1))),$(1),$(word 2,$(dep_$(1))),$(word 3,$(dep_$(1))))
|
|
endif
|
|
endif
|
|
- cd $(DEPS_DIR)/$(1) ; git checkout -q $(word 2,$(dep_$(1)))
|
|
|
|
endef
|
|
endef
|
|
|
|
|
|
define dep_target
|
|
define dep_target
|
|
@@ -73,17 +76,17 @@ $(PKG_FILE):
|
|
pkg-list: $(PKG_FILE)
|
|
pkg-list: $(PKG_FILE)
|
|
@cat $(PKG_FILE) | awk 'BEGIN { FS = "\t" }; { print \
|
|
@cat $(PKG_FILE) | awk 'BEGIN { FS = "\t" }; { print \
|
|
"Name:\t\t" $$1 "\n" \
|
|
"Name:\t\t" $$1 "\n" \
|
|
- "Repository:\t" $$2 "\n" \
|
|
|
|
- "Website:\t" $$3 "\n" \
|
|
|
|
- "Description:\t" $$4 "\n" }'
|
|
|
|
|
|
+ "Repository:\t" $$3 "\n" \
|
|
|
|
+ "Website:\t" $$5 "\n" \
|
|
|
|
+ "Description:\t" $$6 "\n" }'
|
|
|
|
|
|
ifdef q
|
|
ifdef q
|
|
pkg-search: $(PKG_FILE)
|
|
pkg-search: $(PKG_FILE)
|
|
@cat $(PKG_FILE) | grep -i ${q} | awk 'BEGIN { FS = "\t" }; { print \
|
|
@cat $(PKG_FILE) | grep -i ${q} | awk 'BEGIN { FS = "\t" }; { print \
|
|
"Name:\t\t" $$1 "\n" \
|
|
"Name:\t\t" $$1 "\n" \
|
|
- "Repository:\t" $$2 "\n" \
|
|
|
|
- "Website:\t" $$3 "\n" \
|
|
|
|
- "Description:\t" $$4 "\n" }'
|
|
|
|
|
|
+ "Repository:\t" $$3 "\n" \
|
|
|
|
+ "Website:\t" $$5 "\n" \
|
|
|
|
+ "Description:\t" $$6 "\n" }'
|
|
else
|
|
else
|
|
pkg-search:
|
|
pkg-search:
|
|
@echo "Usage: make pkg-search q=STRING"
|
|
@echo "Usage: make pkg-search q=STRING"
|