Merge pull request #57 from tylerwhall/cleanup
Update Cargo, bbclass cleanup
This commit is contained in:
+1
-16
@@ -11,10 +11,6 @@ def cargo_base_dep(d):
|
|||||||
|
|
||||||
BASEDEPENDS_append = " ${@cargo_base_dep(d)}"
|
BASEDEPENDS_append = " ${@cargo_base_dep(d)}"
|
||||||
|
|
||||||
# FIXME: this is a workaround for a misbehavior in cargo when used with quilt.
|
|
||||||
# See https://github.com/rust-lang/cargo/issues/978
|
|
||||||
PATCHTOOL = "patch"
|
|
||||||
|
|
||||||
# Cargo only supports in-tree builds at the moment
|
# Cargo only supports in-tree builds at the moment
|
||||||
B = "${S}"
|
B = "${S}"
|
||||||
|
|
||||||
@@ -46,18 +42,6 @@ cargo_do_configure () {
|
|||||||
echo "]" >>../.cargo/config
|
echo "]" >>../.cargo/config
|
||||||
}
|
}
|
||||||
|
|
||||||
rust_cargo_patch () {
|
|
||||||
# FIXME: if there is already an entry for this target, in an existing
|
|
||||||
# cargo/config, this won't work.
|
|
||||||
cd "${S}"
|
|
||||||
cat >>Cargo.toml <<EOF
|
|
||||||
[profile.dev]
|
|
||||||
rpath = true
|
|
||||||
[profile.release]
|
|
||||||
rpath = true
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
# All the rust & cargo ecosystem assume that CC, LD, etc are a path to a single
|
# All the rust & cargo ecosystem assume that CC, LD, etc are a path to a single
|
||||||
# command. Fixup the ones we give it so that is the case.
|
# command. Fixup the ones we give it so that is the case.
|
||||||
# XXX: this is hard coded based on meta/conf/bitbake.conf
|
# XXX: this is hard coded based on meta/conf/bitbake.conf
|
||||||
@@ -74,6 +58,7 @@ export CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
|
|||||||
# change if CARGO_BUILD_FLAGS changes.
|
# change if CARGO_BUILD_FLAGS changes.
|
||||||
export CARGO_TARGET_SUBDIR="${HOST_SYS}/release"
|
export CARGO_TARGET_SUBDIR="${HOST_SYS}/release"
|
||||||
oe_cargo_build () {
|
oe_cargo_build () {
|
||||||
|
export RUSTFLAGS="${RUSTFLAGS}"
|
||||||
which cargo
|
which cargo
|
||||||
which rustc
|
which rustc
|
||||||
bbnote ${CARGO} build ${CARGO_BUILD_FLAGS} "$@"
|
bbnote ${CARGO} build ${CARGO_BUILD_FLAGS} "$@"
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
inherit rust
|
inherit rust
|
||||||
|
|
||||||
RUSTLIB_DEP ?= " rustlib"
|
RDEPENDS_${PN} += "${RUSTLIB_DEP}"
|
||||||
DEPENDS .= "${RUSTLIB_DEP}"
|
|
||||||
RDEPENDS_${PN} .= "${RUSTLIB_DEP}"
|
|
||||||
DEPENDS += "patchelf-native"
|
|
||||||
|
|
||||||
export rustlibdir = "${libdir}/rust"
|
|
||||||
FILES_${PN} += "${rustlibdir}/*.so"
|
|
||||||
FILES_${PN}-dev += "${rustlibdir}/*.rlib"
|
|
||||||
FILES_${PN}-dbg += "${rustlibdir}/.debug"
|
|
||||||
|
|
||||||
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir}"
|
RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir}"
|
||||||
EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
|
EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
|
||||||
@@ -37,11 +29,6 @@ OVERLAP_DEPS = "${@get_overlap_deps(d)}"
|
|||||||
RUSTC_PREFER_DYNAMIC = "-C prefer-dynamic"
|
RUSTC_PREFER_DYNAMIC = "-C prefer-dynamic"
|
||||||
RUSTC_FLAGS += "${RUSTC_PREFER_DYNAMIC}"
|
RUSTC_FLAGS += "${RUSTC_PREFER_DYNAMIC}"
|
||||||
|
|
||||||
rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
|
|
||||||
# Native sysroot standard library path
|
|
||||||
rustlib_src="${prefix}/lib/${rustlib_suffix}"
|
|
||||||
# Host sysroot standard library path
|
|
||||||
rustlib="${libdir}/${rustlib_suffix}"
|
|
||||||
CRATE_NAME ?= "${@d.getVar('BPN', True).replace('-rs', '').replace('-', '_')}"
|
CRATE_NAME ?= "${@d.getVar('BPN', True).replace('-rs', '').replace('-', '_')}"
|
||||||
BINNAME ?= "${BPN}"
|
BINNAME ?= "${BPN}"
|
||||||
LIBNAME ?= "lib${CRATE_NAME}-rs"
|
LIBNAME ?= "lib${CRATE_NAME}-rs"
|
||||||
@@ -101,19 +88,3 @@ oe_install_rust_bin () {
|
|||||||
echo Installing ${BINNAME}
|
echo Installing ${BINNAME}
|
||||||
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
|
install -D -m 755 ${BINNAME} ${D}/${bindir}/${BINNAME}
|
||||||
}
|
}
|
||||||
|
|
||||||
do_rust_bin_fixups() {
|
|
||||||
for f in `find ${PKGD} -name '*.so*'`; do
|
|
||||||
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"
|
|
||||||
|
|||||||
+30
-3
@@ -1,20 +1,22 @@
|
|||||||
RUSTC = "rustc"
|
RUSTC = "rustc"
|
||||||
|
|
||||||
# FIXME: --sysroot might be needed
|
# FIXME: --sysroot might be needed
|
||||||
RUSTC_ARCHFLAGS += "--target=${TARGET_SYS} -C rpath -C crate_hash=${BB_TASKHASH}"
|
RUSTFLAGS += "-C rpath -C crate_hash=${BB_TASKHASH}"
|
||||||
|
RUSTC_ARCHFLAGS += "--target=${TARGET_SYS} ${RUSTFLAGS}"
|
||||||
|
|
||||||
|
RUSTLIB_DEP ?= "rustlib"
|
||||||
def rust_base_dep(d):
|
def rust_base_dep(d):
|
||||||
# Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
|
# Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
|
||||||
# use rust instead of gcc
|
# use rust instead of gcc
|
||||||
deps = ""
|
deps = ""
|
||||||
if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS', True):
|
if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS', True):
|
||||||
if (d.getVar('HOST_SYS', True) != d.getVar('BUILD_SYS', True)):
|
if (d.getVar('HOST_SYS', True) != d.getVar('BUILD_SYS', True)):
|
||||||
deps += " virtual/${TARGET_PREFIX}rust"
|
deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
|
||||||
else:
|
else:
|
||||||
deps += " rust-native"
|
deps += " rust-native"
|
||||||
return deps
|
return deps
|
||||||
|
|
||||||
DEPENDS_append = " ${@rust_base_dep(d)}"
|
DEPENDS_append = " ${@rust_base_dep(d)} patchelf-native"
|
||||||
|
|
||||||
def rust_base_triple(d, thing):
|
def rust_base_triple(d, thing):
|
||||||
'''
|
'''
|
||||||
@@ -84,3 +86,28 @@ HOST_CXXFLAGS ?= "${CXXFLAGS}"
|
|||||||
HOST_CPPFLAGS ?= "${CPPFLAGS}"
|
HOST_CPPFLAGS ?= "${CPPFLAGS}"
|
||||||
|
|
||||||
EXTRA_OECONF_remove = "--disable-static"
|
EXTRA_OECONF_remove = "--disable-static"
|
||||||
|
|
||||||
|
do_rust_bin_fixups() {
|
||||||
|
for f in `find ${PKGD} -name '*.so*'`; do
|
||||||
|
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"
|
||||||
|
|
||||||
|
rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
|
||||||
|
# Native sysroot standard library path
|
||||||
|
rustlib_src="${prefix}/lib/${rustlib_suffix}"
|
||||||
|
# Host sysroot standard library path
|
||||||
|
rustlib="${libdir}/${rustlib_suffix}"
|
||||||
|
export rustlibdir = "${libdir}/rust"
|
||||||
|
FILES_${PN} += "${rustlibdir}/*.so"
|
||||||
|
FILES_${PN}-dev += "${rustlibdir}/*.rlib"
|
||||||
|
FILES_${PN}-dbg += "${rustlibdir}/.debug"
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ SRC_URI += " \
|
|||||||
file://0001-disable-cargo-snapshot-fetch.patch \
|
file://0001-disable-cargo-snapshot-fetch.patch \
|
||||||
git://github.com/rust-lang/rust-installer.git;protocol=https;name=rust-installer;destsuffix=${BP}/src/rust-installer \
|
git://github.com/rust-lang/rust-installer.git;protocol=https;name=rust-installer;destsuffix=${BP}/src/rust-installer \
|
||||||
"
|
"
|
||||||
SRC_URI[cargo.md5sum] = "c3002e297f125ad40b2e0279219163bc"
|
SRC_URI[cargo.md5sum] = "98ab2a422634d447152380898a974b08"
|
||||||
SRC_URI[cargo.sha256sum] = "4cadc436be442505851f3a8e9ffff1ef10b6379101a7f8e0afa9fa80f5198f89"
|
SRC_URI[cargo.sha256sum] = "1e73c038681fe308195427b71322a6350c65d3b8cbea199e45c7b672b4754e0e"
|
||||||
|
|
||||||
SRCREV_rust-installer = "c37d3747da75c280237dc2d6b925078e69555499"
|
SRCREV_rust-installer = "c37d3747da75c280237dc2d6b925078e69555499"
|
||||||
|
|
||||||
@@ -38,8 +38,8 @@ SRC_URI += "\
|
|||||||
file://ssh2-rs/0001-libssh2-sys-avoid-explicitly-linking-in-openssl.patch;patchdir=../ssh2-rs \
|
file://ssh2-rs/0001-libssh2-sys-avoid-explicitly-linking-in-openssl.patch;patchdir=../ssh2-rs \
|
||||||
"
|
"
|
||||||
|
|
||||||
# 0.2.10 / -sys 0.1.34
|
# 0.2.11 / -sys 0.1.37
|
||||||
SRCREV_ssh2-rs = "00af6ead0c3d4b82e05bee4d9963ef3823bcf524"
|
SRCREV_ssh2-rs = "ced77751cb780d0725a3411bd588c5a26ea79953"
|
||||||
|
|
||||||
SRCREV_FORMAT .= "_ssh2-rs"
|
SRCREV_FORMAT .= "_ssh2-rs"
|
||||||
EXTRA_OECARGO_PATHS += "${WORKDIR}/ssh2-rs"
|
EXTRA_OECARGO_PATHS += "${WORKDIR}/ssh2-rs"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From 9652ddba460f30e83f401ab1564656e7787bdea9 Mon Sep 17 00:00:00 2001
|
From 7ae8ea6523c943cc819eadea011ce4f783e40764 Mon Sep 17 00:00:00 2001
|
||||||
From: Cody P Schafer <dev@codyps.com>
|
From: Cody P Schafer <dev@codyps.com>
|
||||||
Date: Wed, 3 Feb 2016 15:59:48 -0500
|
Date: Wed, 3 Feb 2016 15:59:48 -0500
|
||||||
Subject: [PATCH] disable cargo snapshot fetch
|
Subject: [PATCH] disable cargo snapshot fetch
|
||||||
@@ -8,20 +8,20 @@ Subject: [PATCH] disable cargo snapshot fetch
|
|||||||
1 file changed, 4 deletions(-)
|
1 file changed, 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/Makefile.in b/Makefile.in
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
index 286a593..9c66486 100644
|
index fadcb4b..a8da630 100644
|
||||||
--- a/Makefile.in
|
--- a/Makefile.in
|
||||||
+++ b/Makefile.in
|
+++ b/Makefile.in
|
||||||
@@ -92,10 +92,6 @@ test-unit-$(1): $$(CARGO)
|
@@ -103,10 +103,6 @@ test-unit-$(1): $$(CARGO)
|
||||||
endef
|
endef
|
||||||
$(foreach target,$(CFG_TARGET),$(eval $(call CARGO_TARGET,$(target))))
|
$(foreach target,$(CFG_TARGET),$(eval $(call CARGO_TARGET,$(target))))
|
||||||
|
|
||||||
-$(TARGET_ROOT)/snapshot/bin/cargo$(X): src/snapshots.txt
|
-$(TARGET_ROOT)/snapshot/bin/cargo$(X): $(S)src/snapshots.txt
|
||||||
- $(CFG_PYTHON) src/etc/dl-snapshot.py $(CFG_BUILD)
|
- $(CFG_PYTHON) $(S)src/etc/dl-snapshot.py $(CFG_BUILD)
|
||||||
- touch $@
|
- touch $@
|
||||||
-
|
-
|
||||||
|
|
||||||
# === Tests
|
# === Tests
|
||||||
|
|
||||||
--
|
--
|
||||||
2.7.0
|
2.8.2
|
||||||
|
|
||||||
|
|||||||
+19
-11
@@ -1,20 +1,20 @@
|
|||||||
From be07c11b438550829d82dc844e38806570232cd7 Mon Sep 17 00:00:00 2001
|
From 65f07216c2c7a341cf13c35ecc1a781d7a489511 Mon Sep 17 00:00:00 2001
|
||||||
From: Cody P Schafer <dev@codyps.com>
|
From: Cody P Schafer <dev@codyps.com>
|
||||||
Date: Sat, 12 Dec 2015 22:44:14 -0500
|
Date: Sat, 12 Dec 2015 22:44:14 -0500
|
||||||
Subject: [PATCH] libssh2-sys: avoid explicitly linking in openssl
|
Subject: [PATCH] libssh2-sys: avoid explicitly linking in openssl
|
||||||
|
|
||||||
---
|
---
|
||||||
libssh2-sys/Cargo.toml | 25 -------------------------
|
libssh2-sys/Cargo.toml | 33 ---------------------------------
|
||||||
libssh2-sys/lib.rs | 2 --
|
libssh2-sys/lib.rs | 2 --
|
||||||
2 files changed, 27 deletions(-)
|
2 files changed, 35 deletions(-)
|
||||||
|
|
||||||
diff --git a/libssh2-sys/Cargo.toml b/libssh2-sys/Cargo.toml
|
diff --git a/libssh2-sys/Cargo.toml b/libssh2-sys/Cargo.toml
|
||||||
index b9ecec2..78f92ac 100644
|
index c4e006d..175be77 100644
|
||||||
--- a/libssh2-sys/Cargo.toml
|
--- a/libssh2-sys/Cargo.toml
|
||||||
+++ b/libssh2-sys/Cargo.toml
|
+++ b/libssh2-sys/Cargo.toml
|
||||||
@@ -18,31 +18,6 @@ libc = "0.2"
|
@@ -19,39 +19,6 @@ libc = "0.2"
|
||||||
ws2_32-sys = ">= 0"
|
[target."cfg(unix)".dependencies]
|
||||||
winapi = "0.2"
|
openssl-sys = ">= 0"
|
||||||
|
|
||||||
-[target.i686-apple-darwin.dependencies]
|
-[target.i686-apple-darwin.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
@@ -22,14 +22,22 @@ index b9ecec2..78f92ac 100644
|
|||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
-[target.i686-unknown-linux-gnu.dependencies]
|
-[target.i686-unknown-linux-gnu.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
|
-[target.i586-unknown-linux-gnu.dependencies]
|
||||||
|
-openssl-sys = ">= 0"
|
||||||
-[target.x86_64-unknown-linux-gnu.dependencies]
|
-[target.x86_64-unknown-linux-gnu.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
-[target.aarch64-unknown-linux-gnu.dependencies]
|
-[target.aarch64-unknown-linux-gnu.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
|
-[target.powerpc64-unknown-linux-gnu.dependencies]
|
||||||
|
-openssl-sys = ">= 0"
|
||||||
|
-[target.powerpc64le-unknown-linux-gnu.dependencies]
|
||||||
|
-openssl-sys = ">= 0"
|
||||||
-[target.x86_64-unknown-linux-musl.dependencies]
|
-[target.x86_64-unknown-linux-musl.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
-[target.arm-unknown-linux-gnueabihf.dependencies]
|
-[target.arm-unknown-linux-gnueabihf.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
|
-[target.armv7-unknown-linux-gnueabihf.dependencies]
|
||||||
|
-openssl-sys = ">= 0"
|
||||||
-[target.i686-unknown-freebsd.dependencies]
|
-[target.i686-unknown-freebsd.dependencies]
|
||||||
-openssl-sys = ">= 0"
|
-openssl-sys = ">= 0"
|
||||||
-[target.x86_64-unknown-freebsd.dependencies]
|
-[target.x86_64-unknown-freebsd.dependencies]
|
||||||
@@ -45,11 +53,11 @@ index b9ecec2..78f92ac 100644
|
|||||||
pkg-config = "0.3"
|
pkg-config = "0.3"
|
||||||
cmake = "0.1.2"
|
cmake = "0.1.2"
|
||||||
diff --git a/libssh2-sys/lib.rs b/libssh2-sys/lib.rs
|
diff --git a/libssh2-sys/lib.rs b/libssh2-sys/lib.rs
|
||||||
index bb6c46f..40af82f 100644
|
index 02fd203..3ca1806 100644
|
||||||
--- a/libssh2-sys/lib.rs
|
--- a/libssh2-sys/lib.rs
|
||||||
+++ b/libssh2-sys/lib.rs
|
+++ b/libssh2-sys/lib.rs
|
||||||
@@ -6,8 +6,6 @@ extern crate ws2_32;
|
@@ -4,8 +4,6 @@
|
||||||
extern crate winapi;
|
extern crate libc;
|
||||||
|
|
||||||
extern crate libz_sys;
|
extern crate libz_sys;
|
||||||
-#[cfg(unix)]
|
-#[cfg(unix)]
|
||||||
@@ -58,5 +66,5 @@ index bb6c46f..40af82f 100644
|
|||||||
use libc::{c_int, size_t, c_void, c_char, c_long, c_uchar, c_uint, c_ulong};
|
use libc::{c_int, size_t, c_void, c_char, c_long, c_uchar, c_uint, c_ulong};
|
||||||
use libc::ssize_t;
|
use libc::ssize_t;
|
||||||
--
|
--
|
||||||
2.4.10
|
2.8.2
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user