diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-01-27 07:29:32 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2014-01-27 07:29:32 +0000 |
commit | 5d68e6a30ce5f3fbf2cc04ff6e4a9a624e4f7822 (patch) | |
tree | 9463a44d4109c702b91eb61a5343959d3962f183 | |
parent | 1fce2b04404159dd61c0d85a7b9d9b5e7ad43e14 (diff) | |
download | freebsd-ports-5d68e6a30ce5f3fbf2cc04ff6e4a9a624e4f7822.zip |
Add USES=desthack
This allow to pass DESTDIR through configure --prefix to ports that are
not destdir aware
Obtained from: OpenBSD ports tree (discussed in Malta with Marc Espie)
-rw-r--r-- | Mk/Uses/desthack.mk | 29 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 5 |
2 files changed, 32 insertions, 2 deletions
diff --git a/Mk/Uses/desthack.mk b/Mk/Uses/desthack.mk new file mode 100644 index 000000000000..eb49af650cfc --- /dev/null +++ b/Mk/Uses/desthack.mk @@ -0,0 +1,29 @@ +# +# $FreeBSD$ +# +# Handle gnu configure that does not properly support DESTDIR +# +# MAINTAINER: portmgr@FreeBSD.org +# +# Feature: desthack +# Usage: USES=desthack +# Valide ARGS: none +# + +.if !defined(_INCLUDE_USES_DESTHACK_MK) +_INCLUDE_USES_DESTHACK_MK= yes + +.if defined(_desthack_ARGS) +IGNORE= USES=desthack does not require args +.endif + +_USES_POST= desthack +GNU_CONFIGURE_PREFIX= \$${${DESTDIRNAME}}${PREFIX} +GNU_CONFIGURE_MANPREFIX= \$${${DESTDIRNAME}}${MANPREFIX} +.endif + +.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_DESTHACK_POST_MK) +_INCLUDE_USES_DESTHACK_POST_MK= yes +post-stage: + @${SED} -i '' -e 's,${STAGEDIR},,g' ${STAGEDIR}${PREFIX}/lib/*.la +.endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 20578ccc3883..76d8c00b4ae4 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2780,6 +2780,7 @@ CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax .endif GNU_CONFIGURE_PREFIX?= ${PREFIX} +GNU_CONFIGURE_MANPREFIX?= ${MANPREFIX} CONFIG_SITE?= ${PORTSDIR}/Templates/config.site CONFIGURE_ARGS+= --prefix=${GNU_CONFIGURE_PREFIX} $${_LATE_CONFIGURE_ARGS} CONFIGURE_ENV+= CONFIG_SITE=${CONFIG_SITE} lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN} @@ -2788,10 +2789,10 @@ HAS_CONFIGURE= yes SET_LATE_CONFIGURE_ARGS= \ _LATE_CONFIGURE_ARGS="" ; \ if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \ - _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${MANPREFIX}/man" ; \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${GNU_CONFIGURE_MANPREFIX}/man" ; \ fi ; \ if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \ - _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${GNU_CONFIGURE_PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \ fi ; \ if [ -z "`./${CONFIGURE_SCRIPT} --version 2>&1 | ${EGREP} -i '(autoconf.*2\.13|Unrecognized option)'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --build=${CONFIGURE_TARGET}" ; \ |