svn commit: r376666 - in head/devel/distcc: . files

Jung-uk Kim jkim at FreeBSD.org
Sat Jan 10 00:49:36 UTC 2015


Author: jkim
Date: Sat Jan 10 00:49:34 2015
New Revision: 376666
URL: https://svnweb.freebsd.org/changeset/ports/376666
QAT: https://qat.redports.org/buildarchive/r376666/

Log:
  - Reset maintainership per skreuzer.
  - Install desktop and icon files when GNOME or GTK option is set. [1]
  - Fix pidfile when 'distccd_flags' variable is not set by the user.
  - Replace COMPILER_LINKS option with CLANGLINK and LLVMLINK options.  Note
  these are turned off by default unlike COMPILER_LINKS.  Actually, these are
  equivalent to options for devel/ccache as they are often jointly used.
  - Modernize and clean up the port.
  
  PR:		185426 [1]

Added:
  head/devel/distcc/files/pkg-install.in
     - copied, changed from r376643, head/devel/distcc/pkg-install
  head/devel/distcc/files/pkg-message.in
     - copied, changed from r376486, head/devel/distcc/pkg-message
Deleted:
  head/devel/distcc/pkg-install
  head/devel/distcc/pkg-message
  head/devel/distcc/pkg-plist
Modified:
  head/devel/distcc/Makefile
  head/devel/distcc/files/distccd.in

Modified: head/devel/distcc/Makefile
==============================================================================
--- head/devel/distcc/Makefile	Fri Jan  9 22:21:11 2015	(r376665)
+++ head/devel/distcc/Makefile	Sat Jan 10 00:49:34 2015	(r376666)
@@ -4,11 +4,11 @@
 
 PORTNAME=	distcc
 PORTVERSION=	3.1
-PORTREVISION=	5
+PORTREVISION=	6
 CATEGORIES=	devel
 MASTER_SITES=	GOOGLE_CODE
 
-MAINTAINER=	skreuzer at FreeBSD.org
+MAINTAINER=	ports at FreeBSD.org
 COMMENT=	Distribute compilation of C(++) code acrosss machines on a network
 
 LICENSE=	GPLv2
@@ -16,96 +16,116 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 LIB_DEPENDS=	libpopt.so:${PORTSDIR}/devel/popt
 
-USES=		alias gmake tar:bzip2
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-gprof --disable-Werror
 WANT_GNOME=	yes
+USES=		alias gmake tar:bzip2
+
+CCLINKDIR?=	libexec/distcc
+CONFIGURE_ARGS=	--disable-Werror
+CONFIGURE_ENV=	PYTHON="${NONEXISTENT}"
 CPPFLAGS+=	-I${LOCALBASE}/include
 LDFLAGS+=	-L${LOCALBASE}/lib
+
+SUB_FILES=	pkg-install pkg-message
+SUB_LIST=	DISTCCD_PIDFILE=/var/run/distccd.pid
+SUB_LIST+=	NONEXISTENT="${NONEXISTENT}"
 USE_RC_SUBR=	distccd
 
-OPTIONS_DEFINE=	GNOME GTK IPV6 AVAHI COMPILER_LINKS DOCS
-GNOME_DESC=	GUI monitor based on GNOME
-GTK_DESC=	Build GUI monitor based on GTK
-AVAHI_DESC=	Avahi Zeroconf/mDNS/Bonjour support
-COMPILER_LINKS=	Create symlinks to distcc
+BIN_FILES=	distcc distccmon-text lsdistcc
+DOC_FILES=	protocol-1.txt status-1.txt \
+		protocol-2.txt reporting-bugs.txt
+MAN_FILES=	distcc.1 distccd.1 distccmon-text.1
+README_FILES=	AUTHORS INSTALL NEWS README
+SBIN_FILES=	distccd
+
+PLIST_FILES=	${BIN_FILES:S|^|bin/|}
+PLIST_FILES+=	${DISTCC_COMPILERS:S|^|${CCLINKDIR}/|}
+PLIST_FILES+=	${MAN_FILES:S|^|man/man1/|:S|$|.gz|}
+PLIST_FILES+=	${SBIN_FILES:S|^|sbin/|}
+
+OPTIONS_DEFINE=	AVAHI CLANGLINK DOCS IPV6 LLVMLINK
+OPTIONS_RADIO=	GUI
+OPTIONS_RADIO_GUI=	GNOME GTK
+
+CLANGLINK_DESC=	Create clang compiler links if clang is installed
+GUI_DESC=	Build GUI for distcc monitor
+GNOME_DESC=	Monitor based on GNOME
+GTK_DESC=	Monitor based on GTK
+LLVMLINK_DESC=	Create llvm compiler links if llvm is installed
+
+AVAHI_CONFIGURE_WITH=	avahi
+AVAHI_LIB_DEPENDS=	libavahi-glib.1.so:${PORTSDIR}/net/avahi-app
+DOCS_PLIST_FILES=	${README_FILES:S|^|${DOCSDIR_REL}/|}
+DOCS_PLIST_FILES+=	${DOC_FILES:S|^|${DOCSDIR_REL}/|}
+GNOME_CONFIGURE_WITH=	gnome
+GNOME_USE=	GNOME=gtk20,libgnome,libgnomeui,pango
+GTK_CONFIGURE_WITH=	gtk
+GTK_USE=	GNOME=gtk20
+IPV6_CONFIGURE_ENABLE=	rfc2553
 
