From owner-svn-ports-all@freebsd.org Sat May 27 23:27:22 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EEC71D84390; Sat, 27 May 2017 23:27:22 +0000 (UTC) (envelope-from gerald@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B013115B3; Sat, 27 May 2017 23:27:22 +0000 (UTC) (envelope-from gerald@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4RNRLNx065957; Sat, 27 May 2017 23:27:21 GMT (envelope-from gerald@FreeBSD.org) Received: (from gerald@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4RNRLgP065954; Sat, 27 May 2017 23:27:21 GMT (envelope-from gerald@FreeBSD.org) Message-Id: <201705272327.v4RNRLgP065954@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gerald set sender to gerald@FreeBSD.org using -f From: Gerald Pfeifer Date: Sat, 27 May 2017 23:27:21 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r441883 - in head/lang/gcc: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 May 2017 23:27:23 -0000 Author: gerald Date: Sat May 27 23:27:21 2017 New Revision: 441883 URL: https://svnweb.freebsd.org/changeset/ports/441883 Log: Essentially replace (or rather reinvent) the lang/gcc port, which more or less ended up identical to lang/gcc5 now that we differentiate between lang/gccX-devel and lang/gccX ports, by (or as) a meta-port that pulls in the respective lang/gccX port (based on the setting of $GCC_DEFAULT) and defines gcc, g++, and gfortran as symlinks to the respective versioned binaries. This is the end of a long journey establishing this infrastructure which is now similar to the one of the python ports, for example, and makes upgrading the default as well as adjusting the default locally a lot easier. (PORTVERSION remains at 5.4.0 for now to avoid PORTEPOCH, but PORTREVISION gets a bump.) Suggested by: tijl (a while ago) Deleted: head/lang/gcc/distinfo head/lang/gcc/files/ head/lang/gcc/pkg-plist Modified: head/lang/gcc/Makefile head/lang/gcc/pkg-descr Modified: head/lang/gcc/Makefile ============================================================================== --- head/lang/gcc/Makefile Sat May 27 22:30:08 2017 (r441882) +++ head/lang/gcc/Makefile Sat May 27 23:27:21 2017 (r441883) @@ -3,176 +3,24 @@ PORTNAME= gcc PORTVERSION= 5.4.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang java -MASTER_SITES= GCC/releases/gcc-${DISTVERSION} +MASTER_SITES= # not applicable +DISTFILES= # not applicable MAINTAINER= gerald@FreeBSD.org -COMMENT= GNU Compiler Collection 5 +COMMENT= Meta-port for the default version of the GNU Compiler Collection -LICENSE= GPLv3 GPLv3RLE -LICENSE_COMB= multi +RUN_DEPENDS= gcc${DEFAULT}:lang/gcc${GCC_DEFAULT} -LIB_DEPENDS= libgmp.so:math/gmp \ - libmpfr.so:math/mpfr \ - libmpc.so:math/mpc -BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils -RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils - -.if defined(MAINTAINER_MODE) -BUILD_DEPENDS+= runtest:misc/dejagnu -.endif - -CONFLICTS= gcc5* -CPE_VENDOR= gnu - -# GCC_VERSION and SUFFIX relate to names of executables and directories -# once installed. -GCC_VERSION= ${PORTVERSION} -SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 i386 powerpc powerpc64 sparc64 -USES= compiler cpe gmake iconv libtool makeinfo perl5 tar:bzip2 -USE_BINUTILS= yes -USE_PERL5= build -SSP_UNSAFE= yes - -OPTIONS_DEFINE= BOOTSTRAP GRAPHITE -OPTIONS_DEFINE_i386= JAVA -OPTIONS_DEFINE_amd64= JAVA -OPTIONS_DEFINE_powerpc64= JAVA -OPTIONS_DEFAULT_i386= JAVA -OPTIONS_DEFAULT_amd64= JAVA -OPTIONS_DEFAULT_powerpc64= BOOTSTRAP -OPTIONS_EXCLUDE_DragonFly= JAVA -BOOTSTRAP_DESC= Build using a full bootstrap -GRAPHITE_DESC= Support for Graphite loop optimizations - -JAVA_USES= python:build shebangfix -SHEBANG_FILES= libjava/contrib/aot-compile.in - -.if exists(/usr/lib32/libc.so) -OPTIONS_DEFINE_powerpc64+= MULTILIB -OPTIONS_DEFAULT_powerpc64+= MULTILIB -MULTILIB_DESC= Build support for 32-bit and 64-bit targets -MULTILIB_CONFIGURE_ENABLE= multilib -.else -CONFIGURE_ARGS+= --disable-multilib -.endif - -.include - -.if ${ARCH} == "amd64" -CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} -.endif - -.if ${ARCH} == powerpc64 -CONFIGURE_ENV+= UNAME_m="powerpc64" -.endif - -.if ${ARCH} == "armv6" || ${ARCH} == "aarch64" -. if ${COMPILER_TYPE} == clang -. if empty(PORT_OPTIONS:MBOOTSTRAP) -MAKE_ARGS+=CXXFLAGS=-fbracket-depth=512 -. else -MAKE_ARGS+=STAGE1_CXXFLAGS=-fbracket-depth=512 -. endif -. endif -.endif - -LANGUAGES:= c,c++,objc,fortran -TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} -LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} -GNU_CONFIGURE= yes -CONFIGURE_OUTSOURCE= yes -.if empty(PORT_OPTIONS:MBOOTSTRAP) -CONFIGURE_ARGS+=--disable-bootstrap -.else -CONFIGURE_ARGS+=--with-build-config=bootstrap-debug -ALL_TARGET= bootstrap-lean -.endif -CONFIGURE_ARGS+=--disable-nls \ - --enable-gnu-indirect-function \ - --libdir=${TARGLIB} \ - --libexecdir=${LIBEXEC} \ - --program-suffix=${SUFFIX} \ - --with-as=${LOCALBASE}/bin/as \ - --with-gmp=${LOCALBASE} \ - --with-gxx-include-dir=${TARGLIB}/include/c++/ \ - --with-ld=${LOCALBASE}/bin/ld \ - ${ICONV_CONFIGURE_ARG} \ - --with-pkgversion="FreeBSD Ports Collection" \ - --with-system-zlib -MAKE_ARGS+= MAKEINFOFLAGS="--no-split" -USE_LDCONFIG= ${TARGLIB} -PLIST_SUB= GCC_VERSION=${GCC_VERSION} \ - GNU_HOST=${CONFIGURE_TARGET} \ - SUFFIX=${SUFFIX} -INFO= gcc${SUFFIX}/cpp \ - gcc${SUFFIX}/cppinternals \ - gcc${SUFFIX}/gcc \ - gcc${SUFFIX}/gccinstall \ - gcc${SUFFIX}/gccint \ - gcc${SUFFIX}/gfortran \ - gcc${SUFFIX}/libgomp -# Release tarballs (as opposed to snapshots) always carry this. -#.if ${ARCH} == "i386" || ${ARCH} == "amd64" -INFO+= gcc${SUFFIX}/libquadmath \ - gcc${SUFFIX}/libitm -#.endif -SUB_FILES= pkg-message -SUB_LIST+= TARGLIB=${TARGLIB} - -.if ${PORT_OPTIONS:MGRAPHITE} -LIB_DEPENDS+= libisl.so:devel/isl -CONFIGURE_ARGS+=--with-isl=${LOCALBASE} -.endif - -.if ${PORT_OPTIONS:MJAVA} -ECJ_JAR= ${LOCALBASE}/share/java/ecj-4.5.jar -BUILD_DEPENDS+= ${ECJ_JAR}:lang/gcc-ecj45 \ - zip:archivers/zip -RUN_DEPENDS+= ${ECJ_JAR}:lang/gcc-ecj45 -EXTRA_PATCHES+= ${FILESDIR}/java-patch-hier -CONFIGURE_ARGS+=--with-ecj-jar=${ECJ_JAR} -LANGUAGES:= ${LANGUAGES},java -INFO+= gcc${SUFFIX}/cp-tools \ - gcc${SUFFIX}/gcj -PLIST_SUB+= JAVA="" -.else -CONFIGURE_ARGS+=--disable-libgcj -PLIST_SUB+= JAVA="@comment " -.endif -CONFIGURE_ARGS+=--enable-languages=${LANGUAGES} - -pre-everything:: - @${ECHO_MSG} "Making GCC ${PORTVERSION} for ${CONFIGURE_TARGET} [${LANGUAGES}]" - -pre-configure: - cd ${WRKSRC} ; contrib/gcc_update --touch - @${RM} ${WRKSRC}/gcc/*/*.info* - -.if defined(MAINTAINER_MODE) -full-regression-test: build - cd ${TEST_WRKSRC}; ${MAKE_CMD} -sk check \ - ; ${WRKSRC}/contrib/test_summary -.endif - -post-stage: - ${RM} ${STAGEDIR}${PREFIX}/man/man7/* - ${RM} ${STAGEDIR}${PREFIX}/bin/rebuild-gcj-db${SUFFIX} \ - ${STAGEDIR}${PREFIX}/man/man1/rebuild-gcj-db${SUFFIX}.1 - # Add target libraries and include files to packaging list. - ${RM} ${WRKDIR}/PLIST.lib -.for d in ${TARGLIB:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} include/gcj include/gnu include/java include/javax - cd ${STAGEDIR}${PREFIX} ; if [ -d $d ]; then \ - ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ - fi -.endfor - cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST} - # This is the canonical GCC port, so add key commands without - # version numbers as part of their names. +NO_ARCH= yes +NO_BUILD= yes + +PLIST_FILES= bin/g++ bin/gcc bin/gfortran + +do-install: .for c in gfortran g++ gcc - ${LN} -s ${c}${SUFFIX} ${STAGEDIR}${PREFIX}/bin/${c} + ${LN} -s ${c}${GCC_DEFAULT} ${STAGEDIR}${PREFIX}/bin/${c} .endfor -.include +.include Modified: head/lang/gcc/pkg-descr ============================================================================== --- head/lang/gcc/pkg-descr Sat May 27 22:30:08 2017 (r441882) +++ head/lang/gcc/pkg-descr Sat May 27 23:27:21 2017 (r441883) @@ -1,11 +1,7 @@ GCC, the GNU Compiler Collection, supports a number of languages. This -port installs the C, C++, Fortran and Java front ends as gcc5, g++5, -gfortran5, and gcj5, respectively. +port pulls in gcc5 (or another version-specific port) and defines symlinks +called gcc, g++, and gfortran. -It can be used (largely) interchangibly with the lang/gcc5 port, which -tracks GCC 5 releases, or the lang/gcc5-devel port, which tracks GCC 5 -snapshots, and will move to GCC 6 and later over time. - -WWW: http://gcc.gnu.org/ +WWW: http://gcc.gnu.org Gerald Pfeifer