396 Commits

Author SHA1 Message Date
Doug Goldstein
343ac47093 rust: strip whitespace from features
This whitespace in here causes rust to not be happy with the features
and throw warnings about a feature such as ' +sse3' being unsupported
when '+sse3' works just fine. Amazingly will cause rustc to abort when
you try to resolve the features to valid configs with the `--print` arg
to rustc.

(cherry picked from commit ce9949725c)
2016-11-08 19:52:32 -06:00
Derek Straka
2198573547 Merge pull request #100 from cardoe/jethro-ci
Jenkins CI
2016-11-01 15:16:26 -04:00
Doug Goldstein
4e5679c303 change Yocto version to jethro 2016-11-01 08:57:02 -05:00
Derek Straka
e8acf1decf add Jenkinsfile to test each PR and branch commits
This includes a basic test that attempts to compile the rustfmt crate.
Ensures that the workspace is always removed at the end of the build. It
utilizes available caches to speed up the build process and parallelizes
the build across i386, x86_64, arm32, and arm64 targets.

Signed-off-by: Derek Straka <derek@asterius.io>
2016-10-31 16:00:11 -05:00
Doug Goldstein
4622bd49e9 rustfmt: an example cargo build package
rustfmt is a Rust package to format Rust code. This package is being
used as an example of building a crate in Yocto with Cargo.
2016-10-31 16:00:06 -05:00
Doug Goldstein
67e3b023a0 add a basic build script for testing
This script can be extended in the future but it uses the containerize
script to ensure we run inside of a working build environment. This
script can be extended to build additional targets for testing.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-10-31 08:18:11 -05:00
Doug Goldstein
c9dfcf055c add Yocto config files so we can build
So that we can use the meta-rust layer as the final layer with some
configuration (for the purposes of testing). These configs should be not
used by actual end users.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-10-31 08:17:58 -05:00
Doug Goldstein
b33f5bfdf7 helper script to fetch down dependent layers
meta-rust has some layers it depends on and this script ensures it
fetches them down appropriately so that the poky directory can be used
as the source.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-10-31 08:17:29 -05:00
Doug Goldstein
7e161e4c0f containerize script for a Yocto build env
The containerize script fetches down a Docker container and wires up the
current directory inside so that you can use a known good environment
for compiling Yocto that has all the dependencies.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-10-31 08:17:11 -05:00
Doug Goldstein
04bfaa151a update case of OpenEmbedded to match upstream
(cherry picked from commit 3b954b38d1)
2016-10-03 08:19:49 -05:00
Cody Schafer
ff7c0827e4 Update README.md
Fixes #55
2016-07-12 09:38:51 -05:00
Doug Goldstein
8dbe667294 libgit2: add a dependency on openssl
If this dependency is missing its possible that openssl won't be built
before libgit2 is built and then we won't have git support over SSL
which leaves out a lot of git repos.
2016-07-12 09:30:09 -05:00
Doug Goldstein
26d862715a Merge pull request #16 from starlab-io/fix-urandom
Fix urandom initialization issues
2016-04-22 10:25:29 -05:00
Derek Straka
f861211e50 rust: remove the symlinks and libs installed directly into libdir (#17)
Signed-off-by: Derek Straka <derek@asterius.io>
2016-04-22 10:25:06 -05:00
Derek Straka
7ef44e8ad8 rust: add a temp fix to use /dev/urandom
Signed-off-by: Derek Straka <derek@asterius.io>
2016-04-18 14:34:42 -04:00
Derek Straka
5eec138324 Merge pull request #13 from starlab-io/fix-rust-build
Fix rust build fox x86 targets
2016-04-11 11:56:41 -04:00
Doug Goldstein
248c0afe62 rust: set our release channel appropriately
We're always building a stable release so we should be setting our
release channel appropriately.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:56:22 -05:00
Doug Goldstein
07f672a0c3 rust: remove --enable-debuginfo
Without this we cannot set 'eliminate-frame-pointer' in our target spec.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:03 -05:00
Doug Goldstein
42df692ce6 rust: update to the proper snapshot
Rust 1.7.0 uses a snapshot from 2015-12-18 and not 2015-08-11. Without
this change Rust will fetch the snapshot during the build process which
will fail on Yocto builds that disable network outside of the fetch
phase.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein
83ba5f85f4 rust: add missing 'ar' to target spec
We need to make sure we're using the cross compiling ar instead of the
system one.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein
73e05f4b26 rust: add support for x86 features
The existing feature parsing is specific to ARM so we need to add
support for x86. This is a little more generic since the variable we
parse is changed if we're building for the host, cross or actual target.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein
4ed32e53f2 rust: generate an appropriate cpu for targets
This generates an appropriate CPU value for the targets. For ARM it
leaves the default of 'generic' since we build up all the different CPU
differences in the 'features' field but for x86/x86_64 we need to pass
an appropriate CPU value.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 09:31:59 -05:00
Doug Goldstein
71ac5fa78e rust: fix target generation add 'has-elf-tls'
This field defaults to false but for all of our targets it should be
true.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 08:47:38 -05:00
Doug Goldstein
7ebb23fad9 rust: fix target generation add 'env'
This field defaults to the empty string but for all of our targets it
should be set to GNU.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 08:47:18 -05:00
Doug Goldstein
45fefb3296 rust: use Python JSON instead of string handling
The code previously wrote out a JSON file but used basic string handling
instead of the Python JSON library. Its cleaner to use the Python JSON
library.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 15:50:21 -05:00
Doug Goldstein
1a4261c21a rust: drop duplicate variable assignment
prefix_for() and the deleted line are identical.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 14:00:08 -05:00
Doug Goldstein
37328c61c8 rust: use rust-installer's way of disabling ldconfig
Instead of patching in a disable ldconfig argument, just use the way
exposed by the rust-installer scripts to disable running ldconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:35 -05:00
Doug Goldstein
f0b315d769 rust: fix bad line in patch
This needs to be properly escaped.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:35 -05:00
Doug Goldstein
218774055f rust: drop adding --enable-new-dtags
--enable-new-dtags is the default since Rust 1.7.0 due to
rust-lang/rust#30378.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:34 -05:00
Doug Goldstein
edd628c138 rust: drop unnecessary data layout targets
Since Rust 1.3.0
(rust-lang/rust@958d563825) it has been
unnecessary to provide the data layout in targets. Additionally the data
layouts in this repo created LLVM IR on x86_64 that was differing from
other x86_64 builds of Rust.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:33 -05:00
Derek Straka
b9a5ea1a82 Merge pull request #12 from starlab-io/duplication
De-duplication
2016-04-05 11:47:59 -04:00
Doug Goldstein
43aa07a88a rust-llvm: combine do_install_append()
There were two different do_install_append()'s and they didn't check for
errors so this improves that situation.
2016-04-04 16:28:50 -05:00
Doug Goldstein
7585581323 rust-llvm: drop duplicate configure flags
Some of the configure flags are specified multiple times.
2016-04-04 16:16:36 -05:00
Derek Straka
76415fa401 Merge pull request #11 from starlab-io/drop-old-workaround
cargo.bbclass: drop old work around
2016-04-04 12:47:44 -04:00
Doug Goldstein
04cad7a074 cargo.bbclass: drop old work around
This work around was for an old version of cargo that we no longer use.
Newer versions resolve this issue.
2016-03-29 21:40:04 -05:00
Doug Goldstein
4e5fe4f76c Merge pull request #10 from starlab-io/rust_1.7.0
Update rust to version 1.7.0
2016-03-18 14:33:28 -05:00
Derek Straka
fd787ed29e Update the post link flags to include libssp
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 16:28:04 -04:00
Derek Straka
f10ded65c3 Rebase patches for rust version 1.7.0
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 08:28:53 -04:00
Derek Straka
f5a77f1c41 Update rust sources to version 1.7.0
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 08:28:14 -04:00
Derek Straka
948e0fdd5f Remove patch that is no longer required in rust 1.7.0
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 08:27:24 -04:00
Derek Straka
8413216f8c Update cargo to 0.9.0
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 08:23:18 -04:00
Doug Goldstein
1093e6ade6 Merge pull request #9 from starlab-io/merge-upstream
Merge upstream changes into jethro
2016-02-24 08:28:07 -06:00
Derek Straka
961e5935bb Merge remote-tracking branch 'upstream/master' into merge-upstream
Conflicts:
	conf/distro/include/rust_security_flags.inc
	conf/layer.conf
	recipes-devtools/cargo/cargo_git.bb
	recipes-devtools/cargo/files/0001-update-Rust.patch
	recipes-devtools/cargo/files/0001-update-pkg-versions.patch
	recipes-devtools/cargo/files/curl-rust/0001-curl-sys-avoid-explicitly-linking-in-openssl.-If-it-.patch
	recipes-devtools/cargo/files/curl-rust/0002-remove-per-triple-deps-on-openssl-sys.patch
	recipes-devtools/cargo/files/git2-rs/0001-Add-generic-openssl-sys-dep.patch
	recipes-devtools/cargo/files/git2-rs/0002-libgit2-sys-avoid-the-build-script-it-is-a-disaster.patch
	recipes-devtools/cargo/files/git2-rs/0003-bump-libssh2-to-fix-build-with-nightly.patch
	recipes-devtools/cargo/files/ssh2-rs/0001-Unconditionally-depend-on-openssl-sys.patch
	recipes-devtools/rust/files/rust-1.3.0/0001-platform.mk-avoid-choking-on-i586.patch
	recipes-devtools/rust/files/rust-1.3.0/0002-Target-add-default-target.json-path-libdir-rust-targ.patch
	recipes-devtools/rust/files/rust-1.3.0/0003-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch
	recipes-devtools/rust/files/rust-1.3.0/0004-mk-add-missing-CFG_LIBDIR_RELATIVE.patch
	recipes-devtools/rust/files/rust-1.3.0/0005-configure-support-bindir-and-extend-libdir-to-non-bl.patch
	recipes-devtools/rust/files/rust-1.3.0/0006-std-thread_local-workaround-for-NULL-__dso_handle.patch
	recipes-devtools/rust/files/rust-1.3.0/0007-mk-install-use-disable-rewrite-paths.patch
	recipes-devtools/rust/files/rust-1.3.0/0008-install-disable-ldconfig.patch
	recipes-devtools/rust/files/rust-1.3.0/0009-Remove-crate-metadata-from-symbol-hashing.patch
	recipes-devtools/rust/files/rust-1.3.0/0010-mk-tell-rustc-that-we-re-only-looking-for-native-lib.patch
	recipes-devtools/rust/files/rust-git/0001-platform.mk-avoid-choking-on-i586.patch
	recipes-devtools/rust/files/rust-git/0002-Target-add-default-target.json-path-libdir-rust-targ.patch
	recipes-devtools/rust/files/rust-git/0003-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch
	recipes-devtools/rust/files/rust-git/0004-mk-add-missing-CFG_LIBDIR_RELATIVE.patch
	recipes-devtools/rust/files/rust-git/0005-configure-support-bindir-and-extend-libdir-to-non-bl.patch
	recipes-devtools/rust/files/rust-git/0006-std-thread_local-workaround-for-NULL-__dso_handle.patch
	recipes-devtools/rust/files/rust-git/0007-mk-install-use-disable-rewrite-paths.patch
	recipes-devtools/rust/files/rust-git/0008-install-disable-ldconfig.patch
	recipes-devtools/rust/files/rust/0001-platform.mk-avoid-choking-on-i586.patch
	recipes-devtools/rust/files/rust/0002-Target-add-default-target.json-path-libdir-rust-targ.patch
	recipes-devtools/rust/files/rust/0003-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch
	recipes-devtools/rust/files/rust/0004-mk-add-missing-CFG_LIBDIR_RELATIVE.patch
	recipes-devtools/rust/files/rust/0005-configure-support-bindir-and-extend-libdir-to-non-bl.patch
	recipes-devtools/rust/files/rust/0006-std-thread_local-workaround-for-NULL-__dso_handle.patch
	recipes-devtools/rust/files/rust/0009-Remove-crate-metadata-from-symbol-hashing.patch
	recipes-devtools/rust/rust-1.3.0.inc
	recipes-devtools/rust/rust-git.inc
	recipes-devtools/rust/rust-llvm_1.3.0.bb
	recipes-devtools/rust/rust.inc
	recipes-devtools/rust/rust_1.3.0.bb
	recipes-devtools/rust/rust_git.bb
	recipes/rust/files/rust-1.3.0/0005-configure-support-bindir-and-extend-libdir-to-non-bl.patch
	recipes/rust/files/rust-1.3.0/0006-std-thread_local-workaround-for-NULL-__dso_handle.patch
	recipes/rust/files/rust-git/0001-platform.mk-avoid-choking-on-i586.patch
	recipes/rust/files/rust-git/0002-Target-add-default-target.json-path-libdir-rust-targ.patch
	recipes/rust/files/rust-git/0003-mk-for-stage0-use-RUSTFLAGS-to-override-target-libs-.patch
2016-02-22 13:18:47 -05:00
Cody Schafer
d47b1578c7 Merge pull request #43 from starlab-io/move-recipes
Move the cargo and rust recipes from 'recipes' to 'recipes-devtools'
2016-02-19 22:12:29 -05:00
Cody Schafer
629b28637e Merge pull request #42 from starlab-io/fix-disable-static
Remove the '--disable-static' in the EXTRA_OECONF for all rust-like recipes
2016-02-19 22:11:55 -05:00
Derek Straka
e76332d732 Move the cargo and rust recipes from 'recipes' to 'recipes-devtools' 2016-02-19 19:11:43 -05:00
Derek Straka
94daa39193 Remove the '--disable-static' in the EXTRA_OECONF for all rust-like recipes 2016-02-19 10:34:00 -05:00
Cody Schafer
c4a3f15a8c Merge pull request #39 from starlab-io/fix-source-fetch
Allow the fetch to complete before attempting to patch
2016-02-18 22:46:39 -05:00
Derek Straka
a4d6b55448 Allow the fetch to complete before attempting to patch
Signed-off-by: Derek Straka <derek@asterius.io>
2016-02-18 17:23:36 -05:00
Derek Straka
99bb5f6e55 Use the shared source mechanism for the llvm patch 2016-02-18 17:23:31 -05:00