Age | Commit message (Collapse) | Author |
|
|
|
2027: Update to bitflags 2.2.1. r=asomers a=qwandor
This is a new major version and requires some code changes.
2057: Haiku: `speed_t` is defined as `u8` for 32 and 64 bit systems r=asomers a=nielx
This fixes the build on 32 bit Haiku systems.
Co-authored-by: Andrew Walbran <qwandor@google.com>
Co-authored-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
|
|
Rust's standard library no longer guarantees that Ipv4Addr and Ipv6Addr
are wrappers around the C types (though for now at least, they are
identical on all platforms I'm aware of). So do the conversions
explicitly instead of transmuting.
Fixes #2053
|
|
This is a new major version and requires some code changes.
|
|
|
|
|
|
|
|
|
|
To include fix https://github.com/rust-lang/libc/commit/44cc30c6b68427d3628926868758d35fe561bbe6.
|
|
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
* Make ipv4addr_to_libc const
* Use mem::transmute in ipv4addr_to_libc and ipv6addr_to_libc
Fixes #1687
Fixes #1688
|
|
|
|
|
|
We were previously stuck on 0.11 for MSRV reasons, but since
bumping nix's MSRV to Rust 1.56 this is no longer the case.
|
|
|
|
|
|
|
|
And fix some documentation lints warned about by the newer rustdoc.
|
|
cargo-release automatically incremented the master branch's version
post-release. I don't like that, because it makes it harder for
consumers, especially indirect consumers, to use a `[patch.crates-io]`
section in their Cargo.toml files.
Also, configure cargo-release not to do this again in the future.
|
|
|
|
|
|
This is the last version of libc which will support Rust 1.46, per
https://github.com/rust-lang/libc/pull/2845
|
|
|
|
Add the autocfg crate as a build dependency, and introduce
has_doc_alias as a conditional compilation symbol.
|
|
|
|
The existing AIO implementation has some problems:
1) The in_progress field is checked at runtime, not compile time.
2) The mutable field is checked at runtime, not compile time.
3) A downstream lio_listio user must store extra state to track whether
the whole operation is partially, completely, or not at all
submitted.
4) Nix does heap allocation itself, rather than allowing the caller to
choose it. This can result in double (or triple, or quadruple)
boxing.
5) There's no easy way to use lio_listio to submit multiple operations with
a single syscall, but poll each individually.
6) The lio_listio usage is far from transparent and zero-cost.
7) No aio_readv or aio_writev support.
8) priority has type c_int; should be i32
9) aio_return should return a usize instead of an isize, since it only
uses negative values to indicate errors, which Rust represents via
the Result type.
This rewrite solves several problems:
1) Unsolved. I don't think it can be solved without something like
C++'s guaranteed type elision. It might require changing the
signature of Future::poll too.
2) Solved.
3) Solved, by the new in_progress method and by removing the complicated
lio_listio resubmit code.
4) Solved.
5) Solved.
6) Solved, by removing the lio_listo resubmit code. It can be
reimplemented downstream if necessary. Or even in Nix, but it
doesn't fit Nix's theme of zero-cost abstractions.
7) Solved.
8) Solved.
9) Solved.
The rewrite includes functions that don't work on FreeBSD, so add CI
testing for FreeBSD 14 too.
By default only enable tests that will pass on FreeBSD 12.3. But run a
CI job on FreeBSD 14 and set a flag that will enable such tests.
|
|
1699: Revert "Pin nightly compiler used in CI for uclibc" r=rtzoeller a=asomers
This reverts commit 23f18dfc18929965c95e0bcbdb8731645f07e401.
libc v0.2.124 fixes the problem.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Don't change how the versions are specified (i.e. whether a patch
version is listed).
parking_lot cannot be upgraded due to 0.12.0 bumping the MSRV to 1.49.
In many cases, nix was one of the only consumers of the current versions
(i.e. we are late to upgrade).
|
|
Upgrade sysctl dev-dependency to 0.4 and handle its breaking API changes.
|
|
|
|
|
|
This reverts commit 23f18dfc18929965c95e0bcbdb8731645f07e401.
libc v0.2.124 fixes the problem.
|
|
features => feature
users => user
Neither of these features have yet been included in a release, so it's
ok to rename them.
|
|
|
|
|
|
https://github.com/rust-lang/libc/pull/2543 was merged and is available
starting from 0.2.114.
Using published version of libc makes it easier to use git version of nix
|
|
Only the socket feature depends on memoffset. Allow clients to skip
pulling memoffset in as a dependency if they don't need it.
|
|
|
|
It is not stable across OpenBSD versions and is reserved by the system
on FreeBSD and NetBSD.
|
|
f5ee22db489f78b9c003ef60b7ad1b837503bc4a removed the need for this dependency.
|
|
|
|
Using features reduces build time and size for consumer crates. By
default all features are enabled.
|
|
|