From owner-svn-ports-all@freebsd.org Mon Nov 27 18:16:16 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 8A736DBB8C9; Mon, 27 Nov 2017 18:16:16 +0000 (UTC) (envelope-from dumbbell@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 634917E9AB; Mon, 27 Nov 2017 18:16:16 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vARIGF0C091349; Mon, 27 Nov 2017 18:16:15 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vARIGF9Q091347; Mon, 27 Nov 2017 18:16:15 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201711271816.vARIGF9Q091347@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Mon, 27 Nov 2017 18:16:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r454983 - in head/lang/rust: . files X-SVN-Group: ports-head X-SVN-Commit-Author: dumbbell X-SVN-Commit-Paths: in head/lang/rust: . files X-SVN-Commit-Revision: 454983 X-SVN-Commit-Repository: ports 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.25 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: Mon, 27 Nov 2017 18:16:16 -0000 Author: dumbbell Date: Mon Nov 27 18:16:15 2017 New Revision: 454983 URL: https://svnweb.freebsd.org/changeset/ports/454983 Log: lang/rust: Remove the LLVM_PORT option FTR, this option allowed to used LLVM from ports instead of building the bundled copy. The problem is that this combination isn't really tested upstream. This led to regressions which are difficult to diagnose. For instance, in Rust 1.21.0, the bundled LLVM provided a new API to query the features supported by the target arch. The equivalent code inside Rust was removed to use that new API. Unfortunately, building Rust 1.21.0+ with a copy of LLVM not providing this API didn't failed but instead made that list of CPU features empty. This resulted in the following obscure build failure in Firefox: error[E0432]: unresolved import `x86::sse2` To avoid future pain for both end users and maintainers, we decided to remove that option. Yes, it will increase the (already long) time to build Rust, but it should save time wasted on debugging what is not really supported anyway. PR: 223342, 223300 Reported by: Many users Modified: head/lang/rust/Makefile head/lang/rust/files/config.toml Modified: head/lang/rust/Makefile ============================================================================== --- head/lang/rust/Makefile Mon Nov 27 18:10:41 2017 (r454982) +++ head/lang/rust/Makefile Mon Nov 27 18:16:15 2017 (r454983) @@ -63,7 +63,7 @@ PLIST_SUB+= RUST_TARGET=${RUST_TARGET} USES= compiler gmake libedit pkgconfig python:2.7,build ssl -OPTIONS_DEFINE= DOCS GDB LLNEXTGEN PORT_LLVM SOURCES +OPTIONS_DEFINE= DOCS GDB LLNEXTGEN SOURCES GDB_DESC= Install ports gdb (necessary for debugging rust programs) LLNEXTGEN_DESC= Build with grammar verification SOURCES_DESC= Install source files @@ -71,12 +71,6 @@ SOURCES_DESC= Install source files GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb LLNEXTGEN_BUILD_DEPENDS= LLnextgen:devel/llnextgen -# Rust may pass more regression tests with bundled LLVM -PORT_LLVM_DESC= Build against devel/llvm${LLVM_VER} instead of bundled version -PORT_LLVM_BUILD_DEPENDS= ${LOCALBASE}/bin/FileCheck${LLVM_VER}:devel/llvm${LLVM_VER} -LLVM_VER?= 40 -LLVM_CONFIG= ${LOCALBASE}/bin/llvm-config${LLVM_VER} - # Rust manifests list all files and directories installed by rust-installer. # We use them in: # - pre-install to cleanup the ${STAGEDIR} @@ -236,12 +230,6 @@ post-configure-DOCS-on: post-configure-DOCS-off: ${REINPLACE_CMD} -e 's,%DOCS%,false,' ${WRKSRC}/config.toml - -post-configure-PORT_LLVM-on: - ${REINPLACE_CMD} -e 's,%LLVM_CONFIG%,${LLVM_CONFIG},' ${WRKSRC}/config.toml - -post-configure-PORT_LLVM-off: - ${REINPLACE_CMD} -e '/%LLVM_CONFIG%/d' ${WRKSRC}/config.toml do-build: cd ${WRKSRC} && \ Modified: head/lang/rust/files/config.toml ============================================================================== --- head/lang/rust/files/config.toml Mon Nov 27 18:10:41 2017 (r454982) +++ head/lang/rust/files/config.toml Mon Nov 27 18:16:15 2017 (r454983) @@ -25,7 +25,6 @@ mandir = "%MANDIR%" channel = "%CHANNEL%" [target.%TARGET%] -llvm-config = "%LLVM_CONFIG%" [dist]