-OPTIONS_DEFAULT=	COMPILER_LINKS
+DISTCC_COMPILERS=	CC c++ cc
 
 .include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MAVAHI}
-LIB_DEPENDS+=	libavahi-glib.1.so:${PORTSDIR}/net/avahi-app
-.else
-CONFIGURE_ARGS+=	--without-avahi
-.endif
-
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+=	--enable-rfc2553
-.else
-CONFIGURE_ARGS+=	--disable-rfc2553
-.endif
-
-.if ${PORT_OPTIONS:MCOMPILER_LINKS}
-CCLINKDIR?=		libexec/distcc
-GNU_COMPILERS=		34 42 43 44 45 46 47 48 -ooo
-DISTCC_COMPILERS=	cc c++ gcc g++ ${GNU_COMPILERS:S|^|gcc|} ${GNU_COMPILERS:S|^|g++|}
-DISTCC_COMPILERS+=	clang clang++ llvm-gcc llvm-c++ llvm-g++
+.if ${PORT_OPTIONS:MCLANGLINK}
+CLANG_COMPILERS=	-devel 31 32 33 34 35
+DISTCC_COMPILERS+=	clang++ clang
+DISTCC_COMPILERS+=	${CLANG_COMPILERS:S|^|clang++|}
+DISTCC_COMPILERS+=	${CLANG_COMPILERS:S|^|clang|}
+.endif
+GNU_COMPILERS=		34 42 43 44 45 46 47 48 49 5
+DISTCC_COMPILERS+=	gcc g++
+DISTCC_COMPILERS+=	${GNU_COMPILERS:S|^|g++|}
+DISTCC_COMPILERS+=	${GNU_COMPILERS:S|^|gcc|}
 .if ${ARCH} == "i386"
 DISTCC_COMPILERS+=	icc icpc
 .endif
-.if defined(EXTRA_COMPILERS)
-DISTCC_COMPILERS+=	${EXTRA_COMPILERS}
-.endif
-PLIST_FILES+=		${DISTCC_COMPILERS:S|^|${CCLINKDIR}/|}
+.if ${PORT_OPTIONS:MLLVMLINK}
+DISTCC_COMPILERS+=	llvm-c++ llvm-g++ llvm-gcc
 .endif
+DISTCC_COMPILERS+=	${EXTRA_COMPILERS}
 
+.if ${PORT_OPTIONS:MGNOME} || ${PORT_OPTIONS:MGTK}
 .if ${PORT_OPTIONS:MGNOME}
-USE_GNOME=		libgnomeui
-CONFIGURE_ARGS+=	--with-gnome
-PKGNAMESUFFIX=		-gnome
-PLIST_SUB+=		WITH_GNOME=""
-.elif ${PORT_OPTIONS:MGTK}
-USE_GNOME=		gtk20
-CONFIGURE_ARGS+=	--with-gtk
-PKGNAMESUFFIX=		-gtk
-PLIST_SUB+=		WITH_GNOME=""
+PKGNAMESUFFIX=	-gnome
 .else
-PLIST_SUB+=		WITH_GNOME="@comment "
+PKGNAMESUFFIX=	-gtk
+.endif
+BIN_FILES+=	distccmon-gnome
+PLIST_FILES+=	${DESKTOPDIR}/distccmon-gnome.desktop
+PLIST_FILES+=	share/pixmaps/distccmon-gnome-icon.png
 .endif
 
-DOC_FILES=	AUTHORS INSTALL NEWS README \
-		doc/protocol-1.txt doc/status-1.txt \
-		doc/protocol-2.txt doc/reporting-bugs.txt
-
-do-install:
-	@${INSTALL_PROGRAM} ${WRKSRC}/distcc ${STAGEDIR}${PREFIX}/bin
-	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-text ${STAGEDIR}${PREFIX}/bin
-	@${INSTALL_PROGRAM} ${WRKSRC}/lsdistcc ${STAGEDIR}${PREFIX}/bin
 .if ${PORT_OPTIONS:MGNOME} || ${PORT_OPTIONS:MGTK}
-	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-gnome ${STAGEDIR}${PREFIX}/bin
+post-patch:
+	${REINPLACE_CMD} -e 's|PKGDATADIR "|"${PREFIX}/share/pixmaps|' \
+	    ${WRKSRC}/src/mon-gnome.c
 .endif
