Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Mar 2013 14:28:57 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r313517 - in head/Mk: . Uses
Message-ID:  <201303061428.r26ESvw7047333@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Wed Mar  6 14:28:57 2013
New Revision: 313517
URL: http://svnweb.freebsd.org/changeset/ports/313517

Log:
  New USES macros that loads "features" on demand.
  
  First feature implemented: pathfix which will lookup in WRKSRC for Makefile.in
  and configure and fix common path that doesn't fit with FreeBSD hier(7)
  
  This is an extract of bsd.gnome.mk's gnomehack to avoid porters to have to load
  the full bsd.gnome.mk just for this feature
  
  More features to come...

Added:
  head/Mk/Uses/
  head/Mk/Uses/pathfix.mk   (contents, props changed)
Modified:
  head/Mk/bsd.port.mk

Added: head/Mk/Uses/pathfix.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/Mk/Uses/pathfix.mk	Wed Mar  6 14:28:57 2013	(r313517)
@@ -0,0 +1,26 @@
+# $FreeBSD$
+# Lookup in Makefile.in and configure for common incorrect paths and set them
+# to respect FreeBSD hier
+#
+# MAINTAINER: portmgr@FreeBSD.org
+#
+.if !defined(_INCLUDE_PATHFIX_MK)
+_INCLUDE_PATHFIX_MK=	yes
+
+PATHFIX_MAKEFILEIN?=	Makefile.in
+
+pre-patch: pathfix-pre-patch
+
+pathfix-pre-patch:
+	@${FIND} ${WRKSRC} -name "${PATHFIX_MAKEFILEIN}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+		's|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
+		s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+		s|[(]datadir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+		s|[(]prefix[)]/lib/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
+		s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
+			s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g' ; \
+	${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+		's|DATADIRNAME=lib|DATADIRNAME=share|g ; \
+		s|{libdir}/locale|{prefix}/share/locale|g'
+
+.endif

Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk	Wed Mar  6 14:03:24 2013	(r313516)
+++ head/Mk/bsd.port.mk	Wed Mar  6 14:28:57 2013	(r313517)
@@ -1153,6 +1153,7 @@ DISTDIR?=		${PORTSDIR}/distfiles
 _DISTDIR?=		${DISTDIR}/${DIST_SUBDIR}
 INDEXDIR?=		${PORTSDIR}
 SRC_BASE?=		/usr/src
+USESDIR?=		${PORTSDIR}/Mk/Uses
 
 .include "${PORTSDIR}/Mk/bsd.commands.mk"
 
@@ -1544,6 +1545,15 @@ check-makefile::
 
 _POSTMKINCLUDED=	yes
 
+# Loading features
+.for f in ${USES}
+_f=${f:C/\:.*//g}
+.if ${_f} != ${f}
+${_f}_ARGS:=	${f:C/^[^\:]*\://g}
+.endif
+.include "${USESDIR}/${_f}.mk"
+.endfor
+
 WRKDIR?=		${WRKDIRPREFIX}${.CURDIR}/work
 .if !defined(IGNORE_MASTER_SITE_GITHUB) && defined(USE_GITHUB)
 WRKSRC?=		${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303061428.r26ESvw7047333>