summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2016-09-12 13:27:33 +0000
committerryoon <ryoon@pkgsrc.org>2016-09-12 13:27:33 +0000
commit4a7a371818642282722b0238878b606e577eb098 (patch)
tree52bbcf6ac2894efac10fc2fd71c7b5a3e23cd4ba /lang
parent8bf66699d1ffc92f723b61975f45cec43a084ba6 (diff)
downloadpkgsrc-4a7a371818642282722b0238878b606e577eb098.tar.gz
Add NetBSD/amd64 support
This package must be built with pkgtools/cwrappers with USE_CWRAPPERS=yes.
Diffstat (limited to 'lang')
-rw-r--r--lang/rust/Makefile11
-rw-r--r--lang/rust/distinfo11
-rw-r--r--lang/rust/patches/patch-mk_rt.mk9
-rw-r--r--lang/rust/patches/patch-src_compiler-rt_lib_builtins_CMakeLists.txt20
-rw-r--r--lang/rust/patches/patch-src_etc_local__stage0.sh14
5 files changed, 55 insertions, 10 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index 0c7ceeae7f8..46fe6cf653c 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2016/09/11 18:19:54 jperkin Exp $
+# $NetBSD: Makefile,v 1.3 2016/09/12 13:27:33 ryoon Exp $
DISTNAME= rustc-1.11.0-src
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
@@ -55,6 +55,13 @@ CONFIGURE_ARGS+= --disable-jemalloc
.endif
#
+# Under NetBSD, do not use DT_RUNPATH
+#
+.if ${OPSYS} == "NetBSD"
+BUILDLINK_TRANSFORM+= rm:-Wl,--enable-new-dtags
+.endif
+
+#
# Can't use pkgsrc llvm on SunOS at the moment due to a relocation error.
#
.if ${OPSYS} != "SunOS"
@@ -89,6 +96,8 @@ RUST_ARCH= x86_64-unknown-linux-gnu
.elif !empty(MACHINE_PLATFORM:MSunOS-*-x86_64)
RUST_ARCH= x86_64-sun-solaris
SITES.${RUST_STAGE2}= https://us-east.manta.joyent.com/pkgsrc/public/tmp/
+.elif !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64)
+RUST_ARCH= x86_64-unknown-netbsd
.else
NOT_FOR_PLATFORM+= ${MACHINE_PLATFORM}
.endif
diff --git a/lang/rust/distinfo b/lang/rust/distinfo
index e93d1f5d3e7..7608fc7eb8a 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,9 +1,13 @@
-$NetBSD: distinfo,v 1.1 2016/09/06 10:36:49 jperkin Exp $
+$NetBSD: distinfo,v 1.2 2016/09/12 13:27:33 ryoon Exp $
SHA1 (rust-1.10.0-i686-unknown-linux-gnu.tar.gz) = aded64d8ddc5d286ffc81de21c6a8c47951ac329
RMD160 (rust-1.10.0-i686-unknown-linux-gnu.tar.gz) = 9248526a5f9656e083a221f0931f9cec6b1a0726
SHA512 (rust-1.10.0-i686-unknown-linux-gnu.tar.gz) = ef1e874aadc24a64e7df0a09dfea0e5ed6a0bf7acbaf8485976c602f549141289c07b2e27cd7d0a0029f9884042d6ff00c8b917543a9284bae7f7c684ddc6904
Size (rust-1.10.0-i686-unknown-linux-gnu.tar.gz) = 119011780 bytes
+SHA1 (rust-1.10.0-x86_64-unknown-netbsd.tar.gz) = eb84816dd0fb113fbddd75fd8c451ae67a8ab454
+RMD160 (rust-1.10.0-x86_64-unknown-netbsd.tar.gz) = e13b58f2da1b6cbdeceeb3f1cccdc5c5b9a01c78
+SHA512 (rust-1.10.0-x86_64-unknown-netbsd.tar.gz) = ffa251dcc5afc6d40920c333c74ecfe3e3eb3fae3c984b7715c260fdb11a4580e61097ba32bd02147c42b3b78e7f2be6a3902bb89fa55befb59d1c71c66d1cf3
+Size (rust-1.10.0-x86_64-unknown-netbsd.tar.gz) = 123531094 bytes
SHA1 (rust-1.10.0-x86_64-apple-darwin.tar.gz) = 9d88b5a1203f91ac12a2f3d33944d6dbeabf3347
RMD160 (rust-1.10.0-x86_64-apple-darwin.tar.gz) = 046553af4b914421d2ddcde64b6025f18f610bf5
SHA512 (rust-1.10.0-x86_64-apple-darwin.tar.gz) = 428c53bd402094254e16b5b29303ce5565abf11275546aaa7fecf4f6ea2b13ec46a7d455b1e9c2a6f50a0fcd5573c10adcef09afd29dc390202fa152c31400ac
@@ -21,9 +25,10 @@ RMD160 (rustc-1.11.0-src.tar.gz) = ada0761c38febb423677c1b8bb2fd5c8fee05d53
SHA512 (rustc-1.11.0-src.tar.gz) = 6ad050a02e3a3b48f205f5d5ed9393fd2a1a2237e5c78b3e51af8162f410b93a831ebe5980ce78c4d38c5a692395c7fec8442956497a5d21e9f7157404c6b5aa
Size (rustc-1.11.0-src.tar.gz) = 26126471 bytes
SHA1 (patch-mk_cfg_x86__64-apple-darwin.mk) = 37b50b64ea5607588d541852e07f02a4611d38c8
-SHA1 (patch-mk_rt.mk) = 888bd6646305c357044f37db9cb23f9d2fe77d90
+SHA1 (patch-mk_rt.mk) = 51238ae320b47296546537aeb050773511049d11
SHA1 (patch-mk_rustllvm.mk) = 500ce129d9ea83fc97317679b45a79f12c8ca9e8
-SHA1 (patch-src_etc_local__stage0.sh) = fbfacff23a9236b2c32a49abb2b520be264ece59
+SHA1 (patch-src_compiler-rt_lib_builtins_CMakeLists.txt) = 288870c40b5e4ce29cbfb19cc9f56d35152c47fa
+SHA1 (patch-src_etc_local__stage0.sh) = 28de26517296557d611afd0db0d43aa046b1676f
SHA1 (patch-src_liblibc_src_unix_solaris_mod.rs) = 7279fb49054d203b045327a5b9c52b2fbdc2c8d6
SHA1 (patch-src_librustc__trans_back_linker.rs) = 279850f534bed6380bbc3ffd47e49938fa6423df
SHA1 (patch-src_libstd_rtdeps.rs) = ed271c5b83a8d623469abd39a2d072bfffbcc890
diff --git a/lang/rust/patches/patch-mk_rt.mk b/lang/rust/patches/patch-mk_rt.mk
index 23125ebed8b..cb4093fe8c9 100644
--- a/lang/rust/patches/patch-mk_rt.mk
+++ b/lang/rust/patches/patch-mk_rt.mk
@@ -1,10 +1,10 @@
-$NetBSD: patch-mk_rt.mk,v 1.1 2016/09/06 10:36:49 jperkin Exp $
+$NetBSD: patch-mk_rt.mk,v 1.2 2016/09/12 13:27:33 ryoon Exp $
Fix library location on SunOS.
--- mk/rt.mk.orig 2016-08-16 01:54:35.000000000 +0000
+++ mk/rt.mk
-@@ -269,6 +269,11 @@ endif
+@@ -269,6 +269,16 @@ endif
COMPRT_DEFINES_$(1) := -DCOMPILER_RT_ENABLE_IOS=ON
endif
@@ -13,6 +13,11 @@ Fix library location on SunOS.
+COMPRT_LIB_NAME_$(1) := clang_rt.builtins-$$(COMPRT_ARCH_$(1))
+endif
+
++ifeq ($$(findstring netbsd,$(1)),netbsd)
++COMPRT_DIR_$(1) := netbsd
++COMPRT_LIB_NAME_$(1) := clang_rt.builtins-$$(COMPRT_ARCH_$(1))
++endif
++
ifndef COMPRT_DIR_$(1)
# NB: FreeBSD and NetBSD output to "linux"...
COMPRT_DIR_$(1) := linux
diff --git a/lang/rust/patches/patch-src_compiler-rt_lib_builtins_CMakeLists.txt b/lang/rust/patches/patch-src_compiler-rt_lib_builtins_CMakeLists.txt
new file mode 100644
index 00000000000..b057d8f5ce8
--- /dev/null
+++ b/lang/rust/patches/patch-src_compiler-rt_lib_builtins_CMakeLists.txt
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_compiler-rt_lib_builtins_CMakeLists.txt,v 1.1 2016/09/12 13:27:33 ryoon Exp $
+
+* On NetBSD, do not misdetect unwind.h
+ We do not support ARM build currently, so remove this unconditionally.
+
+--- src/compiler-rt/lib/builtins/CMakeLists.txt.orig 2016-08-16 01:54:40.000000000 +0000
++++ src/compiler-rt/lib/builtins/CMakeLists.txt
+@@ -159,12 +159,6 @@ if(NOT WIN32 OR MINGW)
+ emutls.c)
+ endif()
+
+-if (HAVE_UNWIND_H)
+- set(GENERIC_SOURCES
+- ${GENERIC_SOURCES}
+- gcc_personality_v0.c)
+-endif ()
+-
+ if (NOT MSVC)
+ set(x86_64_SOURCES
+ x86_64/chkstk.S
diff --git a/lang/rust/patches/patch-src_etc_local__stage0.sh b/lang/rust/patches/patch-src_etc_local__stage0.sh
index 374795e130a..44967e33065 100644
--- a/lang/rust/patches/patch-src_etc_local__stage0.sh
+++ b/lang/rust/patches/patch-src_etc_local__stage0.sh
@@ -1,10 +1,16 @@
-$NetBSD: patch-src_etc_local__stage0.sh,v 1.1 2016/09/06 10:36:49 jperkin Exp $
-
-Copy additional libarena required on Darwin.
-Copy GCC support libraries required on SunOS.
+$NetBSD: patch-src_etc_local__stage0.sh,v 1.2 2016/09/12 13:27:33 ryoon Exp $
--- src/etc/local_stage0.sh.orig 2016-08-16 01:54:35.000000000 +0000
+++ src/etc/local_stage0.sh
+@@ -18,7 +18,7 @@ LIB_PREFIX=lib
+
+ OS=`uname -s`
+ case $OS in
+- ("Linux"|"FreeBSD"|"DragonFly"|"Bitrig"|"OpenBSD"|"SunOS")
++ ("Linux"|"FreeBSD"|"DragonFly"|"Bitrig"|"OpenBSD"|"SunOS"|"NetBSD")
+ BIN_SUF=
+ LIB_SUF=.so
+ ;;
@@ -51,6 +51,7 @@ fi
cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/