config 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # vim: filetype=yaml sw=2
  2. filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
  3. version: 1.25.0
  4. var:
  5. prev_version: 1.24.1
  6. container:
  7. use_container: 1
  8. targets:
  9. linux:
  10. var:
  11. arch_deps:
  12. - hardening-wrapper
  13. - libssl-dev
  14. - pkg-config
  15. # We use
  16. # `--enable-local-rust` to avoid downloading the required compiler during
  17. # build time
  18. #
  19. # `--enable-vendor` to avoid downloading crates during build time and just
  20. # use the ones which are shipped with the source
  21. #
  22. # `--enable-extended` to build not only rustc but cargo as well
  23. #
  24. # `--release-channel=stable` to just include stable features in the
  25. # compiler
  26. #
  27. # `--sysconfdir=etc` to avoid install failures as |make install| wants to
  28. # write to /etc otherwise
  29. #
  30. # the `target` triple to explicitly specify the architecture and platform
  31. # for the compiler/std lib. Ideally, it should not be needed unless one is
  32. # cross-compiling, but compiling `alloc_jemalloc` fails without that in a
  33. # 32bit container. "--host=x86_64-unknown-linux-gnu" is used in its
  34. # configure script in this case.
  35. # `--set=` to explicitly specify the C compiler. We need to compile the
  36. # bundled LLVM and it wants to use `cc`. However, we don't have that in
  37. # our compiled GCC resulting in weird errors due to C and C++ compiler
  38. # version mismatch. We avoid that with this configure option. We need to
  39. # build our own GCC in the first place as 4.7.2 is too old to get all the
  40. # Rust pieces compiled.
  41. configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=[% c("arch") %]-unknown-linux-gnu --set=target.[% c("arch") %]-unknown-linux-gnu.cc=gcc
  42. osx-x86_64:
  43. var:
  44. arch_deps:
  45. - libssl-dev
  46. - pkg-config
  47. 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
  48. input_files:
  49. - project: container-image
  50. - project: cmake
  51. name: cmake
  52. - project: '[% c("var/compiler") %]'
  53. name: '[% c("var/compiler") %]'
  54. - URL: 'https://static.rust-lang.org/dist/rustc-[% c("version") %]-src.tar.gz'
  55. name: rust
  56. sig_ext: asc
  57. file_gpg_id: 1
  58. gpg_keyring: rust.gpg
  59. - URL: 'https://static.rust-lang.org/dist/rust-[% c("var/prev_version") %]-[% c("arch") %]-unknown-linux-gnu.tar.xz'
  60. name: prev_rust
  61. sig_ext: asc
  62. file_gpg_id: 1
  63. gpg_keyring: rust.gpg
  64. - filename: binaryen.patch
  65. enable: '[% c("var/linux") %]'