- This Rust release comes with LLVM 10. Drop the LLVM patches we
no longer need.
- On FreeBSD 13.0 powerpc64 set the elfv2 ABI explicitly in the
Rust target instead of patching LLVM.
- Build LLVM with Ninja. It can shorten the build time slightly.
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
Tested by: mikael, pkubaj, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D25658
- Remove devel/cargo-tree since it is now integrated into cargo
- Add patch to fix build with LibreSSL 3.1.x and 3.2.0 [1]
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/06/04/Rust-1.44.0.html
PR: 246332 [1]
Tested by: mikael, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D25099
- Force rebuild all consumers to fix potential miscompilations with
1.41.0
- Enable SOURCES by default. The sources are indexed by RLS and
required for it to function properly, so they should be available
by default. This also makes sure we test the option properly.
- Remove implied --config=config.toml from x.py args
- Switch to the upstreamed backtrace crate patches like rust-nightly
- Enable WASM by default [0]
- Strip libraries (D23650) [1]
- Simplify plist generation (D23735) [2]
Changes: https://blog.rust-lang.org/2020/02/27/Rust-1.41.1.html
Submitted by: mikael [0,1,2]
With hat: rust
Differential Revision: https://reviews.freebsd.org/D23835
- Force rebuild all consumers to catch regressions early
- Switch to cross-compiled (from amd64) bootstraps for all
architectures generated with the incoming lang/rust-bootstrap
- Update cargo-c to 0.5.2 to unbreak librav1e build
- Make use of regular MAKE_ENV/TEST_ENV in lang/rust
- Turn on RUST_BACKTRACE in lang/rust and USES=cargo to hopefully
produce more useful failure logs when something panics during
builds
Changes: https://blog.rust-lang.org/2020/01/30/Rust-1.41.0.html
Tested by: mikael, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D23385
This also unbreaks the build with rust-nightly:
error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
--> /wrkdirs/usr/ports/sysutils/flowgger/work/flowgger-0.2.6-28-gab572a0/cargo-crates/twox-hash-1.1.0/src/number_streams.rs:67:23
|
67 | fn count(self) -> usize() {
| ^^^^^^^ only `Fn` traits may use parentheses
...
74 | number_stream!(U32FromBytes, u32, U32_BYTES);
| --------------------------------------------- in this macro invocation
error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
--> /wrkdirs/usr/ports/sysutils/flowgger/work/flowgger-0.2.6-28-gab572a0/cargo-crates/twox-hash-1.1.0/src/number_streams.rs:67:23
|
67 | fn count(self) -> usize() {
| ^^^^^^^ only `Fn` traits may use parentheses
...
75 | number_stream!(U64FromBytes, u64, U64_BYTES);
| --------------------------------------------- in this macro invocation
error: aborting due to 2 previous errors
- Take it back
- Upstream repo is now awslabs/flowgger
- Switch to crates.io since releases are no longer tagged on GitHub
- Update WWW
The backtrace-sys crate no longer needs gmake since 0.1.20.
sysutils/flowgger still uses backtrace-sys-0.1.14. Since it is the
only USES=cargo port left that needs it, move the gmake dependency
directly to it instead.
lang/rust currently has backtrace-sys-0.1.30. It also vendors
jemalloc-sys (which also needs gmake to build) but it is hidden
behind rustc's jemalloc feature which we do not currently activate.
It should be safe to remove gmake in lang/rust too.
PR: 242267
Reported by: mikael.urankar@gmail.com
Some crates are optional via Cargo features or are only used during
tests, however the framework has no way to discriminate between
test or run dependencies using just CARGO_CRATES leading to more
run dependencies than necessary for some packages. With more ported
Rust applications it's time to let individual ports make that
decision now.
The environmental setup to use dependencies from ports instead of
bundled ones and implied build dependencies (cmake, gmake, pkgconf)
are left in place for now.
Assign cargo.mk to rust@ while here.
- Update devel/racer to latest version that can build with 1.34.0
- Drop no longer needed patch from textproc/ripgrep
- Force rebuild all consumers to catch regressions early
Thanks to Mikaël Urankar for providing updated bootstraps for
aarch64, armv6, armv7, powerpc64.
Changes: https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html
Reviewed by: jbeich
With hat: rust
Differential Revision: https://reviews.freebsd.org/D19850
thread 'main' panicked at '
This crate is only compatible with OpenSSL 1.0.1, 1.0.2, and 1.1.0, or LibreSSL
2.5 and 2.6.0, but a different version of OpenSSL was found. The build is now
aborting due to this version mismatch.
', cargo-crates/openssl-sys-0.9.21/build.rs:486:9
Reported by: pkg-fallout
- Add build/lib dependencies, environment variables to ports using
the backtrace-sys, freetype-sys, gettext-sys, onig_sys,
thrussh-libsodium crates instead of doing this individually for
every port.
- Add a DEV_WARNING when using libc versions < 0.2.37 to prevent
instability of Rust applications on 12.0-CURRENT [1]
- Sort cargo-crates-licenses output
Reviewed by: pizzamig, jbeich [1]
Differential Revision: https://reviews.freebsd.org/D15463
The build of the openssl-sys-0.9.12 crate fails with:
This crate is only compatible with OpenSSL 1.0.1, 1.0.2, and 1.1.0, or LibreSSL
2.5.0, 2.5.1, 2.5.2, 2.5.3, and 2.5.4, but a different version of OpenSSL was
found. The build is now aborting due to this version mismatch.
Update the openssl crates to 0.9.15 (and also its dependencies).
While here also set LICENSE=MPL20
Flowgger is a fast, simple and lightweight data collector. It reads
log entries over a given protocol, extracts them, decodes them using a
given format, re-encodes them into a different format, and
asynchronously pushes the result into a remote data store.
Flowgger is designed to be:
- Paranoid: it carefully validates input data to prevent injection of
malformed/incomplete records down the chain.
- Safe: written in Rust, without any unsafe code.
- Fast: even though messages are systematically parsed and validated,
Flowgger is orders of magnitude faster than Logstash and Fluentd.
- Standalone: it comes as a single executable file, and doesn't require a JVM.
Flowgger supports common input types: stdin, UDP, TCP, TLS and Redis,
as well as multiple input formats: JSON (GELF), LTSV, Cap'n Proto and
RFC5424. Normalized messages can be sent to Kafka, Graylog, to
downstream Flowgger servers, or to other log collectors for further
processing.
WWW: https://github.com/jedisct1/flowgger
Approved by: mat (mentor)
Differential Revision: https://reviews.freebsd.org/D11162