aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-10-20 13:26:48 +0200
committerLoïc Hoguin <[email protected]>2015-10-20 13:26:48 +0200
commitbfa0b2edc142cf32a74bcbb36632052a524c3437 (patch)
tree5fb3fb0599b02ba1dc67d6c01d5ce6a31b647d5a
parent7f1ace7622a5a9e046b8ae10accc8169ab59b047 (diff)
downloaderlang.mk-bfa0b2edc142cf32a74bcbb36632052a524c3437.tar.gz
erlang.mk-bfa0b2edc142cf32a74bcbb36632052a524c3437.tar.bz2
erlang.mk-bfa0b2edc142cf32a74bcbb36632052a524c3437.zip
Rename couch package into opencouch
Per request: https://github.com/ninenines/erlang.mk/issues/300 This commit also fixes issues with packages which have a different name than the application name.
-rw-r--r--core/deps.mk36
-rw-r--r--index/couch.mk7
-rw-r--r--index/opencouch.mk7
-rw-r--r--test/Makefile2
4 files changed, 27 insertions, 25 deletions
diff --git a/core/deps.mk b/core/deps.mk
index c70e751..7d991b0 100644
--- a/core/deps.mk
+++ b/core/deps.mk
@@ -21,8 +21,13 @@ export DEPS_DIR
REBAR_DEPS_DIR = $(DEPS_DIR)
export REBAR_DEPS_DIR
+dep_name = $(if $(dep_$(1)),$(1),$(pkg_$(1)_name))
+dep_repo = $(patsubst git://github.com/%,https://github.com/%, \
+ $(if $(dep_$(1)),$(word 2,$(dep_$(1))),$(pkg_$(1)_repo)))
+dep_commit = $(if $(dep_$(1)_commit),$(dep_$(1)_commit),$(if $(dep_$(1)),$(word 3,$(dep_$(1))),$(pkg_$(1)_commit)))
+
ALL_APPS_DIRS = $(if $(wildcard $(APPS_DIR)/),$(filter-out $(APPS_DIR),$(shell find $(APPS_DIR) -maxdepth 1 -type d)))
-ALL_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(filter-out $(IGNORE_DEPS),$(BUILD_DEPS) $(DEPS)))
+ALL_DEPS_DIRS = $(addprefix $(DEPS_DIR)/,$(foreach dep,$(filter-out $(IGNORE_DEPS),$(BUILD_DEPS) $(DEPS)),$(call dep_name,$(dep))))
ifeq ($(filter $(APPS_DIR) $(DEPS_DIR),$(subst :, ,$(ERL_LIBS))),)
ifeq ($(ERL_LIBS),)
@@ -546,26 +551,23 @@ define dep_fetch
fail))
endef
-dep_name = $(if $(dep_$(1)),$(1),$(pkg_$(1)_name))
-dep_repo = $(patsubst git://github.com/%,https://github.com/%, \
- $(if $(dep_$(1)),$(word 2,$(dep_$(1))),$(pkg_$(1)_repo)))
-dep_commit = $(if $(dep_$(1)_commit),$(dep_$(1)_commit),$(if $(dep_$(1)),$(word 3,$(dep_$(1))),$(pkg_$(1)_commit)))
-
define dep_target
-$(DEPS_DIR)/$(1):
- $(verbose) if test -d $(APPS_DIR)/$1; then \
- echo "Error: Dependency $1 conflicts with application found in $(APPS_DIR)/$1."; \
+$(DEPS_DIR)/$(call dep_name,$1):
+ $(eval DEP_NAME := $(call dep_name,$1))
+ $(eval DEP_STR := $(if $(filter-out $1,$(DEP_NAME)),$1,"$1 ($(DEP_NAME))"))
+ $(verbose) if test -d $(APPS_DIR)/$(DEP_NAME); then \
+ echo "Error: Dependency" $(DEP_STR) "conflicts with application found in $(APPS_DIR)/$(DEP_NAME)."; \
exit 17; \
fi
$(verbose) mkdir -p $(DEPS_DIR)
- $(dep_verbose) $(call dep_fetch_$(strip $(call dep_fetch,$(1))),$(1))
- $(verbose) if [ -f $(DEPS_DIR)/$(1)/configure.ac -o -f $(DEPS_DIR)/$(1)/configure.in ]; then \
- echo " AUTO " $(1); \
- cd $(DEPS_DIR)/$(1) && autoreconf -Wall -vif -I m4; \
+ $(dep_verbose) $(call dep_fetch_$(strip $(call dep_fetch,$1)),$1)
+ $(verbose) if [ -f $(DEPS_DIR)/$(DEP_NAME)/configure.ac -o -f $(DEPS_DIR)/$(DEP_NAME)/configure.in ]; then \
+ echo " AUTO " $(DEP_STR); \
+ cd $(DEPS_DIR)/$(DEP_NAME) && autoreconf -Wall -vif -I m4; \
fi
- - $(verbose) if [ -f $(DEPS_DIR)/$(1)/configure ]; then \
- echo " CONF " $(1); \
- cd $(DEPS_DIR)/$(1) && ./configure; \
+ - $(verbose) if [ -f $(DEPS_DIR)/$(DEP_NAME)/configure ]; then \
+ echo " CONF " $(DEP_STR); \
+ cd $(DEPS_DIR)/$(DEP_NAME) && ./configure; \
fi
ifeq ($(filter $(1),$(NO_AUTOPATCH)),)
$(verbose) if [ "$(1)" = "amqp_client" -a "$(RABBITMQ_CLIENT_PATCH)" ]; then \
@@ -584,7 +586,7 @@ ifeq ($(filter $(1),$(NO_AUTOPATCH)),)
git clone https://github.com/rabbitmq/rabbitmq-codegen.git $(DEPS_DIR)/rabbitmq-codegen; \
fi \
else \
- $(call dep_autopatch,$(1)) \
+ $(call dep_autopatch,$(DEP_NAME)) \
fi
endif
endef
diff --git a/index/couch.mk b/index/couch.mk
deleted file mode 100644
index e1993cb..0000000
--- a/index/couch.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-PACKAGES += couch
-pkg_couch_name = couch
-pkg_couch_description = A embeddable document oriented database compatible with Apache CouchDB
-pkg_couch_homepage = https://github.com/benoitc/opencouch
-pkg_couch_fetch = git
-pkg_couch_repo = https://github.com/benoitc/opencouch
-pkg_couch_commit = master
diff --git a/index/opencouch.mk b/index/opencouch.mk
new file mode 100644
index 0000000..6bbc27f
--- /dev/null
+++ b/index/opencouch.mk
@@ -0,0 +1,7 @@
+PACKAGES += opencouch
+pkg_opencouch_name = couch
+pkg_opencouch_description = A embeddable document oriented database compatible with Apache CouchDB
+pkg_opencouch_homepage = https://github.com/benoitc/opencouch
+pkg_opencouch_fetch = git
+pkg_opencouch_repo = https://github.com/benoitc/opencouch
+pkg_opencouch_commit = master
diff --git a/test/Makefile b/test/Makefile
index dc11ccd..04b31af 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -192,7 +192,7 @@ pkg-$1: clean build
$(eval @ = pkg-$1)
# Get the real application's name.
- $(eval APP_NAME = `sed '2!d;s/pkg_$1_name = //' ../index/$1.mk`)
+ $(eval APP_NAME := $(shell sed '2!d;s/pkg_$1_name = //' ../index/$1.mk))
$i "Bootstrap a new OTP library in packages/$1_pkg"
$t mkdir -p packages/$1_pkg/