Hi,

As landry@ needs some update for lang/rust (it is a dependency of
firefox trunk), I post now my current state of the port.

First, it is functional (even if a bit slow compared to 1.14.0), and is
commitable. I ask for review and commit.

My current working area is the build time due to the switch to embedded
llvm version (build time switchs from 2h to 9h, and just the build time
for compiling llvm doesn't explain the difference). The in-tree version
suffers the same problem.

About the update from 1.14.0 to 1.15.1, the port changes a lot.

(1) Rust devs have deprecated the current configure + make way to build
(Makefile are deleted in trunk, the forecoming 1.17.0 version) to switch
to rustbuild system: a custom orchestor for building rustc. And as
reinventing the wheel isn't enough, the tool is written in Rust language
and requires Cargo to build.

It makes the lang/rust port to requires a *two* binaries bootstrap (one
for rustc and another for cargo). I reused the cargo bootstrap used for
devel/cargo for this purpose.

So, configure + build + install + test target are customs:
  - for configure, I generated a config.toml file reflecting build
    configuration

  - for build, I just call the python stuff that build the builder and
    launch it for generating dist (tgz ready to install)
  
  - for install, I used the generated tgz to install in PREFIX. I added
    some cleanup, and I replaced duplicated libraries by symlink.


(2) The documentation doesn't include anymore rust-libc documentation.
It makes the port to no need anymore b32/b64 PFRAG.


(3) The libraries produced by rustc don't have any more a name based on
rustc version (the RUST_HASH variable in the port)... it is based on own
rust cooking. So each lib has its own hash. And to help the maintainer
it is arch dependant... So I added per arch PFRAG for libraries. The
PLIST will changes for each release.


(4) About LLVM, I tried to minimize the diff between devel/llvm-3.9.1
and embedded version. Some patches on src/llvm are requires, others no
strictly, and are part of my work to understand the difference of build
time. All were present in devel/llvm-3.9.1 tree. Same thing for build
configuration (src/bootstrap/native.rs).


Thanks.
-- 
Sebastien Marie


Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/rust/Makefile,v
retrieving revision 1.35
diff -u -p -r1.35 Makefile
--- Makefile    6 Jan 2017 17:32:22 -0000       1.35
+++ Makefile    12 Feb 2017 05:49:24 -0000
@@ -6,15 +6,18 @@ ONLY_FOR_ARCHS =      amd64 i386
 COMMENT-main =         compiler for Rust Language
 COMMENT-doc =          html documentation for rustc
 
-V =                    1.14.0
-BV-amd64 =             1.14.0-20161221
-BV-i386 =              1.14.0-20161221
+V =                    1.15.1
 DISTNAME =             rustc-${V}-src
 
-#RUST_HASH !=          echo -n ${V} | md5 | cut -c1-8
-RUST_HASH =            f5a209a9
-SUBST_VARS +=          RUST_HASH
-BV =                   ${BV-${MACHINE_ARCH}}
+# rustc bootstrap version
+RBV-amd64 =            1.15.0-20170203
+RBV-i386 =             1.15.0-20170204
+RBV =                  ${RBV-${MACHINE_ARCH}}
+
+# cargo bootstrap version
+CBV-amd64 =            0.15.0-20161230
+CBV-i386 =             0.15.0-20161230
+CBV =                  ${CBV-${MACHINE_ARCH}}
 
 PKGNAME =              rust-${V}
 PKGNAME-main =         rust-${V}
@@ -39,43 +42,40 @@ MASTER_SITES0 =             http://kapouay.odns.fr/
 
 DIST_SUBDIR =          rust
 DISTFILES =            ${DISTNAME}${EXTRACT_SUFX} \
-                       ${BOOTSTRAP}
+                       ${RBOOTSTRAP} \
+                       ${CBOOTSTRAP}
 
-BOOTSTRAP =            ${BOOTSTRAP-${MACHINE_ARCH}}
-.for m in i386 amd64
-BOOTSTRAP-$m =         rustc-bootstrap-${m}-${BV-$m}.tar.gz:0
-SUPDISTFILES +=                ${BOOTSTRAP-$m}
+RBOOTSTRAP =           ${RBOOTSTRAP-${MACHINE_ARCH}}
+CBOOTSTRAP =           ${CBOOTSTRAP-${MACHINE_ARCH}}
+.for m in ${ONLY_FOR_ARCHS}
+RBOOTSTRAP-$m =                rustc-bootstrap-${m}-${RBV-$m}.tar.gz:0
+CBOOTSTRAP-$m =                ../cargo/cargo-bootstrap-${m}-${CBV-$m}.tar.gz:0
+SUPDISTFILES +=                ${RBOOTSTRAP-$m} \
+                       ${CBOOTSTRAP-$m}
 .endfor
 
-WRKDIST =              ${WRKDIR}/${DISTNAME:S/-src//}
-
-# MACHINE_ARCH to TRIPLE_ARCH conversion
+# per MACHINE_ARCH configuration
 .if "${MACHINE_ARCH}" == "amd64"
 TRIPLE_ARCH =          x86_64-unknown-openbsd
+PKG_ARGS +=            -Damd64=1 -Di386=0
 .elif "${MACHINE_ARCH}" == "i386"
 TRIPLE_ARCH =          i686-unknown-openbsd
-.endif
-SUBST_VARS +=          TRIPLE_ARCH
-
-# PFRAG
-.if ${MACHINE_ARCH} == amd64
-PKG_ARGS += -Db64=1
-.else
-PKG_ARGS += -Db64=0
-.endif
-
-.if ${MACHINE_ARCH} == i386
-PKG_ARGS += -Db32=1
-.else
-PKG_ARGS += -Db32=0
+PKG_ARGS +=            -Damd64=0 -Di386=1
 .endif
 
 MODULES +=             gcc4 \
                        lang/python
-BUILD_DEPENDS +=       devel/cmake \
-                       devel/llvm
+BUILD_DEPENDS +=       devel/cmake
 MODPY_RUNDEP =         No
 
+# use embedded or ports version of LLVM
+PORTS_LLVM ?=  No
+.if ${PORTS_LLVM:L:Myes}
+BUILD_DEPENDS +=       devel/llvm<4
+.else
+BUILD_DEPENDS +=       devel/ninja
+.endif
+
 # rustllvm need c++11
 MODGCC4_LANGS =                c++
 MODGCC4_ARCHS =                *
@@ -83,43 +83,19 @@ MODGCC4_ARCHS =             *
 # need to be keep in sync
 LIBESTDC_VERSION =     17.0
 
-# note: VERBOSE permit to unhide Makefile processing
-#      RUSTFLAGS extra flags passed to rust
+# note: RUSTFLAGS extra flags passed to rust
 #              -L modgcc-libs : disambiguate libestdc++.so
-#       RUST_LOG helper
-MAKE_ENV =             VERBOSE=1 \
-                       RUSTFLAGS="-L ${WRKDIR}/modgcc-libs" \
-                       RUST_LOG="${RUST_LOG}"
-
+MAKE_ENV =             RUSTFLAGS="-L ${WRKDIR}/modgcc-libs"
 
 # build/configuration variables
-#
 SEPARATE_BUILD =       Yes
 USE_GMAKE =            Yes
 
-CONFIGURE_STYLE =      simple
-CONFIGURE_ARGS +=      --disable-valgrind-rpass \
-                       --disable-codegen-tests \
-                       --release-channel=stable \
-                       
--local-rust-root="${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${BV}" \
-                       --llvm-root="${LOCALBASE}" \
-                       --prefix="${LOCALBASE}" \
-                       --mandir="${LOCALBASE}/man"
-
-# VERSION and BOOTSTRAP are same major version
-.if ${V:C/\.[0-9]+$//} == ${BV:C/\.[0-9]+-[0-9]+$//}
-CONFIGURE_ARGS +=      --enable-local-rebuild
-.endif
-
-CONFIGURE_ENV +=       ac_cv_header_execinfo_h=no
-
 # need for libbacktrace
 USE_LIBTOOL =          gnu
 
-ALL_TARGET +=          rustc-stage2 docs
-TEST_TARGET =          check
-TEST_ENV +=            ALLOW_NONZERO_RLIMIT_CORE=1
-TEST_DEPENDS +=                devel/git
+TEST_DEPENDS +=                ${FULLPKGNAME-main}:${BUILD_PKGPATH} \
+                       devel/git
 
 # - check datasize limit before configuring (and building)
 pre-configure:
@@ -127,40 +103,93 @@ pre-configure:
                echo datasize limit is too low - amd64 build takes approx 
1.5GB; \
                exit 1; fi
 
-# - remove autodetected programs
+# - generate config.toml file
 # - copy libestdc++ from MODGCC4 to specific directory
 #   in order to disambiguate version linking (having multiple libestdc++
 #   at build time)
-# - copy bootstrap in stage0 (permit copying bootstrapped libs in stage0)
-post-configure:
-.for _v in CFG_CURL CFG_GIT CFG_CLANG CFG_VALGRIND CFG_PERF CFG_ISCC \
-       CFG_JAVAC CFG_ANTLR4 CFG_BISON CFG_PANDOC CFG_GDB CFG_LLDB \
-       CFG_GDB_VERSION CFG_ADB
-       perl -pi -e 's/^${_v} .*/${_v} := /' ${WRKBUILD}/config.mk
-.endfor
+do-configure:
+       echo '[build]' >${WRKBUILD}/config.toml
+       echo 'rustc = 
"${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${RBV}/bin/rustc"' \
+               >>${WRKBUILD}/config.toml
+       echo 'cargo = "${WRKDIR}/cargo-bootstrap-${MACHINE_ARCH}-${CBV}/cargo"' 
\
+               >>${WRKBUILD}/config.toml
+       echo 'prefix = "${LOCALBASE}"' >>${WRKBUILD}/config.toml
+       echo 'vendor = true' >>${WRKBUILD}/config.toml
+       
+       echo '[rust]' >>${WRKBUILD}/config.toml
+       echo 'channel = "stable"' >>${WRKBUILD}/config.toml
+       echo 'codegen-tests = false' >>${WRKBUILD}/config.toml
+       
+.if ${PORTS_LLVM:L:Myes}
+       echo '[target.${TRIPLE_ARCH}]' >>${WRKBUILD}/config.toml
+       echo 'llvm-config = "${LOCALBASE}/bin/llvm-config"' \
+               >>${WRKBUILD}/config.toml
+.else
+       echo '[llvm]' >>${WRKBUILD}/config.toml
+       echo 'static-libstdcpp = false' >>${WRKBUILD}/config.toml
+       echo 'ninja = true' >>${WRKBUILD}/config.toml
+.endif
+       
        rm -rf ${WRKDIR}/modgcc-libs
-       mkdir ${WRKDIR}/modgcc-libs
-       cp ${LOCALBASE}/lib/libestdc++.so.${LIBESTDC_VERSION} 
${WRKDIR}/modgcc-libs
-       cp ${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${BV}/bin/rustc \
-               ${WRKBUILD}/${TRIPLE_ARCH}/stage0/bin
-       cp ${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${BV}/lib/lib*.so* \
-               ${WRKBUILD}/${TRIPLE_ARCH}/stage0/lib
+       mkdir -p ${WRKDIR}/modgcc-libs
+       cp ${LOCALBASE}/lib/libestdc++.so.${LIBESTDC_VERSION} \
+               ${WRKDIR}/modgcc-libs
+
+BUILD_BIN = cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
+           ${MODPY_BIN} ${WRKSRC}/src/bootstrap/bootstrap.py
+
+do-build:
+       ${BUILD_BIN} dist --verbose --jobs=${MAKE_JOBS}
+
+COMPONENTS ?=  rustc rust-std rust-docs
+do-install:
+       rm -rf ${WRKBUILD}/_extractdist
+.for _c in ${COMPONENTS}
+       mkdir ${WRKBUILD}/_extractdist
+       cd ${WRKBUILD}/_extractdist && tar zxf \
+               ${WRKBUILD}/build/dist/${_c}-${V}-${TRIPLE_ARCH}.tar.gz
+       cd ${WRKBUILD}/_extractdist/${_c}-${V}-${TRIPLE_ARCH} && ./install.sh \
+               --prefix="${PREFIX}" \
+               --mandir="${PREFIX}/man"
+       rm -rf ${WRKBUILD}/_extractdist
+.endfor
+       for lib in ${PREFIX}/lib/lib*.* ; do \
+               libname=$${lib##*/} ; \
+               test -e ${PREFIX}/lib/rustlib/${TRIPLE_ARCH}/lib/$${libname} && 
\
+                       ln -fs rustlib/${TRIPLE_ARCH}/lib/$${libname} \
+                               ${PREFIX}/lib/$${libname} ; \
+       done
 
 post-install:
        # cleanup
-       rm 
${PREFIX}/lib/rustlib/{install.log,uninstall.sh,rust-installer-version}
+       rm ${PREFIX}/bin/rust-lldb \
+               
${PREFIX}/lib/rustlib/{install.log,uninstall.sh,rust-installer-version} \
+               ${PREFIX}/lib/rustlib/components \
+               ${PREFIX}/lib/rustlib/manifest-*
 
+do-test:
+       ${BUILD_BIN} test --verbose --jobs=${MAKE_JOBS}
 
 # bootstrap target permits to regenerate the bootstrap archive
-# it is based on stage3 binary
 BOOTSTRAPDIR=${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${V}-new
-bootstrap: configure
+bootstrap: build
        rm -rf ${BOOTSTRAPDIR}
        mkdir -p ${BOOTSTRAPDIR}/{bin,lib}
-       cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} ${GMAKE} rustc-stage3
-       cp ${WRKBUILD}/${TRIPLE_ARCH}/stage3/bin/rustc ${BOOTSTRAPDIR}/bin
-       strip ${BOOTSTRAPDIR}/bin/rustc
-       ldd ${BOOTSTRAPDIR}/bin/rustc \
+       ${MAKE} clean=fake
+       ${MAKE} fake \
+               PREFIX="${BOOTSTRAPDIR}" \
+               COMPONENTS="rustc rust-std" \
+               FAKE_SETUP=""
+       rm -rf ${BOOTSTRAPDIR}/{man,share} \
+               ${BOOTSTRAPDIR}/bin/{rust-gdb,rustdoc}
+       mv ${BOOTSTRAPDIR}/bin/rustc{,.bin}
+       strip ${BOOTSTRAPDIR}/bin/rustc.bin \
+               ${BOOTSTRAPDIR}/lib/lib*.so \
+               ${BOOTSTRAPDIR}/lib/rustlib/${TRIPLE_ARCH}/lib/lib*.so
+       cp ${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${RBV}/bin/rustc \
+               ${BOOTSTRAPDIR}/bin/rustc
+       LD_LIBRARY_PATH="${BOOTSTRAPDIR}/lib" \
+               ldd ${BOOTSTRAPDIR}/bin/rustc.bin \
                | sed -ne 's,.* \(/.*/lib/lib.*\.so.[.0-9]*\)$$,\1,p' \
                | xargs -r -J % cp % \
                        ${BOOTSTRAPDIR}/lib
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/rust/distinfo,v
retrieving revision 1.21
diff -u -p -r1.21 distinfo
--- distinfo    26 Dec 2016 13:52:46 -0000      1.21
+++ distinfo    12 Feb 2017 05:49:24 -0000
@@ -1,6 +1,10 @@
-SHA256 (rust/rustc-1.14.0-src.tar.gz) = 
x5Dt0ukVvQG+pGEirylCEIR5ov2ppvdtEJSt1SCsO2s=
-SHA256 (rust/rustc-bootstrap-amd64-1.14.0-20161221.tar.gz) = 
oxPRGSqKA+Pyt9p7itQlDkAf0DmvFBnRha2l7cRkTy8=
-SHA256 (rust/rustc-bootstrap-i386-1.14.0-20161221.tar.gz) = 
+DK+UWnh+ywjLZLXDJ3c3lXNt3lRCvUfDRXrKAydOOE=
-SIZE (rust/rustc-1.14.0-src.tar.gz) = 27572650
-SIZE (rust/rustc-bootstrap-amd64-1.14.0-20161221.tar.gz) = 21862142
-SIZE (rust/rustc-bootstrap-i386-1.14.0-20161221.tar.gz) = 23054891
+SHA256 (rust/../cargo/cargo-bootstrap-amd64-0.15.0-20161230.tar.gz) = 
qcSZfY/j29rGuU+t8oEFFf+1fzvWN+wbHa8IaUr1Y+0=
+SHA256 (rust/../cargo/cargo-bootstrap-i386-0.15.0-20161230.tar.gz) = 
xFMrNpaNIJpFcSMcnAHnOetEdHx9JHK0JoBjIcA8uUQ=
+SHA256 (rust/rustc-1.15.1-src.tar.gz) = 
Ln2q1BioMLRbl3zX7PGBtl8w9z32P/NuEk6l/l0a8yc=
+SHA256 (rust/rustc-bootstrap-amd64-1.15.0-20170203.tar.gz) = 
NFx/Mp665nROWNh7xSYY9A8NH5sPRDGYItBd/BjlsfE=
+SHA256 (rust/rustc-bootstrap-i386-1.15.0-20170204.tar.gz) = 
lre23VEqIuQwJfNgUvQdJ+RECxbJkn4vqC4IkpzgtgY=
+SIZE (rust/../cargo/cargo-bootstrap-amd64-0.15.0-20161230.tar.gz) = 7896659
+SIZE (rust/../cargo/cargo-bootstrap-i386-0.15.0-20161230.tar.gz) = 7637045
+SIZE (rust/rustc-1.15.1-src.tar.gz) = 28100203
+SIZE (rust/rustc-bootstrap-amd64-1.15.0-20170203.tar.gz) = 46336655
+SIZE (rust/rustc-bootstrap-i386-1.15.0-20170204.tar.gz) = 47619584
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- patches/patch-configure     26 Dec 2016 13:52:46 -0000      1.15
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-configure,v 1.15 2016/12/26 13:52:46 landry Exp $
-Remove requirement for curl.
-The snapshot isn't downloaded but copied by post-configure.
---- configure.orig     Sun Dec 18 00:40:11 2016
-+++ configure  Wed Dec 21 11:18:23 2016
-@@ -783,7 +783,7 @@ if [ -n "$CFG_ENABLE_DEBUG_JEMALLOC" ]; then putvar CF
- 
- step_msg "looking for build programs"
- 
--probe_need CFG_CURL curl
-+probe CFG_CURL curl
- if [ -z "$CFG_PYTHON_PROVIDED" ]; then
-     probe_need CFG_PYTHON      python2.7 python2 python
- fi
Index: patches/patch-mk_cfg_i686-unknown-openbsd_mk
===================================================================
RCS file: patches/patch-mk_cfg_i686-unknown-openbsd_mk
diff -N patches/patch-mk_cfg_i686-unknown-openbsd_mk
--- patches/patch-mk_cfg_i686-unknown-openbsd_mk        6 Dec 2016 22:39:49 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-$OpenBSD: patch-mk_cfg_i686-unknown-openbsd_mk,v 1.1 2016/12/06 22:39:49 
juanfra Exp $
-Add i686-unknown-openbsd target.
-https://github.com/rust-lang/rust/pull/38086
---- mk/cfg/i686-unknown-openbsd.mk.orig        Tue Nov 29 15:11:57 2016
-+++ mk/cfg/i686-unknown-openbsd.mk     Tue Nov 29 15:16:54 2016
-@@ -0,0 +1,24 @@
-+# i686-unknown-openbsd configuration
-+CC_i686-unknown-openbsd=$(CC)
-+CXX_i686-unknown-openbsd=$(CXX)
-+CPP_i686-unknown-openbsd=$(CPP)
-+AR_i686-unknown-openbsd=$(AR)
-+CFG_LIB_NAME_i686-unknown-openbsd=lib$(1).so
-+CFG_STATIC_LIB_NAME_i686-unknown-openbsd=lib$(1).a
-+CFG_LIB_GLOB_i686-unknown-openbsd=lib$(1)-*.so
-+CFG_LIB_DSYM_GLOB_i686-unknown-openbsd=$(1)-*.dylib.dSYM
-+CFG_JEMALLOC_CFLAGS_i686-unknown-openbsd := -m32 -I/usr/include $(CFLAGS)
-+CFG_GCCISH_CFLAGS_i686-unknown-openbsd :=  -g -fPIC -m32 -I/usr/include 
$(CFLAGS)
-+CFG_GCCISH_LINK_FLAGS_i686-unknown-openbsd := -shared -fPIC -g -pthread -m32
-+CFG_GCCISH_DEF_FLAG_i686-unknown-openbsd := 
-Wl,--export-dynamic,--dynamic-list=
-+CFG_LLC_FLAGS_i686-unknown-openbsd :=
-+CFG_INSTALL_NAME_i686-unknown-openbsd =
-+CFG_EXE_SUFFIX_i686-unknown-openbsd :=
-+CFG_WINDOWSY_i686-unknown-openbsd :=
-+CFG_UNIXY_i686-unknown-openbsd := 1
-+CFG_LDPATH_i686-unknown-openbsd :=
-+CFG_RUN_i686-unknown-openbsd=$(2)
-+CFG_RUN_TARG_i686-unknown-openbsd=$(call CFG_RUN_i686-unknown-openbsd,,$(2))
-+CFG_GNU_TRIPLE_i686-unknown-openbsd := i686-unknown-openbsd
-+RUSTC_FLAGS_i686-unknown-openbsd=-C linker=$(call FIND_COMPILER,$(CC))
-+CFG_DISABLE_JEMALLOC_i686-unknown-openbsd := 1
Index: patches/patch-src_bootstrap_native_rs
===================================================================
RCS file: patches/patch-src_bootstrap_native_rs
diff -N patches/patch-src_bootstrap_native_rs
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_bootstrap_native_rs       12 Feb 2017 05:49:24 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+use default settings from devel/llvm to local embedded version
+--- src/bootstrap/native.rs.orig       Thu Feb  9 02:37:48 2017
++++ src/bootstrap/native.rs    Fri Feb 10 13:35:47 2017
+@@ -85,10 +85,10 @@ pub fn llvm(build: &Build, target: &str) {
+        .define("LLVM_INCLUDE_EXAMPLES", "OFF")
+        .define("LLVM_INCLUDE_TESTS", "OFF")
+        .define("LLVM_INCLUDE_DOCS", "OFF")
+-       .define("LLVM_ENABLE_ZLIB", "OFF")
+-       .define("WITH_POLLY", "OFF")
++       .define("LLVM_ENABLE_FFI", "OFF")
++       .define("LLVM_REQUIRES_RTTI", "ON")
++       .define("GO_EXECUTABLE", "GO_EXECUTABLE-NOTFOUND")
+        .define("LLVM_ENABLE_TERMINFO", "OFF")
+-       .define("LLVM_ENABLE_LIBEDIT", "OFF")
+        .define("LLVM_PARALLEL_COMPILE_JOBS", build.jobs().to_string())
+        .define("LLVM_TARGET_ARCH", target.split('-').next().unwrap())
+        .define("LLVM_DEFAULT_TARGET_TRIPLE", target);
Index: patches/patch-src_etc_rust-gdb
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_etc_rust-gdb,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_etc_rust-gdb
--- patches/patch-src_etc_rust-gdb      13 Jan 2016 07:39:08 -0000      1.1
+++ patches/patch-src_etc_rust-gdb      12 Feb 2017 05:49:24 -0000
@@ -1,8 +1,18 @@
 $OpenBSD: patch-src_etc_rust-gdb,v 1.1 2016/01/13 07:39:08 semarie Exp $
 only compatible with egdb (gdb from ports)
---- src/etc/rust-gdb.orig      Sat Dec 12 07:12:56 2015
-+++ src/etc/rust-gdb   Sat Dec 12 07:13:44 2015
-@@ -17,7 +17,7 @@ RUSTC_SYSROOT=`rustc --print=sysroot`
+--- src/etc/rust-gdb.orig      Tue Jan 31 01:29:51 2017
++++ src/etc/rust-gdb   Sun Feb  5 15:40:37 2017
+@@ -12,12 +12,17 @@
+ # Exit if anything fails
+ set -e
+ 
++if ! command -v egdb; then
++      echo "error: rust-gdb requires devel/gdb to be installed" >&2
++      exit 1
++fi
++
+ # Find out where the pretty printer Python module is
+ RUSTC_SYSROOT=`rustc --print=sysroot`
  GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
  
  # Run GDB with the additional arguments that load the pretty printers
Index: patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_mod_rs
===================================================================
RCS file: patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_mod_rs
diff -N patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_mod_rs
--- patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_mod_rs        
6 Dec 2016 22:39:49 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-$OpenBSD: patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_mod_rs,v 1.1 
2016/12/06 22:39:49 juanfra Exp $
-libclibc: make openbsdlike to support 64 and 32 bits archs
-
-https://github.com/rust-lang/libc/commit/94848c190728bdf42acfa2057f2bada59f46a0a6
-https://github.com/rust-lang/libc/commit/0ac39c5ccf6a04395b7c40dd62321cb91f63f160
---- src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs.orig        Tue Nov 
 8 04:17:31 2016
-+++ src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs     Fri Dec  2 
13:55:21 2016
-@@ -1,7 +1,5 @@
--pub type c_long = i64;
--pub type c_ulong = u64;
- pub type clock_t = i64;
--pub type suseconds_t = i64;
-+pub type suseconds_t = ::c_long;
- pub type dev_t = i32;
- pub type sigset_t = ::c_uint;
- pub type blksize_t = ::int32_t;
-@@ -110,6 +108,9 @@ s! {
-         pub si_code: ::c_int,
-         pub si_errno: ::c_int,
-         pub si_addr: *mut ::c_char,
-+        #[cfg(target_pointer_width = "32")]
-+        __pad: [u8; 112],
-+        #[cfg(target_pointer_width = "64")]
-         __pad: [u8; 108],
-     }
- 
-@@ -446,3 +447,6 @@ cfg_if! {
-         // Unknown target_os
-     }
- }
-+
-+mod other;
-+pub use self::other::*;
Index: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b32_mod_rs
===================================================================
RCS file: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b32_mod_rs
diff -N 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b32_mod_rs
--- 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b32_mod_rs  
    6 Dec 2016 22:39:49 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-$OpenBSD: 
patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b32_mod_rs,v 1.1 
2016/12/06 22:39:49 juanfra Exp $
-libclibc: make openbsdlike to support 64 and 32 bits archs
-
-https://github.com/rust-lang/libc/commit/94848c190728bdf42acfa2057f2bada59f46a0a6
---- src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/b32/mod.rs.orig      
Tue Nov 29 13:50:21 2016
-+++ src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/b32/mod.rs   Tue Nov 
29 13:50:21 2016
-@@ -0,0 +1,2 @@
-+pub type c_long = i32;
-+pub type c_ulong = u32;
Index: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b64_mod_rs
===================================================================
RCS file: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b64_mod_rs
diff -N 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b64_mod_rs
--- 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b64_mod_rs  
    6 Dec 2016 22:39:49 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-$OpenBSD: 
patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_b64_mod_rs,v 1.1 
2016/12/06 22:39:49 juanfra Exp $
-libclibc: make openbsdlike to support 64 and 32 bits archs
-
-https://github.com/rust-lang/libc/commit/94848c190728bdf42acfa2057f2bada59f46a0a6
---- src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/b64/mod.rs.orig      
Tue Nov 29 13:50:21 2016
-+++ src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/b64/mod.rs   Tue Nov 
29 13:50:21 2016
-@@ -0,0 +1,2 @@
-+pub type c_long = i64;
-+pub type c_ulong = u64;
Index: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_mod_rs
===================================================================
RCS file: 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_mod_rs
diff -N 
patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_mod_rs
--- patches/patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_mod_rs  
6 Dec 2016 22:39:49 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-$OpenBSD: patch-src_liblibc_src_unix_bsd_netbsdlike_openbsdlike_other_mod_rs,v 
1.1 2016/12/06 22:39:49 juanfra Exp $
-libclibc: make openbsdlike to support 64 and 32 bits archs
-
-https://github.com/rust-lang/libc/commit/94848c190728bdf42acfa2057f2bada59f46a0a6
---- src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/mod.rs.orig  Tue Nov 
29 13:50:21 2016
-+++ src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/other/mod.rs       Tue Nov 
29 13:50:21 2016
-@@ -0,0 +1,11 @@
-+cfg_if! {
-+    if #[cfg(target_arch = "x86_64")] {
-+        mod b64;
-+        pub use self::b64::*;
-+    } else if #[cfg(target_arch = "x86")] {
-+        mod b32;
-+        pub use self::b32::*;
-+    } else {
-+        // Unknown target_arch
-+    }
-+}
Index: patches/patch-src_librustc_back_target_i686_unknown_openbsd_rs
===================================================================
RCS file: patches/patch-src_librustc_back_target_i686_unknown_openbsd_rs
diff -N patches/patch-src_librustc_back_target_i686_unknown_openbsd_rs
--- patches/patch-src_librustc_back_target_i686_unknown_openbsd_rs      26 Dec 
2016 13:52:46 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-$OpenBSD: patch-src_librustc_back_target_i686_unknown_openbsd_rs,v 1.2 
2016/12/26 13:52:46 landry Exp $
-Add i686-unknown-openbsd target.
-https://github.com/rust-lang/rust/pull/38086
---- src/librustc_back/target/i686_unknown_openbsd.rs.orig      Wed Dec 21 
11:23:51 2016
-+++ src/librustc_back/target/i686_unknown_openbsd.rs   Wed Dec 21 11:33:00 2016
-@@ -0,0 +1,30 @@
-+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-+// file at the top-level directory of this distribution and at
-+// http://rust-lang.org/COPYRIGHT.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+use target::{Target, TargetResult};
-+
-+pub fn target() -> TargetResult {
-+    let mut base = super::openbsd_base::opts();
-+    base.cpu = "pentium4".to_string();
-+    base.max_atomic_width = Some(64);
-+    base.pre_link_args.push("-m32".to_string());
-+
-+    Ok(Target {
-+        llvm_target: "i686-unknown-openbsd".to_string(),
-+        target_endian: "little".to_string(),
-+        target_pointer_width: "32".to_string(),
-+        data_layout: 
"e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(),
-+        arch: "x86".to_string(),
-+        target_os: "openbsd".to_string(),
-+        target_env: "".to_string(),
-+        target_vendor: "unknown".to_string(),
-+        options: base,
-+    })
-+}
Index: patches/patch-src_librustc_back_target_mod_rs
===================================================================
RCS file: patches/patch-src_librustc_back_target_mod_rs
diff -N patches/patch-src_librustc_back_target_mod_rs
--- patches/patch-src_librustc_back_target_mod_rs       26 Dec 2016 13:52:46 
-0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,50 +0,0 @@
-$OpenBSD: patch-src_librustc_back_target_mod_rs,v 1.2 2016/12/26 13:52:46 
landry Exp $
-Add i686-unknown-openbsd target.
-https://github.com/rust-lang/rust/pull/38086
---- src/librustc_back/target/mod.rs.orig       Sun Dec 18 00:40:11 2016
-+++ src/librustc_back/target/mod.rs    Wed Dec 21 11:18:23 2016
-@@ -167,7 +167,10 @@ supported_targets! {
-     ("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),
- 
-     ("x86_64-unknown-bitrig", x86_64_unknown_bitrig),
-+
-+    ("i686-unknown-openbsd", i686_unknown_openbsd),
-     ("x86_64-unknown-openbsd", x86_64_unknown_openbsd),
-+
-     ("x86_64-unknown-netbsd", x86_64_unknown_netbsd),
-     ("x86_64-rumprun-netbsd", x86_64_rumprun_netbsd),
- 
-@@ -298,6 +301,9 @@ pub struct TargetOptions {
-     pub staticlib_suffix: String,
-     /// OS family to use for conditional compilation. Valid options: "unix", 
"windows".
-     pub target_family: Option<String>,
-+    /// Whether the target toolchain is like OpenBSD's.
-+    /// Only useful for compiling against OpenBSD, for configuring abi when 
returning a struct.
-+    pub is_like_openbsd: bool,
-     /// Whether the target toolchain is like OSX's. Only useful for compiling 
against iOS/OS X, in
-     /// particular running dsymutil and some other stuff like `-dead_strip`. 
Defaults to false.
-     pub is_like_osx: bool,
-@@ -394,6 +400,7 @@ impl Default for TargetOptions {
-             staticlib_prefix: "lib".to_string(),
-             staticlib_suffix: ".a".to_string(),
-             target_family: None,
-+            is_like_openbsd: false,
-             is_like_osx: false,
-             is_like_solaris: false,
-             is_like_windows: false,
-@@ -558,6 +565,7 @@ impl Target {
-         key!(staticlib_prefix);
-         key!(staticlib_suffix);
-         key!(target_family, optional);
-+        key!(is_like_openbsd, bool);
-         key!(is_like_osx, bool);
-         key!(is_like_solaris, bool);
-         key!(is_like_windows, bool);
-@@ -717,6 +725,7 @@ impl ToJson for Target {
-         target_option_val!(staticlib_prefix);
-         target_option_val!(staticlib_suffix);
-         target_option_val!(target_family);
-+        target_option_val!(is_like_openbsd);
-         target_option_val!(is_like_osx);
-         target_option_val!(is_like_solaris);
-         target_option_val!(is_like_windows);
Index: patches/patch-src_librustc_back_target_openbsd_base_rs
===================================================================
RCS file: patches/patch-src_librustc_back_target_openbsd_base_rs
diff -N patches/patch-src_librustc_back_target_openbsd_base_rs
--- patches/patch-src_librustc_back_target_openbsd_base_rs      26 Dec 2016 
13:52:46 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-src_librustc_back_target_openbsd_base_rs,v 1.2 2016/12/26 
13:52:46 landry Exp $
-Add i686-unknown-openbsd target.
-https://github.com/rust-lang/rust/pull/38086
---- src/librustc_back/target/openbsd_base.rs.orig      Sun Dec 18 00:40:11 2016
-+++ src/librustc_back/target/openbsd_base.rs   Wed Dec 21 11:22:58 2016
-@@ -17,6 +17,7 @@ pub fn opts() -> TargetOptions {
-         executables: true,
-         linker_is_gnu: true,
-         has_rpath: true,
-+        is_like_openbsd: true,
-         pre_link_args: vec![
-             // GNU-style linkers will use this to omit linking to libraries
-             // which don't actually fulfill any relocations, but only for
Index: patches/patch-src_librustc_session_filesearch_rs
===================================================================
RCS file: 
/cvs/ports/lang/rust/patches/patch-src_librustc_session_filesearch_rs,v
retrieving revision 1.3
diff -u -p -r1.3 patch-src_librustc_session_filesearch_rs
--- patches/patch-src_librustc_session_filesearch_rs    31 Aug 2016 08:33:19 
-0000      1.3
+++ patches/patch-src_librustc_session_filesearch_rs    12 Feb 2017 05:49:24 
-0000
@@ -1,5 +1,5 @@
 $OpenBSD: patch-src_librustc_session_filesearch_rs,v 1.3 2016/08/31 08:33:19 
landry Exp $
-fallback to CFG_PREFIX as default sysroot.
+fallback to LOCALBASE as default sysroot.
 --- src/librustc/session/filesearch.rs.orig    Mon Jul  4 20:04:09 2016
 +++ src/librustc/session/filesearch.rs Tue Jul  5 19:01:38 2016
 @@ -161,7 +161,10 @@ pub fn get_or_default_sysroot() -> PathBuf {
@@ -7,7 +7,7 @@ fallback to CFG_PREFIX as default sysroo
      match canonicalize(env::current_exe().ok()) {
          Some(mut p) => { p.pop(); p.pop(); p }
 -        None => bug!("can't determine value for sysroot")
-+        None => match option_env!("CFG_PREFIX") {
++        None => match option_env!("LOCALBASE") {
 +            Some(dir) => PathBuf::from(dir),
 +            None => bug!("can't determine value for sysroot"),
 +        }
Index: patches/patch-src_librustc_trans_cabi_x86_rs
===================================================================
RCS file: patches/patch-src_librustc_trans_cabi_x86_rs
diff -N patches/patch-src_librustc_trans_cabi_x86_rs
--- patches/patch-src_librustc_trans_cabi_x86_rs        6 Dec 2016 22:39:49 
-0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-src_librustc_trans_cabi_x86_rs,v 1.1 2016/12/06 22:39:49 
juanfra Exp $
-Add i686-unknown-openbsd target.
-https://github.com/rust-lang/rust/pull/38086
---- src/librustc_trans/cabi_x86.rs.orig        Sun Dec  4 07:00:09 2016
-+++ src/librustc_trans/cabi_x86.rs     Sun Dec  4 07:00:43 2016
-@@ -25,7 +25,8 @@ pub fn compute_abi_info(ccx: &CrateContext, fty: &mut 
-             // http://www.angelcode.com/dev/callconv/callconv.html
-             // Clang's ABI handling is in lib/CodeGen/TargetInfo.cpp
-             let t = &ccx.sess().target.target;
--            if t.options.is_like_osx || t.options.is_like_windows {
-+            if t.options.is_like_osx || t.options.is_like_windows
-+                || t.options.is_like_openbsd {
-                 match llsize_of_alloc(ccx, fty.ret.ty) {
-                     1 => fty.ret.cast = Some(Type::i8(ccx)),
-                     2 => fty.ret.cast = Some(Type::i16(ccx)),
Index: patches/patch-src_librustdoc_test_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_librustdoc_test_rs,v
retrieving revision 1.6
diff -u -p -r1.6 patch-src_librustdoc_test_rs
--- patches/patch-src_librustdoc_test_rs        26 Dec 2016 13:52:46 -0000      
1.6
+++ patches/patch-src_librustdoc_test_rs        12 Feb 2017 05:49:24 -0000
@@ -1,14 +1,14 @@
 $OpenBSD: patch-src_librustdoc_test_rs,v 1.6 2016/12/26 13:52:46 landry Exp $
-fallback to CFG_PREFIX as default sysroot.
---- src/librustdoc/test.rs.orig        Sun Dec 18 00:40:11 2016
-+++ src/librustdoc/test.rs     Wed Dec 21 11:18:23 2016
-@@ -62,9 +62,16 @@ pub fn run(input: &str,
+fallback to LOCALBASE as default sysroot.
+--- src/librustdoc/test.rs.orig        Fri Jan 20 21:38:38 2017
++++ src/librustdoc/test.rs     Mon Jan 30 20:13:43 2017
+@@ -59,9 +59,16 @@ pub fn run(input: &str,
      let input_path = PathBuf::from(input);
      let input = config::Input::File(input_path.clone());
  
 +    let sysroot = match env::current_exe().ok() {
 +        Some(mut p) => { p.pop(); p.pop(); p }
-+        None => match option_env!("CFG_PREFIX") {
++        None => match option_env!("LOCALBASE") {
 +            Some(dir) => PathBuf::from(dir),
 +            None => panic!("can't determine value for sysroot"),
 +        }
@@ -21,13 +21,13 @@ fallback to CFG_PREFIX as default sysroo
          search_paths: libs.clone(),
          crate_types: vec![config::CrateTypeDylib],
          externs: externs.clone(),
-@@ -181,9 +188,16 @@ fn runtest(test: &str, cratename: &str, cfgs: Vec<Stri
+@@ -167,9 +174,16 @@ fn runtest(test: &str, cratename: &str, cfgs: Vec<Stri
      };
      let outputs = OutputTypes::new(&[(OutputType::Exe, None)]);
  
 +    let sysroot = match env::current_exe().ok() {
 +        Some(mut p) => { p.pop(); p.pop(); p }
-+        None => match option_env!("CFG_PREFIX") {
++        None => match option_env!("LOCALBASE") {
 +            Some(dir) => PathBuf::from(dir),
 +            None => panic!("can't determine value for sysroot"),
 +        }
Index: patches/patch-src_libstd_sys_unix_os_rs
===================================================================
RCS file: /cvs/ports/lang/rust/patches/patch-src_libstd_sys_unix_os_rs,v
retrieving revision 1.4
diff -u -p -r1.4 patch-src_libstd_sys_unix_os_rs
--- patches/patch-src_libstd_sys_unix_os_rs     26 Dec 2016 13:52:46 -0000      
1.4
+++ patches/patch-src_libstd_sys_unix_os_rs     12 Feb 2017 05:49:24 -0000
@@ -1,8 +1,8 @@
 $OpenBSD: patch-src_libstd_sys_unix_os_rs,v 1.4 2016/12/26 13:52:46 landry Exp 
$
 argv0 isn't suitable as current_exe() in all cases.
---- src/libstd/sys/unix/os.rs.orig     Sun Dec 18 00:40:11 2016
-+++ src/libstd/sys/unix/os.rs  Wed Dec 21 11:18:23 2016
-@@ -245,13 +245,14 @@ pub fn current_exe() -> io::Result<PathBuf> {
+--- src/libstd/sys/unix/os.rs.orig     Fri Jan 20 21:38:38 2017
++++ src/libstd/sys/unix/os.rs  Mon Jan 30 20:13:43 2017
+@@ -240,13 +240,14 @@ pub fn current_exe() -> io::Result<PathBuf> {
          argv.set_len(argv_len as usize);
          if argv[0].is_null() {
              return Err(io::Error::new(io::ErrorKind::Other,
Index: patches/patch-src_llvm_include_llvm_ExecutionEngine_RTDyldMemoryManager_h
===================================================================
RCS file: 
patches/patch-src_llvm_include_llvm_ExecutionEngine_RTDyldMemoryManager_h
diff -N 
patches/patch-src_llvm_include_llvm_ExecutionEngine_RTDyldMemoryManager_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_llvm_include_llvm_ExecutionEngine_RTDyldMemoryManager_h   
12 Feb 2017 05:49:24 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+https://github.com/llvm-mirror/llvm/commit/420bc5679ccfb76b41a47be8a4bf05ececf0cae5
+--- src/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h.orig   Mon Feb 
 6 20:14:30 2017
++++ src/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h        Mon Feb 
 6 20:14:41 2017
+@@ -72,7 +72,7 @@ class RTDyldMemoryManager : public MCJITMemoryManager,
+   }
+ 
+   void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) 
override {
+-    registerEHFramesInProcess(Addr, Size);
++    deregisterEHFramesInProcess(Addr, Size);
+   }
+ 
+   /// This method returns the address of the specified function or variable in
Index: patches/patch-src_llvm_include_llvm_Support_Threading_h
===================================================================
RCS file: 
/cvs/ports/lang/rust/patches/patch-src_llvm_include_llvm_Support_Threading_h,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_llvm_include_llvm_Support_Threading_h
--- patches/patch-src_llvm_include_llvm_Support_Threading_h     2 Feb 2017 
08:02:50 -0000       1.1
+++ patches/patch-src_llvm_include_llvm_Support_Threading_h     12 Feb 2017 
05:49:25 -0000
@@ -1,4 +1,5 @@
 $OpenBSD: patch-src_llvm_include_llvm_Support_Threading_h,v 1.1 2017/02/02 
08:02:50 landry Exp $
+https://github.com/llvm-mirror/llvm/commit/f92d91a710f48a26e44451f18f0081b6af0670b7
 --- src/llvm/include/llvm/Support/Threading.h.orig     Wed Dec 21 00:36:08 2016
 +++ src/llvm/include/llvm/Support/Threading.h  Sun Jan 29 09:20:53 2017
 @@ -20,11 +20,11 @@
Index: patches/patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp
===================================================================
RCS file: 
/cvs/ports/lang/rust/patches/patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp
--- patches/patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp   2 Feb 2017 
08:02:50 -0000       1.1
+++ patches/patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp   12 Feb 2017 
05:49:25 -0000
@@ -1,4 +1,5 @@
 $OpenBSD: patch-src_llvm_lib_CodeGen_TargetLoweringBase_cpp,v 1.1 2017/02/02 
08:02:50 landry Exp $
+https://github.com/llvm-mirror/llvm/commit/06e3fec531cb51bd6bfdc0171dd2676be355e76b
 --- src/llvm/lib/CodeGen/TargetLoweringBase.cpp.orig   Sun Jan 29 09:06:57 2017
 +++ src/llvm/lib/CodeGen/TargetLoweringBase.cpp        Sun Jan 29 09:07:29 2017
 @@ -1818,9 +1818,7 @@ Value *TargetLoweringBase::getIRStackGuard(IRBuilder<>
Index: 
patches/patch-src_llvm_lib_Transforms_InstCombine_InstCombineLoadStoreAlloca_cpp
===================================================================
RCS file: 
patches/patch-src_llvm_lib_Transforms_InstCombine_InstCombineLoadStoreAlloca_cpp
diff -N 
patches/patch-src_llvm_lib_Transforms_InstCombine_InstCombineLoadStoreAlloca_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
patches/patch-src_llvm_lib_Transforms_InstCombine_InstCombineLoadStoreAlloca_cpp
    12 Feb 2017 05:49:25 -0000
@@ -0,0 +1,33 @@
+$OpenBSD$
+https://github.com/llvm-mirror/llvm/commit/7e79c454db01898586ecb6444ec8bb4ee19dd0a0
+https://github.com/llvm-mirror/llvm/commit/e0af6c9240d5634766925c71a492ef48b5ca3538
+--- src/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp.orig    
Tue Jan 31 01:33:14 2017
++++ src/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp Tue Feb 
 7 09:35:55 2017
+@@ -587,6 +587,13 @@ static Instruction *unpackLoadToAggregate(InstCombiner
+         UndefValue::get(T), NewLoad, 0, Name));
+     }
+ 
++    // Bail out if the array is too large. Ideally we would like to optimize
++    // arrays of arbitrary size but this has a terrible impact on compile 
time.
++    // The threshold here is chosen arbitrarily, maybe needs a little bit of
++    // tuning.
++    if (NumElements > 1024)
++      return nullptr;
++
+     const DataLayout &DL = IC.getDataLayout();
+     auto EltSize = DL.getTypeAllocSize(ET);
+     auto Align = LI.getAlignment();
+@@ -1088,6 +1095,13 @@ static bool unpackStoreToAggregate(InstCombiner &IC, S
+       combineStoreToNewValue(IC, SI, V);
+       return true;
+     }
++
++    // Bail out if the array is too large. Ideally we would like to optimize
++    // arrays of arbitrary size but this has a terrible impact on compile 
time.
++    // The threshold here is chosen arbitrarily, maybe needs a little bit of
++    // tuning.
++    if (NumElements > 1024)
++      return false;
+ 
+     const DataLayout &DL = IC.getDataLayout();
+     auto EltSize = DL.getTypeAllocSize(AT->getElementType());
Index: patches/patch-src_test_run-pass_backtrace_rs
===================================================================
RCS file: patches/patch-src_test_run-pass_backtrace_rs
diff -N patches/patch-src_test_run-pass_backtrace_rs
--- patches/patch-src_test_run-pass_backtrace_rs        26 Dec 2016 13:52:46 
-0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-src_test_run-pass_backtrace_rs,v 1.4 2016/12/26 13:52:46 
landry Exp $
-Skip run-pass/backtrace as libbacktrace is disabled on openbsd.
---- src/test/run-pass/backtrace.rs.orig        Sun Dec 18 00:40:12 2016
-+++ src/test/run-pass/backtrace.rs     Wed Dec 21 11:18:23 2016
-@@ -103,7 +103,8 @@ fn runtest(me: &str) {
- }
- 
- fn main() {
--    if cfg!(windows) && cfg!(target_env = "gnu") {
-+    if (cfg!(windows) && cfg!(target_env = "gnu")) ||
-+        cfg!(target_os = "openbsd") {
-         return
-     }
- 
Index: patches/patch-src_tools_compiletest_src_runtest_rs
===================================================================
RCS file: patches/patch-src_tools_compiletest_src_runtest_rs
diff -N patches/patch-src_tools_compiletest_src_runtest_rs
--- patches/patch-src_tools_compiletest_src_runtest_rs  26 Dec 2016 13:52:46 
-0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-src_tools_compiletest_src_runtest_rs,v 1.4 2016/12/26 13:52:46 
landry Exp $
-use gmake to run-make testsuite
---- src/tools/compiletest/src/runtest.rs.orig  Sun Dec 18 00:40:12 2016
-+++ src/tools/compiletest/src/runtest.rs       Wed Dec 21 11:18:23 2016
-@@ -2095,7 +2095,7 @@ actual:\n\
-         }
-         self.create_dir_racy(&tmpdir);
- 
--        let mut cmd = Command::new("make");
-+        let mut cmd = Command::new("gmake");
-         cmd.current_dir(&self.testpaths.file)
-            .env("TARGET", &self.config.target)
-            .env("PYTHON", &self.config.docck_python)
Index: patches/patch-src_tools_tidy_src_main_rs
===================================================================
RCS file: patches/patch-src_tools_tidy_src_main_rs
diff -N patches/patch-src_tools_tidy_src_main_rs
--- patches/patch-src_tools_tidy_src_main_rs    26 Dec 2016 13:52:46 -0000      
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$OpenBSD: patch-src_tools_tidy_src_main_rs,v 1.2 2016/12/26 13:52:46 landry 
Exp $
-Disable cargo_lock check: it requires the source directory to be a git clone.
---- src/tools/tidy/src/main.rs.orig    Sun Dec 18 00:40:12 2016
-+++ src/tools/tidy/src/main.rs Wed Dec 21 11:19:24 2016
-@@ -35,7 +35,6 @@ mod style;
- mod errors;
- mod features;
- mod cargo;
--mod cargo_lock;
- mod pal;
- 
- fn main() {
-@@ -48,7 +47,6 @@ fn main() {
-     errors::check(&path, &mut bad);
-     cargo::check(&path, &mut bad);
-     features::check(&path, &mut bad);
--    cargo_lock::check(&path, &mut bad);
-     pal::check(&path, &mut bad);
- 
-     if bad {
Index: pkg/PFRAG.amd64-main
===================================================================
RCS file: pkg/PFRAG.amd64-main
diff -N pkg/PFRAG.amd64-main
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/PFRAG.amd64-main        12 Feb 2017 05:49:25 -0000
@@ -0,0 +1,100 @@
+@comment $OpenBSD$
+lib/libarena-11d7496c1faa8f76.so
+lib/libflate-a8279fa2f6625419.so
+lib/libfmt_macros-10dfa937d2fe5c00.so
+lib/libgetopts-f74de694632384de.so
+lib/libgraphviz-c2d48e0f4bad1295.so
+lib/liblog-5002f73d22f7a1aa.so
+lib/libproc_macro-fbf63c74ca24f125.so
+lib/libproc_macro_plugin-be32bcfae263bde7.so
+lib/libproc_macro_tokens-244bfeffc389dcf0.so
+lib/librustc-267fc3d198c686a2.so
+lib/librustc_back-38c2e5829acdfc74.so
+lib/librustc_borrowck-af3ac447ccff4e15.so
+lib/librustc_const_eval-7a3e50024b7472c7.so
+lib/librustc_const_math-abd215dffdbabf1d.so
+lib/librustc_data_structures-54ee9a822776d8d3.so
+lib/librustc_driver-f5b0d66ecb075790.so
+lib/librustc_errors-a0fd4a6fc59694fe.so
+lib/librustc_incremental-ad6213e413d93d69.so
+lib/librustc_lint-9c42dfccb8e5c4f1.so
+lib/librustc_llvm-bd563f262cb6e7d7.so
+lib/librustc_metadata-ea3c7d71b3ca2416.so
+lib/librustc_mir-6bd1d141a7e1c49a.so
+lib/librustc_passes-28fc5c4962e30ca9.so
+lib/librustc_platform_intrinsics-17ad1c6dae8b1e9e.so
+lib/librustc_plugin-347e1af40d9c26f2.so
+lib/librustc_privacy-a8763b07b8c65561.so
+lib/librustc_resolve-488de9adf3074d4e.so
+lib/librustc_save_analysis-1c6fbbcd89a94902.so
+lib/librustc_trans-51b2cd883b363bf4.so
+lib/librustc_typeck-584a1008ee0d838f.so
+lib/librustdoc-07610a6055695b47.so
+lib/libserialize-a930b687569b724c.so
+lib/libstd-0c545809ddd8d99a.so
+lib/libsyntax-2e575cebb9c46c42.so
+lib/libsyntax_ext-e7cb7897960b516e.so
+lib/libsyntax_pos-4e1c6aa1e472225c.so
+lib/libterm-2b3a96551eff82ef.so
+lib/libtest-52fc9063d398d946.so
+lib/rustlib/x86_64-unknown-openbsd/
+lib/rustlib/x86_64-unknown-openbsd/lib/
+lib/rustlib/x86_64-unknown-openbsd/lib/liballoc-189be59357c40ef1.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/liballoc_jemalloc-b17d834994e7f5bc.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/liballoc_system-d030adf06849e07e.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libarena-11d7496c1faa8f76.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libcollections-a9cadd0b1050da27.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libcompiler_builtins-aa54e6bd858df95d.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libcore-3d76228e567222b4.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libflate-a8279fa2f6625419.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libfmt_macros-10dfa937d2fe5c00.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libgetopts-f74de694632384de.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libgetopts-f74de694632384de.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libgraphviz-c2d48e0f4bad1295.so
+lib/rustlib/x86_64-unknown-openbsd/lib/liblibc-34d0efa8c3e9d691.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/liblog-5002f73d22f7a1aa.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/liblog-5002f73d22f7a1aa.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libpanic_abort-91e5e10fcaf20196.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libpanic_unwind-44b8efc271069340.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libproc_macro-fbf63c74ca24f125.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libproc_macro_plugin-be32bcfae263bde7.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libproc_macro_tokens-244bfeffc389dcf0.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librand-06f790a0a1f0b94c.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc-267fc3d198c686a2.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_back-38c2e5829acdfc74.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_bitflags-3b5ccd101d5c60d6.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_borrowck-af3ac447ccff4e15.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_const_eval-7a3e50024b7472c7.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_const_math-abd215dffdbabf1d.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_data_structures-54ee9a822776d8d3.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_driver-f5b0d66ecb075790.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_errors-a0fd4a6fc59694fe.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_incremental-ad6213e413d93d69.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_lint-9c42dfccb8e5c4f1.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_llvm-bd563f262cb6e7d7.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_metadata-ea3c7d71b3ca2416.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_mir-6bd1d141a7e1c49a.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_passes-28fc5c4962e30ca9.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_platform_intrinsics-17ad1c6dae8b1e9e.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_plugin-347e1af40d9c26f2.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_privacy-a8763b07b8c65561.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_resolve-488de9adf3074d4e.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_save_analysis-1c6fbbcd89a94902.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_trans-51b2cd883b363bf4.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustc_typeck-584a1008ee0d838f.so
+lib/rustlib/x86_64-unknown-openbsd/lib/librustdoc-07610a6055695b47.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libserialize-a930b687569b724c.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libserialize-a930b687569b724c.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libstd-0c545809ddd8d99a.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libstd-0c545809ddd8d99a.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libstd_shim-37df37c63c5c7120.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libstd_unicode-ce23b51752d53bab.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libsyntax-2e575cebb9c46c42.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libsyntax_ext-e7cb7897960b516e.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libsyntax_pos-4e1c6aa1e472225c.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libterm-2b3a96551eff82ef.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libterm-2b3a96551eff82ef.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libtest-52fc9063d398d946.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libtest-52fc9063d398d946.so
+lib/rustlib/x86_64-unknown-openbsd/lib/libtest_shim-632b142c0882347f.rlib
+lib/rustlib/x86_64-unknown-openbsd/lib/libunwind-eb1a1348ca3a0294.rlib
Index: pkg/PFRAG.b32-doc
===================================================================
RCS file: pkg/PFRAG.b32-doc
diff -N pkg/PFRAG.b32-doc
--- pkg/PFRAG.b32-doc   6 Dec 2016 22:39:49 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,163 +0,0 @@
-@comment $OpenBSD: PFRAG.b32-doc,v 1.1 2016/12/06 22:39:49 juanfra Exp $
-share/doc/rust/html/libc/b32/
-share/doc/rust/html/libc/b32/c_long.t.html
-share/doc/rust/html/libc/b32/c_ulong.t.html
-share/doc/rust/html/libc/b32/type.c_long.html
-share/doc/rust/html/libc/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/b32/
-share/doc/rust/html/libc/bsd/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/netbsdlike/b32/
-share/doc/rust/html/libc/bsd/netbsdlike/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/netbsdlike/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/b32/
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/other/b32/
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/other/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/other/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/other/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/netbsdlike/openbsdlike/other/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/netbsdlike/other/b32/
-share/doc/rust/html/libc/bsd/netbsdlike/other/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/other/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/netbsdlike/other/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/netbsdlike/other/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/openbsdlike/b32/
-share/doc/rust/html/libc/bsd/openbsdlike/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/openbsdlike/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/openbsdlike/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/openbsdlike/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/openbsdlike/other/b32/
-share/doc/rust/html/libc/bsd/openbsdlike/other/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/openbsdlike/other/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/openbsdlike/other/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/openbsdlike/other/b32/type.c_ulong.html
-share/doc/rust/html/libc/bsd/other/b32/
-share/doc/rust/html/libc/bsd/other/b32/c_long.t.html
-share/doc/rust/html/libc/bsd/other/b32/c_ulong.t.html
-share/doc/rust/html/libc/bsd/other/b32/type.c_long.html
-share/doc/rust/html/libc/bsd/other/b32/type.c_ulong.html
-share/doc/rust/html/libc/netbsdlike/b32/
-share/doc/rust/html/libc/netbsdlike/b32/c_long.t.html
-share/doc/rust/html/libc/netbsdlike/b32/c_ulong.t.html
-share/doc/rust/html/libc/netbsdlike/b32/type.c_long.html
-share/doc/rust/html/libc/netbsdlike/b32/type.c_ulong.html
-share/doc/rust/html/libc/netbsdlike/openbsdlike/b32/
-share/doc/rust/html/libc/netbsdlike/openbsdlike/b32/c_long.t.html
-share/doc/rust/html/libc/netbsdlike/openbsdlike/b32/c_ulong.t.html
-share/doc/rust/html/libc/netbsdlike/openbsdlike/b32/type.c_long.html
-share/doc/rust/html/libc/netbsdlike/openbsdlike/b32/type.c_ulong.html
-share/doc/rust/html/libc/netbsdlike/openbsdlike/other/b32/
-share/doc
-share/doc/rust/html/std/sys/ext/fs/trait.OpenOptionsExt.html
-share/doc/rust/html/std/sys/ext/fs/trait.PermissionsExt.html
-share/doc/rust/html/std/sys/ext/index.html
-share/doc/rust/html/std/sys/ext/io/
-share/doc/rust/html/std/sys/ext/io/AsRawFd.t.html
-share/doc/rust/html/std/sys/ext/io/FromRawFd.t.html
-share/doc/rust/html/std/sys/ext/io/IntoRawFd.t.html
-share/doc/rust/html/std/sys/ext/io/RawFd.t.html
-share/doc/rust/html/std/sys/ext/io/index.html
-share/doc/rust/html/std/sys/ext/io/trait.AsRawFd.html
-share/doc/rust/html/std/sys/ext/io/trait.FromRawFd.html
-share/doc/rust/html/std/sys/ext/io/trait.IntoRawFd.html
-share/doc/rust/html/std/sys/ext/io/type.RawFd.html
-share/doc/rust/html/std/sys/ext/net/
-share/doc/rust/html/std/sys/ext/net/Incoming.t.html
-share/doc/rust/html/std/sys/ext/net/SocketAddr.t.html
-share/doc/rust/html/std/sys/ext/net/UnixDatagram.t.html
-share/doc/rust/html/std/sys/ext/net/UnixListener.t.html
-share/doc/rust/html/std/sys/ext/net/UnixStream.t.html
-share/doc/rust/html/std/sys/ext/net/index.html
-share/doc/rust/html/std/sys/ext/net/struct.Incoming.html
-share/doc/rust/html/std/sys/ext/net/struct.SocketAddr.html
-share/doc/rust/html/std/sys/ext/net/struct.UnixDatagram.html
-share/doc/rust/html/std/sys/ext/net/struct.UnixListener.html
-share/doc/rust/html/std/sys/ext/net/struct.UnixStream.html
-share/doc/rust/html/std/sys/ext/prelude/
-share/doc/rust/html/std/sys/ext/prelude/index.html
-share/doc/rust/html/std/sys/ext/process/
-share/doc/rust/html/std/sys/ext/process/CommandExt.t.html
-share/doc/rust/html/std/sys/ext/process/ExitStatusExt.t.html
-share/doc/rust/html/std/sys/ext/process/index.html
-share/doc/rust/html/std/sys/ext/process/trait.CommandExt.html
-share/doc/rust/html/std/sys/ext/process/trait.ExitStatusExt.html
-share/doc/rust/html/std/sys/ext/raw/
-share/doc/rust/html/std/sys/ext/raw/blkcnt_t.t.html
-share/doc/rust/html/std/sys/ext/raw/blksize_t.t.html
-share/doc/rust/html/std/sys/ext/raw/dev_t.t.html
-share/doc/rust/html/std/sys/ext/raw/gid_t.t.html
-share/doc/rust/html/std/sys/ext/raw/index.html
-share/doc/rust/html/std/sys/ext/raw/ino_t.t.html
-share/doc/rust/html/std/sys/ext/raw/mode_t.t.html
-share/doc/rust/html/std/sys/ext/raw/nlink_t.t.html
-share/doc/rust/html/std/sys/ext/raw/off_t.t.html
-share/doc/rust/html/std/sys/ext/raw/pid_t.t.html
-share/doc/rust/html/std/sys/ext/raw/pthread_t.t.html
-share/doc/rust/html/std/sys/ext/raw/time_t.t.html
-share/doc/rust/html/std/sys/ext/raw/type.blkcnt_t.html
-share/doc/rust/html/std/sys/ext/raw/type.blksize_t.html
-share/doc/rust/html/std/sys/ext/raw/type.dev_t.html
-share/doc/rust/html/std/sys/ext/raw/type.gid_t.html
-share/doc/rust/html/std/sys/ext/raw/type.ino_t.html
-share/doc/rust/html/std/sys/ext/raw/type.mode_t.html
-share/doc/rust/html/std/sys/ext/raw/type.nlink_t.html
-share/doc/rust/html/std/sys/ext/raw/type.off_t.html
-share/doc/rust/html/std/sys/ext/raw/type.pid_t.html
-share/doc/rust/html/std/sys/ext/raw/type.pthread_t.html
-share/doc/rust/html/std/sys/ext/raw/type.time_t.html
-share/doc/rust/html/std/sys/ext/raw/type.uid_t.html
-share/doc/rust/html/std/sys/ext/raw/uid_t.t.html
-share/doc/rust/html/std/sys/ext/thread/
-share/doc/rust/html/std/sys/ext/thread/JoinHandleExt.t.html
-share/doc/rust/html/std/sys/ext/thread/RawPthread.t.html
-share/doc/rust/html/std/sys/ext/thread/index.html
-share/doc/rust/html/std/sys/ext/thread/trait.JoinHandleExt.html
-share/doc/rust/html/std/sys/ext/thread/type.RawPthread.html
 share/doc/rust/html/std/sys/imp/
 share/doc/rust/html/std/sys/imp/ext/
 share/doc/rust/html/std/sys/imp/ext/ffi/
@@ -23411,29 +4827,11 @@ share/doc/rust/html/std/sys/imp/ext/proc
 share/doc/rust/html/std/sys/imp/ext/process/trait.CommandExt.html
 share/doc/rust/html/std/sys/imp/ext/process/trait.ExitStatusExt.html
 share/doc/rust/html/std/sys/imp/ext/raw/
-share/doc/rust/html/std/sys/imp/ext/raw/blkcnt_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/blksize_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/dev_t.t.html
 share/doc/rust/html/std/sys/imp/ext/raw/gid_t.t.html
 share/doc/rust/html/std/sys/imp/ext/raw/index.html
-share/doc/rust/html/std/sys/imp/ext/raw/ino_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/mode_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/nlink_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/off_t.t.html
 share/doc/rust/html/std/sys/imp/ext/raw/pid_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/pthread_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/time_t.t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.blkcnt_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.blksize_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.dev_t.html
 share/doc/rust/html/std/sys/imp/ext/raw/type.gid_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.ino_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.mode_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.nlink_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.off_t.html
 share/doc/rust/html/std/sys/imp/ext/raw/type.pid_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.pthread_t.html
-share/doc/rust/html/std/sys/imp/ext/raw/type.time_t.html
 share/doc/rust/html/std/sys/imp/ext/raw/type.uid_t.html
 share/doc/rust/html/std/sys/imp/ext/raw/uid_t.t.html
 share/doc/rust/html/std/sys/imp/ext/thread/
@@ -23565,7 +4963,92 @@ share/doc/rust/html/std/vec/struct.IntoI
 share/doc/rust/html/std/vec/struct.Vec.html
 share/doc/rust/html/std/write.m.html
 share/doc/rust/html/std/writeln.m.html
+share/doc/rust/html/std_unicode/
+share/doc/rust/html/std_unicode/char/
+share/doc/rust/html/std_unicode/char/CharTryFromError.t.html
+share/doc/rust/html/std_unicode/char/DecodeUtf16.t.html
+share/doc/rust/html/std_unicode/char/DecodeUtf16Error.t.html
+share/doc/rust/html/std_unicode/char/DecodeUtf8.t.html
+share/doc/rust/html/std_unicode/char/EscapeDebug.t.html
+share/doc/rust/html/std_unicode/char/EscapeDefault.t.html
+share/doc/rust/html/std_unicode/char/EscapeUnicode.t.html
+share/doc/rust/html/std_unicode/char/MAX.v.html
+share/doc/rust/html/std_unicode/char/REPLACEMENT_CHARACTER.v.html
+share/doc/rust/html/std_unicode/char/ToLowercase.t.html
+share/doc/rust/html/std_unicode/char/ToUppercase.t.html
+share/doc/rust/html/std_unicode/char/UNICODE_VERSION.v.html
+share/doc/rust/html/std_unicode/char/constant.MAX.html
+share/doc/rust/html/std_unicode/char/constant.REPLACEMENT_CHARACTER.html
+share/doc/rust/html/std_unicode/char/constant.UNICODE_VERSION.html
+share/doc/rust/html/std_unicode/char/decode_utf16.v.html
+share/doc/rust/html/std_unicode/char/decode_utf8.v.html
+share/doc/rust/html/std_unicode/char/fn.decode_utf16.html
+share/doc/rust/html/std_unicode/char/fn.decode_utf8.html
+share/doc/rust/html/std_unicode/char/fn.from_digit.html
+share/doc/rust/html/std_unicode/char/fn.from_u32.html
+share/doc/rust/html/std_unicode/char/fn.from_u32_unchecked.html
+share/doc/rust/html/std_unicode/char/from_digit.v.html
+share/doc/rust/html/std_unicode/char/from_u32.v.html
+share/doc/rust/html/std_unicode/char/from_u32_unchecked.v.html
+share/doc/rust/html/std_unicode/char/index.html
+share/doc/rust/html/std_unicode/char/sidebar-items.js
+share/doc/rust/html/std_unicode/char/struct.CharTryFromError.html
+share/doc/rust/html/std_unicode/char/struct.DecodeUtf16.html
+share/doc/rust/html/std_unicode/char/struct.DecodeUtf16Error.html
+share/doc/rust/html/std_unicode/char/struct.DecodeUtf8.html
+share/doc/rust/html/std_unicode/char/struct.EscapeDebug.html
+share/doc/rust/html/std_unicode/char/struct.EscapeDefault.html
+share/doc/rust/html/std_unicode/char/struct.EscapeUnicode.html
+share/doc/rust/html/std_unicode/char/struct.ToLowercase.html
+share/doc/rust/html/std_unicode/char/struct.ToUppercase.html
+share/doc/rust/html/std_unicode/derived_property/
+share/doc/rust/html/std_unicode/derived_property/Case_Ignorable.v.html
+share/doc/rust/html/std_unicode/derived_property/Cased.v.html
+share/doc/rust/html/std_unicode/derived_property/fn.Case_Ignorable.html
+share/doc/rust/html/std_unicode/derived_property/fn.Cased.html
+share/doc/rust/html/std_unicode/derived_property/index.html
+share/doc/rust/html/std_unicode/derived_property/sidebar-items.js
+share/doc/rust/html/std_unicode/index.html
+share/doc/rust/html/std_unicode/property/
+share/doc/rust/html/std_unicode/property/Pattern_White_Space.v.html
+share/doc/rust/html/std_unicode/property/fn.Pattern_White_Space.html
+share/doc/rust/html/std_unicode/property/index.html
+share/doc/rust/html/std_unicode/property/sidebar-items.js
+share/doc/rust/html/std_unicode/sidebar-items.js
+share/doc/rust/html/std_unicode/str/
+share/doc/rust/html/std_unicode/str/SplitWhitespace.t.html
+share/doc/rust/html/std_unicode/str/UnicodeStr.t.html
+share/doc/rust/html/std_unicode/str/Utf16Encoder.t.html
+share/doc/rust/html/std_unicode/str/fn.is_utf16.html
+share/doc/rust/html/std_unicode/str/fn.utf8_char_width.html
+share/doc/rust/html/std_unicode/str/index.html
+share/doc/rust/html/std_unicode/str/is_utf16.v.html
+share/doc/rust/html/std_unicode/str/sidebar-items.js
+share/doc/rust/html/std_unicode/str/struct.SplitWhitespace.html
+share/doc/rust/html/std_unicode/str/struct.Utf16Encoder.html
+share/doc/rust/html/std_unicode/str/trait.UnicodeStr.html
+share/doc/rust/html/std_unicode/str/utf8_char_width.v.html
+share/doc/rust/html/std_unicode/tables/
+share/doc/rust/html/std_unicode/tables/UNICODE_VERSION.v.html
+share/doc/rust/html/std_unicode/tables/constant.UNICODE_VERSION.html
+share/doc/rust/html/std_unicode/tables/derived_property/
+share/doc/rust/html/std_unicode/tables/derived_property/Case_Ignorable.v.html
+share/doc/rust/html/std_unicode/tables/derived_property/Cased.v.html
+share/doc/rust/html/std_unicode/tables/derived_property/fn.Case_Ignorable.html
+share/doc/rust/html/std_unicode/tables/derived_property/fn.Cased.html
+share/doc/rust/html/std_unicode/tables/property/
+share/doc/rust/html/std_unicode/tables/property/Pattern_White_Space.v.html
+share/doc/rust/html/std_unicode/tables/property/fn.Pattern_White_Space.html
+share/doc/rust/html/std_unicode/u_str/
+share/doc/rust/html/std_unicode/u_str/SplitWhitespace.t.html
+share/doc/rust/html/std_unicode/u_str/UnicodeStr.t.html
+share/doc/rust/html/std_unicode/u_str/Utf16Encoder.t.html
+share/doc/rust/html/std_unicode/u_str/fn.is_utf16.html
+share/doc/rust/html/std_unicode/u_str/fn.utf8_char_width.html
+share/doc/rust/html/std_unicode/u_str/is_utf16.v.html
+share/doc/rust/html/std_unicode/u_str/struct.SplitWhitespace.html
+share/doc/rust/html/std_unicode/u_str/struct.Utf16Encoder.html
+share/doc/rust/html/std_unicode/u_str/trait.UnicodeStr.html
+share/doc/rust/html/std_unicode/u_str/utf8_char_width.v.html
 share/doc/rust/html/tutorial.html
 share/doc/rust/html/version_info.html
-%%b32%%
-%%b64%%
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/lang/rust/pkg/PLIST-main,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST-main
--- pkg/PLIST-main      26 Dec 2016 13:52:46 -0000      1.11
+++ pkg/PLIST-main      12 Feb 2017 05:49:27 -0000
@@ -2,109 +2,14 @@
 bin/rust-gdb
 @bin bin/rustc
 @bin bin/rustdoc
-lib/libarena-${RUST_HASH}.so
-lib/libflate-${RUST_HASH}.so
-lib/libfmt_macros-${RUST_HASH}.so
-lib/libgetopts-${RUST_HASH}.so
-lib/libgraphviz-${RUST_HASH}.so
-lib/liblog-${RUST_HASH}.so
-lib/libproc_macro-${RUST_HASH}.so
-lib/libproc_macro_plugin-${RUST_HASH}.so
-lib/libproc_macro_tokens-${RUST_HASH}.so
-lib/librustc-${RUST_HASH}.so
-lib/librustc_back-${RUST_HASH}.so
-lib/librustc_borrowck-${RUST_HASH}.so
-lib/librustc_const_eval-${RUST_HASH}.so
-lib/librustc_const_math-${RUST_HASH}.so
-lib/librustc_data_structures-${RUST_HASH}.so
-lib/librustc_driver-${RUST_HASH}.so
-lib/librustc_errors-${RUST_HASH}.so
-lib/librustc_incremental-${RUST_HASH}.so
-lib/librustc_lint-${RUST_HASH}.so
-lib/librustc_llvm-${RUST_HASH}.so
-lib/librustc_metadata-${RUST_HASH}.so
-lib/librustc_mir-${RUST_HASH}.so
-lib/librustc_passes-${RUST_HASH}.so
-lib/librustc_platform_intrinsics-${RUST_HASH}.so
-lib/librustc_plugin-${RUST_HASH}.so
-lib/librustc_privacy-${RUST_HASH}.so
-lib/librustc_resolve-${RUST_HASH}.so
-lib/librustc_save_analysis-${RUST_HASH}.so
-lib/librustc_trans-${RUST_HASH}.so
-lib/librustc_typeck-${RUST_HASH}.so
-lib/librustdoc-${RUST_HASH}.so
-lib/libserialize-${RUST_HASH}.so
-lib/libstd-${RUST_HASH}.so
-lib/libsyntax-${RUST_HASH}.so
-lib/libsyntax_ext-${RUST_HASH}.so
-lib/libsyntax_pos-${RUST_HASH}.so
-lib/libterm-${RUST_HASH}.so
-lib/libtest-${RUST_HASH}.so
 lib/rustlib/
-lib/rustlib/components
 lib/rustlib/etc/
 lib/rustlib/etc/debugger_pretty_printers_common.py
 lib/rustlib/etc/gdb_load_rust_pretty_printers.py
 lib/rustlib/etc/gdb_rust_pretty_printing.py
-lib/rustlib/manifest-rust-docs
-lib/rustlib/manifest-rust-std-${TRIPLE_ARCH}
-lib/rustlib/manifest-rustc
-lib/rustlib/${TRIPLE_ARCH}/
-lib/rustlib/${TRIPLE_ARCH}/lib/
-lib/rustlib/${TRIPLE_ARCH}/lib/liballoc-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/liballoc_system-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libarena-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libcollections-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libcompiler_builtins-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libcore-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libflate-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libfmt_macros-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libgetopts-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libgetopts-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libgraphviz-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/liblibc-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/liblog-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libpanic_abort-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libpanic_unwind-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libproc_macro-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libproc_macro_plugin-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libproc_macro_tokens-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librand-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_back-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_bitflags-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_borrowck-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_const_eval-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_const_math-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_data_structures-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_driver-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_errors-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_incremental-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_lint-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_llvm-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_metadata-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_mir-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_passes-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_platform_intrinsics-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_plugin-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_privacy-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_resolve-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_save_analysis-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_trans-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_typeck-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/librustc_unicode-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/librustdoc-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libserialize-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libstd-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libstd-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libsyntax-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libsyntax_ext-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libsyntax_pos-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libterm-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libterm-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libtest-${RUST_HASH}.rlib
-lib/rustlib/${TRIPLE_ARCH}/lib/libtest-${RUST_HASH}.so
-lib/rustlib/${TRIPLE_ARCH}/lib/libunwind-${RUST_HASH}.rlib
+lib/rustlib/etc/lldb_rust_formatters.py
+%%amd64%%
+%%i386%%
 @man man/man1/rustc.1
 @man man/man1/rustdoc.1
 share/doc/rust/

Reply via email to