Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4797129e2 | ||
|
|
48334bec1d | ||
|
|
5b0492fd4c | ||
|
|
357f11b517 | ||
|
|
17cc34c9c8 | ||
|
|
a19993c804 | ||
|
|
03c0338cab | ||
|
|
52ea673a8f | ||
|
|
4c7cbf6a60 | ||
|
|
8f46fe3e97 | ||
|
|
c65375f14f | ||
|
|
f02df59eea | ||
|
|
141177fbf9 | ||
|
|
fa4f4f9c1a | ||
|
|
7f7156b664 | ||
|
|
af5491692e | ||
|
|
ab57e94e2c | ||
|
|
6965038dee | ||
|
|
e5230147f6 | ||
|
|
528a34206b | ||
|
|
434f7851f5 | ||
|
|
5b1b95772e | ||
|
|
81ea9f2d2c | ||
|
|
d4755fc065 | ||
|
|
533507b25b | ||
|
|
ad9f280e6c | ||
|
|
c60b799c11 | ||
|
|
463622c0c6 | ||
|
|
172a226259 | ||
|
|
c83864ce19 | ||
|
|
bd80824ddf | ||
|
|
b28674a452 | ||
|
|
9383b2d572 | ||
|
|
d231fcb708 | ||
|
|
7f80e6d68b | ||
|
|
a1cd215131 | ||
|
|
34941a25e9 | ||
|
|
9b0dc6b3af | ||
|
|
afe7e94a6e | ||
|
|
37813c4dff | ||
|
|
2fd83daa46 | ||
|
|
3bf7088579 | ||
|
|
d9c63d8557 | ||
|
|
a4fe235317 | ||
|
|
1ff41650d5 | ||
|
|
1b8883be12 | ||
|
|
e31d252eb0 | ||
|
|
0cccf8b25c | ||
|
|
d5bf43b9b3 | ||
|
|
9f1f8ab32f | ||
|
|
2cbf17309f | ||
|
|
758f8459ec | ||
|
|
398fecb48c | ||
|
|
c55fb403f8 | ||
|
|
06a138a4a4 | ||
|
|
3e0f03d12a | ||
|
|
e814ede9d9 | ||
|
|
bb41c50510 | ||
|
|
c29ada51f1 | ||
|
|
1db27bc4f7 |
6
Jenkinsfile
vendored
6
Jenkinsfile
vendored
@@ -1,4 +1,4 @@
|
||||
def targets = [ 'qemux86', 'qemux86-64', 'qemuarm', 'qemuarm64' ]
|
||||
def targets = [ 'qemux86', 'qemux86-64', 'qemuarm', 'qemuarm64', 'qemumips' ]
|
||||
|
||||
def machine_builds = [:]
|
||||
|
||||
@@ -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 rocko"
|
||||
}
|
||||
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 rocko"
|
||||
}
|
||||
stage("cleanup $machine") {
|
||||
sh "./scripts/cleanup-env.sh"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# add crate fetch support
|
||||
inherit crate-fetch
|
||||
inherit rust-common
|
||||
##
|
||||
## Purpose:
|
||||
## This class is used by any recipes that are built using
|
||||
## Cargo.
|
||||
|
||||
inherit cargo_common
|
||||
|
||||
# the binary we will use
|
||||
CARGO = "cargo"
|
||||
|
||||
# Where we download our registry and dependencies to
|
||||
export CARGO_HOME = "${WORKDIR}/cargo_home"
|
||||
|
||||
# We need cargo to compile for the target
|
||||
BASEDEPENDS_append = " cargo-native"
|
||||
|
||||
@@ -22,38 +22,6 @@ B = "${S}"
|
||||
# where the issue occured
|
||||
export RUST_BACKTRACE = "1"
|
||||
|
||||
# The pkg-config-rs library used by cargo build scripts disables itself when
|
||||
# cross compiling unless this is defined. We set up pkg-config appropriately
|
||||
# for cross compilation, so tell it we know better than it.
|
||||
export PKG_CONFIG_ALLOW_CROSS = "1"
|
||||
|
||||
cargo_do_configure () {
|
||||
mkdir -p ${CARGO_HOME}
|
||||
echo "paths = [" > ${CARGO_HOME}/config
|
||||
|
||||
for p in ${EXTRA_OECARGO_PATHS}; do
|
||||
printf "\"%s\"\n" "$p"
|
||||
done | sed -e 's/$/,/' >> ${CARGO_HOME}/config
|
||||
echo "]" >> ${CARGO_HOME}/config
|
||||
|
||||
# Point cargo at our local mirror of the registry
|
||||
cat <<- EOF >> ${CARGO_HOME}/config
|
||||
[source.bitbake]
|
||||
directory = "${CARGO_HOME}/bitbake"
|
||||
|
||||
[source.crates-io]
|
||||
replace-with = "bitbake"
|
||||
local-registry = "/nonexistant"
|
||||
EOF
|
||||
|
||||
echo "[target.${HOST_SYS}]" >> ${CARGO_HOME}/config
|
||||
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
|
||||
if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
|
||||
echo "[target.${BUILD_SYS}]" >> ${CARGO_HOME}/config
|
||||
echo "linker = '${RUST_BUILD_CCLD}'" >> ${CARGO_HOME}/config
|
||||
fi
|
||||
}
|
||||
|
||||
RUSTFLAGS ??= ""
|
||||
CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
|
||||
|
||||
@@ -62,26 +30,13 @@ CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
|
||||
CARGO_TARGET_SUBDIR="${HOST_SYS}/release"
|
||||
oe_cargo_build () {
|
||||
export RUSTFLAGS="${RUSTFLAGS}"
|
||||
bbnote "cargo = $(which cargo)"
|
||||
bbnote "rustc = $(which rustc)"
|
||||
export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
|
||||
bbnote "cargo = $(which ${CARGO})"
|
||||
bbnote "rustc = $(which ${RUSTC})"
|
||||
bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
|
||||
"${CARGO}" build ${CARGO_BUILD_FLAGS} "$@"
|
||||
}
|
||||
|
||||
oe_cargo_fix_env () {
|
||||
export CC="${RUST_TARGET_CC}"
|
||||
export CFLAGS="${CFLAGS}"
|
||||
export AR="${AR}"
|
||||
export TARGET_CC="${RUST_TARGET_CC}"
|
||||
export TARGET_CFLAGS="${CFLAGS}"
|
||||
export TARGET_AR="${AR}"
|
||||
export HOST_CC="${RUST_BUILD_CC}"
|
||||
export HOST_CFLAGS="${BUILD_CFLAGS}"
|
||||
export HOST_AR="${BUILD_AR}"
|
||||
}
|
||||
|
||||
EXTRA_OECARGO_PATHS ??= ""
|
||||
|
||||
cargo_do_compile () {
|
||||
oe_cargo_fix_env
|
||||
oe_cargo_build
|
||||
@@ -90,19 +45,24 @@ cargo_do_compile () {
|
||||
cargo_do_install () {
|
||||
local have_installed=false
|
||||
for tgt in "${B}/target/${CARGO_TARGET_SUBDIR}/"*; do
|
||||
if [[ $tgt == *.so || $tgt == *.rlib ]]; then
|
||||
case $tgt in
|
||||
*.so|*.rlib)
|
||||
install -d "${D}${rustlibdir}"
|
||||
install -m755 "$tgt" "${D}${rustlibdir}"
|
||||
have_installed=true
|
||||
elif [ -f "$tgt" ] && [ -x "$tgt" ]; then
|
||||
install -d "${D}${bindir}"
|
||||
install -m755 "$tgt" "${D}${bindir}"
|
||||
have_installed=true
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if [ -f "$tgt" ] && [ -x "$tgt" ]; then
|
||||
install -d "${D}${bindir}"
|
||||
install -m755 "$tgt" "${D}${bindir}"
|
||||
have_installed=true
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if ! $have_installed; then
|
||||
die "Did not find anything to install"
|
||||
fi
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS do_configure do_compile do_install
|
||||
EXPORT_FUNCTIONS do_compile do_install
|
||||
|
||||
70
classes/cargo_common.bbclass
Normal file
70
classes/cargo_common.bbclass
Normal file
@@ -0,0 +1,70 @@
|
||||
##
|
||||
## Purpose:
|
||||
## This class is to support building with cargo. It
|
||||
## must be different than cargo.bbclass because Rust
|
||||
## now builds with Cargo but cannot use cargo.bbclass
|
||||
## due to dependencies and assumptions in cargo.bbclass
|
||||
## that Rust & Cargo are already installed. So this
|
||||
## is used by cargo.bbclass and Rust
|
||||
##
|
||||
|
||||
# add crate fetch support
|
||||
inherit crate-fetch
|
||||
inherit rust-common
|
||||
|
||||
# Where we download our registry and dependencies to
|
||||
export CARGO_HOME = "${WORKDIR}/cargo_home"
|
||||
|
||||
# The pkg-config-rs library used by cargo build scripts disables itself when
|
||||
# cross compiling unless this is defined. We set up pkg-config appropriately
|
||||
# for cross compilation, so tell it we know better than it.
|
||||
export PKG_CONFIG_ALLOW_CROSS = "1"
|
||||
|
||||
cargo_common_do_configure () {
|
||||
mkdir -p ${CARGO_HOME}
|
||||
echo "paths = [" > ${CARGO_HOME}/config
|
||||
|
||||
for p in ${EXTRA_OECARGO_PATHS}; do
|
||||
printf "\"%s\"\n" "$p"
|
||||
done | sed -e 's/$/,/' >> ${CARGO_HOME}/config
|
||||
echo "]" >> ${CARGO_HOME}/config
|
||||
|
||||
# Point cargo at our local mirror of the registry
|
||||
cat <<- EOF >> ${CARGO_HOME}/config
|
||||
[source.bitbake]
|
||||
directory = "${CARGO_HOME}/bitbake"
|
||||
|
||||
[source.crates-io]
|
||||
replace-with = "bitbake"
|
||||
local-registry = "/nonexistant"
|
||||
EOF
|
||||
|
||||
echo "[target.${HOST_SYS}]" >> ${CARGO_HOME}/config
|
||||
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
|
||||
if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
|
||||
echo "[target.${BUILD_SYS}]" >> ${CARGO_HOME}/config
|
||||
echo "linker = '${RUST_BUILD_CCLD}'" >> ${CARGO_HOME}/config
|
||||
fi
|
||||
}
|
||||
|
||||
oe_cargo_fix_env () {
|
||||
export CC="${RUST_TARGET_CC}"
|
||||
export CXX="${RUST_TARGET_CXX}"
|
||||
export CFLAGS="${CFLAGS}"
|
||||
export CXXFLAGS="${CXXFLAGS}"
|
||||
export AR="${AR}"
|
||||
export TARGET_CC="${RUST_TARGET_CC}"
|
||||
export TARGET_CXX="${RUST_TARGET_CXX}"
|
||||
export TARGET_CFLAGS="${CFLAGS}"
|
||||
export TARGET_CFLAGS="${CXXFLAGS}"
|
||||
export TARGET_AR="${AR}"
|
||||
export HOST_CC="${RUST_BUILD_CC}"
|
||||
export HOST_CXX="${RUST_BUILD_CXX}"
|
||||
export HOST_CFLAGS="${BUILD_CFLAGS}"
|
||||
export HOST_CXXFLAGS="${BUILD_CXXFLAGS}"
|
||||
export HOST_AR="${BUILD_AR}"
|
||||
}
|
||||
|
||||
EXTRA_OECARGO_PATHS ??= ""
|
||||
|
||||
EXPORT_FUNCTIONS do_configure
|
||||
@@ -1,9 +1,8 @@
|
||||
inherit rust
|
||||
|
||||
DEPENDS_append = " patchelf-native"
|
||||
RDEPENDS_${PN} += "${RUSTLIB_DEP}"
|
||||
RDEPENDS_${PN}_append_class-target += "${RUSTLIB_DEP}"
|
||||
|
||||
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C link-args=--sysroot=${STAGING_DIR_HOST}"
|
||||
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C linker=${RUST_TARGET_CCLD}"
|
||||
EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
|
||||
|
||||
# Some libraries alias with the standard library but libstd is configured to
|
||||
@@ -37,6 +36,44 @@ 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
|
||||
@@ -56,22 +93,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 [ "${CRATE_TYPE}" == "dylib" ]; then
|
||||
link_args[0]="-C"
|
||||
link_args[1]="link-args=-Wl,-soname -Wl,${LIBNAME}.$suffix"
|
||||
if [ -n '${@link_args(d, False)}' ]; then
|
||||
link_args[0]='-C'
|
||||
link_args[1]='link-args=${@link_args(d, False)}'
|
||||
fi
|
||||
oe_runrustc $(get_overlap_externs) \
|
||||
"${link_args[@]}" \
|
||||
${LIB_SRC} \
|
||||
-o ${LIBNAME}.$suffix \
|
||||
-o ${@libfilename(d)} \
|
||||
--crate-name=${CRATE_NAME} --crate-type=${CRATE_TYPE} \
|
||||
"$@"
|
||||
}
|
||||
@@ -79,20 +116,27 @@ oe_compile_rust_lib[vardeps] += "get_overlap_externs"
|
||||
|
||||
oe_compile_rust_bin () {
|
||||
rm -rf ${BINNAME}
|
||||
oe_runrustc $(get_overlap_externs) ${BIN_SRC} -o ${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_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}/${rustlibdir}/$lib
|
||||
install -D -m 755 $lib ${D}/${rustlibdest}/$lib
|
||||
done
|
||||
}
|
||||
|
||||
oe_install_rust_bin () {
|
||||
echo Installing ${BINNAME}
|
||||
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
|
||||
install -D -m 755 ${BINNAME} ${D}/${rustbindest}/${BINNAME}
|
||||
}
|
||||
|
||||
do_rust_bin_fixups() {
|
||||
@@ -100,13 +144,6 @@ 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"
|
||||
|
||||
|
||||
@@ -5,8 +5,11 @@ FILES_${PN}-dev += "${rustlibdir}/*.rlib"
|
||||
FILES_${PN}-dbg += "${rustlibdir}/.debug"
|
||||
|
||||
RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
|
||||
RUSTFLAGS += "-C rpath ${RUSTLIB}"
|
||||
RUST_DEBUG_REMAP = "-Zremap-path-prefix-from=${WORKDIR} -Zremap-path-prefix-to=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
|
||||
RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
|
||||
RUSTLIB_DEP ?= "libstd-rs"
|
||||
RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
|
||||
RUST_PANIC_STRATEGY ?= "unwind"
|
||||
|
||||
# Responsible for taking Yocto triples and converting it to Rust triples
|
||||
|
||||
@@ -74,9 +77,11 @@ RUST_TARGET_SYS = "${@rust_base_triple(d, 'TARGET')}"
|
||||
# use those commands based on the prefix.
|
||||
WRAPPER_DIR = "${WORKDIR}/wrapper"
|
||||
RUST_BUILD_CC = "${WRAPPER_DIR}/build-rust-cc"
|
||||
RUST_BUILD_CXX = "${WRAPPER_DIR}/build-rust-cxx"
|
||||
RUST_BUILD_CCLD = "${WRAPPER_DIR}/build-rust-ccld"
|
||||
RUST_BUILD_AR = "${WRAPPER_DIR}/build-rust-ar"
|
||||
RUST_TARGET_CC = "${WRAPPER_DIR}/target-rust-cc"
|
||||
RUST_TARGET_CXX = "${WRAPPER_DIR}/target-rust-cxx"
|
||||
RUST_TARGET_CCLD = "${WRAPPER_DIR}/target-rust-ccld"
|
||||
RUST_TARGET_AR = "${WRAPPER_DIR}/target-rust-ar"
|
||||
|
||||
@@ -97,15 +102,19 @@ create_wrapper () {
|
||||
do_rust_create_wrappers () {
|
||||
mkdir -p "${WRAPPER_DIR}"
|
||||
|
||||
# Yocto Build / Rust Host compiler
|
||||
# Yocto Build / Rust Host C compiler
|
||||
create_wrapper "${RUST_BUILD_CC}" "${BUILD_CC}"
|
||||
# Yocto Build / Rust Host C++ compiler
|
||||
create_wrapper "${RUST_BUILD_CXX}" "${BUILD_CXX}"
|
||||
# Yocto Build / Rust Host linker
|
||||
create_wrapper "${RUST_BUILD_CCLD}" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
|
||||
# Yocto Build / Rust Host archiver
|
||||
create_wrapper "${RUST_BUILD_AR}" "${BUILD_AR}"
|
||||
|
||||
# Yocto Target / Rust Target compiler
|
||||
# Yocto Target / Rust Target C compiler
|
||||
create_wrapper "${RUST_TARGET_CC}" "${CC}"
|
||||
# Yocto Target / Rust Target C++ compiler
|
||||
create_wrapper "${RUST_TARGET_CXX}" "${CXX}"
|
||||
# Yocto Target / Rust Target linker
|
||||
create_wrapper "${RUST_TARGET_CCLD}" "${CCLD}" "${LDFLAGS}"
|
||||
# Yocto Target / Rust Target archiver
|
||||
|
||||
@@ -42,3 +42,4 @@ 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"
|
||||
|
||||
@@ -8,12 +8,11 @@ BBFILES ?= ""
|
||||
BBLAYERS ?= " \
|
||||
##OEROOT##/meta-rust \
|
||||
##OEROOT##/meta \
|
||||
##OEROOT##/meta-yocto \
|
||||
##OEROOT##/meta-poky \
|
||||
##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 \
|
||||
|
||||
@@ -8,5 +8,7 @@ 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
|
||||
|
||||
@@ -18,3 +18,5 @@ do_compile () {
|
||||
do_install () {
|
||||
oe_install_rust_lib
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
|
||||
@@ -8,12 +8,14 @@ LIC_FILES_CHKSUM = "\
|
||||
|
||||
inherit rust-bin
|
||||
|
||||
SRC_URI = "git://github.com/rust-lang-nursery/bitflags.git;protocol=https"
|
||||
SRCREV = "41aa413a7c30d70b93b44ab5447276c381ef249e"
|
||||
SRC_URI = "git://github.com/rust-lang-nursery/bitflags.git;protocol=https;nobranch=1"
|
||||
SRCREV = "e30da43cac0e52fc8d0007ce99a316ec6473033e"
|
||||
|
||||
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
|
||||
@@ -9,16 +9,19 @@ LIC_FILES_CHKSUM = "\
|
||||
inherit rust-bin
|
||||
|
||||
SRC_URI = "git://github.com/rust-lang/libc.git;protocol=https"
|
||||
SRCREV = "f54b9c90ee68889181472d4d4a5dd9e43d0e5318"
|
||||
SRCREV = "05a2d197356ef253dfd985166576619ac9b6947f"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
LIB_SRC = "${S}/src/lib.rs"
|
||||
|
||||
do_compile () {
|
||||
oe_compile_rust_lib --cfg feature='"cargo-build"'
|
||||
oe_compile_rust_lib --cfg feature='"cargo-build"' --cfg feature='"use_std"'
|
||||
|
||||
}
|
||||
|
||||
do_install () {
|
||||
oe_install_rust_lib
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
@@ -18,3 +18,5 @@ do_compile () {
|
||||
do_install () {
|
||||
oe_install_rust_lib
|
||||
}
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
|
||||
@@ -8,3 +8,5 @@ DEPENDS = "\
|
||||
require regex.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
|
||||
@@ -3,3 +3,5 @@ DESCRIPTION = "A regular expression parser"
|
||||
require regex.inc
|
||||
|
||||
LIB_SRC = "${S}/regex-syntax/src/lib.rs"
|
||||
|
||||
BBCLASSEXTEND += "native"
|
||||
|
||||
@@ -10,15 +10,12 @@ DEPENDS = "libc-rs"
|
||||
inherit rust-bin
|
||||
|
||||
SRC_URI = "git://github.com/rust-lang/time.git;protocol=https"
|
||||
SRCREV = "32b212b877b836dbfdc97af5674d91672e70ecbd"
|
||||
SRCREV = "d265b7cf9f50db74fbd0a01f8bec90ad7d239d48"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile () {
|
||||
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
|
||||
oe_compile_rust_lib
|
||||
}
|
||||
|
||||
do_install () {
|
||||
11
recipes-devtools/cargo/cargo-0.21.0.inc
Normal file
11
recipes-devtools/cargo/cargo-0.21.0.inc
Normal file
@@ -0,0 +1,11 @@
|
||||
CARGO_SNAPSHOT = "cargo-0.20.0-${RUST_BUILD_SYS}"
|
||||
SRC_URI[cargo-snapshot.md5sum] = "63aa861b029eec9f559f4fb5a10c287d"
|
||||
SRC_URI[cargo-snapshot.sha256sum] = "a677d13b01d00ad13edf75c7d1b484421c7fc09338bf9ed6d456b4685bb42ed1"
|
||||
|
||||
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"
|
||||
11
recipes-devtools/cargo/cargo-0.22.0.inc
Normal file
11
recipes-devtools/cargo/cargo-0.22.0.inc
Normal file
@@ -0,0 +1,11 @@
|
||||
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"
|
||||
12
recipes-devtools/cargo/cargo-0.25.0.inc
Normal file
12
recipes-devtools/cargo/cargo-0.25.0.inc
Normal file
@@ -0,0 +1,12 @@
|
||||
CARGO_SNAPSHOT = "cargo-0.24.0-${RUST_BUILD_SYS}"
|
||||
|
||||
SRC_URI[cargo-snapshot.md5sum] = "830041cfc8627d3f7187954993449cf9"
|
||||
SRC_URI[cargo-snapshot.sha256sum] = "ff8a454104aba20426ea898ed7515ec5da7de07d11733cdda17462455beb76e8"
|
||||
|
||||
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"
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
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[md5sum] = "d41ebf79290a7c9c9e5df87cb27e5091"
|
||||
SRC_URI[sha256sum] = "365e5cad79512d244b8ced32f8e5b86a710fc6c17f0d0f5f744b8058ef6dc756"
|
||||
@@ -1,56 +1,12 @@
|
||||
inherit cargo
|
||||
inherit patch
|
||||
|
||||
SUMMARY = "Cargo downloads your Rust project's dependencies and builds your project"
|
||||
HOMEPAGE = "http://crates.io"
|
||||
SECTION = "devel"
|
||||
LICENSE = "MIT | Apache-2.0"
|
||||
|
||||
DEPENDS = "openssl zlib libgit2 curl ca-certificates libssh2"
|
||||
|
||||
SRC_URI = "\
|
||||
http://static-rust-lang-org.s3.amazonaws.com/cargo-dist/${CARGO_SNAPSHOT} \
|
||||
LIC_FILES_CHKSUM += " \
|
||||
file://LICENSE-THIRD-PARTY;md5=892ea68b169e69cfe75097fc38a15b56 \
|
||||
"
|
||||
|
||||
B = "${S}"
|
||||
|
||||
# Used in libgit2-sys's build.rs, needed for pkg-config to be used
|
||||
export LIBGIT2_SYS_USE_PKG_CONFIG = "1"
|
||||
|
||||
# cargo's configure doesn't recognize --disable-static, so remove it.
|
||||
DISABLE_STATIC = ""
|
||||
|
||||
do_configure () {
|
||||
"${S}/configure" \
|
||||
"--prefix=${prefix}" \
|
||||
"--build=${BUILD_SYS}" \
|
||||
"--host=${HOST_SYS}" \
|
||||
"--target=${TARGET_SYS}" \
|
||||
"--localstatedir=${localstatedir}" \
|
||||
"--sysconfdir=${sysconfdir}" \
|
||||
"--datadir=${datadir}" \
|
||||
"--infodir=${infodir}" \
|
||||
"--mandir=${mandir}" \
|
||||
"--libdir=${libdir}" \
|
||||
"--disable-verify-install" \
|
||||
${EXTRA_OECONF} \
|
||||
|| die "Could not configure cargo"
|
||||
|
||||
cargo_do_configure
|
||||
}
|
||||
|
||||
do_compile () {
|
||||
oe_cargo_fix_env
|
||||
|
||||
rm -rf target/snapshot
|
||||
mkdir -p target
|
||||
cp -R ${WORKDIR}/cargo-nightly-x86_64-unknown-linux-gnu/cargo target/snapshot
|
||||
|
||||
oe_runmake VERBOSE=1
|
||||
}
|
||||
|
||||
do_install () {
|
||||
oe_runmake prepare-image-${TARGET_SYS} IMGDIR_${TARGET_SYS}="${D}${prefix}"
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
require cargo-snapshot.inc
|
||||
require cargo.inc
|
||||
|
||||
SRC_URI += " \
|
||||
git://github.com/rust-lang/cargo.git;protocol=https;name=cargo \
|
||||
crate://crates.io/advapi32-sys/0.2.0 \
|
||||
crate://crates.io/aho-corasick/0.5.2 \
|
||||
crate://crates.io/bitflags/0.1.1 \
|
||||
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.17 \
|
||||
crate://crates.io/crossbeam/0.2.9 \
|
||||
crate://crates.io/curl-sys/0.2.1 \
|
||||
crate://crates.io/curl/0.3.2 \
|
||||
crate://crates.io/docopt/0.6.82 \
|
||||
crate://crates.io/env_logger/0.3.4 \
|
||||
crate://crates.io/filetime/0.1.10 \
|
||||
crate://crates.io/flate2/0.2.14 \
|
||||
crate://crates.io/fs2/0.2.5 \
|
||||
crate://crates.io/gcc/0.3.32 \
|
||||
crate://crates.io/gdi32-sys/0.2.0 \
|
||||
crate://crates.io/git2-curl/0.5.0 \
|
||||
crate://crates.io/git2/0.4.4 \
|
||||
crate://crates.io/glob/0.2.11 \
|
||||
crate://crates.io/hamcrest/0.1.0 \
|
||||
crate://crates.io/idna/0.1.0 \
|
||||
crate://crates.io/kernel32-sys/0.2.2 \
|
||||
crate://crates.io/lazy_static/0.2.1 \
|
||||
crate://crates.io/libc/0.2.15 \
|
||||
crate://crates.io/libgit2-sys/0.4.5 \
|
||||
crate://crates.io/libressl-pnacl-sys/2.1.6 \
|
||||
crate://crates.io/libssh2-sys/0.1.38 \
|
||||
crate://crates.io/libz-sys/1.0.5 \
|
||||
crate://crates.io/log/0.3.6 \
|
||||
crate://crates.io/matches/0.1.2 \
|
||||
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/nom/1.2.4 \
|
||||
crate://crates.io/num-bigint/0.1.33 \
|
||||
crate://crates.io/num-complex/0.1.33 \
|
||||
crate://crates.io/num-integer/0.1.32 \
|
||||
crate://crates.io/num-iter/0.1.32 \
|
||||
crate://crates.io/num-rational/0.1.32 \
|
||||
crate://crates.io/num-traits/0.1.34 \
|
||||
crate://crates.io/num/0.1.34 \
|
||||
crate://crates.io/num_cpus/1.0.0 \
|
||||
crate://crates.io/openssl-sys-extras/0.7.14 \
|
||||
crate://crates.io/openssl-sys/0.7.14 \
|
||||
crate://crates.io/openssl/0.7.14 \
|
||||
crate://crates.io/pkg-config/0.3.8 \
|
||||
crate://crates.io/pnacl-build-helper/1.4.10 \
|
||||
crate://crates.io/rand/0.3.14 \
|
||||
crate://crates.io/regex-syntax/0.3.4 \
|
||||
crate://crates.io/regex/0.1.73 \
|
||||
crate://crates.io/rustc-serialize/0.3.19 \
|
||||
crate://crates.io/semver/0.2.3 \
|
||||
crate://crates.io/strsim/0.3.0 \
|
||||
crate://crates.io/tar/0.4.8 \
|
||||
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.6 \
|
||||
crate://crates.io/toml/0.2.0 \
|
||||
crate://crates.io/unicode-bidi/0.2.3 \
|
||||
crate://crates.io/unicode-normalization/0.1.2 \
|
||||
crate://crates.io/url/1.2.0 \
|
||||
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 \
|
||||
"
|
||||
# Compatible with Rust 1.12.1
|
||||
# https://static.rust-lang.org/dist/channel-rust-1.12.1.toml
|
||||
SRCREV_cargo = "109cb7c33d426044d141457049bd0fffaca1327c"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
LIC_FILES_CHKSUM ="\
|
||||
file://LICENSE-MIT;md5=362255802eb5aa87810d12ddf3cfedb4 \
|
||||
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
|
||||
file://LICENSE-THIRD-PARTY;md5=892ea68b169e69cfe75097fc38a15b56 \
|
||||
"
|
||||
@@ -1,85 +0,0 @@
|
||||
require cargo-snapshot.inc
|
||||
require cargo.inc
|
||||
|
||||
EXTRA_OECONF += "--cargo=${WORKDIR}/cargo-nightly-x86_64-unknown-linux-gnu/cargo/bin/cargo"
|
||||
|
||||
SRC_URI += " \
|
||||
git://github.com/rust-lang/cargo.git;protocol=https;name=cargo;branch=rust-1.15.1 \
|
||||
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 \
|
||||
"
|
||||
|
||||
SRCREV_cargo = "6e0c18cccc8b0c06fba8a8d76486f81a792fb420"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
LIC_FILES_CHKSUM=" \
|
||||
file://LICENSE-MIT;md5=362255802eb5aa87810d12ddf3cfedb4 \
|
||||
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
|
||||
file://LICENSE-THIRD-PARTY;md5=892ea68b169e69cfe75097fc38a15b56 \
|
||||
"
|
||||
136
recipes-devtools/cargo/cargo_0.21.0.bb
Normal file
136
recipes-devtools/cargo/cargo_0.21.0.bb
Normal file
@@ -0,0 +1,136 @@
|
||||
# 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.21.0"
|
||||
SRC_URI += "git://git@github.com/rust-lang/cargo.git;protocol=ssh;branch=rust-1.20.0"
|
||||
SRCREV = "5b4b8b2ae3f6a884099544ce66dbb41626110ece"
|
||||
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.11 \
|
||||
crate://crates.io/backtrace/0.3.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/cmake/0.1.24 \
|
||||
crate://crates.io/crossbeam/0.2.10 \
|
||||
crate://crates.io/curl-sys/0.3.14 \
|
||||
crate://crates.io/curl/0.4.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/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/hamcrest/0.1.1 \
|
||||
crate://crates.io/hex/0.2.0 \
|
||||
crate://crates.io/idna/0.1.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.25 \
|
||||
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/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.29 \
|
||||
crate://crates.io/num-bigint/0.1.39 \
|
||||
crate://crates.io/num-complex/0.1.38 \
|
||||
crate://crates.io/num-integer/0.1.34 \
|
||||
crate://crates.io/num-iter/0.1.33 \
|
||||
crate://crates.io/num-rational/0.1.38 \
|
||||
crate://crates.io/num-traits/0.1.39 \
|
||||
crate://crates.io/num/0.1.39 \
|
||||
crate://crates.io/num_cpus/1.6.2 \
|
||||
crate://crates.io/openssl-probe/0.1.1 \
|
||||
crate://crates.io/openssl-sys/0.9.14 \
|
||||
crate://crates.io/openssl/0.9.14 \
|
||||
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.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/rustc-demangle/0.1.4 \
|
||||
crate://crates.io/rustc-serialize/0.3.24 \
|
||||
crate://crates.io/scoped-tls/0.1.0 \
|
||||
crate://crates.io/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.7.0 \
|
||||
crate://crates.io/serde/1.0.9 \
|
||||
crate://crates.io/serde_derive/1.0.9 \
|
||||
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.2 \
|
||||
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/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/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=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
|
||||
151
recipes-devtools/cargo/cargo_0.22.0.bb
Normal file
151
recipes-devtools/cargo/cargo_0.22.0.bb
Normal file
@@ -0,0 +1,151 @@
|
||||
# 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
|
||||
167
recipes-devtools/cargo/cargo_0.25.0.bb
Normal file
167
recipes-devtools/cargo/cargo_0.25.0.bb
Normal file
@@ -0,0 +1,167 @@
|
||||
# Auto-Generated by cargo-bitbake 0.3.10-pre
|
||||
#
|
||||
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.25.0"
|
||||
SRC_URI += "git://github.com/rust-lang/cargo;protocol=http;branch=rust-1.24.0"
|
||||
SRCREV = "8c93e089536467783957fec23b0f2627bb6ce357"
|
||||
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.4 \
|
||||
crate://crates.io/atty/0.2.6 \
|
||||
crate://crates.io/backtrace-sys/0.1.16 \
|
||||
crate://crates.io/backtrace/0.3.5 \
|
||||
crate://crates.io/bitflags/0.9.1 \
|
||||
crate://crates.io/bitflags/1.0.1 \
|
||||
crate://crates.io/bufstream/0.1.3 \
|
||||
crate://crates.io/cc/1.0.4 \
|
||||
crate://crates.io/cfg-if/0.1.2 \
|
||||
crate://crates.io/cmake/0.1.29 \
|
||||
crate://crates.io/commoncrypto-sys/0.2.0 \
|
||||
crate://crates.io/commoncrypto/0.2.0 \
|
||||
crate://crates.io/core-foundation-sys/0.4.6 \
|
||||
crate://crates.io/core-foundation/0.4.6 \
|
||||
crate://crates.io/crossbeam/0.2.12 \
|
||||
crate://crates.io/crossbeam/0.3.2 \
|
||||
crate://crates.io/crypto-hash/0.3.0 \
|
||||
crate://crates.io/curl-sys/0.4.1 \
|
||||
crate://crates.io/curl/0.4.11 \
|
||||
crate://crates.io/docopt/0.8.3 \
|
||||
crate://crates.io/dtoa/0.4.2 \
|
||||
crate://crates.io/env_logger/0.4.3 \
|
||||
crate://crates.io/failure/0.1.1 \
|
||||
crate://crates.io/failure_derive/0.1.1 \
|
||||
crate://crates.io/filetime/0.1.15 \
|
||||
crate://crates.io/flate2/1.0.1 \
|
||||
crate://crates.io/fnv/1.0.6 \
|
||||
crate://crates.io/foreign-types-shared/0.1.1 \
|
||||
crate://crates.io/foreign-types/0.3.2 \
|
||||
crate://crates.io/fs2/0.4.3 \
|
||||
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
|
||||
crate://crates.io/fuchsia-zircon/0.3.3 \
|
||||
crate://crates.io/git2-curl/0.7.0 \
|
||||
crate://crates.io/git2/0.6.11 \
|
||||
crate://crates.io/glob/0.2.11 \
|
||||
crate://crates.io/globset/0.2.1 \
|
||||
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.4 \
|
||||
crate://crates.io/jobserver/0.1.9 \
|
||||
crate://crates.io/kernel32-sys/0.2.2 \
|
||||
crate://crates.io/lazy_static/0.2.11 \
|
||||
crate://crates.io/lazy_static/1.0.0 \
|
||||
crate://crates.io/libc/0.2.36 \
|
||||
crate://crates.io/libgit2-sys/0.6.19 \
|
||||
crate://crates.io/libssh2-sys/0.2.6 \
|
||||
crate://crates.io/libz-sys/1.0.18 \
|
||||
crate://crates.io/log/0.3.9 \
|
||||
crate://crates.io/log/0.4.1 \
|
||||
crate://crates.io/matches/0.1.6 \
|
||||
crate://crates.io/memchr/0.1.11 \
|
||||
crate://crates.io/memchr/1.0.2 \
|
||||
crate://crates.io/memchr/2.0.1 \
|
||||
crate://crates.io/miniz-sys/0.1.10 \
|
||||
crate://crates.io/miow/0.2.1 \
|
||||
crate://crates.io/net2/0.2.31 \
|
||||
crate://crates.io/num-bigint/0.1.43 \
|
||||
crate://crates.io/num-complex/0.1.42 \
|
||||
crate://crates.io/num-integer/0.1.36 \
|
||||
crate://crates.io/num-iter/0.1.35 \
|
||||
crate://crates.io/num-rational/0.1.42 \
|
||||
crate://crates.io/num-traits/0.1.43 \
|
||||
crate://crates.io/num-traits/0.2.0 \
|
||||
crate://crates.io/num/0.1.42 \
|
||||
crate://crates.io/num_cpus/1.8.0 \
|
||||
crate://crates.io/openssl-probe/0.1.2 \
|
||||
crate://crates.io/openssl-sys/0.9.26 \
|
||||
crate://crates.io/openssl/0.9.24 \
|
||||
crate://crates.io/percent-encoding/1.0.1 \
|
||||
crate://crates.io/pkg-config/0.3.9 \
|
||||
crate://crates.io/psapi-sys/0.1.1 \
|
||||
crate://crates.io/quote/0.3.15 \
|
||||
crate://crates.io/rand/0.3.22 \
|
||||
crate://crates.io/rand/0.4.2 \
|
||||
crate://crates.io/redox_syscall/0.1.37 \
|
||||
crate://crates.io/redox_termios/0.1.1 \
|
||||
crate://crates.io/regex-syntax/0.3.9 \
|
||||
crate://crates.io/regex-syntax/0.4.2 \
|
||||
crate://crates.io/regex/0.1.80 \
|
||||
crate://crates.io/regex/0.2.6 \
|
||||
crate://crates.io/remove_dir_all/0.3.0 \
|
||||
crate://crates.io/rustc-demangle/0.1.6 \
|
||||
crate://crates.io/rustc-serialize/0.3.24 \
|
||||
crate://crates.io/same-file/0.1.3 \
|
||||
crate://crates.io/schannel/0.1.10 \
|
||||
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.8.0 \
|
||||
crate://crates.io/serde/1.0.27 \
|
||||
crate://crates.io/serde_derive/1.0.27 \
|
||||
crate://crates.io/serde_derive_internals/0.19.0 \
|
||||
crate://crates.io/serde_ignored/0.0.4 \
|
||||
crate://crates.io/serde_json/1.0.9 \
|
||||
crate://crates.io/shell-escape/0.1.3 \
|
||||
crate://crates.io/socket2/0.3.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/synstructure/0.6.1 \
|
||||
crate://crates.io/tar/0.4.14 \
|
||||
crate://crates.io/tempdir/0.3.6 \
|
||||
crate://crates.io/termcolor/0.3.4 \
|
||||
crate://crates.io/termion/1.5.1 \
|
||||
crate://crates.io/thread-id/2.0.0 \
|
||||
crate://crates.io/thread_local/0.2.7 \
|
||||
crate://crates.io/thread_local/0.3.5 \
|
||||
crate://crates.io/toml/0.4.5 \
|
||||
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.6.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/void/1.0.2 \
|
||||
crate://crates.io/walkdir/1.0.7 \
|
||||
crate://crates.io/winapi-build/0.1.1 \
|
||||
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi/0.2.8 \
|
||||
crate://crates.io/winapi/0.3.4 \
|
||||
crate://crates.io/wincolor/0.1.6 \
|
||||
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
|
||||
@@ -1,28 +0,0 @@
|
||||
SUMMARY = "Rust compiler run-time"
|
||||
HOMEPAGE = "http://www.rust-lang.org"
|
||||
SECTION = "devel"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://src/compiler-rt/LICENSE.TXT;md5=bf24bca27049b52e9738451aa55771d4"
|
||||
|
||||
require rust.inc
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
DEPENDS += "rust-llvm-native (=${PV})"
|
||||
# dev and staticdev should NOT depend on the binary package
|
||||
RDEPENDS_${PN}-dev = ""
|
||||
INSANE_SKIP_${PN}-dev = "staticdev"
|
||||
|
||||
DISABLE_STATIC = ""
|
||||
INHIBIT_DEFAULT_RUST_DEPS = "1"
|
||||
|
||||
do_compile () {
|
||||
oe_runmake ${TARGET_SYS}/rt/libcompiler-rt.a
|
||||
}
|
||||
|
||||
do_install () {
|
||||
mkdir -p ${D}${libdir}
|
||||
cp ${TARGET_SYS}/rt/libcompiler-rt.a ${D}${libdir}/libcompiler-rt.a
|
||||
}
|
||||
|
||||
FILES_${PN}-dev = ""
|
||||
FILES_${PN}-staticdev = "${libdir}/*.a"
|
||||
@@ -1,2 +0,0 @@
|
||||
require compiler-rt.inc
|
||||
require rust-source-${PV}.inc
|
||||
@@ -1,107 +0,0 @@
|
||||
From bb2d8649b2b344e0bb4b1cf94135378831735557 Mon Sep 17 00:00:00 2001
|
||||
From: Cody P Schafer <dev@codyps.com>
|
||||
Date: Tue, 18 Nov 2014 01:40:21 -0500
|
||||
Subject: [PATCH 01/10] Target: add default target.json path:
|
||||
$libdir/rust/targets
|
||||
|
||||
---
|
||||
src/librustc/session/config.rs | 6 +++---
|
||||
src/librustc/session/mod.rs | 8 ++++++--
|
||||
src/librustc_back/target/mod.rs | 13 +++++++++++--
|
||||
3 files changed, 20 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
|
||||
index e988ddc..563f3ac 100644
|
||||
--- a/src/librustc/session/config.rs
|
||||
+++ b/src/librustc/session/config.rs
|
||||
@@ -42,7 +42,7 @@ use std::env;
|
||||
use std::fmt;
|
||||
use std::hash::{Hasher, SipHasher};
|
||||
use std::iter::FromIterator;
|
||||
-use std::path::PathBuf;
|
||||
+use std::path::{Path, PathBuf};
|
||||
|
||||
pub struct Config {
|
||||
pub target: Target,
|
||||
@@ -1011,8 +1011,8 @@ pub fn build_configuration(sess: &Session,
|
||||
v
|
||||
}
|
||||
|
||||
-pub fn build_target_config(opts: &Options, sp: &Handler) -> Config {
|
||||
- let target = match Target::search(&opts.target_triple) {
|
||||
+pub fn build_target_config(sysroot: &Path, opts: &Options, sp: &Handler) -> Config {
|
||||
+ let target = match Target::search(sysroot, &opts.target_triple[..]) {
|
||||
Ok(t) => t,
|
||||
Err(e) => {
|
||||
sp.struct_fatal(&format!("Error loading target specification: {}", e))
|
||||
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
|
||||
index c71253a..13b4e05 100644
|
||||
--- a/src/librustc/session/mod.rs
|
||||
+++ b/src/librustc/session/mod.rs
|
||||
@@ -395,13 +395,17 @@ pub fn build_session_(sopts: config::Options,
|
||||
codemap: Rc<codemap::CodeMap>,
|
||||
cstore: Rc<for<'a> CrateStore<'a>>)
|
||||
-> Session {
|
||||
- let host = match Target::search(config::host_triple()) {
|
||||
+ let sysroot = match sopts.maybe_sysroot {
|
||||
+ Some(ref x) => PathBuf::from(x),
|
||||
+ None => filesearch::get_or_default_sysroot()
|
||||
+ };
|
||||
+ let host = match Target::search(&sysroot, config::host_triple()) {
|
||||
Ok(t) => t,
|
||||
Err(e) => {
|
||||
panic!(span_diagnostic.fatal(&format!("Error loading host specification: {}", e)));
|
||||
}
|
||||
};
|
||||
- let target_cfg = config::build_target_config(&sopts, &span_diagnostic);
|
||||
+ let target_cfg = config::build_target_config(&sysroot, &sopts, &span_diagnostic);
|
||||
let p_s = parse::ParseSess::with_span_handler(span_diagnostic, codemap);
|
||||
let default_sysroot = match sopts.maybe_sysroot {
|
||||
Some(_) => None,
|
||||
diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
|
||||
index 18686e3..d439b59 100644
|
||||
--- a/src/librustc_back/target/mod.rs
|
||||
+++ b/src/librustc_back/target/mod.rs
|
||||
@@ -49,6 +49,8 @@ use std::collections::BTreeMap;
|
||||
use std::default::Default;
|
||||
use std::io::prelude::*;
|
||||
use syntax::abi::Abi;
|
||||
+use std::borrow::ToOwned;
|
||||
+use std::path::Path;
|
||||
|
||||
mod android_base;
|
||||
mod apple_base;
|
||||
@@ -541,12 +543,13 @@ impl Target {
|
||||
///
|
||||
/// The error string could come from any of the APIs called, including
|
||||
/// filesystem access and JSON decoding.
|
||||
- pub fn search(target: &str) -> Result<Target, String> {
|
||||
+ pub fn search(sysroot: &Path, target: &str) -> Result<Target, String> {
|
||||
use std::env;
|
||||
use std::ffi::OsString;
|
||||
use std::fs::File;
|
||||
use std::path::{Path, PathBuf};
|
||||
use serialize::json;
|
||||
+ use std::iter::IntoIterator;
|
||||
|
||||
fn load_file(path: &Path) -> Result<Target, String> {
|
||||
let mut f = File::open(path).map_err(|e| e.to_string())?;
|
||||
@@ -577,8 +580,14 @@ impl Target {
|
||||
.unwrap_or(OsString::new());
|
||||
|
||||
// FIXME 16351: add a sane default search path?
|
||||
+ let mut default_path = sysroot.to_owned();
|
||||
+ default_path.push(env!("CFG_LIBDIR_RELATIVE"));
|
||||
+ default_path.push("rustlib");
|
||||
|
||||
- for dir in env::split_paths(&target_path) {
|
||||
+ let paths = env::split_paths(&target_path)
|
||||
+ .chain(Some(default_path).into_iter());
|
||||
+
|
||||
+ for dir in paths {
|
||||
let p = dir.join(&path);
|
||||
if p.is_file() {
|
||||
return load_file(&p);
|
||||
--
|
||||
2.10.0
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
From 0829743c109a147213d06d38052662a5f2b0dd9b Mon Sep 17 00:00:00 2001
|
||||
From: Cody P Schafer <dev@codyps.com>
|
||||
Date: Tue, 18 Nov 2014 14:52:56 -0500
|
||||
Subject: [PATCH 02/10] mk: for stage0, use RUSTFLAGS to override target libs
|
||||
dir
|
||||
|
||||
Setting HLIB specially for stage0 (and even more specially for windows)
|
||||
also affects the location we place TLIB. To keep the TLIBs we build in
|
||||
the place requested by configure, use '-L' and '--sysroot' to point
|
||||
stage0-rustc at the appropriate location.
|
||||
---
|
||||
mk/main.mk | 29 ++++++++++++-----------------
|
||||
1 file changed, 12 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/mk/main.mk b/mk/main.mk
|
||||
index 90d3563..cdcbdf2 100644
|
||||
--- a/mk/main.mk
|
||||
+++ b/mk/main.mk
|
||||
@@ -420,32 +420,26 @@ define SREQ
|
||||
HROOT$(1)_H_$(3) = $(3)/stage$(1)
|
||||
HBIN$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/bin
|
||||
|
||||
-ifeq ($$(CFG_WINDOWSY_$(3)),1)
|
||||
-# On Windows we always store host runtime libraries in the 'bin' directory because
|
||||
-# there's no rpath. Target libraries go under $CFG_LIBDIR_RELATIVE (usually 'lib').
|
||||
-HLIB_RELATIVE$(1)_H_$(3) = bin
|
||||
-TROOT$(1)_T_$(2)_H_$(3) = $$(HROOT$(1)_H_$(3))/$$(CFG_LIBDIR_RELATIVE)/rustlib/$(2)
|
||||
-# Remove the next 3 lines after a snapshot
|
||||
-ifeq ($(1),0)
|
||||
-RUSTFLAGS_STAGE0 += -L $$(TROOT$(1)_T_$(2)_H_$(3))/lib
|
||||
-endif
|
||||
-
|
||||
-else
|
||||
-
|
||||
-ifeq ($(1),0)
|
||||
-HLIB_RELATIVE$(1)_H_$(3) = lib
|
||||
-else
|
||||
HLIB_RELATIVE$(1)_H_$(3) = $$(CFG_LIBDIR_RELATIVE)
|
||||
-endif
|
||||
+
|
||||
TROOT$(1)_T_$(2)_H_$(3) = $$(HLIB$(1)_H_$(3))/rustlib/$(2)
|
||||
|
||||
-endif
|
||||
HLIB$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/$$(HLIB_RELATIVE$(1)_H_$(3))
|
||||
|
||||
# Destinations of artifacts for target architectures
|
||||
TBIN$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/bin
|
||||
TLIB$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/lib
|
||||
|
||||
+# Don't trust stage0, be explicit about libraries
|
||||
+# TODO: rather than specifying sysroot, we really want to tell which libdir to
|
||||
+# use (ie: the dir containing 'rustlib'). This would allow us to avoid
|
||||
+# passing the '-L' options.
|
||||
+ifeq ($(1),0)
|
||||
+RUSTFLAGS_S_$(1)_T_$(2)_H_$(3) += --sysroot "$$(HROOT$(1)_H_$(3))" \
|
||||
+ -L "$$(TLIB$(1)_T_$(2)_H_$(3))"
|
||||
+endif
|
||||
+
|
||||
+
|
||||
# Preqrequisites for using the stageN compiler
|
||||
ifeq ($(1),0)
|
||||
HSREQ$(1)_H_$(3) = $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3))
|
||||
@@ -558,6 +552,7 @@ STAGE$(1)_T_$(2)_H_$(3) := \
|
||||
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
|
||||
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
|
||||
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
|
||||
+ $$(RUSTFLAGS_S_$(1)_T_$(2)_H_$(3)) \
|
||||
$$(RUSTC_FLAGS_$(2))
|
||||
|
||||
endef
|
||||
--
|
||||
2.10.0
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From d73ce5d99346812fcf063a87b4efac54c263737d 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 05/10] std/thread_local: workaround for NULL __dso_handle
|
||||
|
||||
---
|
||||
src/libstd/thread/local.rs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libstd/thread/local.rs b/src/libstd/thread/local.rs
|
||||
index 152b977..3c62862 100644
|
||||
--- a/src/libstd/thread/local.rs
|
||||
+++ b/src/libstd/thread/local.rs
|
||||
@@ -380,7 +380,7 @@ pub mod elf {
|
||||
#[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.0
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
From 2a42d59c3671f3ab68d8ff49c46240842aff6eb6 Mon Sep 17 00:00:00 2001
|
||||
From: Steven Walter <swalter@lexmark.com>
|
||||
Date: Wed, 18 Nov 2015 08:33:26 -0500
|
||||
Subject: [PATCH 07/10] Allow overriding crate_hash with -C crate_hash
|
||||
|
||||
The current crate hash is not stable from run-to-run. This causes
|
||||
problems with bitbake; it needs a guarantee that every build with the
|
||||
same input will generate compatible output, otherwise sstate won't work.
|
||||
Using -C crate_hash, we can do that by using the bitbake input hash to
|
||||
determine the crate hash; the bitbake input hash will be stable, but
|
||||
still different for different rust recipes.
|
||||
|
||||
Upstream-Status: not-appropriate
|
||||
|
||||
Upstream wants to fix it's actual object generation here. See
|
||||
https://github.com/rust-lang/rust/issues/34902 (and others) for details.
|
||||
---
|
||||
src/librustc/session/config.rs | 2 ++
|
||||
src/librustc_trans/back/link.rs | 12 +++++++++++-
|
||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
|
||||
index 563f3ac..52a5130 100644
|
||||
--- a/src/librustc/session/config.rs
|
||||
+++ b/src/librustc/session/config.rs
|
||||
@@ -804,6 +804,8 @@ options! {CodegenOptions, CodegenSetter, basic_codegen_options,
|
||||
"choose the code model to use (rustc --print code-models for details)"),
|
||||
metadata: Vec<String> = (Vec::new(), parse_list, [TRACKED],
|
||||
"metadata to mangle symbol names with"),
|
||||
+ crate_hash: String = ("".to_string(), parse_string, [TRACKED],
|
||||
+ "override crate hash with given value"),
|
||||
extra_filename: String = ("".to_string(), parse_string, [UNTRACKED],
|
||||
"extra data to put in each output filename"),
|
||||
codegen_units: usize = (1, parse_uint, [UNTRACKED],
|
||||
diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
|
||||
index 3cf2500..0e48063 100644
|
||||
--- a/src/librustc_trans/back/link.rs
|
||||
+++ b/src/librustc_trans/back/link.rs
|
||||
@@ -125,12 +125,22 @@ pub fn find_crate_name(sess: Option<&Session>,
|
||||
|
||||
}
|
||||
|
||||
+use std::hash::{Hasher, SipHasher};
|
||||
+use rustc::hir::svh::Svh;
|
||||
+
|
||||
pub fn build_link_meta<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
||||
name: &str)
|
||||
-> LinkMeta {
|
||||
+ let crate_hash = if tcx.sess.opts.cg.crate_hash != "" {
|
||||
+ let mut state = SipHasher::new();
|
||||
+ state.write(tcx.sess.opts.cg.crate_hash.as_bytes());
|
||||
+ Svh::new(state.finish())
|
||||
+ } else {
|
||||
+ tcx.calculate_krate_hash()
|
||||
+ };
|
||||
let r = LinkMeta {
|
||||
crate_name: name.to_owned(),
|
||||
- crate_hash: tcx.calculate_krate_hash(),
|
||||
+ crate_hash: crate_hash,
|
||||
};
|
||||
info!("{:?}", r);
|
||||
return r;
|
||||
--
|
||||
2.10.0
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 174ae38bcc197658dd0ad6bcdae2bb06112e68a2 Mon Sep 17 00:00:00 2001
|
||||
From: Steven Walter <swalter@lexmark.com>
|
||||
Date: Wed, 18 Nov 2015 08:41:17 -0500
|
||||
Subject: [PATCH 08/10] mk/platform.mk: pass -C crate_hash to builds
|
||||
|
||||
bitbake recipe will export FORCE_CRATE_HASH
|
||||
|
||||
Upstream-Status: not-appropriate
|
||||
---
|
||||
mk/platform.mk | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/mk/platform.mk b/mk/platform.mk
|
||||
index d601cab..0b5e9f2 100644
|
||||
--- a/mk/platform.mk
|
||||
+++ b/mk/platform.mk
|
||||
@@ -181,6 +181,7 @@ define CFG_MAKE_TOOLCHAIN
|
||||
AR_$(1)=$(CROSS_PREFIX_$(1))$(AR_$(1))
|
||||
LINK_$(1)=$(CROSS_PREFIX_$(1))$(LINK_$(1))
|
||||
RUSTC_CROSS_FLAGS_$(1)=-C linker=$$(call FIND_COMPILER,$$(LINK_$(1))) \
|
||||
+ -C crate_hash=$(FORCE_CRATE_HASH) \
|
||||
-C ar=$$(call FIND_COMPILER,$$(AR_$(1))) $(RUSTC_CROSS_FLAGS_$(1))
|
||||
|
||||
RUSTC_FLAGS_$(1)=$$(RUSTC_CROSS_FLAGS_$(1)) $(RUSTC_FLAGS_$(1))
|
||||
--
|
||||
2.10.0
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
From e9c6cf5d1a9bb7f50c5e98a660217062b510928b Mon Sep 17 00:00:00 2001
|
||||
From: Cody P Schafer <dev@codyps.com>
|
||||
Date: Tue, 18 Nov 2014 01:40:21 -0500
|
||||
Subject: [PATCH 1/3] Target: add default target.json path:
|
||||
$libdir/rust/targets
|
||||
|
||||
---
|
||||
src/librustc/session/config.rs | 6 +++---
|
||||
src/librustc/session/mod.rs | 8 ++++++--
|
||||
src/librustc_back/target/mod.rs | 12 ++++++++++--
|
||||
3 files changed, 19 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
|
||||
index 5e3c8bc..15fd763 100644
|
||||
--- a/src/librustc/session/config.rs
|
||||
+++ b/src/librustc/session/config.rs
|
||||
@@ -42,7 +42,7 @@ use std::hash::Hasher;
|
||||
use std::collections::hash_map::DefaultHasher;
|
||||
use std::collections::HashSet;
|
||||
use std::iter::FromIterator;
|
||||
-use std::path::PathBuf;
|
||||
+use std::path::{Path, PathBuf};
|
||||
|
||||
pub struct Config {
|
||||
pub target: Target,
|
||||
@@ -1001,8 +1001,8 @@ pub fn build_configuration(sess: &Session,
|
||||
user_cfg
|
||||
}
|
||||
|
||||
-pub fn build_target_config(opts: &Options, sp: &Handler) -> Config {
|
||||
- let target = match Target::search(&opts.target_triple) {
|
||||
+pub fn build_target_config(sysroot: &Path, opts: &Options, sp: &Handler) -> Config {
|
||||
+ let target = match Target::search(sysroot, &opts.target_triple[..]) {
|
||||
Ok(t) => t,
|
||||
Err(e) => {
|
||||
sp.struct_fatal(&format!("Error loading target specification: {}", e))
|
||||
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
|
||||
index 91765e6..29e5e5d 100644
|
||||
--- a/src/librustc/session/mod.rs
|
||||
+++ b/src/librustc/session/mod.rs
|
||||
@@ -575,13 +575,17 @@ pub fn build_session_(sopts: config::Options,
|
||||
codemap: Rc<codemap::CodeMap>,
|
||||
cstore: Rc<for<'a> CrateStore<'a>>)
|
||||
-> Session {
|
||||
- let host = match Target::search(config::host_triple()) {
|
||||
+ let sysroot = match sopts.maybe_sysroot {
|
||||
+ Some(ref x) => PathBuf::from(x),
|
||||
+ None => filesearch::get_or_default_sysroot()
|
||||
+ };
|
||||
+ let host = match Target::search(&sysroot, config::host_triple()) {
|
||||
Ok(t) => t,
|
||||
Err(e) => {
|
||||
panic!(span_diagnostic.fatal(&format!("Error loading host specification: {}", e)));
|
||||
}
|
||||
};
|
||||
- let target_cfg = config::build_target_config(&sopts, &span_diagnostic);
|
||||
+ let target_cfg = config::build_target_config(&sysroot, &sopts, &span_diagnostic);
|
||||
let p_s = parse::ParseSess::with_span_handler(span_diagnostic, codemap);
|
||||
let default_sysroot = match sopts.maybe_sysroot {
|
||||
Some(_) => None,
|
||||
diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
|
||||
index 351d469..3282dbd 100644
|
||||
--- a/src/librustc_back/target/mod.rs
|
||||
+++ b/src/librustc_back/target/mod.rs
|
||||
@@ -51,6 +51,7 @@ use std::io::prelude::*;
|
||||
use syntax::abi::{Abi, lookup as lookup_abi};
|
||||
|
||||
use PanicStrategy;
|
||||
+use std::path::Path;
|
||||
|
||||
mod android_base;
|
||||
mod apple_base;
|
||||
@@ -625,12 +626,13 @@ impl Target {
|
||||
///
|
||||
/// The error string could come from any of the APIs called, including
|
||||
/// filesystem access and JSON decoding.
|
||||
- pub fn search(target: &str) -> Result<Target, String> {
|
||||
+ pub fn search(sysroot: &Path, target: &str) -> Result<Target, String> {
|
||||
use std::env;
|
||||
use std::ffi::OsString;
|
||||
use std::fs::File;
|
||||
use std::path::{Path, PathBuf};
|
||||
use serialize::json;
|
||||
+ use std::iter::IntoIterator;
|
||||
|
||||
fn load_file(path: &Path) -> Result<Target, String> {
|
||||
let mut f = File::open(path).map_err(|e| e.to_string())?;
|
||||
@@ -661,8 +663,14 @@ impl Target {
|
||||
.unwrap_or(OsString::new());
|
||||
|
||||
// FIXME 16351: add a sane default search path?
|
||||
+ let mut default_path = sysroot.to_owned();
|
||||
+ default_path.push(env!("CFG_LIBDIR_RELATIVE"));
|
||||
+ default_path.push("rustlib");
|
||||
|
||||
- for dir in env::split_paths(&target_path) {
|
||||
+ let paths = env::split_paths(&target_path)
|
||||
+ .chain(Some(default_path).into_iter());
|
||||
+
|
||||
+ for dir in paths {
|
||||
let p = dir.join(&path);
|
||||
if p.is_file() {
|
||||
return load_file(&p);
|
||||
--
|
||||
2.10.1 (Apple Git-78)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
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)
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
From a0714f06eb1df66a206e1d0fadccf175276b753b Mon Sep 17 00:00:00 2001
|
||||
From: Philip Craig <philipjcraig@gmail.com>
|
||||
Date: Sat, 30 Sep 2017 16:28:48 +1000
|
||||
Subject: [PATCH] Don't use remapped path when loading modules and include
|
||||
files
|
||||
|
||||
---
|
||||
src/librustc/ich/impls_syntax.rs | 1 +
|
||||
src/librustc/session/mod.rs | 4 +---
|
||||
src/libsyntax/codemap.rs | 14 +++++++++++++-
|
||||
src/libsyntax/ext/expand.rs | 6 ++----
|
||||
src/libsyntax/ext/source_util.rs | 2 +-
|
||||
src/libsyntax/parse/parser.rs | 2 +-
|
||||
src/libsyntax_pos/lib.rs | 6 ++++++
|
||||
src/test/codegen/remap_path_prefix/aux_mod.rs | 16 ++++++++++++++++
|
||||
src/test/codegen/remap_path_prefix/main.rs | 7 +++++++
|
||||
9 files changed, 48 insertions(+), 10 deletions(-)
|
||||
create mode 100644 src/test/codegen/remap_path_prefix/aux_mod.rs
|
||||
|
||||
diff --git a/src/librustc/ich/impls_syntax.rs b/src/librustc/ich/impls_syntax.rs
|
||||
index b827284271..489fd9b5b7 100644
|
||||
--- a/src/librustc/ich/impls_syntax.rs
|
||||
+++ b/src/librustc/ich/impls_syntax.rs
|
||||
@@ -332,6 +332,7 @@ impl<'a, 'gcx, 'tcx> HashStable<StableHashingContext<'a, 'gcx, 'tcx>> for FileMa
|
||||
let FileMap {
|
||||
ref name,
|
||||
name_was_remapped,
|
||||
+ path: _,
|
||||
crate_of_origin,
|
||||
// Do not hash the source as it is not encoded
|
||||
src: _,
|
||||
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
|
||||
index 7ff9d202c1..619ae81506 100644
|
||||
--- a/src/librustc/session/mod.rs
|
||||
+++ b/src/librustc/session/mod.rs
|
||||
@@ -72,8 +72,7 @@ pub struct Session {
|
||||
pub derive_registrar_fn: Cell<Option<ast::NodeId>>,
|
||||
pub default_sysroot: Option<PathBuf>,
|
||||
// The name of the root source file of the crate, in the local file system.
|
||||
- // The path is always expected to be absolute. `None` means that there is no
|
||||
- // source file.
|
||||
+ // `None` means that there is no source file.
|
||||
pub local_crate_source_file: Option<String>,
|
||||
// The directory the compiler has been executed in plus a flag indicating
|
||||
// if the value stored here has been affected by path remapping.
|
||||
@@ -707,7 +706,6 @@ pub fn build_session_(sopts: config::Options,
|
||||
|
||||
let file_path_mapping = sopts.file_path_mapping();
|
||||
|
||||
- // Make the path absolute, if necessary
|
||||
let local_crate_source_file = local_crate_source_file.map(|path| {
|
||||
file_path_mapping.map_prefix(path.to_string_lossy().into_owned()).0
|
||||
});
|
||||
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
|
||||
index 30ae7df935..e8cfa51ee2 100644
|
||||
--- a/src/libsyntax/codemap.rs
|
||||
+++ b/src/libsyntax/codemap.rs
|
||||
@@ -162,9 +162,16 @@ impl CodeMap {
|
||||
let start_pos = self.next_start_pos();
|
||||
let mut files = self.files.borrow_mut();
|
||||
|
||||
+ // The path is used to determine the directory for loading submodules and
|
||||
+ // include files, so it must be before remapping.
|
||||
+ // Note that filename may not be a valid path, eg it may be `<anon>` etc,
|
||||
+ // but this is okay because the directory determined by `path.pop()` will
|
||||
+ // be empty, so the working directory will be used.
|
||||
+ let path = PathBuf::from(filename.clone());
|
||||
+
|
||||
let (filename, was_remapped) = self.path_mapping.map_prefix(filename);
|
||||
let filemap =
|
||||
- Rc::new(FileMap::new(filename, was_remapped, src, Pos::from_usize(start_pos)));
|
||||
+ Rc::new(FileMap::new(filename, was_remapped, path, src, Pos::from_usize(start_pos)));
|
||||
|
||||
files.push(filemap.clone());
|
||||
|
||||
@@ -216,6 +223,7 @@ impl CodeMap {
|
||||
let filemap = Rc::new(FileMap {
|
||||
name: filename,
|
||||
name_was_remapped,
|
||||
+ path: PathBuf::new(),
|
||||
crate_of_origin,
|
||||
src: None,
|
||||
src_hash,
|
||||
@@ -351,6 +359,10 @@ impl CodeMap {
|
||||
self.lookup_char_pos(sp.lo).file.name.to_string()
|
||||
}
|
||||
|
||||
+ pub fn span_to_path(&self, sp: Span) -> PathBuf {
|
||||
+ self.lookup_char_pos(sp.lo).file.path.clone()
|
||||
+ }
|
||||
+
|
||||
pub fn span_to_lines(&self, sp: Span) -> FileLinesResult {
|
||||
debug!("span_to_lines(sp={:?})", sp);
|
||||
|
||||
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
|
||||
index 171b0a22e9..8db8c83ef4 100644
|
||||
--- a/src/libsyntax/ext/expand.rs
|
||||
+++ b/src/libsyntax/ext/expand.rs
|
||||
@@ -35,7 +35,6 @@ use visit::Visitor;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::mem;
|
||||
-use std::path::PathBuf;
|
||||
use std::rc::Rc;
|
||||
|
||||
macro_rules! expansions {
|
||||
@@ -200,7 +199,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
|
||||
self.cx.crate_root = std_inject::injected_crate_name(&krate);
|
||||
let mut module = ModuleData {
|
||||
mod_path: vec![Ident::from_str(&self.cx.ecfg.crate_name)],
|
||||
- directory: PathBuf::from(self.cx.codemap().span_to_filename(krate.span)),
|
||||
+ directory: self.cx.codemap().span_to_path(krate.span),
|
||||
};
|
||||
module.directory.pop();
|
||||
self.cx.current_expansion.module = Rc::new(module);
|
||||
@@ -902,8 +901,7 @@ impl<'a, 'b> Folder for InvocationCollector<'a, 'b> {
|
||||
module.directory.push(&*item.ident.name.as_str());
|
||||
}
|
||||
} else {
|
||||
- let mut path =
|
||||
- PathBuf::from(self.cx.parse_sess.codemap().span_to_filename(inner));
|
||||
+ let mut path = self.cx.parse_sess.codemap().span_to_path(inner);
|
||||
let directory_ownership = match path.file_name().unwrap().to_str() {
|
||||
Some("mod.rs") => DirectoryOwnership::Owned,
|
||||
_ => DirectoryOwnership::UnownedViaMod(false),
|
||||
diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs
|
||||
index 95fe41be12..17a18256b3 100644
|
||||
--- a/src/libsyntax/ext/source_util.rs
|
||||
+++ b/src/libsyntax/ext/source_util.rs
|
||||
@@ -197,7 +197,7 @@ fn res_rel_file(cx: &mut ExtCtxt, sp: syntax_pos::Span, arg: &Path) -> PathBuf {
|
||||
// after macro expansion (that is, they are unhygienic).
|
||||
if !arg.is_absolute() {
|
||||
let callsite = sp.source_callsite();
|
||||
- let mut path = PathBuf::from(&cx.codemap().span_to_filename(callsite));
|
||||
+ let mut path = cx.codemap().span_to_path(callsite);
|
||||
path.pop();
|
||||
path.push(arg);
|
||||
path
|
||||
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
|
||||
index 90a635fdf4..8c443e8b27 100644
|
||||
--- a/src/libsyntax/parse/parser.rs
|
||||
+++ b/src/libsyntax/parse/parser.rs
|
||||
@@ -519,7 +519,7 @@ impl<'a> Parser<'a> {
|
||||
if let Some(directory) = directory {
|
||||
parser.directory = directory;
|
||||
} else if parser.span != syntax_pos::DUMMY_SP {
|
||||
- parser.directory.path = PathBuf::from(sess.codemap().span_to_filename(parser.span));
|
||||
+ parser.directory.path = sess.codemap().span_to_path(parser.span);
|
||||
parser.directory.path.pop();
|
||||
}
|
||||
|
||||
diff --git a/src/libsyntax_pos/lib.rs b/src/libsyntax_pos/lib.rs
|
||||
index d34dcfa3ed..b0db4edc30 100644
|
||||
--- a/src/libsyntax_pos/lib.rs
|
||||
+++ b/src/libsyntax_pos/lib.rs
|
||||
@@ -32,6 +32,7 @@ use std::cmp;
|
||||
use std::fmt;
|
||||
use std::hash::Hasher;
|
||||
use std::ops::{Add, Sub};
|
||||
+use std::path::PathBuf;
|
||||
use std::rc::Rc;
|
||||
|
||||
use rustc_data_structures::stable_hasher::StableHasher;
|
||||
@@ -441,6 +442,8 @@ pub struct FileMap {
|
||||
pub name: FileName,
|
||||
/// True if the `name` field above has been modified by -Zremap-path-prefix
|
||||
pub name_was_remapped: bool,
|
||||
+ /// The path of the file that the source came from.
|
||||
+ pub path: PathBuf,
|
||||
/// Indicates which crate this FileMap was imported from.
|
||||
pub crate_of_origin: u32,
|
||||
/// The complete source code
|
||||
@@ -566,6 +569,7 @@ impl Decodable for FileMap {
|
||||
Ok(FileMap {
|
||||
name,
|
||||
name_was_remapped,
|
||||
+ path: PathBuf::new(),
|
||||
// `crate_of_origin` has to be set by the importer.
|
||||
// This value matches up with rustc::hir::def_id::INVALID_CRATE.
|
||||
// That constant is not available here unfortunately :(
|
||||
@@ -591,6 +595,7 @@ impl fmt::Debug for FileMap {
|
||||
impl FileMap {
|
||||
pub fn new(name: FileName,
|
||||
name_was_remapped: bool,
|
||||
+ path: PathBuf,
|
||||
mut src: String,
|
||||
start_pos: BytePos) -> FileMap {
|
||||
remove_bom(&mut src);
|
||||
@@ -604,6 +609,7 @@ impl FileMap {
|
||||
FileMap {
|
||||
name,
|
||||
name_was_remapped,
|
||||
+ path,
|
||||
crate_of_origin: 0,
|
||||
src: Some(Rc::new(src)),
|
||||
src_hash,
|
||||
diff --git a/src/test/codegen/remap_path_prefix/aux_mod.rs b/src/test/codegen/remap_path_prefix/aux_mod.rs
|
||||
new file mode 100644
|
||||
index 0000000000..2a7019957a
|
||||
--- /dev/null
|
||||
+++ b/src/test/codegen/remap_path_prefix/aux_mod.rs
|
||||
@@ -0,0 +1,16 @@
|
||||
+// Copyright 2017 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.
|
||||
+
|
||||
+// ignore-test: this is not a test
|
||||
+
|
||||
+#[inline]
|
||||
+pub fn some_aux_mod_function() -> i32 {
|
||||
+ 1234
|
||||
+}
|
||||
diff --git a/src/test/codegen/remap_path_prefix/main.rs b/src/test/codegen/remap_path_prefix/main.rs
|
||||
index eb00c91ba5..c73739bb76 100644
|
||||
--- a/src/test/codegen/remap_path_prefix/main.rs
|
||||
+++ b/src/test/codegen/remap_path_prefix/main.rs
|
||||
@@ -16,12 +16,19 @@
|
||||
|
||||
extern crate remap_path_prefix_aux;
|
||||
|
||||
+// Here we check that submodules and include files are found using the path without
|
||||
+// remapping. This test requires that rustc is called with an absolute path.
|
||||
+mod aux_mod;
|
||||
+include!("aux_mod.rs");
|
||||
+
|
||||
// Here we check that the expansion of the file!() macro is mapped.
|
||||
// CHECK: internal constant [34 x i8] c"/the/src/remap_path_prefix/main.rs"
|
||||
pub static FILE_PATH: &'static str = file!();
|
||||
|
||||
fn main() {
|
||||
remap_path_prefix_aux::some_aux_function();
|
||||
+ aux_mod::some_aux_mod_function();
|
||||
+ some_aux_mod_function();
|
||||
}
|
||||
|
||||
// Here we check that local debuginfo is mapped correctly.
|
||||
--
|
||||
2.14.3
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 6a82f31d21ac7b85211e580585cc73ab2bdb0bc9 Mon Sep 17 00:00:00 2001
|
||||
From: Tyler Hall <tyler.hall@lexmark.com>
|
||||
Date: Sun, 29 Oct 2017 16:29:03 -0400
|
||||
Subject: [PATCH] librustc: always allow unstable options
|
||||
|
||||
---
|
||||
src/librustc/session/config.rs | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
|
||||
index 4b41572c1a..97381bc05c 100644
|
||||
--- a/src/librustc/session/config.rs
|
||||
+++ b/src/librustc/session/config.rs
|
||||
@@ -1703,8 +1703,6 @@ pub mod nightly_options {
|
||||
|
||||
pub fn check_nightly_options(matches: &getopts::Matches, flags: &[RustcOptGroup]) {
|
||||
let has_z_unstable_option = matches.opt_strs("Z").iter().any(|x| *x == "unstable-options");
|
||||
- let really_allows_unstable_options = UnstableFeatures::from_environment()
|
||||
- .is_nightly_build();
|
||||
|
||||
for opt in flags.iter() {
|
||||
if opt.stability == OptionStability::Stable {
|
||||
@@ -1719,17 +1717,6 @@ pub mod nightly_options {
|
||||
the flag `{}`",
|
||||
opt.name));
|
||||
}
|
||||
- if really_allows_unstable_options {
|
||||
- continue
|
||||
- }
|
||||
- match opt.stability {
|
||||
- OptionStability::Unstable => {
|
||||
- let msg = format!("the option `{}` is only accepted on the \
|
||||
- nightly compiler", opt.name);
|
||||
- early_error(ErrorOutputType::default(), &msg);
|
||||
- }
|
||||
- OptionStability::Stable => {}
|
||||
- }
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.14.2
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 6a82f31d21ac7b85211e580585cc73ab2bdb0bc9 Mon Sep 17 00:00:00 2001
|
||||
From: Tyler Hall <tyler.hall@lexmark.com>
|
||||
Date: Sun, 29 Oct 2017 16:29:03 -0400
|
||||
Subject: [PATCH] librustc: always allow unstable options
|
||||
|
||||
---
|
||||
src/librustc/session/config.rs | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs
|
||||
index 4b41572c1a..97381bc05c 100644
|
||||
--- a/src/librustc/session/config.rs
|
||||
+++ b/src/librustc/session/config.rs
|
||||
@@ -1703,8 +1703,6 @@ pub mod nightly_options {
|
||||
|
||||
pub fn check_nightly_options(matches: &getopts::Matches, flags: &[RustcOptGroup]) {
|
||||
let has_z_unstable_option = matches.opt_strs("Z").iter().any(|x| *x == "unstable-options");
|
||||
- let really_allows_unstable_options = UnstableFeatures::from_environment()
|
||||
- .is_nightly_build();
|
||||
|
||||
for opt in flags.iter() {
|
||||
if opt.stability == OptionStability::Stable {
|
||||
@@ -1719,17 +1717,6 @@ pub mod nightly_options {
|
||||
the flag `{}`",
|
||||
opt.name));
|
||||
}
|
||||
- if really_allows_unstable_options {
|
||||
- continue
|
||||
- }
|
||||
- match opt.stability {
|
||||
- OptionStability::Unstable => {
|
||||
- let msg = format!("the option `{}` is only accepted on the \
|
||||
- nightly compiler", opt.name);
|
||||
- early_error(ErrorOutputType::default(), &msg);
|
||||
- }
|
||||
- OptionStability::Stable => {}
|
||||
- }
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.14.2
|
||||
|
||||
@@ -2,24 +2,27 @@ SUMMARY = "Rust standard libaries"
|
||||
HOMEPAGE = "http://www.rust-lang.org"
|
||||
SECTION = "devel"
|
||||
LICENSE = "MIT | Apache-2.0"
|
||||
LIC_FILES_CHKSUM ="file://COPYRIGHT;md5=43e1f1fb9c0ee3af66693d8c4fecafa8"
|
||||
|
||||
RUSTLIB_DEP = ""
|
||||
inherit cargo
|
||||
|
||||
# Needed so cargo can find libbacktrace
|
||||
RUSTFLAGS += "-L ${STAGING_LIBDIR}"
|
||||
RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so"
|
||||
|
||||
S = "${RUSTSRC}/src/libstd"
|
||||
|
||||
do_compile_prepend () {
|
||||
cd ${S}/src/rustc/std_shim
|
||||
export CARGO_TARGET_DIR="${B}"
|
||||
# For Rust 1.12.1 and lower
|
||||
export RUSTC_BOOTSTRAP_KEY="${RS_KEY}"
|
||||
# For Rust 1.13.0 and newer
|
||||
export RUSTC_BOOTSTRAP="1"
|
||||
}
|
||||
|
||||
do_install () {
|
||||
mkdir -p ${D}${rustlibdir}
|
||||
|
||||
# With the incremental build support added in 1.24, the libstd deps directory also includes dependency
|
||||
# files that get installed. Those are really only needed to incrementally rebuild the libstd library
|
||||
# itself and don't need to be installed.
|
||||
rm ${B}/${TARGET_SYS}/release/deps/*.d
|
||||
cp ${B}/${TARGET_SYS}/release/deps/* ${D}${rustlibdir}
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
require rust-source-${PV}.inc
|
||||
require libstd-rs.inc
|
||||
|
||||
SRC_URI += "\
|
||||
crate://crates.io/gcc/0.3.27 \
|
||||
"
|
||||
|
||||
# not necessary from Rust 1.15.x and newer as its built
|
||||
# as a cargo crate with libstd
|
||||
DEPENDS += "compiler-rt (=${PV})"
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
require rust-source-${PV}.inc
|
||||
require libstd-rs.inc
|
||||
|
||||
EXTRA_OECONF = "--disable-rustbuild"
|
||||
|
||||
CARGO_BUILD_FLAGS += "--features 'jemalloc 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 \
|
||||
"
|
||||
139
recipes-devtools/rust/libstd-rs_1.20.0.bb
Normal file
139
recipes-devtools/rust/libstd-rs_1.20.0.bb
Normal file
@@ -0,0 +1,139 @@
|
||||
require rust-source-${PV}.inc
|
||||
require libstd-rs.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=12922f5565a22267bd82aaeb6d3548e5"
|
||||
|
||||
# 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/atty/0.2.2 \
|
||||
crate://crates.io/backtrace-sys/0.1.11 \
|
||||
crate://crates.io/backtrace/0.3.2 \
|
||||
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.25.0 \
|
||||
crate://crates.io/cmake/0.1.24 \
|
||||
crate://crates.io/crossbeam/0.2.10 \
|
||||
crate://crates.io/curl-sys/0.3.14 \
|
||||
crate://crates.io/curl/0.4.7 \
|
||||
crate://crates.io/dbghelp-sys/0.2.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/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/foreign-types/0.2.0 \
|
||||
crate://crates.io/fs2/0.4.2 \
|
||||
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/hamcrest/0.1.1 \
|
||||
crate://crates.io/handlebars/0.26.2 \
|
||||
crate://crates.io/hex/0.2.0 \
|
||||
crate://crates.io/idna/0.1.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.26 \
|
||||
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.7 \
|
||||
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.29 \
|
||||
crate://crates.io/num-bigint/0.1.39 \
|
||||
crate://crates.io/num-complex/0.1.38 \
|
||||
crate://crates.io/num-integer/0.1.34 \
|
||||
crate://crates.io/num-iter/0.1.33 \
|
||||
crate://crates.io/num-rational/0.1.38 \
|
||||
crate://crates.io/num-traits/0.1.39 \
|
||||
crate://crates.io/num/0.1.39 \
|
||||
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.15 \
|
||||
crate://crates.io/openssl/0.9.15 \
|
||||
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.3.15 \
|
||||
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-data/0.7.0 \
|
||||
crate://crates.io/rls-span/0.4.0 \
|
||||
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/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.7.0 \
|
||||
crate://crates.io/serde/1.0.10 \
|
||||
crate://crates.io/serde_derive/1.0.10 \
|
||||
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/stable_deref_trait/1.0.0 \
|
||||
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/term_size/0.3.0 \
|
||||
crate://crates.io/termcolor/0.3.2 \
|
||||
crate://crates.io/textwrap/0.6.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.1.30 \
|
||||
crate://crates.io/toml/0.4.2 \
|
||||
crate://crates.io/unicode-bidi/0.3.4 \
|
||||
crate://crates.io/unicode-normalization/0.1.5 \
|
||||
crate://crates.io/unicode-segmentation/1.1.0 \
|
||||
crate://crates.io/unicode-width/0.1.4 \
|
||||
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/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 \
|
||||
"
|
||||
170
recipes-devtools/rust/libstd-rs_1.21.0.bb
Normal file
170
recipes-devtools/rust/libstd-rs_1.21.0.bb
Normal file
@@ -0,0 +1,170 @@
|
||||
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 \
|
||||
"
|
||||
235
recipes-devtools/rust/libstd-rs_1.24.1.bb
Normal file
235
recipes-devtools/rust/libstd-rs_1.24.1.bb
Normal file
@@ -0,0 +1,235 @@
|
||||
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.4 \
|
||||
crate://crates.io/ansi_term/0.10.2 \
|
||||
crate://crates.io/ar/0.3.1 \
|
||||
crate://crates.io/atty/0.2.3 \
|
||||
crate://crates.io/backtrace-sys/0.1.16 \
|
||||
crate://crates.io/backtrace/0.3.4 \
|
||||
crate://crates.io/bitflags/0.7.0 \
|
||||
crate://crates.io/bitflags/0.9.1 \
|
||||
crate://crates.io/bitflags/1.0.1 \
|
||||
crate://crates.io/bufstream/0.1.3 \
|
||||
crate://crates.io/byteorder/1.2.1 \
|
||||
crate://crates.io/cargo_metadata/0.2.3 \
|
||||
crate://crates.io/cargo_metadata/0.4.0 \
|
||||
crate://crates.io/cc/1.0.3 \
|
||||
crate://crates.io/cfg-if/0.1.2 \
|
||||
crate://crates.io/clap/2.29.0 \
|
||||
crate://crates.io/cmake/0.1.29 \
|
||||
crate://crates.io/coco/0.1.1 \
|
||||
crate://crates.io/commoncrypto-sys/0.2.0 \
|
||||
crate://crates.io/commoncrypto/0.2.0 \
|
||||
crate://crates.io/compiletest_rs/0.3.3 \
|
||||
crate://crates.io/core-foundation-sys/0.4.6 \
|
||||
crate://crates.io/core-foundation/0.4.6 \
|
||||
crate://crates.io/crossbeam/0.2.10 \
|
||||
crate://crates.io/crossbeam/0.3.0 \
|
||||
crate://crates.io/crypto-hash/0.3.0 \
|
||||
crate://crates.io/cssparser-macros/0.3.0 \
|
||||
crate://crates.io/cssparser/0.13.7 \
|
||||
crate://crates.io/curl-sys/0.3.15 \
|
||||
crate://crates.io/curl/0.4.8 \
|
||||
crate://crates.io/dbghelp-sys/0.2.0 \
|
||||
crate://crates.io/debug_unreachable/0.1.1 \
|
||||
crate://crates.io/derive-new/0.5.0 \
|
||||
crate://crates.io/diff/0.1.11 \
|
||||
crate://crates.io/docopt/0.8.1 \
|
||||
crate://crates.io/dtoa/0.4.2 \
|
||||
crate://crates.io/duct/0.8.2 \
|
||||
crate://crates.io/either/1.4.0 \
|
||||
crate://crates.io/endian-type/0.1.2 \
|
||||
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.11.0 \
|
||||
crate://crates.io/error-chain/0.8.1 \
|
||||
crate://crates.io/failure/0.1.1 \
|
||||
crate://crates.io/failure_derive/0.1.1 \
|
||||
crate://crates.io/filetime/0.1.14 \
|
||||
crate://crates.io/flate2/1.0.1 \
|
||||
crate://crates.io/fnv/1.0.6 \
|
||||
crate://crates.io/foreign-types-shared/0.1.1 \
|
||||
crate://crates.io/foreign-types/0.3.2 \
|
||||
crate://crates.io/fs2/0.4.2 \
|
||||
crate://crates.io/fuchsia-zircon-sys/0.3.2 \
|
||||
crate://crates.io/fuchsia-zircon/0.3.2 \
|
||||
crate://crates.io/futf/0.1.3 \
|
||||
crate://crates.io/futures/0.1.17 \
|
||||
crate://crates.io/getopts/0.2.15 \
|
||||
crate://crates.io/git2-curl/0.7.0 \
|
||||
crate://crates.io/git2/0.6.10 \
|
||||
crate://crates.io/glob/0.2.11 \
|
||||
crate://crates.io/globset/0.2.1 \
|
||||
crate://crates.io/hamcrest/0.1.1 \
|
||||
crate://crates.io/handlebars/0.29.1 \
|
||||
crate://crates.io/hex/0.2.0 \
|
||||
crate://crates.io/home/0.3.0 \
|
||||
crate://crates.io/html-diff/0.0.5 \
|
||||
crate://crates.io/html5ever/0.20.0 \
|
||||
crate://crates.io/idna/0.1.4 \
|
||||
crate://crates.io/if_chain/0.1.2 \
|
||||
crate://crates.io/ignore/0.2.2 \
|
||||
crate://crates.io/itertools/0.6.5 \
|
||||
crate://crates.io/itoa/0.3.4 \
|
||||
crate://crates.io/jobserver/0.1.8 \
|
||||
crate://crates.io/json/0.11.12 \
|
||||
crate://crates.io/jsonrpc-core/8.0.1 \
|
||||
crate://crates.io/kernel32-sys/0.2.2 \
|
||||
crate://crates.io/kuchiki/0.6.0 \
|
||||
crate://crates.io/languageserver-types/0.16.0 \
|
||||
crate://crates.io/lazy_static/0.2.11 \
|
||||
crate://crates.io/lazy_static/1.0.0 \
|
||||
crate://crates.io/lazycell/0.5.1 \
|
||||
crate://crates.io/libc/0.2.34 \
|
||||
crate://crates.io/libgit2-sys/0.6.18 \
|
||||
crate://crates.io/libssh2-sys/0.2.6 \
|
||||
crate://crates.io/libz-sys/1.0.18 \
|
||||
crate://crates.io/log/0.3.9 \
|
||||
crate://crates.io/log/0.4.1 \
|
||||
crate://crates.io/log_settings/0.1.1 \
|
||||
crate://crates.io/lzma-sys/0.1.9 \
|
||||
crate://crates.io/mac/0.1.1 \
|
||||
crate://crates.io/markup5ever/0.5.0 \
|
||||
crate://crates.io/matches/0.1.6 \
|
||||
crate://crates.io/mdbook/0.0.26 \
|
||||
crate://crates.io/memchr/0.1.11 \
|
||||
crate://crates.io/memchr/1.0.2 \
|
||||
crate://crates.io/memchr/2.0.1 \
|
||||
crate://crates.io/miniz-sys/0.1.10 \
|
||||
crate://crates.io/miow/0.2.1 \
|
||||
crate://crates.io/net2/0.2.31 \
|
||||
crate://crates.io/nibble_vec/0.0.3 \
|
||||
crate://crates.io/nix/0.8.1 \
|
||||
crate://crates.io/num-bigint/0.1.41 \
|
||||
crate://crates.io/num-complex/0.1.41 \
|
||||
crate://crates.io/num-integer/0.1.35 \
|
||||
crate://crates.io/num-iter/0.1.34 \
|
||||
crate://crates.io/num-rational/0.1.40 \
|
||||
crate://crates.io/num-traits/0.1.41 \
|
||||
crate://crates.io/num/0.1.41 \
|
||||
crate://crates.io/num_cpus/1.7.0 \
|
||||
crate://crates.io/open/1.2.1 \
|
||||
crate://crates.io/openssl-probe/0.1.2 \
|
||||
crate://crates.io/openssl-sys/0.9.23 \
|
||||
crate://crates.io/openssl/0.9.23 \
|
||||
crate://crates.io/os_pipe/0.5.1 \
|
||||
crate://crates.io/owning_ref/0.3.3 \
|
||||
crate://crates.io/parking_lot/0.5.3 \
|
||||
crate://crates.io/parking_lot_core/0.2.9 \
|
||||
crate://crates.io/percent-encoding/1.0.1 \
|
||||
crate://crates.io/pest/0.3.3 \
|
||||
crate://crates.io/phf/0.7.21 \
|
||||
crate://crates.io/phf_codegen/0.7.21 \
|
||||
crate://crates.io/phf_generator/0.7.21 \
|
||||
crate://crates.io/phf_shared/0.7.21 \
|
||||
crate://crates.io/pkg-config/0.3.9 \
|
||||
crate://crates.io/precomputed-hash/0.1.1 \
|
||||
crate://crates.io/procedural-masquerade/0.1.5 \
|
||||
crate://crates.io/psapi-sys/0.1.1 \
|
||||
crate://crates.io/pulldown-cmark/0.0.15 \
|
||||
crate://crates.io/pulldown-cmark/0.1.0 \
|
||||
crate://crates.io/quick-error/1.2.1 \
|
||||
crate://crates.io/quine-mc_cluskey/0.2.4 \
|
||||
crate://crates.io/quote/0.3.15 \
|
||||
crate://crates.io/racer/2.0.12 \
|
||||
crate://crates.io/radix_trie/0.1.2 \
|
||||
crate://crates.io/rand/0.3.19 \
|
||||
crate://crates.io/rayon-core/1.3.0 \
|
||||
crate://crates.io/rayon/0.9.0 \
|
||||
crate://crates.io/redox_syscall/0.1.32 \
|
||||
crate://crates.io/redox_termios/0.1.1 \
|
||||
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.3 \
|
||||
crate://crates.io/rls-analysis/0.10.0 \
|
||||
crate://crates.io/rls-data/0.14.0 \
|
||||
crate://crates.io/rls-rustc/0.1.1 \
|
||||
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/same-file/0.1.3 \
|
||||
crate://crates.io/scoped-tls/0.1.0 \
|
||||
crate://crates.io/scopeguard/0.1.2 \
|
||||
crate://crates.io/scopeguard/0.3.3 \
|
||||
crate://crates.io/selectors/0.18.0 \
|
||||
crate://crates.io/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.6.0 \
|
||||
crate://crates.io/semver/0.8.0 \
|
||||
crate://crates.io/serde/1.0.25 \
|
||||
crate://crates.io/serde_derive/1.0.25 \
|
||||
crate://crates.io/serde_derive_internals/0.18.1 \
|
||||
crate://crates.io/serde_ignored/0.0.4 \
|
||||
crate://crates.io/serde_json/1.0.8 \
|
||||
crate://crates.io/shared_child/0.2.1 \
|
||||
crate://crates.io/shell-escape/0.1.3 \
|
||||
crate://crates.io/siphasher/0.2.2 \
|
||||
crate://crates.io/smallvec/0.3.3 \
|
||||
crate://crates.io/smallvec/0.6.0 \
|
||||
crate://crates.io/socket2/0.2.4 \
|
||||
crate://crates.io/stable_deref_trait/1.0.0 \
|
||||
crate://crates.io/string_cache/0.6.2 \
|
||||
crate://crates.io/string_cache_codegen/0.4.0 \
|
||||
crate://crates.io/string_cache_shared/0.3.0 \
|
||||
crate://crates.io/strsim/0.6.0 \
|
||||
crate://crates.io/syn/0.11.11 \
|
||||
crate://crates.io/synom/0.11.3 \
|
||||
crate://crates.io/synstructure/0.6.1 \
|
||||
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.14 \
|
||||
crate://crates.io/tempdir/0.3.5 \
|
||||
crate://crates.io/tendril/0.4.0 \
|
||||
crate://crates.io/term/0.4.6 \
|
||||
crate://crates.io/termcolor/0.3.3 \
|
||||
crate://crates.io/termion/1.5.1 \
|
||||
crate://crates.io/textwrap/0.9.0 \
|
||||
crate://crates.io/thread-id/2.0.0 \
|
||||
crate://crates.io/thread_local/0.2.7 \
|
||||
crate://crates.io/thread_local/0.3.5 \
|
||||
crate://crates.io/time/0.1.39 \
|
||||
crate://crates.io/toml/0.2.1 \
|
||||
crate://crates.io/toml/0.4.5 \
|
||||
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/0.1.1 \
|
||||
crate://crates.io/unreachable/1.0.0 \
|
||||
crate://crates.io/url/1.6.0 \
|
||||
crate://crates.io/url_serde/0.2.0 \
|
||||
crate://crates.io/userenv-sys/0.2.0 \
|
||||
crate://crates.io/utf-8/0.7.1 \
|
||||
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-i686-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi/0.2.8 \
|
||||
crate://crates.io/winapi/0.3.4 \
|
||||
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 \
|
||||
"
|
||||
@@ -1,2 +1,3 @@
|
||||
require rust-cross.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
@@ -1,2 +1,3 @@
|
||||
require rust-cross.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
4
recipes-devtools/rust/rust-cross_1.24.1.bb
Normal file
4
recipes-devtools/rust/rust-cross_1.24.1.bb
Normal file
@@ -0,0 +1,4 @@
|
||||
require rust-cross.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
|
||||
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa"
|
||||
inherit cmake pythonnative
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC' \
|
||||
-DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC;Mips' \
|
||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||
-DLLVM_BUILD_DOCS=OFF \
|
||||
-DLLVM_ENABLE_TERMINFO=OFF \
|
||||
@@ -35,10 +35,6 @@ do_compile_prepend_class-target() {
|
||||
sed -i 's:/lib\>:/${baselib}:g' ${S}/tools/llvm-config/llvm-config.cpp
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
|
||||
do_install_append_class-target() {
|
||||
# Disable checks on the native tools, since these should came from the native recipe
|
||||
sed -i -e 's/\(.*APPEND.*_IMPORT_CHECK_FILES_FOR_.*{_IMPORT_PREFIX}\/bin\/.*\)/#\1/' ${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
require rust-source-${PV}.inc
|
||||
require rust-llvm.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=b99eb43c934ceebecab85c6b9b1a08be"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
|
||||
|
||||
do_install_prepend () {
|
||||
# the install does a sed on this without installing the file
|
||||
@@ -1,7 +1,7 @@
|
||||
require rust-source-${PV}.inc
|
||||
require rust-llvm.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=43fdaa303c1c5589ad60f4ffc6a0b9ce"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
|
||||
|
||||
do_install_prepend () {
|
||||
# the install does a sed on this without installing the file
|
||||
16
recipes-devtools/rust/rust-llvm_1.24.1.bb
Normal file
16
recipes-devtools/rust/rust-llvm_1.24.1.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
require rust-source-${PV}.inc
|
||||
require rust-llvm.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
|
||||
|
||||
do_install_prepend () {
|
||||
# the install does a sed on this without installing the file
|
||||
# we don't need it for anything
|
||||
mkdir -p "${D}/usr/share/llvm/cmake"
|
||||
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
|
||||
}
|
||||
|
||||
do_install_append () {
|
||||
# we don't need any of this stuff to build Rust
|
||||
rm -rf "${D}/usr/lib/cmake"
|
||||
}
|
||||
26
recipes-devtools/rust/rust-snapshot-1.20.0.inc
Normal file
26
recipes-devtools/rust/rust-snapshot-1.20.0.inc
Normal file
@@ -0,0 +1,26 @@
|
||||
# Specifics for Rust 1.20.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.19.0"
|
||||
|
||||
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
CARGO_VERSION = "0.20.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] = "e5077b80cc953a1fb9c767aa039d5984"
|
||||
SRC_URI[rustc-snapshot.sha256sum] = "4c8df3088d17c8e06bf58d453d39bd521487defcefc8193203b80f0fb797d6fe"
|
||||
SRC_URI[rust-std-snapshot.md5sum] = "2bff47764df01c99f349908601c10478"
|
||||
SRC_URI[rust-std-snapshot.sha256sum] = "5905803e8a127f656bf253978692f0d6cf6c9206c527e4d6d7e981980618d1b6"
|
||||
SRC_URI[cargo-snapshot.md5sum] = "63aa861b029eec9f559f4fb5a10c287d"
|
||||
SRC_URI[cargo-snapshot.sha256sum] = "a677d13b01d00ad13edf75c7d1b484421c7fc09338bf9ed6d456b4685bb42ed1"
|
||||
26
recipes-devtools/rust/rust-snapshot-1.21.0.inc
Normal file
26
recipes-devtools/rust/rust-snapshot-1.21.0.inc
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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"
|
||||
26
recipes-devtools/rust/rust-snapshot-1.24.1.inc
Normal file
26
recipes-devtools/rust/rust-snapshot-1.24.1.inc
Normal file
@@ -0,0 +1,26 @@
|
||||
# Specifics for Rust 1.24.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.23.0"
|
||||
|
||||
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
CARGO_VERSION = "0.24.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] = "068fc6566772c4ce165cc547151f514c"
|
||||
SRC_URI[rustc-snapshot.sha256sum] = "27b124fd0d94c082978ff81e45f7b7c37e91d64714587829bf828d64d76524ee"
|
||||
SRC_URI[rust-std-snapshot.md5sum] = "f9f89caf41e3f9c092118272ceb5bf6b"
|
||||
SRC_URI[rust-std-snapshot.sha256sum] = "83c7351bdc4326caf785c208cff86682825dad4a89ccee705fa05f55ce7bd25b"
|
||||
SRC_URI[cargo-snapshot.md5sum] = "830041cfc8627d3f7187954993449cf9"
|
||||
SRC_URI[cargo-snapshot.sha256sum] = "ff8a454104aba20426ea898ed7515ec5da7de07d11733cdda17462455beb76e8"
|
||||
@@ -1,25 +0,0 @@
|
||||
# Specifics for Rust 1.12.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.11.0"
|
||||
RS_KEY = "5c6cf767"
|
||||
|
||||
RUST_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
|
||||
# These are x86_64-unknown-linux-gnu hashes, how can we add more?
|
||||
SRC_URI[rust-snapshot.md5sum] = "b83d7a1a90c2d80bef97a518022948c8"
|
||||
SRC_URI[rust-snapshot.sha256sum] = "e9d27a72900da33c1bbd0e59dd42fd6414c6bcdfa33593fb7c7360068406394a"
|
||||
|
||||
SRC_URI += "\
|
||||
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
|
||||
"
|
||||
SRC_URI[rust.md5sum] = "82db5a9cb9a051bf8ece2f5174cb273b"
|
||||
SRC_URI[rust.sha256sum] = "97913ae4cb255618aaacd1a534b11f343634b040b32656250d09d8d9ec02d3dc"
|
||||
|
||||
# later versions of rust change the directory that they unextract to
|
||||
RUSTSRC = "${WORKDIR}/rustc-${PV}"
|
||||
# set this as our default
|
||||
S = "${RUSTSRC}"
|
||||
@@ -1,24 +0,0 @@
|
||||
# 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_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}"
|
||||
|
||||
# These are x86_64-unknown-linux-gnu hashes, how can we add more?
|
||||
SRC_URI[rust-snapshot.md5sum] = "f178d9d6aad0f87c451f4b2f93170633"
|
||||
SRC_URI[rust-snapshot.sha256sum] = "0eeec4211aa872f24c220200a0c2b095bbfc9c0f737c1c5df2555967c8f36787"
|
||||
|
||||
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}"
|
||||
14
recipes-devtools/rust/rust-source-1.20.0.inc
Normal file
14
recipes-devtools/rust/rust-source-1.20.0.inc
Normal file
@@ -0,0 +1,14 @@
|
||||
# Specifics for Rust 1.20.0
|
||||
|
||||
SRC_URI += "\
|
||||
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
|
||||
"
|
||||
SRC_URI[rust.md5sum] = "1d3c5d25d8e6215e7d0b6d4d4c9835b9"
|
||||
SRC_URI[rust.sha256sum] = "2aa4875ff4472c6e35262bbb9052cb2623da3dae6084a858cc59d36f33f18214"
|
||||
|
||||
# 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=12922f5565a22267bd82aaeb6d3548e5"
|
||||
14
recipes-devtools/rust/rust-source-1.21.0.inc
Normal file
14
recipes-devtools/rust/rust-source-1.21.0.inc
Normal file
@@ -0,0 +1,14 @@
|
||||
# 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"
|
||||
18
recipes-devtools/rust/rust-source-1.24.1.inc
Normal file
18
recipes-devtools/rust/rust-source-1.24.1.inc
Normal file
@@ -0,0 +1,18 @@
|
||||
# Specifics for Rust 1.24.1
|
||||
|
||||
SRC_URI += " \
|
||||
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "50639bf359e658fcd713787d5898628d"
|
||||
SRC_URI[sha256sum] = "3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef"
|
||||
SRC_URI[rust.md5sum] = "50639bf359e658fcd713787d5898628d"
|
||||
SRC_URI[rust.sha256sum] = "3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef"
|
||||
|
||||
|
||||
# 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"
|
||||
@@ -2,21 +2,28 @@ SUMMARY = "Rust compiler and runtime libaries"
|
||||
HOMEPAGE = "http://www.rust-lang.org"
|
||||
SECTION = "devel"
|
||||
LICENSE = "MIT | Apache-2.0"
|
||||
LIC_FILES_CHKSUM ="file://COPYRIGHT;md5=43e1f1fb9c0ee3af66693d8c4fecafa8"
|
||||
|
||||
inherit rust
|
||||
inherit cargo_common
|
||||
|
||||
SRC_URI = "\
|
||||
https://static.rust-lang.org/dist/${RUST_SNAPSHOT}.tar.gz;name=rust-snapshot \
|
||||
"
|
||||
|
||||
DEPENDS += "file-native"
|
||||
DEPENDS += "file-native python-native"
|
||||
|
||||
# We generate local targets, and need to be able to locate them
|
||||
export RUST_TARGET_PATH="${WORKDIR}/targets/"
|
||||
|
||||
export FORCE_CRATE_HASH="${BB_TASKHASH}"
|
||||
|
||||
setup_cargo_environment () {
|
||||
# The first step is to build bootstrap and some early stage tools,
|
||||
# these are build for the same target as the snapshot, e.g.
|
||||
# x86_64-unknown-linux-gnu.
|
||||
# Later stages are build for the native target (i.e. target.x86_64-linux)
|
||||
cargo_common_do_configure
|
||||
|
||||
echo "[target.${RUST_BUILD_SYS}]" >> ${CARGO_HOME}/config
|
||||
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
|
||||
}
|
||||
|
||||
# Right now this is focused on arm-specific tune features.
|
||||
# We get away with this for now as one can only use x86-64 as the build host
|
||||
# (not arm).
|
||||
@@ -26,7 +33,7 @@ def llvm_features_from_tune(d):
|
||||
f = []
|
||||
feat = d.getVar('TUNE_FEATURES')
|
||||
if not feat:
|
||||
return ""
|
||||
return []
|
||||
feat = frozenset(feat.split())
|
||||
|
||||
if 'vfpv4' in feat:
|
||||
@@ -45,6 +52,12 @@ def llvm_features_from_tune(d):
|
||||
if 'aarch64' in feat:
|
||||
f.append("+v8")
|
||||
|
||||
if 'mips32' in feat:
|
||||
f.append("+mips32")
|
||||
|
||||
if 'mips32r2' in feat:
|
||||
f.append("+mips32r2")
|
||||
|
||||
v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
|
||||
if not feat.isdisjoint(v7):
|
||||
f.append("+v7")
|
||||
@@ -70,12 +83,7 @@ def llvm_features_from_tune(d):
|
||||
if 'cortexa17' in feat:
|
||||
f.append("+a17")
|
||||
|
||||
# Seems like it could be infered by the lack of vfp options, but we'll
|
||||
# include it anyhow
|
||||
if 'soft' in feat:
|
||||
f.append("+soft-float")
|
||||
|
||||
return ','.join(f)
|
||||
return f
|
||||
|
||||
# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
|
||||
# this should go away when https://github.com/rust-lang/rust/pull/31709 is
|
||||
@@ -84,7 +92,7 @@ def llvm_features_from_cc_arch(d):
|
||||
f = []
|
||||
feat = d.getVar('TARGET_CC_ARCH')
|
||||
if not feat:
|
||||
return ""
|
||||
return []
|
||||
feat = frozenset(feat.split())
|
||||
|
||||
if '-mmmx' in feat:
|
||||
@@ -108,13 +116,27 @@ def llvm_features_from_cc_arch(d):
|
||||
if '-mavx2' in feat:
|
||||
f.append("+avx2")
|
||||
|
||||
return ','.join(f)
|
||||
return f
|
||||
|
||||
def llvm_features_from_target_fpu(d):
|
||||
# TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
|
||||
# ABI. There is no option for hard.
|
||||
|
||||
fpu = d.getVar('TARGET_FPU', True)
|
||||
return ["+soft-float"] if fpu == "soft" else []
|
||||
|
||||
def llvm_features(d):
|
||||
return ','.join(llvm_features_from_tune(d) +
|
||||
llvm_features_from_cc_arch(d) +
|
||||
llvm_features_from_target_fpu(d))
|
||||
|
||||
## arm-unknown-linux-gnueabihf
|
||||
DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
|
||||
LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
|
||||
TARGET_ENDIAN[arm] = "little"
|
||||
TARGET_POINTER_WIDTH[arm] = "32"
|
||||
TARGET_C_INT_WIDTH[arm] = "32"
|
||||
MAX_ATOMIC_WIDTH[arm] = "64"
|
||||
FEATURES[arm] = "+v6,+vfp2"
|
||||
|
||||
## aarch64-unknown-linux-gnu
|
||||
@@ -122,24 +144,48 @@ DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
|
||||
LLVM_TARGET[aarch64] = "aarch64-unknown-linux-gnu"
|
||||
TARGET_ENDIAN[aarch64] = "little"
|
||||
TARGET_POINTER_WIDTH[aarch64] = "64"
|
||||
TARGET_C_INT_WIDTH[aarch64] = "64"
|
||||
MAX_ATOMIC_WIDTH[aarch64] = "128"
|
||||
|
||||
## x86_64-unknown-linux-gnu
|
||||
DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
LLVM_TARGET[x86_64] = "x86_64-unknown-linux-gnu"
|
||||
TARGET_ENDIAN[x86_64] = "little"
|
||||
TARGET_POINTER_WIDTH[x86_64] = "64"
|
||||
TARGET_C_INT_WIDTH[x86_64] = "64"
|
||||
MAX_ATOMIC_WIDTH[x86_64] = "64"
|
||||
|
||||
## i686-unknown-linux-gnu
|
||||
DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
|
||||
LLVM_TARGET[i686] = "i686-unknown-linux-gnu"
|
||||
TARGET_ENDIAN[i686] = "little"
|
||||
TARGET_POINTER_WIDTH[i686] = "32"
|
||||
TARGET_C_INT_WIDTH[i686] = "32"
|
||||
MAX_ATOMIC_WIDTH[i686] = "64"
|
||||
|
||||
## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-gnu above
|
||||
DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
|
||||
LLVM_TARGET[i586] = "i586-unknown-linux-gnu"
|
||||
TARGET_ENDIAN[i586] = "little"
|
||||
TARGET_POINTER_WIDTH[i586] = "32"
|
||||
TARGET_C_INT_WIDTH[i586] = "32"
|
||||
MAX_ATOMIC_WIDTH[i586] = "64"
|
||||
|
||||
## mips-unknown-linux-gnu
|
||||
DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
|
||||
LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
|
||||
TARGET_ENDIAN[mips] = "big"
|
||||
TARGET_POINTER_WIDTH[mips] = "32"
|
||||
TARGET_C_INT_WIDTH[mips] = "32"
|
||||
MAX_ATOMIC_WIDTH[mips] = "32"
|
||||
|
||||
## mipsel-unknown-linux-gnu
|
||||
DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
|
||||
LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
|
||||
TARGET_ENDIAN[mipsel] = "little"
|
||||
TARGET_POINTER_WIDTH[mipsel] = "32"
|
||||
TARGET_C_INT_WIDTH[mipsel] = "32"
|
||||
MAX_ATOMIC_WIDTH[mipsel] = "32"
|
||||
|
||||
def arch_for(d, thing):
|
||||
return d.getVar('{}_ARCH'.format(thing))
|
||||
@@ -150,26 +196,13 @@ def sys_for(d, thing):
|
||||
def prefix_for(d, thing):
|
||||
return d.getVar('{}_PREFIX'.format(thing))
|
||||
|
||||
## Note: TOOLCHAIN_OPTIONS is set to "" by native.bbclass and cross.bbclass,
|
||||
## which prevents us from grabbing them when building a cross compiler (native doesn't matter).
|
||||
## We workaround this in internal-rust-cross.bbclass.
|
||||
def cflags_for(d, thing):
|
||||
cc_arch = d.getVar('{}_CC_ARCH'.format(thing)) or ""
|
||||
flags = d.getVar('{}_CFLAGS'.format(thing)) or ""
|
||||
tc = d.getVar('TOOLCHAIN_OPTIONS') or ""
|
||||
return ' '.join([cc_arch, flags, tc])
|
||||
|
||||
def cxxflags_for(d, thing):
|
||||
cc_arch = d.getVar('{}_CC_ARCH'.format(thing)) or ""
|
||||
flags = d.getVar('{}_CXXFLAGS'.format(thing)) or ""
|
||||
tc = d.getVar('TOOLCHAIN_OPTIONS') or ""
|
||||
return ' '.join([cc_arch, flags, tc])
|
||||
|
||||
# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
|
||||
# rust's internals won't choke on.
|
||||
def arch_to_rust_target_arch(arch):
|
||||
if arch == "i586" or arch == "i686":
|
||||
return "x86"
|
||||
elif arch == "mipsel":
|
||||
return "mips"
|
||||
else:
|
||||
return arch
|
||||
|
||||
@@ -185,20 +218,30 @@ def llvm_cpu(d):
|
||||
trans['i686'] = "i686"
|
||||
trans['i586'] = "i586"
|
||||
|
||||
if target in ["mips", "mipsel"]:
|
||||
feat = frozenset(d.getVar('TUNE_FEATURES').split())
|
||||
if "mips32r2" in feat:
|
||||
trans['mipsel'] = "mips32r2"
|
||||
trans['mips'] = "mips32r2"
|
||||
elif "mips32" in feat:
|
||||
trans['mipsel'] = "mips32"
|
||||
trans['mips'] = "mips32"
|
||||
|
||||
try:
|
||||
return trans[cpu]
|
||||
except:
|
||||
return trans.get(target, "generic")
|
||||
|
||||
TARGET_LLVM_CPU="${@llvm_cpu(d)}"
|
||||
TARGET_LLVM_FEATURES = "${@llvm_features_from_tune(d)} ${@llvm_features_from_cc_arch(d)}"
|
||||
TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
|
||||
|
||||
# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
|
||||
# (original) target.
|
||||
TARGET_LLVM_FEATURES_class-native = "${@llvm_features_from_cc_arch(d)}"
|
||||
TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
|
||||
|
||||
def rust_gen_target(d, thing, wd):
|
||||
import json
|
||||
from distutils.version import LooseVersion
|
||||
arch = arch_for(d, thing)
|
||||
sys = sys_for(d, thing)
|
||||
prefix = prefix_for(d, thing)
|
||||
@@ -215,29 +258,39 @@ def rust_gen_target(d, thing, wd):
|
||||
tspec = {}
|
||||
tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
|
||||
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
|
||||
tspec['max-atomic-width'] = d.getVarFlag('MAX_ATOMIC_WIDTH', arch)
|
||||
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
|
||||
tspec['target-word-size'] = tspec['target-pointer-width']
|
||||
tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
|
||||
tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
|
||||
tspec['arch'] = arch_to_rust_target_arch(arch)
|
||||
tspec['os'] = "linux"
|
||||
tspec['env'] = "gnu"
|
||||
tspec['vendor'] = "unknown"
|
||||
tspec['target-family'] = "unix"
|
||||
tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
|
||||
tspec['objcopy'] = "{}objcopy".format(prefix)
|
||||
tspec['ar'] = "{}ar".format(prefix)
|
||||
tspec['cpu'] = cpu
|
||||
if features is not "":
|
||||
tspec['features'] = features
|
||||
tspec['dynamic-linking'] = True
|
||||
tspec['executables'] = True
|
||||
tspec['morestack'] = True
|
||||
tspec['linker-is-gnu'] = True
|
||||
tspec['linker-flavor'] = "gcc"
|
||||
tspec['has-rpath'] = True
|
||||
tspec['has-elf-tls'] = True
|
||||
tspec['position-independent-executables'] = True
|
||||
tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
|
||||
|
||||
# Don't use jemalloc as it doesn't work for many targets.
|
||||
# https://github.com/rust-lang/rust/pull/37392
|
||||
# From 1.20.0 and forward, system allocator is the default.
|
||||
if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
|
||||
tspec['exe-allocation-crate'] = "alloc_system"
|
||||
tspec['lib-allocation-crate'] = "alloc_system"
|
||||
|
||||
# write out the target spec json file
|
||||
with open(wd + sys + '.json', 'w') as f:
|
||||
json.dump(tspec, f)
|
||||
json.dump(tspec, f, indent=4)
|
||||
|
||||
|
||||
python do_rust_gen_targets () {
|
||||
@@ -252,128 +305,86 @@ python do_rust_gen_targets () {
|
||||
addtask rust_gen_targets after do_patch before do_compile
|
||||
do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
|
||||
|
||||
def rust_gen_mk_cfg(d, thing):
|
||||
''''
|
||||
Rust's build system adds support for new archs via 2 things:
|
||||
1. a file in mk/cfg which defines how the runtime libraries are built
|
||||
2. and rustc arch definition either built into the compiler or supplied as a .json file
|
||||
|
||||
This generates a new #1 for the given 'thing' (one of HOST, TARGET, BUILD)
|
||||
using a "similar" config that rust already supplies as a template.
|
||||
do_rust_setup_snapshot () {
|
||||
for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
|
||||
"${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
|
||||
done
|
||||
|
||||
Note that the configure process also depends on the existence of #1, so we
|
||||
have to run this before do_configure
|
||||
'''
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
rust_base_sys = rust_base_triple(d, thing)
|
||||
arch = arch_for(d, thing)
|
||||
sys = sys_for(d, thing)
|
||||
prefix = prefix_for(d, thing)
|
||||
llvm_target = d.getVarFlag('LLVM_TARGET', arch)
|
||||
ldflags = d.getVar('LDFLAGS') + d.getVar('HOST_CC_ARCH') + d.getVar('TOOLCHAIN_OPTIONS')
|
||||
|
||||
b = os.path.join(d.getVar('S'), 'mk', 'cfg')
|
||||
o = open(os.path.join(b, sys_for(d, thing) + '.mk'), 'w')
|
||||
i = open(os.path.join(b, rust_base_sys + '.mk'), 'r')
|
||||
|
||||
r = subprocess.call(['sed',
|
||||
# CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
|
||||
# wide range of targets (not just HOST). Yocto's settings for them will
|
||||
# be inappropriate, avoid having random targets try to use them, we'll
|
||||
# add as needed.
|
||||
'-e', 's/$(CFLAGS)//',
|
||||
'-e', 's/$(CXXFLAGS)//',
|
||||
'-e', 's/$(CPPFLAGS)//',
|
||||
'-e', 's/$(LDFLAGS)//',
|
||||
|
||||
# update all triplets to the new one
|
||||
'-e', 's/{}/{}/g'.format(rust_base_sys, sys),
|
||||
|
||||
# Replace tools with our own (CROSS_PREFIX is appended to all tools
|
||||
# by rust's build system). We delete and then insert this because not
|
||||
# all targets define it.
|
||||
'-e', 's/^CROSS_PREFIX_{}.*$//'.format(sys),
|
||||
'-e', '2 a CROSS_PREFIX_{} := {}'.format(sys, prefix),
|
||||
'-e', 's/^CFG_LLVM_TARGET_.*$//',
|
||||
'-e', '2 a CFG_LLVM_TARGET_{} := {}'.format(sys, llvm_target),
|
||||
'-e', 's/^CC_{}=.*$/CC_{} := gcc/'.format(sys, sys),
|
||||
'-e', 's/^CXX_{}.*$/CXX_{} := g++/'.format(sys, sys),
|
||||
'-e', 's/^CPP_{}.*$/CPP_{} := gcc -E/'.format(sys, sys),
|
||||
'-e', 's/^AR_{}.*$/AR_{} := ar/'.format(sys, sys),
|
||||
|
||||
# Some targets don't have LINK even though it is required to build.
|
||||
'-e', 's/^LINK_{}.*$//'.format(sys),
|
||||
'-e', '2 a LINK_{} := gcc'.format(sys),
|
||||
|
||||
# Append our flags to the existing ones
|
||||
'-e', '/^CFG_JEMALLOC_CFLAGS/ s;$; {};'.format(cflags_for(d, thing)),
|
||||
'-e', '/^CFG_GCCISH_CFLAGS/ s;$; {};'.format(cflags_for(d, thing)),
|
||||
'-e', '/^CFG_GCCISH_CXXFLAGS/ s;$; {};'.format(cxxflags_for(d, thing)),
|
||||
'-e', '/^CFG_GCCISH_LINK_FLAGS/ s;$; {};'.format(ldflags),
|
||||
|
||||
# May need to add: CFG_LLC_FLAGS_{}
|
||||
], stdout=o, stdin=i)
|
||||
if r:
|
||||
raise Exception
|
||||
o.write("OBJCOPY_{} := {}objcopy\n".format(sys, prefix))
|
||||
# Note: this isn't how this variable is supposed to be used, but for
|
||||
# non-msvc platforms nothing else touches it.
|
||||
# These are the only extra flags passed to the rustllvm (c++ code) build.
|
||||
# These are only used for host (even though we emit them for all targets)
|
||||
# Without this, there are link failures due to GLIBC_CXX11_ABI issues in
|
||||
# certain setups.
|
||||
o.write("EXTRA_RUSTLLVM_CXXFLAGS_{} := {}\n".format(sys, cxxflags_for(d, thing)))
|
||||
o.close()
|
||||
i.close()
|
||||
|
||||
python do_rust_arch_fixup () {
|
||||
for thing in ['BUILD', 'HOST', 'TARGET']:
|
||||
bb.debug(1, "rust_gen_mk_cfg for " + thing)
|
||||
rust_gen_mk_cfg(d, thing)
|
||||
# Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
|
||||
# and fail without it there.
|
||||
mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
|
||||
ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
|
||||
}
|
||||
addtask rust_arch_fixup before do_configure after do_patch
|
||||
do_rust_arch_fixup[dirs] += "${S}/mk/cfg"
|
||||
addtask rust_setup_snapshot after do_unpack before do_configure
|
||||
do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
|
||||
|
||||
# prevent the rust-installer scripts from calling ldconfig
|
||||
export CFG_DISABLE_LDCONFIG="notempty"
|
||||
|
||||
# rust's configure doesn't recognize --disable-static, so remove it.
|
||||
DISABLE_STATIC = ""
|
||||
python do_configure() {
|
||||
import json
|
||||
try:
|
||||
import configparser
|
||||
except ImportError:
|
||||
import ConfigParser as configparser
|
||||
|
||||
do_configure () {
|
||||
# FIXME: target_prefix vs prefix, see cross.bbclass
|
||||
# toml is rather similar to standard ini like format except it likes values
|
||||
# that look more JSON like. So for our purposes simply escaping all values
|
||||
# as JSON seem to work fine.
|
||||
|
||||
# - rpath is required otherwise rustc fails to resolve symbols
|
||||
# - submodule management is done by bitbake's fetching
|
||||
${S}/configure \
|
||||
"--enable-rpath" \
|
||||
"--disable-docs" \
|
||||
"--disable-manage-submodules" \
|
||||
"--disable-debug" \
|
||||
"--enable-optimize" \
|
||||
"--enable-optimize-cxx" \
|
||||
"--disable-llvm-version-check" \
|
||||
"--llvm-root=${STAGING_DIR_NATIVE}/${prefix_native}" \
|
||||
"--enable-optimize-tests" \
|
||||
"--release-channel=stable" \
|
||||
"--prefix=${prefix}" \
|
||||
"--target=${TARGET_SYS}" \
|
||||
"--host=${HOST_SYS}" \
|
||||
"--build=${BUILD_SYS}" \
|
||||
"--localstatedir=${localstatedir}" \
|
||||
"--sysconfdir=${sysconfdir}" \
|
||||
"--datadir=${datadir}" \
|
||||
"--infodir=${infodir}" \
|
||||
"--mandir=${mandir}" \
|
||||
"--libdir=${libdir}" \
|
||||
"--enable-local-rust" \
|
||||
"--local-rust-root=${WORKDIR}/${RUST_SNAPSHOT}/rustc" \
|
||||
${EXTRA_OECONF}
|
||||
e = lambda s: json.dumps(s)
|
||||
|
||||
config = configparser.RawConfigParser()
|
||||
|
||||
# [target.ARCH-poky-linux]
|
||||
target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
|
||||
config.add_section(target_section)
|
||||
|
||||
llvm_config = d.expand("${STAGING_DIR_NATIVE}${bindir_native}/llvm-config")
|
||||
config.set(target_section, "llvm-config", e(llvm_config))
|
||||
|
||||
config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
|
||||
config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
|
||||
|
||||
# [rust]
|
||||
config.add_section("rust")
|
||||
config.set("rust", "rpath", e(True))
|
||||
config.set("rust", "channel", e("stable"))
|
||||
|
||||
# Don't use jemalloc as it doesn't work for many targets.
|
||||
# https://github.com/rust-lang/rust/pull/37392
|
||||
config.set("rust", "use-jemalloc", e(False))
|
||||
|
||||
# Whether or not to optimize the compiler and standard library
|
||||
config.set("rust", "optimize", e(True))
|
||||
|
||||
# [build]
|
||||
config.add_section("build")
|
||||
config.set("build", "submodules", e(False))
|
||||
config.set("build", "docs", e(False))
|
||||
|
||||
rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
|
||||
config.set("build", "rustc", e(rustc))
|
||||
|
||||
cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
|
||||
config.set("build", "cargo", e(cargo))
|
||||
|
||||
targets = [d.getVar("TARGET_SYS", True)]
|
||||
config.set("build", "target", e(targets))
|
||||
|
||||
hosts = [d.getVar("HOST_SYS", True)]
|
||||
config.set("build", "host", e(targets))
|
||||
|
||||
config.set("build", "build", e(d.getVar("BUILD_SYS", True)))
|
||||
|
||||
with open("config.toml", "w") as f:
|
||||
config.write(f)
|
||||
|
||||
# set up ${WORKDIR}/cargo_home
|
||||
bb.build.exec_func("setup_cargo_environment", d)
|
||||
}
|
||||
|
||||
rust_runmake () {
|
||||
|
||||
rust_runx () {
|
||||
echo "COMPILE ${PN}" "$@"
|
||||
|
||||
# CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
|
||||
@@ -384,15 +395,27 @@ rust_runmake () {
|
||||
unset CXXFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
oe_runmake "VERBOSE=1" "$@"
|
||||
oe_cargo_fix_env
|
||||
|
||||
python src/bootstrap/bootstrap.py "$@" --verbose
|
||||
}
|
||||
|
||||
|
||||
do_compile () {
|
||||
rust_runmake
|
||||
rust_runx build
|
||||
}
|
||||
|
||||
rust_do_install () {
|
||||
rust_runmake DESTDIR="${D}" install
|
||||
|
||||
rust_do_dist_install () {
|
||||
rust_runx dist
|
||||
|
||||
for installer in "build/tmp/dist/rustc"*"/install.sh"; do
|
||||
"${installer}" --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
|
||||
done
|
||||
|
||||
for installer in "build/tmp/dist/rust-std"*"/install.sh"; do
|
||||
"${installer}" --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
|
||||
done
|
||||
|
||||
# Install our custom target.json files
|
||||
local td="${D}${libdir}/rustlib/"
|
||||
@@ -401,10 +424,6 @@ rust_do_install () {
|
||||
install -m 0644 "$tgt" "$td"
|
||||
done
|
||||
|
||||
# Remove any files directly installed into libdir to avoid
|
||||
# conflicts between cross and native
|
||||
rm -f ${D}${libdir}/lib*.so
|
||||
|
||||
# cleanup after rust-installer since we don't need these bits
|
||||
rm ${D}/${libdir}/rustlib/install.log
|
||||
rm ${D}/${libdir}/rustlib/rust-installer-version
|
||||
@@ -412,7 +431,8 @@ rust_do_install () {
|
||||
rm ${D}/${libdir}/rustlib/components
|
||||
}
|
||||
|
||||
|
||||
do_install () {
|
||||
rust_do_install
|
||||
rust_do_dist_install
|
||||
}
|
||||
# ex: sts=4 et sw=4 ts=8
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
require rust.inc
|
||||
require rust-source-${PV}.inc
|
||||
|
||||
# the configure script always requires cmake so despite
|
||||
# rust not needing this (only rust-llvm needs it) we must
|
||||
# have it for the configure script to succeed.
|
||||
DEPENDS += "cmake-native"
|
||||
|
||||
SRC_URI += " \
|
||||
file://rust-${PV}/0001-Target-add-default-target.json-path-libdir-rust-targ.patch \
|
||||
file://rust-${PV}/0002-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch \
|
||||
file://rust-${PV}/0005-std-thread_local-workaround-for-NULL-__dso_handle.patch \
|
||||
file://rust-${PV}/0007-Allow-overriding-crate_hash-with-C-crate_hash.patch \
|
||||
file://rust-${PV}/0008-mk-platform.mk-pass-C-crate_hash-to-builds.patch \
|
||||
"
|
||||
|
||||
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"
|
||||
@@ -1,18 +0,0 @@
|
||||
require rust.inc
|
||||
require rust-source-${PV}.inc
|
||||
|
||||
EXTRA_OECONF = "--disable-rustbuild"
|
||||
|
||||
SRC_URI += " \
|
||||
file://rust-${PV}/0001-Target-add-default-target.json-path-libdir-rust-targ.patch \
|
||||
file://rust-${PV}/0003-std-thread_local-workaround-for-NULL-__dso_handle.patch \
|
||||
"
|
||||
|
||||
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"
|
||||
143
recipes-devtools/rust/rust_1.20.0.bb
Normal file
143
recipes-devtools/rust/rust_1.20.0.bb
Normal file
@@ -0,0 +1,143 @@
|
||||
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/atty/0.2.2 \
|
||||
crate://crates.io/backtrace-sys/0.1.11 \
|
||||
crate://crates.io/backtrace/0.3.2 \
|
||||
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.25.0 \
|
||||
crate://crates.io/cmake/0.1.24 \
|
||||
crate://crates.io/crossbeam/0.2.10 \
|
||||
crate://crates.io/curl-sys/0.3.14 \
|
||||
crate://crates.io/curl/0.4.7 \
|
||||
crate://crates.io/dbghelp-sys/0.2.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/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/foreign-types/0.2.0 \
|
||||
crate://crates.io/fs2/0.4.2 \
|
||||
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/hamcrest/0.1.1 \
|
||||
crate://crates.io/handlebars/0.26.2 \
|
||||
crate://crates.io/hex/0.2.0 \
|
||||
crate://crates.io/idna/0.1.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.26 \
|
||||
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.7 \
|
||||
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.29 \
|
||||
crate://crates.io/num-bigint/0.1.39 \
|
||||
crate://crates.io/num-complex/0.1.38 \
|
||||
crate://crates.io/num-integer/0.1.34 \
|
||||
crate://crates.io/num-iter/0.1.33 \
|
||||
crate://crates.io/num-rational/0.1.38 \
|
||||
crate://crates.io/num-traits/0.1.39 \
|
||||
crate://crates.io/num/0.1.39 \
|
||||
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.15 \
|
||||
crate://crates.io/openssl/0.9.15 \
|
||||
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.3.15 \
|
||||
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-data/0.7.0 \
|
||||
crate://crates.io/rls-span/0.4.0 \
|
||||
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/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.7.0 \
|
||||
crate://crates.io/serde/1.0.10 \
|
||||
crate://crates.io/serde_derive/1.0.10 \
|
||||
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/stable_deref_trait/1.0.0 \
|
||||
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/term_size/0.3.0 \
|
||||
crate://crates.io/termcolor/0.3.2 \
|
||||
crate://crates.io/textwrap/0.6.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.1.30 \
|
||||
crate://crates.io/toml/0.4.2 \
|
||||
crate://crates.io/unicode-bidi/0.3.4 \
|
||||
crate://crates.io/unicode-normalization/0.1.5 \
|
||||
crate://crates.io/unicode-segmentation/1.1.0 \
|
||||
crate://crates.io/unicode-width/0.1.4 \
|
||||
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/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"
|
||||
177
recipes-devtools/rust/rust_1.21.0.bb
Normal file
177
recipes-devtools/rust/rust_1.21.0.bb
Normal file
@@ -0,0 +1,177 @@
|
||||
require rust.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
|
||||
SRC_URI += "file://rust-${PV}/0001-librustc-always-allow-unstable-options.patch"
|
||||
SRC_URI += "file://rust-${PV}/0001-Don-t-use-remapped-path-when-loading-modules-and-inc.patch"
|
||||
|
||||
# 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"
|
||||
241
recipes-devtools/rust/rust_1.24.1.bb
Normal file
241
recipes-devtools/rust/rust_1.24.1.bb
Normal file
@@ -0,0 +1,241 @@
|
||||
require rust.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
|
||||
SRC_URI += "file://rust-${PV}/0001-librustc-always-allow-unstable-options.patch"
|
||||
|
||||
# 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.4 \
|
||||
crate://crates.io/ansi_term/0.10.2 \
|
||||
crate://crates.io/ar/0.3.1 \
|
||||
crate://crates.io/atty/0.2.3 \
|
||||
crate://crates.io/backtrace-sys/0.1.16 \
|
||||
crate://crates.io/backtrace/0.3.4 \
|
||||
crate://crates.io/bitflags/0.7.0 \
|
||||
crate://crates.io/bitflags/0.9.1 \
|
||||
crate://crates.io/bitflags/1.0.1 \
|
||||
crate://crates.io/bufstream/0.1.3 \
|
||||
crate://crates.io/byteorder/1.2.1 \
|
||||
crate://crates.io/cargo_metadata/0.2.3 \
|
||||
crate://crates.io/cargo_metadata/0.4.0 \
|
||||
crate://crates.io/cc/1.0.3 \
|
||||
crate://crates.io/cfg-if/0.1.2 \
|
||||
crate://crates.io/clap/2.29.0 \
|
||||
crate://crates.io/cmake/0.1.29 \
|
||||
crate://crates.io/coco/0.1.1 \
|
||||
crate://crates.io/commoncrypto-sys/0.2.0 \
|
||||
crate://crates.io/commoncrypto/0.2.0 \
|
||||
crate://crates.io/compiletest_rs/0.3.3 \
|
||||
crate://crates.io/core-foundation-sys/0.4.6 \
|
||||
crate://crates.io/core-foundation/0.4.6 \
|
||||
crate://crates.io/crossbeam/0.2.10 \
|
||||
crate://crates.io/crossbeam/0.3.0 \
|
||||
crate://crates.io/crypto-hash/0.3.0 \
|
||||
crate://crates.io/cssparser-macros/0.3.0 \
|
||||
crate://crates.io/cssparser/0.13.7 \
|
||||
crate://crates.io/curl-sys/0.3.15 \
|
||||
crate://crates.io/curl/0.4.8 \
|
||||
crate://crates.io/dbghelp-sys/0.2.0 \
|
||||
crate://crates.io/debug_unreachable/0.1.1 \
|
||||
crate://crates.io/derive-new/0.5.0 \
|
||||
crate://crates.io/diff/0.1.11 \
|
||||
crate://crates.io/docopt/0.8.1 \
|
||||
crate://crates.io/dtoa/0.4.2 \
|
||||
crate://crates.io/duct/0.8.2 \
|
||||
crate://crates.io/either/1.4.0 \
|
||||
crate://crates.io/endian-type/0.1.2 \
|
||||
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.11.0 \
|
||||
crate://crates.io/error-chain/0.8.1 \
|
||||
crate://crates.io/failure/0.1.1 \
|
||||
crate://crates.io/failure_derive/0.1.1 \
|
||||
crate://crates.io/filetime/0.1.14 \
|
||||
crate://crates.io/flate2/1.0.1 \
|
||||
crate://crates.io/fnv/1.0.6 \
|
||||
crate://crates.io/foreign-types-shared/0.1.1 \
|
||||
crate://crates.io/foreign-types/0.3.2 \
|
||||
crate://crates.io/fs2/0.4.2 \
|
||||
crate://crates.io/fuchsia-zircon-sys/0.3.2 \
|
||||
crate://crates.io/fuchsia-zircon/0.3.2 \
|
||||
crate://crates.io/futf/0.1.3 \
|
||||
crate://crates.io/futures/0.1.17 \
|
||||
crate://crates.io/getopts/0.2.15 \
|
||||
crate://crates.io/git2-curl/0.7.0 \
|
||||
crate://crates.io/git2/0.6.10 \
|
||||
crate://crates.io/glob/0.2.11 \
|
||||
crate://crates.io/globset/0.2.1 \
|
||||
crate://crates.io/hamcrest/0.1.1 \
|
||||
crate://crates.io/handlebars/0.29.1 \
|
||||
crate://crates.io/hex/0.2.0 \
|
||||
crate://crates.io/home/0.3.0 \
|
||||
crate://crates.io/html-diff/0.0.5 \
|
||||
crate://crates.io/html5ever/0.20.0 \
|
||||
crate://crates.io/idna/0.1.4 \
|
||||
crate://crates.io/if_chain/0.1.2 \
|
||||
crate://crates.io/ignore/0.2.2 \
|
||||
crate://crates.io/itertools/0.6.5 \
|
||||
crate://crates.io/itoa/0.3.4 \
|
||||
crate://crates.io/jobserver/0.1.8 \
|
||||
crate://crates.io/json/0.11.12 \
|
||||
crate://crates.io/jsonrpc-core/8.0.1 \
|
||||
crate://crates.io/kernel32-sys/0.2.2 \
|
||||
crate://crates.io/kuchiki/0.6.0 \
|
||||
crate://crates.io/languageserver-types/0.16.0 \
|
||||
crate://crates.io/lazy_static/0.2.11 \
|
||||
crate://crates.io/lazy_static/1.0.0 \
|
||||
crate://crates.io/lazycell/0.5.1 \
|
||||
crate://crates.io/libc/0.2.34 \
|
||||
crate://crates.io/libgit2-sys/0.6.18 \
|
||||
crate://crates.io/libssh2-sys/0.2.6 \
|
||||
crate://crates.io/libz-sys/1.0.18 \
|
||||
crate://crates.io/log/0.3.9 \
|
||||
crate://crates.io/log/0.4.1 \
|
||||
crate://crates.io/log_settings/0.1.1 \
|
||||
crate://crates.io/lzma-sys/0.1.9 \
|
||||
crate://crates.io/mac/0.1.1 \
|
||||
crate://crates.io/markup5ever/0.5.0 \
|
||||
crate://crates.io/matches/0.1.6 \
|
||||
crate://crates.io/mdbook/0.0.26 \
|
||||
crate://crates.io/memchr/0.1.11 \
|
||||
crate://crates.io/memchr/1.0.2 \
|
||||
crate://crates.io/memchr/2.0.1 \
|
||||
crate://crates.io/miniz-sys/0.1.10 \
|
||||
crate://crates.io/miow/0.2.1 \
|
||||
crate://crates.io/net2/0.2.31 \
|
||||
crate://crates.io/nibble_vec/0.0.3 \
|
||||
crate://crates.io/nix/0.8.1 \
|
||||
crate://crates.io/num-bigint/0.1.41 \
|
||||
crate://crates.io/num-complex/0.1.41 \
|
||||
crate://crates.io/num-integer/0.1.35 \
|
||||
crate://crates.io/num-iter/0.1.34 \
|
||||
crate://crates.io/num-rational/0.1.40 \
|
||||
crate://crates.io/num-traits/0.1.41 \
|
||||
crate://crates.io/num/0.1.41 \
|
||||
crate://crates.io/num_cpus/1.7.0 \
|
||||
crate://crates.io/open/1.2.1 \
|
||||
crate://crates.io/openssl-probe/0.1.2 \
|
||||
crate://crates.io/openssl-sys/0.9.23 \
|
||||
crate://crates.io/openssl/0.9.23 \
|
||||
crate://crates.io/os_pipe/0.5.1 \
|
||||
crate://crates.io/owning_ref/0.3.3 \
|
||||
crate://crates.io/parking_lot/0.5.3 \
|
||||
crate://crates.io/parking_lot_core/0.2.9 \
|
||||
crate://crates.io/percent-encoding/1.0.1 \
|
||||
crate://crates.io/pest/0.3.3 \
|
||||
crate://crates.io/phf/0.7.21 \
|
||||
crate://crates.io/phf_codegen/0.7.21 \
|
||||
crate://crates.io/phf_generator/0.7.21 \
|
||||
crate://crates.io/phf_shared/0.7.21 \
|
||||
crate://crates.io/pkg-config/0.3.9 \
|
||||
crate://crates.io/precomputed-hash/0.1.1 \
|
||||
crate://crates.io/procedural-masquerade/0.1.5 \
|
||||
crate://crates.io/psapi-sys/0.1.1 \
|
||||
crate://crates.io/pulldown-cmark/0.0.15 \
|
||||
crate://crates.io/pulldown-cmark/0.1.0 \
|
||||
crate://crates.io/quick-error/1.2.1 \
|
||||
crate://crates.io/quine-mc_cluskey/0.2.4 \
|
||||
crate://crates.io/quote/0.3.15 \
|
||||
crate://crates.io/racer/2.0.12 \
|
||||
crate://crates.io/radix_trie/0.1.2 \
|
||||
crate://crates.io/rand/0.3.19 \
|
||||
crate://crates.io/rayon-core/1.3.0 \
|
||||
crate://crates.io/rayon/0.9.0 \
|
||||
crate://crates.io/redox_syscall/0.1.32 \
|
||||
crate://crates.io/redox_termios/0.1.1 \
|
||||
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.3 \
|
||||
crate://crates.io/rls-analysis/0.10.0 \
|
||||
crate://crates.io/rls-data/0.14.0 \
|
||||
crate://crates.io/rls-rustc/0.1.1 \
|
||||
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/same-file/0.1.3 \
|
||||
crate://crates.io/scoped-tls/0.1.0 \
|
||||
crate://crates.io/scopeguard/0.1.2 \
|
||||
crate://crates.io/scopeguard/0.3.3 \
|
||||
crate://crates.io/selectors/0.18.0 \
|
||||
crate://crates.io/semver-parser/0.7.0 \
|
||||
crate://crates.io/semver/0.6.0 \
|
||||
crate://crates.io/semver/0.8.0 \
|
||||
crate://crates.io/serde/1.0.25 \
|
||||
crate://crates.io/serde_derive/1.0.25 \
|
||||
crate://crates.io/serde_derive_internals/0.18.1 \
|
||||
crate://crates.io/serde_ignored/0.0.4 \
|
||||
crate://crates.io/serde_json/1.0.8 \
|
||||
crate://crates.io/shared_child/0.2.1 \
|
||||
crate://crates.io/shell-escape/0.1.3 \
|
||||
crate://crates.io/siphasher/0.2.2 \
|
||||
crate://crates.io/smallvec/0.3.3 \
|
||||
crate://crates.io/smallvec/0.6.0 \
|
||||
crate://crates.io/socket2/0.2.4 \
|
||||
crate://crates.io/stable_deref_trait/1.0.0 \
|
||||
crate://crates.io/string_cache/0.6.2 \
|
||||
crate://crates.io/string_cache_codegen/0.4.0 \
|
||||
crate://crates.io/string_cache_shared/0.3.0 \
|
||||
crate://crates.io/strsim/0.6.0 \
|
||||
crate://crates.io/syn/0.11.11 \
|
||||
crate://crates.io/synom/0.11.3 \
|
||||
crate://crates.io/synstructure/0.6.1 \
|
||||
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.14 \
|
||||
crate://crates.io/tempdir/0.3.5 \
|
||||
crate://crates.io/tendril/0.4.0 \
|
||||
crate://crates.io/term/0.4.6 \
|
||||
crate://crates.io/termcolor/0.3.3 \
|
||||
crate://crates.io/termion/1.5.1 \
|
||||
crate://crates.io/textwrap/0.9.0 \
|
||||
crate://crates.io/thread-id/2.0.0 \
|
||||
crate://crates.io/thread_local/0.2.7 \
|
||||
crate://crates.io/thread_local/0.3.5 \
|
||||
crate://crates.io/time/0.1.39 \
|
||||
crate://crates.io/toml/0.2.1 \
|
||||
crate://crates.io/toml/0.4.5 \
|
||||
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/0.1.1 \
|
||||
crate://crates.io/unreachable/1.0.0 \
|
||||
crate://crates.io/url/1.6.0 \
|
||||
crate://crates.io/url_serde/0.2.0 \
|
||||
crate://crates.io/userenv-sys/0.2.0 \
|
||||
crate://crates.io/utf-8/0.7.1 \
|
||||
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-i686-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi/0.2.8 \
|
||||
crate://crates.io/winapi/0.3.4 \
|
||||
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"
|
||||
@@ -1,36 +0,0 @@
|
||||
inherit cargo
|
||||
|
||||
SRC_URI = " \
|
||||
crate://crates.io/aho-corasick/0.5.1 \
|
||||
crate://crates.io/bitflags/0.5.0 \
|
||||
crate://crates.io/diff/0.1.9 \
|
||||
crate://crates.io/env_logger/0.3.2 \
|
||||
crate://crates.io/getopts/0.2.14 \
|
||||
crate://crates.io/kernel32-sys/0.2.1 \
|
||||
crate://crates.io/libc/0.2.8 \
|
||||
crate://crates.io/log/0.3.5 \
|
||||
crate://crates.io/memchr/0.1.10 \
|
||||
crate://crates.io/regex/0.1.58 \
|
||||
crate://crates.io/regex-syntax/0.3.0 \
|
||||
crate://crates.io/rustc-serialize/0.3.18 \
|
||||
crate://crates.io/strings/0.0.1 \
|
||||
crate://crates.io/syntex_syntax/0.30.0 \
|
||||
crate://crates.io/term/0.2.14 \
|
||||
crate://crates.io/toml/0.1.28 \
|
||||
crate://crates.io/unicode-segmentation/0.1.2 \
|
||||
crate://crates.io/unicode-xid/0.0.3 \
|
||||
crate://crates.io/utf8-ranges/0.1.3 \
|
||||
crate://crates.io/winapi/0.2.6 \
|
||||
crate://crates.io/winapi-build/0.1.1 \
|
||||
crate://crates.io/rustfmt/0.4.0 \
|
||||
"
|
||||
# rustfmt 0.5.0
|
||||
#LIC_FILES_CHKSUM=" \
|
||||
# file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
|
||||
# file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
|
||||
#"
|
||||
LIC_FILES_CHKSUM="file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
SUMMARY = "Format Rust Code"
|
||||
HOMEPAGE = "https://github.com/rust-lang-nursery/rustfmt"
|
||||
LICENSE = "MIT | Apache-2.0"
|
||||
67
recipes-example/rustfmt/rustfmt_0.8.0.bb
Normal file
67
recipes-example/rustfmt/rustfmt_0.8.0.bb
Normal file
@@ -0,0 +1,67 @@
|
||||
# Auto-Generated by cargo-bitbake 0.3.6
|
||||
#
|
||||
inherit cargo
|
||||
|
||||
# If this is git based prefer versioned ones if they exist
|
||||
# DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# how to get rustfmt could be as easy as but default to a git checkout:
|
||||
# SRC_URI += "crate://crates.io/rustfmt/0.8.0"
|
||||
SRC_URI += "git://github.com/rust-lang-nursery/rustfmt.git;protocol=https;branch=syntex"
|
||||
SRCREV = "4ed5a3bac71ed104e27797ee63729b0333e39d39"
|
||||
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/aho-corasick/0.6.2 \
|
||||
crate://crates.io/bitflags/0.8.0 \
|
||||
crate://crates.io/diff/0.1.10 \
|
||||
crate://crates.io/either/1.0.3 \
|
||||
crate://crates.io/env_logger/0.4.1 \
|
||||
crate://crates.io/getopts/0.2.14 \
|
||||
crate://crates.io/itertools/0.5.9 \
|
||||
crate://crates.io/kernel32-sys/0.2.2 \
|
||||
crate://crates.io/libc/0.2.21 \
|
||||
crate://crates.io/log/0.3.6 \
|
||||
crate://crates.io/memchr/1.0.1 \
|
||||
crate://crates.io/multimap/0.3.0 \
|
||||
crate://crates.io/regex-syntax/0.4.0 \
|
||||
crate://crates.io/regex/0.2.1 \
|
||||
crate://crates.io/rustc-serialize/0.3.22 \
|
||||
crate://crates.io/same-file/0.1.3 \
|
||||
crate://crates.io/strings/0.0.1 \
|
||||
crate://crates.io/syntex_errors/0.58.1 \
|
||||
crate://crates.io/syntex_pos/0.58.1 \
|
||||
crate://crates.io/syntex_syntax/0.58.1 \
|
||||
crate://crates.io/term/0.4.5 \
|
||||
crate://crates.io/thread-id/3.0.0 \
|
||||
crate://crates.io/thread_local/0.3.3 \
|
||||
crate://crates.io/toml/0.2.1 \
|
||||
crate://crates.io/unicode-segmentation/1.1.0 \
|
||||
crate://crates.io/unicode-xid/0.0.4 \
|
||||
crate://crates.io/unreachable/0.1.1 \
|
||||
crate://crates.io/utf8-ranges/1.0.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 \
|
||||
"
|
||||
|
||||
|
||||
|
||||
LIC_FILES_CHKSUM=" \
|
||||
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
|
||||
file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
|
||||
"
|
||||
|
||||
SUMMARY = "Tool to find and fix Rust formatting issues"
|
||||
HOMEPAGE = "https://github.com/rust-lang-nursery/rustfmt"
|
||||
LICENSE = "Apache-2.0 | MIT"
|
||||
|
||||
# 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 rustfmt.inc
|
||||
@@ -1,8 +1,14 @@
|
||||
#!/bin/bash -e
|
||||
#!/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 build
|
||||
sudo umount `pwd`/build
|
||||
fi
|
||||
|
||||
sudo fuser -m `pwd`/build
|
||||
|
||||
ps -ef
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# what container are we using to build this
|
||||
CONTAINER="starlabio/yocto:1.5"
|
||||
CONTAINER="cardoe/yocto:pyro"
|
||||
|
||||
einfo() {
|
||||
echo "$*" >&2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash -e
|
||||
#!/bin/bash -x
|
||||
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "No Yocto branch specified, defaulting to master"
|
||||
|
||||
Reference in New Issue
Block a user