21 Commits

Author SHA1 Message Date
Derek Straka
94280a636c Merge pull request #171 from cardoe/pyro-1.20.0
(pyro) upgrade to 1.20.0
2017-10-10 12:06:43 -04:00
Derek Straka
4c764c3447 Always allow the clean-up to succeed
Signed-off-by: Derek Straka <derek@asterius.io>
(cherry picked from commit 34941a25e9)
2017-10-10 08:48:31 -05:00
Johan Anderholm
980f6e2baf rust: Don't specify allocator for >= 1.20.0
System allocator is the default in rust.

(cherry picked from commit 37813c4dff)
2017-10-03 21:51:03 -05:00
Johan Anderholm
633c18c655 libstd: correct path to COPYRIGHT
(cherry picked from commit 2fd83daa46)
2017-10-03 21:50:50 -05:00
Doug Goldstein
13e81c1961 bump to Rust 1.20.0 and Cargo 0.21
(cherry picked from commit 3bf7088579)
2017-10-03 21:50:43 -05:00
Johan Anderholm
ee3fec561a Switch to rustbuild
Switch the build process to using Rust's new build system called
rustbuild. At the same time stop using jemalloc on all platforms and
switch to the system allocator since that was simplier to do.

(cherry picked from commit a4fe235317)
2017-10-03 21:50:30 -05:00
Doug Goldstein
a086ab5c3d cargo: convert to versioned include file
We'll need the prior version of cargo to boot strap ourselves going
forward so include the version info so we can support multiple versions
in the tree.

(cherry picked from commit 1ff41650d5)
2017-10-03 21:50:21 -05:00
Doug Goldstein
f822a1e21f update container to the pyro supported version
(cherry picked from commit 1b8883be12)
2017-10-03 21:49:56 -05:00
Doug Goldstein
c7d40b7e36 cargo{_common}.bbclass: abstract out parts for rustbuild
rustbuild is a cargo based way to build Rust but all of our helper bits
in cargo.bbclass would create a chicken/egg issue with dependencies
since we pull down pre-built binaries and use those for boot strapping.

(cherry picked from commit e31d252eb0)
2017-10-03 21:49:48 -05:00
Doug Goldstein
e4c106a186 cargo.bbclass: include CXXFLAGS for builds
If g++ is invoked when building native bits with cargo we need to
include CXXFLAGS.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
(cherry picked from commit 0cccf8b25c)
2017-10-03 21:49:39 -05:00
Doug Goldstein
f881c0897c rustfmt: bump to 0.8.0 and use cargo-bitbake
Switch to using cargo-bitbake to generate the recipe and bump versions
at the same time.

(cherry picked from commit 758f8459ec)
2017-10-03 21:49:21 -05:00
Doug Goldstein
243bc13191 cargo: convert recipe to cargo-bitbake
Generate the Cargo recipe with cargo-bitbake instead of having a
handcrafted recipe. This should make future version bumps easier.

Three known issues:
- license checksum of the Apache license is a generateme value
  due to the license file having a difference name then what's in
  Cargo.toml.
- branch= value was wrong for tags. Pointed to HEAD instead of the
  branch that the underlying tag commit came from.
- Use https protocol when the repo is publicly accessible.

(cherry picked from commit 398fecb48c)
2017-10-03 21:49:11 -05:00
Doug Goldstein
5b7699b4f0 cargo.bbclass: improve debug note showing paths
There was a bbnote that showed the path to the rustc and cargo binaries
being used but this was not necessarily correct since it didn't use the
exact variables used.

(cherry picked from commit c55fb403f8)
2017-10-03 21:48:59 -05:00
Doug Goldstein
49c512c885 rust: drop custom target finding patch
We shouldn't need to patch rustc to find the target but instead pass the
full path to the target spec. This should solve #138.

(cherry picked from commit 06a138a4a4)
2017-10-03 21:48:45 -05:00
Johan Anderholm
b4527016df cargo: build cargo using cargo and not make
Instead of using the configure script paired with make, use Cargo to
build Cargo. This moves us closer to being compatible with rustbuild.

(cherry picked from commit 3e0f03d12a)
2017-10-03 21:48:33 -05:00
Johan Anderholm
e04de10cfa rust-common: provide C++ wrappers
For similar reasons to the C and linker wrappers, using rustbuild
requires a C++ wrapper to ensure that the right flags that Yocto needs
are passed to the underlying compiler.

(cherry picked from commit e814ede9d9)
2017-10-03 21:48:23 -05:00
Doug Goldstein
f6d973c5ca compiler-rt: drop unused bits
Since a3fe7c75bf this file has been unused and should have been deleted
with that commit.
2017-06-21 11:51:15 -05:00
Derek Straka
4b9d7a8c21 Merge pull request #159 from cardoe/pyro-drop-rust-1.12
drop Rust 1.12.1 and Cargo 0.13
2017-06-20 11:27:45 -04:00
Doug Goldstein
a3fe7c75bf drop Rust 1.12.1 and Cargo 0.13
In keeping with our supported versions release schedule at
https://github.com/meta-rust/meta-rust/wiki this removes 1.12.1 from
pyro.
2017-06-18 11:14:04 -05:00
Doug Goldstein
73730520b3 Merge pull request #157 from meta-rust/fix-pyro-jenkinsfile
Jenkinsfile: update for pyro branch
2017-06-17 09:03:56 -05:00
Derek Straka
9d3b6cd3bb Jenkinsfile: update for pyro branch
Signed-off-by: Derek Straka <derek@asterius.io>
2017-06-16 11:43:56 -04:00
31 changed files with 275 additions and 647 deletions

4
Jenkinsfile vendored
View File

