123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- # vim: filetype=yaml sw=2
- filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
- version: '[% c("input_file_var/rust_version") %]'
- # Those values can be changed from the input_files section of other
- # projects. See bug 32436.
- input_file_var:
- rust_version: 1.41.1
- prev_version: 1.40.0
- var:
- prev_version: '[% c("input_file_var/prev_version") %]'
- container:
- use_container: 1
- targets:
- android:
- var:
- arch_deps:
- - libssl-dev
- - pkg-config
- - zlib1g-dev
- android-armv7:
- var:
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=thumbv7neon-linux-androideabi --set=target.thumbv7neon-linux-androideabi.cc=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-gcc
- android-x86:
- var:
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=i686-linux-android --set=target.i686-linux-android.cc=$ANDROID_NDK_HOME/x86/bin/i686-linux-android-gcc
- android-x86_64:
- var:
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-linux-android --set=target.x86_64-linux-android.cc=$ANDROID_NDK_HOME/x86_64/bin/x86_64-linux-android-gcc
- android-aarch64:
- var:
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=aarch64-linux-android --set=target.aarch64-linux-android.cc=$ANDROID_NDK_HOME/arm64/bin/aarch64-linux-android-gcc
- linux:
- var:
- deps:
- - libc6-dev-i386
- - lib32stdc++6
- - build-essential
- - python
- - automake
- - libssl-dev
- - pkg-config
- - hardening-wrapper
- # We use
- # `--enable-local-rust` to avoid downloading the required compiler during
- # build time
- #
- # `--enable-vendor` to avoid downloading crates during build time and just
- # use the ones which are shipped with the source
- #
- # `--enable-extended` to build not only rustc but cargo as well
- #
- # `--enable-llvm-static-stdccp` to take a libstdc++ on Wheezy into account
- # which is too old and if used gives undefined reference errors
- #
- # `--release-channel=stable` to just include stable features in the
- # compiler
- #
- # `--sysconfdir=etc` to avoid install failures as |make install| wants to
- # write to /etc otherwise
- #
- # the `target` triple to explicitly specify the architecture and platform
- # for the compiler/std lib. Ideally, it should not be needed unless one is
- # cross-compiling, but compiling `alloc_jemalloc` fails without that in a
- # 32bit container. "--host=x86_64-unknown-linux-gnu" is used in its
- # configure script in this case.
- # `--set=` to explicitly specify the C compiler. We need to compile the
- # bundled LLVM and it wants to use `cc`. However, we don't have that in
- # our compiled GCC resulting in weird errors due to C and C++ compiler
- # version mismatch. We avoid that with this configure option. We need to
- # build our own GCC in the first place as 4.7.2 is too old to get all the
- # Rust pieces compiled.
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --enable-llvm-static-stdcpp --release-channel=stable --sysconfdir=etc --target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu --set=target.x86_64-unknown-linux-gnu.cc=gcc --set=target.i686-unknown-linux-gnu.cc=gcc
- linux-armhf:
- var:
- # container:
- # suite: jessie
- deps:
- - build-essential
- - python
- - automake
- - libssl-dev
- - pkg-config
- - hardening-wrapper
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --build=[% c("var/gnu-build-triplet") %] --host=[% c("var/gnu-host-triplet") %] --target=[% c("var/gnu-host-triplet") %] --set=target.[% c("var/gnu-host-triplet") %].cc=gcc --set=target.[% c("var/gnu-host-triplet") %].linker=gcc
- linux-arm64:
- var:
- deps:
- - build-essential
- - python
- - automake
- - zlib1g-dev
- - libssl-dev
- - pkg-config
- # - hardening-wrapper
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --enable-llvm-static-stdcpp --release-channel=stable --sysconfdir=etc --build=[% c("var/gnu-build-triplet") %] --host=[% c("var/gnu-host-triplet") %] --target=[% c("var/gnu-host-triplet") %] --set=target.[% c("var/gnu-host-triplet") %].cc=gcc --set=target.[% c("var/gnu-host-triplet") %].linker=gcc
- osx-x86_64:
- var:
- arch_deps:
- - libssl-dev
- - pkg-config
- - zlib1g-dev
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang
- windows:
- var:
- arch_deps:
- - libssl-dev
- - pkg-config
- - zlib1g-dev
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=[% c("arch") %]-pc-windows-gnu
- input_files:
- - project: container-image
- - project: cmake
- name: cmake
- - project: '[% c("var/compiler") %]'
- name: '[% c("var/compiler") %]'
- - URL: 'https://static.rust-lang.org/dist/rustc-[% c("version") %]-src.tar.gz'
- name: rust
- sig_ext: asc
- file_gpg_id: 1
- gpg_keyring: rust.gpg
- - URL: 'https://static.rust-lang.org/dist/rust-[% c("var/prev_version") %]-[% c("var/gnu-build-triplet") %].tar.xz'
- name: prev_rust
- sig_ext: asc
- file_gpg_id: 1
- gpg_keyring: rust.gpg
- - filename: unwind.patch
- enable: '[% c("var/windows-i686") %]'
- - filename: 43909.patch
|