Date: Thu, 30 Aug 2012 15:31:25 +0000 (UTC) From: Beat Gaetzi <beat@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r303381 - in head: . Mk Message-ID: <201208301531.q7UFVPRD068722@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: beat Date: Thu Aug 30 15:31:25 2012 New Revision: 303381 URL: http://svn.freebsd.org/changeset/ports/303381 Log: - Add ccache support for building ports. [1] - Fix CONFIGURE_FAIL_MESSAGE to be pkgng-aware. [2] - Resolve symlinks in PREFIX on deinstall. [3] - Introduce CLEAN_FETCH_ENV variable to disable package dependency in fetch target for mass fetching. [4] PR: ports/169579 [1], ports/170552 [2], ports/170784 [3], ports/170796 [4] Submitted by: bdrewery@ [1], crees@ [2], gahr@ [3], ohauer@ [4] Tested on: pointyhat Modified: head/CHANGES head/Mk/bsd.port.mk Modified: head/CHANGES ============================================================================== --- head/CHANGES Thu Aug 30 15:17:20 2012 (r303380) +++ head/CHANGES Thu Aug 30 15:31:25 2012 (r303381) @@ -10,6 +10,22 @@ in the release notes and/or placed into All ports committers are allowed to commit to this file. +20120830: +AUTHOR: beat@FreeBSD.org + + * CCACHE support for building ports has been added (depends on + devel/ccache). Therefore new user settable variables are available: + + WITH_CCACHE_BUILD - Enable CCACHE support (Default off) + + NO_CCACHE - Disable CCACHE support for example for certain + ports if CCACHE is enabled. + + By default CCACHE uses $HOME/.ccache as cache directory. To use + a non-default cache directory this could be overwritten like: + + MAKE_ENV+= CCACHE_DIR=/var/cache/ccache + 20120820: AUTHOR: gahr@FreeBSD.org Modified: head/Mk/bsd.port.mk ============================================================================== --- head/Mk/bsd.port.mk Thu Aug 30 15:17:20 2012 (r303380) +++ head/Mk/bsd.port.mk Thu Aug 30 15:31:25 2012 (r303381) @@ -833,6 +833,9 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # Default: none # FETCH_REGET - Times to retry fetching of files on checksum errors. # Default: 1 +# CLEAN_FETCH_ENV +# - Disable package dependency in fetch target for mass +# fetching. User settable. # # For extract: # @@ -934,6 +937,13 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # that are explicitly marked MAKE_JOBS_UNSAFE. User settable. # MAKE_JOBS_NUMBER # - Override the number of make jobs to be used. User settable. +## cacche +# +# WITH_CCACHE_BUILD +# - Enable CCACHE support (devel/ccache). User settable. +# NO_CCACHE +# - Disable CCACHE support for example for certain ports if +# CCACHE is enabled. User settable. # # For install: # @@ -1626,9 +1636,11 @@ PLIST_SUB+= LIB32DIR=${LIB32DIR} .if defined(WITH_PKGNG) .if !defined(PKG_DEPENDS) +.if !defined(CLEAN_FETCH_ENV) PKG_DEPENDS+= ${LOCALBASE}/sbin/pkg:${PORTSDIR}/ports-mgmt/pkg .endif .endif +.endif .if defined(USE_ZIP) EXTRACT_DEPENDS+= ${LOCALBASE}/bin/unzip:${PORTSDIR}/archivers/unzip @@ -2217,6 +2229,19 @@ BUILD_FAIL_MESSAGE+= "You have chosen to .endif .endif +# ccache support +# Support NO_CCACHE for common setups, require WITH_CCACHE_BUILD, and +# don't use if ccache already set in CC +.if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC:M*ccache*} +# Avoid depends loops between pkg and ccache +. if !${.CURDIR:M*/devel/ccache} && !${.CURDIR:M*/ports-mgmt/pkg} +BUILD_DEPENDS+= ${LOCALBASE}/bin/ccache:${PORTSDIR}/devel/ccache +. endif + +# Prepend the ccache dir into the PATH and setup ccache env +MAKE_ENV+= PATH=${LOCALBASE}/libexec/ccache:${PATH} +.endif + PTHREAD_CFLAGS?= PTHREAD_LIBS?= -pthread @@ -2908,7 +2933,7 @@ CONFIGURE_TARGET:= ${CONFIGURE_TARGET:S/ CONFIGURE_LOG?= config.log # A default message to print if do-configure fails. -CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an \`ls ${PKG_DBDIR}\`)." +CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a ${PKG_INFO} -Ea)." .if defined(GNU_CONFIGURE) # Maximum command line length @@ -4474,7 +4499,7 @@ deinstall: check_name=`${ECHO_CMD} $${p} | ${SED} -e 's/-[^-]*$$//'`; \ if [ "$${check_name}" = "${PKGBASE}" ]; then \ prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ - if [ "x${PREFIX}" = "x$${prfx}" ]; then \ + if [ "x`${READLINK_CMD} -f ${PREFIX}`" = "x$${prfx}" ]; then \ ${ECHO_MSG} "===> Deinstalling $${p}"; \ ${PKG_DELETE} -f $${p}; \ else \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208301531.q7UFVPRD068722>