Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 2012 14:46:16 +0800 (CST)
From:      Jyun-Yan You <jyyou@cs.nctu.edu.tw>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/164467: [MAINTAINER] lang/rust: fix linker errors
Message-ID:  <201201250646.q0P6kGYh001993@csduty.cs.nctu.edu.tw>
Resent-Message-ID: <201201250650.q0P6o7ma082844@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         164467
>Category:       ports
>Synopsis:       [MAINTAINER] lang/rust: fix linker errors
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 25 06:50:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Jyun-Yan You
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD plaslab.cs.nctu.edu.tw 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC
>Description:
* fix linker errors for systems that have installed llvm
* let clang build llvm

Added file(s):
- files/patch-mk_rustllvm.mk

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- rust-0.1_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/lang/rust/Makefile /home/jyyou/src/ports/lang/rust/Makefile
--- /usr/ports/lang/rust/Makefile	2012-01-24 00:07:04.000000000 +0800
+++ /home/jyyou/src/ports/lang/rust/Makefile	2012-01-25 00:16:34.993498699 +0800
@@ -7,6 +7,7 @@
 
 PORTNAME=	rust
 PORTVERSION=	0.1
+PORTREVISION=	1
 CATEGORIES=	lang
 MASTER_SITES=	http://dl.rust-lang.org/dist/:source \
 		http://people.cs.nctu.edu.tw/~jyyou/rust/:boot
@@ -66,6 +67,9 @@
 
 post-patch:
 	${REINPLACE_CMD} \
+	    -e '/probe_need CFG_CURL/d' \
+	    ${WRKSRC}/configure
+	${REINPLACE_CMD} \
 	    -e '/src\/etc\/get-snapshot.py $$(CFG_HOST_TRIPLE)/d' \
 	    ${WRKSRC}/mk/stage0.mk
 	${REINPLACE_CMD} \
diff -ruN --exclude=CVS /usr/ports/lang/rust/files/patch-configure /home/jyyou/src/ports/lang/rust/files/patch-configure
--- /usr/ports/lang/rust/files/patch-configure	2012-01-24 00:07:04.000000000 +0800
+++ /home/jyyou/src/ports/lang/rust/files/patch-configure	2012-01-25 14:13:55.878803253 +0800
@@ -1,14 +1,6 @@
---- configure.orig	2012-01-22 04:29:36.401802685 +0800
-+++ configure	2012-01-22 11:40:28.231803897 +0800
-@@ -281,7 +281,6 @@
- 
- probe_need CFG_PERL         perl
- probe_need CFG_PYTHON       python python2.6 python2 python3
--probe_need CFG_CURL         curl
- 
- probe CFG_GIT              git
- probe CFG_CLANG            clang++
-@@ -340,7 +339,8 @@
+--- configure.orig	2012-01-22 12:08:36.799804070 +0800
++++ configure	2012-01-25 00:10:53.015802985 +0800
+@@ -340,7 +340,8 @@
      CFG_CLANG_VERSION=$("$CFG_CLANG" \
                        --version \
                        | grep version \
@@ -18,3 +10,31 @@
  
      case $CFG_CLANG_VERSION in
          (3.0svn | 3.0 | 3.1)
+@@ -535,14 +536,23 @@
+ 	# Disable unused LLVM features
+ 	LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads"
+ 
+-	LLVM_CXX_32="g++ -m32"
+-	LLVM_CC_32="gcc -m32"
++	if [ "$CFG_C_COMPILER" = "clang" ]
++	then
++	    LLVM_CXX_32="clang++ -m32"
++	    LLVM_CC_32="clang -m32"
++	    LLVM_CXX_64="clang++"
++	    LLVM_CC_64="clang"
++	else
++	    LLVM_CXX_32="g++ -m32"
++	    LLVM_CC_32="gcc -m32"
++	    LLVM_CXX_64="g++"
++	    LLVM_CC_64="gcc"
++	fi
++
+ 	LLVM_CFLAGS_32="-m32"
+ 	LLVM_CXXFLAGS_32="-m32"
+ 	LLVM_LDFLAGS_32="-m32"
+ 
+-	LLVM_CXX_64="g++"
+-	LLVM_CC_64="gcc"
+ 	LLVM_CFLAGS_64=""
+ 	LLVM_CXXFLAGS_64=""
+ 	LLVM_LDFLAGS_64=""
diff -ruN --exclude=CVS /usr/ports/lang/rust/files/patch-mk_rustllvm.mk /home/jyyou/src/ports/lang/rust/files/patch-mk_rustllvm.mk
--- /usr/ports/lang/rust/files/patch-mk_rustllvm.mk	1970-01-01 08:00:00.000000000 +0800
+++ /home/jyyou/src/ports/lang/rust/files/patch-mk_rustllvm.mk	2012-01-25 03:00:43.289802985 +0800
@@ -0,0 +1,11 @@
+--- mk/rustllvm.mk.orig	2012-01-25 02:57:06.158804818 +0800
++++ mk/rustllvm.mk	2012-01-25 02:57:57.980642515 +0800
+@@ -37,7 +37,7 @@
+ 
+ rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILE_DEPS) $$(LLVM_CONFIG_$(1))
+ 	@$$(call E, compile: $$@)
+-	$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(LLVM_CXXFLAGS_$(1)) $$(RUSTLLVM_INCS_$(1))) $$<
++	$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(subst -I, -iquote , $$(LLVM_CXXFLAGS_$(1))) $$(RUSTLLVM_INCS_$(1))) $$<
+ endef
+ 
+ # Instantiate template for all stages
--- rust-0.1_1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



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