Index: head/devel/distcc/Makefile =================================================================== --- head/devel/distcc/Makefile +++ head/devel/distcc/Makefile @@ -3,72 +3,108 @@ # $MCom: ports/devel/distcc/Makefile,v 1.3 2007/10/21 02:46:13 ahze Exp $ PORTNAME= distcc -PORTVERSION= 3.3.2 +DISTVERSIONPREFIX= v +DISTVERSION= 3.3.3 CATEGORIES= devel MAINTAINER= ports@FreeBSD.org -COMMENT= Distribute compilation of C(++) code acrosss machines on a network +COMMENT= Distribute compilation of C(++) code across machines on a network LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING +BUILD_DEPENDS= ${LOCALBASE}/lib/libiberty.a:devel/gnulibiberty LIB_DEPENDS= libpopt.so:devel/popt -GNU_CONFIGURE= yes -USES= autoreconf alias gmake libtool pkgconfig +USES= autoreconf alias gmake libtool localbase pkgconfig USE_GITHUB= yes -GH_ACCOUNT= distcc -GH_TAGNAME= 9a09372 +USE_RC_SUBR= distccd -GROUPS= distcc -USERS= distcc +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-Werror --sysconfdir=${ETCDIR} \ + CC="${CC}" PTHREAD_CC="${CC}" -CCLINKDIR?= libexec/distcc -CONFIGURE_ARGS= --disable-Werror CC=${CC} PTHREAD_CC=${CC} -CONFIGURE_ENV= PYTHON="${NONEXISTENT}" -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +TEST_TARGET= check +ETCDIR= ${PREFIX}/etc + SUB_FILES= pkg-message SUB_LIST= DISTCCD_PIDFILE=/var/run/distccd.pid -USE_RC_SUBR= distccd -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 +USERS= distcc +GROUPS= distcc 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/|} +PLIST_FILES+= ${CONFIG_FILES:S|^|${ETCDIR}/${PORTNAME}/|} +PLIST_FILES+= etc/default/distcc -OPTIONS_DEFINE= AVAHI CLANGLINK DOCS IPV6 LLVMLINK +OPTIONS_DEFINE= AVAHI CLANGLINK DOCS IPV6 LLVMLINK PUMP 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 +GUI_DESC= Build GUI for distcc monitor LLVMLINK_DESC= Create llvm compiler links if llvm is installed +PUMP_DESC= Distribute compilation as well as preprocessing to distcc servers -AVAHI_CONFIGURE_WITH= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app +AVAHI_CONFIGURE_WITH= avahi DOCS_PLIST_FILES= ${README_FILES:S|^|${DOCSDIR_REL}/|} DOCS_PLIST_FILES+= ${DOC_FILES:S|^|${DOCSDIR_REL}/|} -GNOME_CONFIGURE_WITH= gnome GNOME_USES= gnome GNOME_USE= GNOME=gtk20,libgnome,libgnomeui,pango -GTK_CONFIGURE_WITH= gtk +GNOME_CONFIGURE_WITH= gnome GTK_USES= gnome GTK_USE= GNOME=gtk20 +GTK_CONFIGURE_WITH= gtk IPV6_CONFIGURE_ENABLE= rfc2553 +PUMP_USES= python:3.1+ +PUMP_CONFIGURE_ENABLE= pump-mode +PUMP_PLIST_FILES= \ + ${PYTHON_SITELIBDIR}/include_server-${PORTVERSION}-py${PYTHON_VER}.egg-info \ + ${PYTHON_SITELIBDIR}/include_server/distcc_pump_c_extensions.so \ + ${PYTHON_SITELIBDIR}/include_server/include_server.py \ + ${PYTHON_SITELIBDIR}/include_server/include_server_test.py \ + ${PYTHON_SITELIBDIR}/include_server/include_analyzer_test.py \ + ${PYTHON_SITELIBDIR}/include_server/include_analyzer_memoizing_node_test.py \ + ${PYTHON_SITELIBDIR}/include_server/include_analyzer_memoizing_node.py \ + ${PYTHON_SITELIBDIR}/include_server/include_analyzer.py \ + ${PYTHON_SITELIBDIR}/include_server/basics.py \ + ${PYTHON_SITELIBDIR}/include_server/basics_test.py \ + ${PYTHON_SITELIBDIR}/include_server/c_extensions_test.py \ + ${PYTHON_SITELIBDIR}/include_server/cache_basics.py \ + ${PYTHON_SITELIBDIR}/include_server/compiler_defaults.py \ + ${PYTHON_SITELIBDIR}/include_server/compress_files.py \ + ${PYTHON_SITELIBDIR}/include_server/macro_eval.py \ + ${PYTHON_SITELIBDIR}/include_server/macro_eval_test.py \ + ${PYTHON_SITELIBDIR}/include_server/mirror_path.py \ + ${PYTHON_SITELIBDIR}/include_server/mirror_path_test.py \ + ${PYTHON_SITELIBDIR}/include_server/parse_command.py \ + ${PYTHON_SITELIBDIR}/include_server/parse_command_test.py \ + ${PYTHON_SITELIBDIR}/include_server/parse_file.py \ + ${PYTHON_SITELIBDIR}/include_server/parse_file_test.py \ + ${PYTHON_SITELIBDIR}/include_server/run.py \ + ${PYTHON_SITELIBDIR}/include_server/setup.py \ + ${PYTHON_SITELIBDIR}/include_server/statistics.py +CCLINKDIR?= libexec/distcc DISTCC_COMPILERS= CC c++ cc +CONFIG_FILES= clients.allow commands.allow.sh hosts +BIN_FILES= distcc distccmon-text lsdistcc +DOC_FILES= protocol-1.txt protocol-2.txt protocol-3.txt \ + protocol-3-impl.txt protocol-gssapi.txt \ + reporting-bugs.txt status-1.txt survey.txt +MAN_FILES= distcc.1 distccd.1 distccmon-text.1 include_server.1 \ + lsdistcc.1 pump.1 +README_FILES= AUTHORS COPYING INSTALL NEWS README README.pump TODO +SBIN_FILES= distccd + .include .if ${PORT_OPTIONS:MCLANGLINK} @@ -106,30 +142,24 @@ ${WRKSRC}/src/mon-gnome.c .endif -do-install: - cd ${WRKSRC} && ${INSTALL_PROGRAM} ${BIN_FILES} \ - ${STAGEDIR}${PREFIX}/bin - cd ${WRKSRC} && ${INSTALL_PROGRAM} ${SBIN_FILES} \ - ${STAGEDIR}${PREFIX}/sbin - ${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR} +.if ${PORT_OPTIONS:MPUMP} +BIN_FILES+= pump +.endif + +post-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR} .for link in ${DISTCC_COMPILERS} - ${LN} -sf ${PREFIX}/bin/distcc \ + @${LN} ${STAGEDIR}${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 - cd ${WRKSRC}/man && ${INSTALL_MAN} ${MAN_FILES} \ - ${STAGEDIR}${MANPREFIX}/man/man1 + ${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR}/*/__pycache__ + ${RM} -rf ${STAGEDIR}${PREFIX}/${DOCSDIR_REL}/example -do-install-DOCS-on: - @${MKDIR} ${STAGEDIR}${DOCSDIR} - cd ${WRKSRC} && ${INSTALL_DATA} ${README_FILES} \ - ${STAGEDIR}${DOCSDIR} - cd ${WRKSRC}/doc && ${INSTALL_DATA} ${DOC_FILES} \ - ${STAGEDIR}${DOCSDIR} +post-install-PUMP-on: + ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/include_server/distcc_pump_c_extensions.so + +post-install-PUMP-off: + ${RM} ${STAGEDIR}${PUMP_PLIST_FILES} + ${RM} ${STAGEDIR}/bin/pump .include Index: head/devel/distcc/distinfo =================================================================== --- head/devel/distcc/distinfo +++ head/devel/distcc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1532697406 -SHA256 (distcc-distcc-3.3.2-9a09372_GH0.tar.gz) = 3d98605a017c0a0e70f30a007801941bec9a87e9f41994bdfa0a9ea613a61e7b -SIZE (distcc-distcc-3.3.2-9a09372_GH0.tar.gz) = 908231 +TIMESTAMP = 1597859002 +SHA256 (distcc-distcc-v3.3.3_GH0.tar.gz) = b7f37d314704fbaf006d747514ff6e4d0d722102ef7d2aea132f97cf170f5169 +SIZE (distcc-distcc-v3.3.3_GH0.tar.gz) = 1000021 Index: head/devel/distcc/files/patch-Makefile.in =================================================================== --- head/devel/distcc/files/patch-Makefile.in +++ head/devel/distcc/files/patch-Makefile.in @@ -0,0 +1,26 @@ +--- Makefile.in.orig 2019-08-23 16:46:20 UTC ++++ Makefile.in +@@ -184,7 +184,7 @@ include_server_PY = \ + include_server_SRC = \ + include_server/c_extensions/distcc_pump_c_extensions_module.c + +-update_distcc_symlinks_PY = update-distcc-symlinks.py ++update_distcc_symlinks_PY = + + # These are included in the distribution but not installed anywhere. + dist_extra = \ +@@ -415,13 +415,12 @@ popt_EXTRA = popt/README.popt popt/.stamp-conf.in + + bin_PROGRAMS = \ + distcc@EXEEXT@ \ +- distccd@EXEEXT@ \ + distccmon-text@EXEEXT@ \ + lsdistcc@EXEEXT@ \ + @GNOME_BIN@ + + sbin_PROGRAMS = \ +- update-distcc-symlinks ++ distccd@EXEEXT@ \ + + check_PROGRAMS = \ + h_argvtostr@EXEEXT@ \ Index: head/devel/distcc/files/patch-configure.ac =================================================================== --- head/devel/distcc/files/patch-configure.ac +++ head/devel/distcc/files/patch-configure.ac @@ -1,17 +0,0 @@ ---- configure.ac.orig 2008-12-02 23:17:13 UTC -+++ configure.ac -@@ -86,9 +86,12 @@ AC_ARG_WITH(included-popt, - AC_HELP_STRING([--with-included-popt], [use bundled popt library, not from system])) - - AC_ARG_ENABLE(rfc2553, -- AC_HELP_STRING([--enable-rfc2553], [use getaddrinfo, getnameinfo, etc]), -- AC_DEFINE(ENABLE_RFC2553,1,[Use getaddrinfo(), getnameinfo(), etc])) -+ AC_HELP_STRING([--enable-rfc2553], [use getaddrinfo, getnameinfo, etc])) - -+if test x"$enable_rfc2553" = xyes -+then -+ AC_DEFINE(ENABLE_RFC2553,1,[Use getaddrinfo(), getnameinfo(), etc]) -+fi - - AC_ARG_WITH(gnome, - AC_HELP_STRING([--with-gnome], [build GNOME-based monitor])) Index: head/devel/distcc/files/patch-src_dparent.c =================================================================== --- head/devel/distcc/files/patch-src_dparent.c +++ head/devel/distcc/files/patch-src_dparent.c @@ -1,20 +0,0 @@ ---- src/dparent.c.orig 2008-12-02 23:17:13 UTC -+++ src/dparent.c -@@ -308,6 +308,9 @@ static void dcc_save_pid(pid_t pid) - **/ - void dcc_remove_pid(void) - { -+ /* distcc user, we are running as, cannot delete files in /var/run -+ */ -+#if 0 - if (!arg_pid_file) - return; - -@@ -315,6 +318,7 @@ void dcc_remove_pid(void) - rs_log_warning("failed to remove pid file %s: %s", - arg_pid_file, strerror(errno)); - } -+#endif - } - -