@@ -15,7 +15,7 @@ for (int i = 0; i < targets.size(); i++) {
sh "./scripts/setup-env.sh"
}
stage("fetch $machine") {
sh "GIT_LOCAL_REF_DIR=/srv/git-cache/ ./scripts/fetch.sh master"
sh "GIT_LOCAL_REF_DIR=/srv/git-cache/ ./scripts/fetch.sh pyro"
}
stage("build $machine") {
sh "MACHINE=${machine} ./scripts/build.sh"
@@ -25,7 +25,7 @@ for (int i = 0; i < targets.size(); i++) {
throw e
} finally {
stage("push build cache $machine") {
sh "./scripts/publish-build-cache.sh master"
sh "./scripts/publish-build-cache.sh pyro"
}
stage("cleanup $machine") {
sh "./scripts/cleanup-env.sh"

View File

@@ -24,6 +24,7 @@ export RUST_BACKTRACE = "1"
RUSTFLAGS ??= ""
CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
# change if CARGO_BUILD_FLAGS changes.
@@ -45,20 +46,15 @@ cargo_do_compile () {
cargo_do_install () {
local have_installed=false
for tgt in "${B}/target/${CARGO_TARGET_SUBDIR}/"*; do
case $tgt in
*.so|*.rlib)
if [[ $tgt == *.so || $tgt == *.rlib ]]; then
install -d "${D}${rustlibdir}"
install -m755 "$tgt" "${D}${rustlibdir}"
have_installed=true
;;
*)
if [ -f "$tgt" ] && [ -x "$tgt" ]; then
install -d "${D}${bindir}"
install -m755 "$tgt" "${D}${bindir}"
have_installed=true
fi
;;
esac
elif [ -f "$tgt" ] && [ -x "$tgt" ]; then
install -d "${D}${bindir}"
install -m755 "$tgt" "${D}${bindir}"
have_installed=true
fi
done
if ! $have_installed; then
die "Did not find anything to install"

View File

@@ -1,8 +1,9 @@
inherit rust
RDEPENDS_${PN}_append_class-target += "${RUSTLIB_DEP}"
DEPENDS_append = " patchelf-native"
RDEPENDS_${PN} += "${RUSTLIB_DEP}"
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C linker=${RUST_TARGET_CCLD}"
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C link-args=--sysroot=${STAGING_DIR_HOST}"
EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
# Some libraries alias with the standard library but libstd is configured to
@@ -36,44 +37,6 @@ CRATE_TYPE ?= "dylib"
BIN_SRC ?= "${S}/src/main.rs"
LIB_SRC ?= "${S}/src/lib.rs"
rustbindest ?= "${bindir}"
rustlibdest ?= "${rustlibdir}"
RUST_RPATH_ABS ?= "${rustlibdir}:${rustlib}"
def relative_rpaths(paths, base):
relpaths = set()
for p in paths.split(':'):
if p == base:
relpaths.add('$ORIGIN')
continue
relpaths.add(os.path.join('$ORIGIN', os.path.relpath(p, base)))
return '-rpath=' + ':'.join(relpaths) if len(relpaths) else ''
RUST_LIB_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustlibdest', True))}"
RUST_BIN_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustbindest', True))}"
def libfilename(d):
if d.getVar('CRATE_TYPE', True) == 'dylib':
return d.getVar('LIBNAME', True) + '.so'
else:
return d.getVar('LIBNAME', True) + '.rlib'
def link_args(d, bin):
linkargs = []
if bin:
rpaths = d.getVar('RUST_BIN_RPATH_FLAGS', False)
else:
rpaths = d.getVar('RUST_LIB_RPATH_FLAGS', False)
if d.getVar('CRATE_TYPE', True) == 'dylib':
linkargs.append('-soname')
linkargs.append(libfilename(d))
if len(rpaths):
linkargs.append(rpaths)
if len(linkargs):
return ' '.join(['-Wl,' + arg for arg in linkargs])
else:
return ''
get_overlap_externs () {
externs=
for dep in ${OVERLAP_DEPS}; do
@@ -93,22 +56,22 @@ do_configure () {
}
oe_runrustc () {
export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
"${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
}
oe_compile_rust_lib () {
[ "${CRATE_TYPE}" == "dylib" ] && suffix=so || suffix=rlib
rm -rf ${LIBNAME}.{rlib,so}
local -a link_args
if [ -n '${@link_args(d, False)}' ]; then
link_args[0]='-C'
link_args[1]='link-args=${@link_args(d, False)}'
if [ "${CRATE_TYPE}" == "dylib" ]; then
link_args[0]="-C"
link_args[1]="link-args=-Wl,-soname -Wl,${LIBNAME}.$suffix"
fi
oe_runrustc $(get_overlap_externs) \
"${link_args[@]}" \
${LIB_SRC} \
-o ${@libfilename(d)} \
-o ${LIBNAME}.$suffix \
--crate-name=${CRATE_NAME} --crate-type=${CRATE_TYPE} \
"$@"
}
@@ -116,27 +79,20 @@ oe_compile_rust_lib[vardeps] += "get_overlap_externs"
oe_compile_rust_bin () {
rm -rf ${BINNAME}
local -a link_args
if [ -n '${@link_args(d, True)}' ]; then
link_args[0]='-C'
link_args[1]='link-args=${@link_args(d, True)}'
fi
oe_runrustc $(get_overlap_externs) \
"${link_args[@]}" \
${BIN_SRC} -o ${BINNAME} "$@"
oe_runrustc $(get_overlap_externs) ${BIN_SRC} -o ${BINNAME} "$@"
}
oe_compile_rust_bin[vardeps] += "get_overlap_externs"
oe_install_rust_lib () {
for lib in $(ls ${LIBNAME}.{so,rlib} 2>/dev/null); do
echo Installing $lib
install -D -m 755 $lib ${D}/${rustlibdest}/$lib
install -D -m 755 $lib ${D}/${rustlibdir}/$lib
done
}
oe_install_rust_bin () {
echo Installing ${BINNAME}
install -D -m 755 ${BINNAME} ${D}/${rustbindest}/${BINNAME}
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
}
do_rust_bin_fixups() {
@@ -144,6 +100,13 @@ do_rust_bin_fixups() {
echo "Strip rust note: $f"
${OBJCOPY} -R .note.rustc $f $f
done
for f in `find ${PKGD}`; do
file "$f" | grep -q ELF || continue
readelf -d "$f" | grep RUNPATH | grep -q rustlib || continue
echo "Set rpath:" "$f"
patchelf --set-rpath '$ORIGIN:'${rustlibdir}:${rustlib} "$f"
done
}
PACKAGE_PREPROCESS_FUNCS += "do_rust_bin_fixups"

View File

@@ -7,7 +7,6 @@ FILES_${PN}-dbg += "${rustlibdir}/.debug"
RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
RUSTFLAGS += "${RUSTLIB}"
RUSTLIB_DEP ?= "libstd-rs"
RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
# Responsible for taking Yocto triples and converting it to Rust triples

View File

@@ -42,4 +42,3 @@ rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/li
rustlib_src="${prefix}/lib/${rustlib_suffix}"
# Host sysroot standard library path
rustlib="${libdir}/${rustlib_suffix}"
rustlib_class-native="${libdir}/rustlib/${BUILD_SYS}/lib"

View File

@@ -8,11 +8,12 @@ BBFILES ?= ""
BBLAYERS ?= " \
##OEROOT##/meta-rust \
##OEROOT##/meta \
##OEROOT##/meta-poky \
##OEROOT##/meta-yocto \
##OEROOT##/meta-yocto-bsp \
##OEROOT##/meta-openembedded/meta-oe \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-python \
##OEROOT##/meta-openembedded/meta-ruby \
"
BBLAYERS_NON_REMOVABLE ?= " \
##OEROOT##/meta \

View File

@@ -8,7 +8,5 @@ BBFILE_COLLECTIONS += "rust-layer"
BBFILE_PATTERN_rust-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_rust-layer = "7"
LAYERDEPENDS_rust-layer = "core openembedded-layer"
# Override security flags
require conf/distro/include/rust_security_flags.inc

View File

@@ -18,5 +18,3 @@ do_compile () {
do_install () {
oe_install_rust_lib
}
BBCLASSEXTEND += "native"

View File

@@ -8,14 +8,12 @@ LIC_FILES_CHKSUM = "\
inherit rust-bin
SRC_URI = "git://github.com/rust-lang-nursery/bitflags.git;protocol=https;nobranch=1"
SRCREV = "e30da43cac0e52fc8d0007ce99a316ec6473033e"
SRC_URI = "git://github.com/rust-lang-nursery/bitflags.git;protocol=https"
SRCREV = "41aa413a7c30d70b93b44ab5447276c381ef249e"
S = "${WORKDIR}/git"
LIB_SRC = "${S}/src/lib.rs"
CRATE_TYPE = "rlib"
RUSTFLAGS += "-A pub_use_of_private_extern_crate"
do_compile () {
oe_compile_rust_lib

View File

@@ -9,19 +9,16 @@ LIC_FILES_CHKSUM = "\
inherit rust-bin
SRC_URI = "git://github.com/rust-lang/libc.git;protocol=https"
SRCREV = "05a2d197356ef253dfd985166576619ac9b6947f"
SRCREV = "f54b9c90ee68889181472d4d4a5dd9e43d0e5318"
S = "${WORKDIR}/git"
LIB_SRC = "${S}/src/lib.rs"
do_compile () {
oe_compile_rust_lib --cfg feature='"cargo-build"' --cfg feature='"use_std"'
oe_compile_rust_lib --cfg feature='"cargo-build"'
}
do_install () {
oe_install_rust_lib
}
BBCLASSEXTEND += "native"

View File

@@ -18,5 +18,3 @@ do_compile () {
do_install () {
oe_install_rust_lib
}
BBCLASSEXTEND += "native"

View File

@@ -8,5 +8,3 @@ DEPENDS = "\
require regex.inc
S = "${WORKDIR}/git"
BBCLASSEXTEND += "native"

View File

@@ -3,5 +3,3 @@ DESCRIPTION = "A regular expression parser"
require regex.inc
LIB_SRC = "${S}/regex-syntax/src/lib.rs"
BBCLASSEXTEND += "native"

View File

@@ -10,12 +10,15 @@ DEPENDS = "libc-rs"
inherit rust-bin
SRC_URI = "git://github.com/rust-lang/time.git;protocol=https"
SRCREV = "d265b7cf9f50db74fbd0a01f8bec90ad7d239d48"
SRCREV = "32b212b877b836dbfdc97af5674d91672e70ecbd"
S = "${WORKDIR}/git"
do_compile () {
oe_compile_rust_lib
rm -rf time_helpers.o libtimehelpers.a
${CC} ${S}/src/time_helpers.c -fPIC -c -o time_helpers.o
${AR} rcs libtime_helpers.a time_helpers.o
oe_compile_rust_lib -L native=$PWD -l static=time_helpers
}
do_install () {

View File

@@ -0,0 +1,11 @@
CARGO_SNAPSHOT = "2016-09-01/cargo-nightly-x86_64-unknown-linux-gnu.tar.gz;downloadfilename=cargo-nightly-x86_64-unknown-linux-gnu-2016-09-01.tar.gz"
SRC_URI[cargo-snapshot.md5sum] = "d41ebf79290a7c9c9e5df87cb27e5091"
SRC_URI[cargo-snapshot.sha256sum] = "365e5cad79512d244b8ced32f8e5b86a710fc6c17f0d0f5f744b8058ef6dc756"
SRC_URI += "\
https://static.rust-lang.org/cargo-dist/${CARGO_SNAPSHOT};name=cargo-snapshot \
"
# When building cargo-native we don't have a built cargo to use so we must use
# the snapshot to bootstrap the build of cargo
CARGO_class-native = "${WORKDIR}/cargo-nightly-${RUST_BUILD_SYS}/cargo/bin/cargo"

View File

@@ -1,11 +0,0 @@
CARGO_SNAPSHOT = "cargo-0.21.0-${RUST_BUILD_SYS}"
SRC_URI[cargo-snapshot.md5sum] = "0e5389d2e38a14933dda77db8172cb1f"
SRC_URI[cargo-snapshot.sha256sum] = "caccf4ab039c806a9e6fdc7fe389cc88fb771e28e30d93c07a5c56ef845cdf57"
SRC_URI += "\
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot \
"
# When building cargo-native we don't have a built cargo to use so we must use
# the snapshot to bootstrap the build of cargo
CARGO_class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/cargo/bin/cargo"

View File

@@ -0,0 +1,103 @@
# Auto-Generated by cargo-bitbake 0.3.8
#
inherit cargo
# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"
# how to get cargo could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/cargo/0.16.0"
SRC_URI += "git://git@github.com/rust-lang/cargo.git;protocol=https;branch=rust-1.15.1"
SRCREV = "6e0c18cccc8b0c06fba8a8d76486f81a792fb420"
S = "${WORKDIR}/git"
CARGO_SRC_DIR=""
# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/advapi32-sys/0.2.0 \
crate://crates.io/aho-corasick/0.5.3 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bufstream/0.1.2 \
crate://crates.io/cfg-if/0.1.0 \
crate://crates.io/cmake/0.1.19 \
crate://crates.io/crossbeam/0.2.10 \
crate://crates.io/curl-sys/0.3.6 \
crate://crates.io/curl/0.4.1 \
crate://crates.io/docopt/0.6.86 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/flate2/0.2.14 \
crate://crates.io/fs2/0.3.0 \
crate://crates.io/gcc/0.3.39 \
crate://crates.io/gdi32-sys/0.2.0 \
crate://crates.io/git2-curl/0.7.0 \
crate://crates.io/git2/0.6.3 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/hamcrest/0.1.1 \
crate://crates.io/idna/0.1.0 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/lazy_static/0.2.2 \
crate://crates.io/libc/0.2.18 \
crate://crates.io/libgit2-sys/0.6.5 \
crate://crates.io/libssh2-sys/0.2.4 \
crate://crates.io/libz-sys/1.0.10 \
crate://crates.io/log/0.3.6 \
crate://crates.io/matches/0.1.4 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/miniz-sys/0.1.7 \
crate://crates.io/miow/0.1.3 \
crate://crates.io/net2/0.2.26 \
crate://crates.io/num-bigint/0.1.35 \
crate://crates.io/num-complex/0.1.35 \
crate://crates.io/num-integer/0.1.32 \
crate://crates.io/num-iter/0.1.32 \
crate://crates.io/num-rational/0.1.35 \
crate://crates.io/num-traits/0.1.36 \
crate://crates.io/num/0.1.36 \
crate://crates.io/num_cpus/1.1.0 \
crate://crates.io/openssl-probe/0.1.0 \
crate://crates.io/openssl-sys/0.9.1 \
crate://crates.io/openssl/0.9.1 \
crate://crates.io/pkg-config/0.3.8 \
crate://crates.io/psapi-sys/0.1.0 \
crate://crates.io/rand/0.3.14 \
crate://crates.io/regex-syntax/0.3.9 \
crate://crates.io/regex/0.1.80 \
crate://crates.io/rustc-serialize/0.3.21 \
crate://crates.io/semver-parser/0.6.1 \
crate://crates.io/semver/0.5.1 \
crate://crates.io/strsim/0.5.1 \
crate://crates.io/tar/0.4.9 \
crate://crates.io/tempdir/0.3.5 \
crate://crates.io/term/0.4.4 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/thread_local/0.2.7 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/unicode-bidi/0.2.3 \
crate://crates.io/unicode-normalization/0.1.2 \
crate://crates.io/url/1.2.3 \
crate://crates.io/user32-sys/0.2.0 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/ws2_32-sys/0.2.1 \
"
LIC_FILES_CHKSUM=" \
file://LICENSE-MIT;md5=362255802eb5aa87810d12ddf3cfedb4 \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
"
SUMMARY = "Cargo, a package manager for Rust."
HOMEPAGE = "https://crates.io"
LICENSE = "MIT | Apache-2.0"
# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include cargo-${PV}.inc
include cargo.inc

View File

@@ -1,151 +0,0 @@
# Auto-Generated by cargo-bitbake 0.3.9
#
inherit cargo
# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"
# how to get cargo could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/cargo/0.22.0"
SRC_URI += "git://github.com/rust-lang/cargo.git;protocol=https;branch=rust-1.21.0"
SRCREV = "3423351a5d75ac7377bb15987842aadcfd068ad2"
S = "${WORKDIR}/git"
CARGO_SRC_DIR=""
# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/advapi32-sys/0.2.0 \
crate://crates.io/aho-corasick/0.5.3 \
crate://crates.io/aho-corasick/0.6.3 \
crate://crates.io/atty/0.2.2 \
crate://crates.io/backtrace-sys/0.1.12 \
crate://crates.io/backtrace/0.3.2 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/cfg-if/0.1.2 \
crate://crates.io/cmake/0.1.24 \
crate://crates.io/conv/0.3.3 \
crate://crates.io/core-foundation-sys/0.4.4 \
crate://crates.io/core-foundation/0.4.4 \
crate://crates.io/crossbeam/0.2.10 \
crate://crates.io/curl-sys/0.3.14 \
crate://crates.io/curl/0.4.8 \
crate://crates.io/custom_derive/0.1.7 \
crate://crates.io/dbghelp-sys/0.2.0 \
crate://crates.io/docopt/0.8.1 \
crate://crates.io/dtoa/0.4.1 \
crate://crates.io/env_logger/0.4.3 \
crate://crates.io/error-chain/0.11.0-rc.2 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/flate2/0.2.19 \
crate://crates.io/fnv/1.0.5 \
crate://crates.io/foreign-types/0.2.0 \
crate://crates.io/fs2/0.4.2 \
crate://crates.io/gcc/0.3.51 \
crate://crates.io/git2-curl/0.7.0 \
crate://crates.io/git2/0.6.6 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.2.0 \
crate://crates.io/hamcrest/0.1.1 \
crate://crates.io/hex/0.2.0 \
crate://crates.io/home/0.3.0 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/ignore/0.2.2 \
crate://crates.io/itoa/0.3.1 \
crate://crates.io/jobserver/0.1.6 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/lazy_static/0.2.8 \
crate://crates.io/libc/0.2.28 \
crate://crates.io/libgit2-sys/0.6.12 \
crate://crates.io/libssh2-sys/0.2.6 \
crate://crates.io/libz-sys/1.0.16 \
crate://crates.io/log/0.3.8 \
crate://crates.io/magenta-sys/0.1.1 \
crate://crates.io/magenta/0.1.1 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/memchr/1.0.1 \
crate://crates.io/miniz-sys/0.1.9 \
crate://crates.io/miow/0.2.1 \
crate://crates.io/net2/0.2.30 \
crate://crates.io/num-bigint/0.1.40 \
crate://crates.io/num-complex/0.1.40 \
crate://crates.io/num-integer/0.1.35 \
crate://crates.io/num-iter/0.1.34 \
crate://crates.io/num-rational/0.1.39 \
crate://crates.io/num-traits/0.1.40 \
crate://crates.io/num/0.1.40 \
crate://crates.io/num_cpus/1.6.2 \
crate://crates.io/openssl-probe/0.1.1 \
crate://crates.io/openssl-sys/0.9.15 \
crate://crates.io/openssl/0.9.15 \
crate://crates.io/percent-encoding/1.0.0 \
crate://crates.io/pkg-config/0.3.9 \
crate://crates.io/psapi-sys/0.1.0 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/rand/0.3.16 \
crate://crates.io/regex-syntax/0.3.9 \
crate://crates.io/regex-syntax/0.4.1 \
crate://crates.io/regex/0.1.80 \
crate://crates.io/regex/0.2.2 \
crate://crates.io/rustc-demangle/0.1.4 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/same-file/0.1.3 \
crate://crates.io/scoped-tls/0.1.0 \
crate://crates.io/scopeguard/0.1.2 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.7.0 \
crate://crates.io/serde/1.0.11 \
crate://crates.io/serde_derive/1.0.11 \
crate://crates.io/serde_derive_internals/0.15.1 \
crate://crates.io/serde_ignored/0.0.3 \
crate://crates.io/serde_json/1.0.2 \
crate://crates.io/shell-escape/0.1.3 \
crate://crates.io/socket2/0.2.1 \
crate://crates.io/strsim/0.6.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/tar/0.4.13 \
crate://crates.io/tempdir/0.3.5 \
crate://crates.io/termcolor/0.3.2 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/thread_local/0.2.7 \
crate://crates.io/thread_local/0.3.4 \
crate://crates.io/toml/0.4.3 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.5 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.5.1 \
crate://crates.io/userenv-sys/0.2.0 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.2 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/1.0.7 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/wincolor/0.1.4 \
crate://crates.io/ws2_32-sys/0.2.1 \
"
# FIXME: update generateme with the real MD5 of the license file
LIC_FILES_CHKSUM=" \
file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
"
SUMMARY = "Cargo, a package manager for Rust."
HOMEPAGE = "https://crates.io"
LICENSE = "MIT | Apache-2.0"
# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include cargo-${PV}.inc
include cargo.inc

View File

@@ -0,0 +1,25 @@
From bff536002eba2ed322d329d9022ccdc77da458a3 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Wed, 3 Dec 2014 19:15:19 -0500
Subject: [PATCH 3/3] std/thread_local: workaround for NULL __dso_handle
---
src/libstd/sys/unix/fast_thread_local.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libstd/sys/unix/fast_thread_local.rs b/src/libstd/sys/unix/fast_thread_local.rs
index 0c625e7..31e7146 100644
--- a/src/libstd/sys/unix/fast_thread_local.rs
+++ b/src/libstd/sys/unix/fast_thread_local.rs
@@ -110,7 +110,7 @@ unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) {
#[linkage = "extern_weak"]
static __cxa_thread_atexit_impl: *const libc::c_void;
}
- if !__cxa_thread_atexit_impl.is_null() {
+ if !__cxa_thread_atexit_impl.is_null() && !__dso_handle.is_null() {
type F = unsafe extern fn(dtor: unsafe extern fn(*mut u8),
arg: *mut u8,
dso_handle: *mut u8) -> libc::c_int;
--
2.10.1 (Apple Git-78)

View File

@@ -0,0 +1,21 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=43e1f1fb9c0ee3af66693d8c4fecafa8"
# Don't use jemalloc as it doesn't work for many targets.
# https://github.com/rust-lang/rust/pull/37392
CARGO_BUILD_FLAGS += "--features 'panic-unwind'"
SRC_URI += "\
crate://crates.io/cmake/0.1.18 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/gcc/0.3.40 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/libc/0.2.17 \
crate://crates.io/log/0.3.6 \
crate://crates.io/num_cpus/0.2.13 \
crate://crates.io/rustc-serialize/0.3.19 \
crate://crates.io/toml/0.1.30 \
"

View File

@@ -1,170 +0,0 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=c709a09d1b062d9a908e3631c1e1cdf5"
# Don't use jemalloc as it doesn't work for many targets.
# https://github.com/rust-lang/rust/pull/37392
CARGO_BUILD_FLAGS += "--features 'panic-unwind'"
# These are taken from src/libstd/Cargo.toml via cargo-bitbake
SRC_URI += " \
crate://crates.io/advapi32-sys/0.2.0 \
crate://crates.io/aho-corasick/0.5.3 \
crate://crates.io/aho-corasick/0.6.3 \
crate://crates.io/ansi_term/0.9.0 \
crate://crates.io/ar/0.3.0 \
crate://crates.io/atty/0.2.2 \
crate://crates.io/backtrace-sys/0.1.12 \
crate://crates.io/backtrace/0.3.2 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bitflags/0.8.2 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/cfg-if/0.1.2 \
crate://crates.io/clap/2.26.0 \
crate://crates.io/cmake/0.1.24 \
crate://crates.io/core-foundation-sys/0.4.4 \
crate://crates.io/core-foundation/0.4.4 \
crate://crates.io/crossbeam/0.2.10 \
crate://crates.io/curl-sys/0.3.14 \
crate://crates.io/curl/0.4.8 \
crate://crates.io/dbghelp-sys/0.2.0 \
crate://crates.io/derive-new/0.3.0 \
crate://crates.io/diff/0.1.10 \
crate://crates.io/docopt/0.8.1 \
crate://crates.io/dtoa/0.4.1 \
crate://crates.io/enum_primitive/0.1.1 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/env_logger/0.4.3 \
crate://crates.io/error-chain/0.10.0 \
crate://crates.io/error-chain/0.11.0-rc.2 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/flate2/0.2.19 \
crate://crates.io/fnv/1.0.5 \
crate://crates.io/foreign-types/0.2.0 \
crate://crates.io/fs2/0.4.2 \
crate://crates.io/futures/0.1.14 \
crate://crates.io/gcc/0.3.51 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/git2-curl/0.7.0 \
crate://crates.io/git2/0.6.6 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.2.0 \
crate://crates.io/hamcrest/0.1.1 \
crate://crates.io/handlebars/0.26.2 \
crate://crates.io/hex/0.2.0 \
crate://crates.io/home/0.3.0 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/ignore/0.2.2 \
crate://crates.io/itoa/0.3.1 \
crate://crates.io/jobserver/0.1.6 \
crate://crates.io/jsonrpc-core/7.1.0 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/languageserver-types/0.12.0 \
crate://crates.io/lazy_static/0.2.8 \
crate://crates.io/libc/0.2.29 \
crate://crates.io/libgit2-sys/0.6.12 \
crate://crates.io/libssh2-sys/0.2.6 \
crate://crates.io/libz-sys/1.0.16 \
crate://crates.io/log/0.3.8 \
crate://crates.io/lzma-sys/0.1.8 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/mdbook/0.0.22 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/memchr/1.0.1 \
crate://crates.io/miniz-sys/0.1.9 \
crate://crates.io/miow/0.2.1 \
crate://crates.io/net2/0.2.31 \
crate://crates.io/num-bigint/0.1.40 \
crate://crates.io/num-complex/0.1.40 \
crate://crates.io/num-integer/0.1.35 \
crate://crates.io/num-iter/0.1.34 \
crate://crates.io/num-rational/0.1.39 \
crate://crates.io/num-traits/0.1.40 \
crate://crates.io/num/0.1.40 \
crate://crates.io/num_cpus/1.6.2 \
crate://crates.io/open/1.2.0 \
crate://crates.io/openssl-probe/0.1.1 \
crate://crates.io/openssl-sys/0.9.17 \
crate://crates.io/openssl/0.9.17 \
crate://crates.io/owning_ref/0.3.3 \
crate://crates.io/percent-encoding/1.0.0 \
crate://crates.io/pest/0.3.3 \
crate://crates.io/pkg-config/0.3.9 \
crate://crates.io/psapi-sys/0.1.0 \
crate://crates.io/pulldown-cmark/0.0.14 \
crate://crates.io/quick-error/1.2.0 \
crate://crates.io/quote/0.2.3 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/racer/2.0.10 \
crate://crates.io/rand/0.3.15 \
crate://crates.io/regex-syntax/0.3.9 \
crate://crates.io/regex-syntax/0.4.1 \
crate://crates.io/regex/0.1.80 \
crate://crates.io/regex/0.2.2 \
crate://crates.io/rls-analysis/0.6.5 \
crate://crates.io/rls-data/0.10.0 \
crate://crates.io/rls-rustc/0.1.0 \
crate://crates.io/rls-span/0.4.0 \
crate://crates.io/rls-vfs/0.4.4 \
crate://crates.io/rustc-demangle/0.1.5 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/rustfmt-nightly/0.2.2 \
crate://crates.io/same-file/0.1.3 \
crate://crates.io/scoped-tls/0.1.0 \
crate://crates.io/scopeguard/0.1.2 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.7.0 \
crate://crates.io/serde/1.0.11 \
crate://crates.io/serde_derive/1.0.11 \
crate://crates.io/serde_derive_internals/0.15.1 \
crate://crates.io/serde_ignored/0.0.3 \
crate://crates.io/serde_json/1.0.2 \
crate://crates.io/shell-escape/0.1.3 \
crate://crates.io/socket2/0.2.2 \
crate://crates.io/stable_deref_trait/1.0.0 \
crate://crates.io/strings/0.1.0 \
crate://crates.io/strsim/0.6.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/syn/0.8.7 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/syntex_errors/0.52.0 \
crate://crates.io/syntex_pos/0.52.0 \
crate://crates.io/syntex_syntax/0.52.0 \
crate://crates.io/tar/0.4.13 \
crate://crates.io/tempdir/0.3.5 \
crate://crates.io/term/0.4.6 \
crate://crates.io/term_size/0.3.0 \
crate://crates.io/termcolor/0.3.2 \
crate://crates.io/textwrap/0.7.0 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/thread_local/0.2.7 \
crate://crates.io/thread_local/0.3.4 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/toml/0.4.5 \
crate://crates.io/typed-arena/1.3.0 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.5 \
crate://crates.io/unicode-segmentation/1.2.0 \
crate://crates.io/unicode-width/0.1.4 \
crate://crates.io/unicode-xid/0.0.3 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.5.1 \
crate://crates.io/url_serde/0.2.0 \
crate://crates.io/userenv-sys/0.2.0 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.2 \
crate://crates.io/vec_map/0.8.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/1.0.7 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/wincolor/0.1.4 \
crate://crates.io/ws2_32-sys/0.2.1 \
crate://crates.io/xattr/0.1.11 \
crate://crates.io/xz2/0.1.3 \
crate://crates.io/yaml-rust/0.3.5 \
"

View File

@@ -1,7 +1,7 @@
require rust-source-${PV}.inc
require rust-llvm.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=b99eb43c934ceebecab85c6b9b1a08be"
do_install_prepend () {
# the install does a sed on this without installing the file

View File

@@ -0,0 +1,30 @@
# Specifics for Rust 1.15.1
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.14.0"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
CARGO_REV = "fbeea902d2c9a5be6d99cc35681565d8f7832592"
CARGO_SNAPSHOT = "cargo-nightly-${RUST_BUILD_SYS}"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.gz;name=rust-std-snapshot;subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.gz;name=rustc-snapshot;subdir=rust-snapshot-components \
"
# Downloaded cargo tarballs must be named differently to distinguish between versions.
SRC_URI += " \
https://s3.amazonaws.com/rust-lang-ci/cargo-builds/${CARGO_REV}/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot;subdir=rust-snapshot-components;downloadfilename=${CARGO_SNAPSHOT}-${CARGO_REV}.tar.gz \
"
# These are x86_64-unknown-linux-gnu hashes, how can we add more?
SRC_URI[rustc-snapshot.md5sum] = "f178d9d6aad0f87c451f4b2f93170633"
SRC_URI[rustc-snapshot.sha256sum] = "0eeec4211aa872f24c220200a0c2b095bbfc9c0f737c1c5df2555967c8f36787"
SRC_URI[rust-std-snapshot.md5sum] = "518e492fc3d50d8c678056eb788bd0e7"
SRC_URI[rust-std-snapshot.sha256sum] = "3a609bfe9572c742d71199faad578ee76abe9067cd8df698bda6e3ef5caf6ec4"
SRC_URI[cargo-snapshot.md5sum] = "59bc24d15c393de364dadb3f4e3c9a5a"
SRC_URI[cargo-snapshot.sha256sum] = "0e052514ee88f236153a0d6c6f38f66d691eb4cf1ac09e6040d96e5101d57800"

View File

@@ -1,26 +0,0 @@
# Specifics for Rust 1.21.0
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.20.0"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
CARGO_VERSION = "0.21.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${RUST_BUILD_SYS}"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.gz;name=rust-std-snapshot;subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.gz;name=rustc-snapshot;subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot;subdir=rust-snapshot-components \
"
# These are x86_64-unknown-linux-gnu hashes, how can we add more?
SRC_URI[rustc-snapshot.md5sum] = "c6276176ec6061b61ae73617a64bceb0"
SRC_URI[rustc-snapshot.sha256sum] = "000e776431718a32b5d40c4aa6e09b3425f0b71dea8c95e718d29b8c0f5b35d3"
SRC_URI[rust-std-snapshot.md5sum] = "8c0f7355b66830517a51a2bd6f530327"
SRC_URI[rust-std-snapshot.sha256sum] = "a1b3e13b9d6f9aa713783145cb83070b1dabbe17349043b3528031d7712ca929"
SRC_URI[cargo-snapshot.md5sum] = "0e5389d2e38a14933dda77db8172cb1f"
SRC_URI[cargo-snapshot.sha256sum] = "caccf4ab039c806a9e6fdc7fe389cc88fb771e28e30d93c07a5c56ef845cdf57"

View File

@@ -0,0 +1,14 @@
# Specifics for Rust 1.15.1
SRC_URI += "\
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
"
SRC_URI[rust.md5sum] = "5bbfff5ef8857a73d120616546a7fd29"
SRC_URI[rust.sha256sum] = "2e7daad418a830b45b977cd7ecf181b65f30f73df63ff36e124ea5fe5d1af327"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=43e1f1fb9c0ee3af66693d8c4fecafa8"

View File

@@ -1,14 +0,0 @@
# Specifics for Rust 1.21.0
SRC_URI += "\
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
"
SRC_URI[rust.md5sum] = "bc494706b764276613064aad52922f53"
SRC_URI[rust.sha256sum] = "1707c142244b5bd909993559c6116c81987c1de21d6207c05d3ecbe5bba548fa"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c709a09d1b062d9a908e3631c1e1cdf5"

View File

@@ -0,0 +1,30 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
SRC_URI += " \
file://rust-${PV}/0003-std-thread_local-workaround-for-NULL-__dso_handle.patch \
"
# These are extracted from rustc/src/bootstrap/Cargo.toml.
SRC_URI += " \
crate://crates.io/cmake/0.1.18 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/gcc/0.3.40 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/libc/0.2.17 \
crate://crates.io/log/0.3.6 \
crate://crates.io/num_cpus/0.2.13 \
crate://crates.io/rustc-serialize/0.3.19 \
crate://crates.io/toml/0.1.30 \
"
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -1,174 +0,0 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
# These are extracted from rustc/src/bootstrap/Cargo.toml via cargo-bitbake
SRC_URI += " \
crate://crates.io/advapi32-sys/0.2.0 \
crate://crates.io/aho-corasick/0.5.3 \
crate://crates.io/aho-corasick/0.6.3 \
crate://crates.io/ansi_term/0.9.0 \
crate://crates.io/ar/0.3.0 \
crate://crates.io/atty/0.2.2 \
crate://crates.io/backtrace-sys/0.1.12 \
crate://crates.io/backtrace/0.3.2 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bitflags/0.8.2 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/cfg-if/0.1.2 \
crate://crates.io/clap/2.26.0 \
crate://crates.io/cmake/0.1.24 \
crate://crates.io/core-foundation-sys/0.4.4 \
crate://crates.io/core-foundation/0.4.4 \
crate://crates.io/crossbeam/0.2.10 \
crate://crates.io/curl-sys/0.3.14 \
crate://crates.io/curl/0.4.8 \
crate://crates.io/dbghelp-sys/0.2.0 \
crate://crates.io/derive-new/0.3.0 \
crate://crates.io/diff/0.1.10 \
crate://crates.io/docopt/0.8.1 \
crate://crates.io/dtoa/0.4.1 \
crate://crates.io/enum_primitive/0.1.1 \
crate://crates.io/env_logger/0.3.5 \
crate://crates.io/env_logger/0.4.3 \
crate://crates.io/error-chain/0.10.0 \
crate://crates.io/error-chain/0.11.0-rc.2 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/flate2/0.2.19 \
crate://crates.io/fnv/1.0.5 \
crate://crates.io/foreign-types/0.2.0 \
crate://crates.io/fs2/0.4.2 \
crate://crates.io/futures/0.1.14 \
crate://crates.io/gcc/0.3.51 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/git2-curl/0.7.0 \
crate://crates.io/git2/0.6.6 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.2.0 \
crate://crates.io/hamcrest/0.1.1 \
crate://crates.io/handlebars/0.26.2 \
crate://crates.io/hex/0.2.0 \
crate://crates.io/home/0.3.0 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/ignore/0.2.2 \
crate://crates.io/itoa/0.3.1 \
crate://crates.io/jobserver/0.1.6 \
crate://crates.io/jsonrpc-core/7.1.0 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/languageserver-types/0.12.0 \
crate://crates.io/lazy_static/0.2.8 \
crate://crates.io/libc/0.2.29 \
crate://crates.io/libgit2-sys/0.6.12 \
crate://crates.io/libssh2-sys/0.2.6 \
crate://crates.io/libz-sys/1.0.16 \
crate://crates.io/log/0.3.8 \
crate://crates.io/lzma-sys/0.1.8 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/mdbook/0.0.22 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/memchr/1.0.1 \
crate://crates.io/miniz-sys/0.1.9 \
crate://crates.io/miow/0.2.1 \
crate://crates.io/net2/0.2.31 \
crate://crates.io/num-bigint/0.1.40 \
crate://crates.io/num-complex/0.1.40 \
crate://crates.io/num-integer/0.1.35 \
crate://crates.io/num-iter/0.1.34 \
crate://crates.io/num-rational/0.1.39 \
crate://crates.io/num-traits/0.1.40 \
crate://crates.io/num/0.1.40 \
crate://crates.io/num_cpus/1.6.2 \
crate://crates.io/open/1.2.0 \
crate://crates.io/openssl-probe/0.1.1 \
crate://crates.io/openssl-sys/0.9.17 \
crate://crates.io/openssl/0.9.17 \
crate://crates.io/owning_ref/0.3.3 \
crate://crates.io/percent-encoding/1.0.0 \
crate://crates.io/pest/0.3.3 \
crate://crates.io/pkg-config/0.3.9 \
crate://crates.io/psapi-sys/0.1.0 \
crate://crates.io/pulldown-cmark/0.0.14 \
crate://crates.io/quick-error/1.2.0 \
crate://crates.io/quote/0.2.3 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/racer/2.0.10 \
crate://crates.io/rand/0.3.15 \
crate://crates.io/regex-syntax/0.3.9 \
crate://crates.io/regex-syntax/0.4.1 \
crate://crates.io/regex/0.1.80 \
crate://crates.io/regex/0.2.2 \
crate://crates.io/rls-analysis/0.6.5 \
crate://crates.io/rls-data/0.10.0 \
crate://crates.io/rls-rustc/0.1.0 \
crate://crates.io/rls-span/0.4.0 \
crate://crates.io/rls-vfs/0.4.4 \
crate://crates.io/rustc-demangle/0.1.5 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/rustfmt-nightly/0.2.2 \
crate://crates.io/same-file/0.1.3 \
crate://crates.io/scoped-tls/0.1.0 \
crate://crates.io/scopeguard/0.1.2 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.7.0 \
crate://crates.io/serde/1.0.11 \
crate://crates.io/serde_derive/1.0.11 \
crate://crates.io/serde_derive_internals/0.15.1 \
crate://crates.io/serde_ignored/0.0.3 \
crate://crates.io/serde_json/1.0.2 \
crate://crates.io/shell-escape/0.1.3 \
crate://crates.io/socket2/0.2.2 \
crate://crates.io/stable_deref_trait/1.0.0 \
crate://crates.io/strings/0.1.0 \
crate://crates.io/strsim/0.6.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/syn/0.8.7 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/syntex_errors/0.52.0 \
crate://crates.io/syntex_pos/0.52.0 \
crate://crates.io/syntex_syntax/0.52.0 \
crate://crates.io/tar/0.4.13 \
crate://crates.io/tempdir/0.3.5 \
crate://crates.io/term/0.4.6 \
crate://crates.io/term_size/0.3.0 \
crate://crates.io/termcolor/0.3.2 \
crate://crates.io/textwrap/0.7.0 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/thread_local/0.2.7 \
crate://crates.io/thread_local/0.3.4 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/toml/0.4.5 \
crate://crates.io/typed-arena/1.3.0 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.5 \
crate://crates.io/unicode-segmentation/1.2.0 \
crate://crates.io/unicode-width/0.1.4 \
crate://crates.io/unicode-xid/0.0.3 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.5.1 \
crate://crates.io/url_serde/0.2.0 \
crate://crates.io/userenv-sys/0.2.0 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.2 \
crate://crates.io/vec_map/0.8.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/1.0.7 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/wincolor/0.1.4 \
crate://crates.io/ws2_32-sys/0.2.1 \
crate://crates.io/xattr/0.1.11 \
crate://crates.io/xz2/0.1.3 \
crate://crates.io/yaml-rust/0.3.5 \
"
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -1,14 +1,8 @@
#!/bin/bash -x
sudo fuser -m `pwd`/build
# Only attempt to unmount if the directory is already mounted
if mountpoint -q `pwd`/build; then
sudo umount `pwd`/build
sudo umount build
fi
sudo fuser -m `pwd`/build
ps -ef
exit 0

View File

@@ -1,4 +1,4 @@
#!/bin/bash -x
#!/bin/bash -e
if [[ $# -lt 1 ]]; then
echo "No Yocto branch specified, defaulting to master"