-	@${INSTALL_PROGRAM} ${WRKSRC}/distccd ${STAGEDIR}${PREFIX}/sbin
 
-post-install:
-.if ${PORT_OPTIONS:MCOMPILER_LINKS}
-	@${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}
+do-install:
+	cd ${WRKSRC} && ${INSTALL_PROGRAM} ${BIN_FILES} \
+	    ${STAGEDIR}${PREFIX}/bin
+	cd ${WRKSRC} && ${INSTALL_PROGRAM} ${SBIN_FILES} \
+	    ${STAGEDIR}${PREFIX}/sbin
+	${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}
 .for link in ${DISTCC_COMPILERS}
-	${LN} -sf ${PREFIX}/bin/distcc ${STAGEDIR}${PREFIX}/${CCLINKDIR}/${link}
+	${LN} -sf ${PREFIX}/bin/distcc \
+	    ${STAGEDIR}${PREFIX}/${CCLINKDIR}/${link}
 .endfor
+.if ${PORT_OPTIONS:MGNOME} || ${PORT_OPTIONS:MGTK}
+	cd ${WRKSRC}/gnome && ${INSTALL_DATA} distccmon-gnome.desktop \
+	    ${STAGEDIR}${DESKTOPDIR}
+	cd ${WRKSRC}/gnome && ${INSTALL_DATA} distccmon-gnome-icon.png \
+	    ${STAGEDIR}${PREFIX}/share/pixmaps
 .endif
 .if ${PORT_OPTIONS:MDOCS}
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for FILE in ${DOC_FILES}
-	@${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
-.endfor
-.endif
-.for man in distcc.1 distccd.1 distccmon-text.1
-	${INSTALL_MAN} ${WRKSRC}/man/${man} ${STAGEDIR}${MANPREFIX}/man/man1
-.endfor
-	@${CAT} ${PKGMESSAGE}
-.if !defined(PACKAGE_BUILDING)
-	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${INSTALL_DATA} ${README_FILES} \
+	    ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}/doc && ${INSTALL_DATA} ${DOC_FILES} \
+	    ${STAGEDIR}${DOCSDIR}
 .endif
+	cd ${WRKSRC}/man && ${INSTALL_MAN} ${MAN_FILES} \
+	    ${STAGEDIR}${MANPREFIX}/man/man1
 
 .include <bsd.port.mk>

Modified: head/devel/distcc/files/distccd.in
==============================================================================
--- head/devel/distcc/files/distccd.in	Fri Jan  9 22:21:11 2015	(r376665)
+++ head/devel/distcc/files/distccd.in	Sat Jan 10 00:49:34 2015	(r376666)
@@ -27,7 +27,7 @@ command=%%PREFIX%%/sbin/${name}
 # extract pid file from distccd_flags (if any)
 pidfile="`echo ${distccd_flags} |sed -nE -e 's/^.*-P ([^ ]+).*$/\1/p'`"
 # set default value
-pidfile=${pidfile:-/var/run/distccd.pid}
+pidfile=${pidfile:-%%DISTCCD_PIDFILE%%}
 
 distccd_precmd()
 {

Copied and modified: head/devel/distcc/files/pkg-install.in (from r376643, head/devel/distcc/pkg-install)
==============================================================================
--- head/devel/distcc/pkg-install	Fri Jan  9 18:51:32 2015	(r376643, copy source)
+++ head/devel/distcc/files/pkg-install.in	Sat Jan 10 00:49:34 2015	(r376666)
@@ -23,7 +23,7 @@ POST-INSTALL)
 		echo "You already have a user \"${USER}\", so I will use it."
 	else
 		if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-			-d "/nonexistent" -s /usr/sbin/nologin -c "Distcc user"
+			-d %%NONEXISTENT%% -s /usr/sbin/nologin -c "Distcc user"
 		then
 			echo "Added user \"${USER}\"."
 		else

Copied and modified: head/devel/distcc/files/pkg-message.in (from r376486, head/devel/distcc/pkg-message)
==============================================================================
--- head/devel/distcc/pkg-message	Wed Jan  7 17:56:34 2015	(r376486, copy source)
+++ head/devel/distcc/files/pkg-message.in	Sat Jan 10 00:49:34 2015	(r376666)
@@ -5,8 +5,8 @@ Distccd now requires the --allow (-a) ar
 in daemon mode. This option restricts distcc to a specific
 network, by default this port uses 127.0.0.0/8, you should
 change this by specifying your own distccd_flags in
-/etc/rc.conf, see the script in etc/rc.d/distccd.sh for a
-template.
+/etc/rc.conf, see the script in %%PREFIX%%/etc/rc.d/distccd
+for a template.
 
 Additionally it is recommended that you add entries to
 /etc/syslog.conf to record all distccd log messages to a file


More information about the svn-ports-all mailing list