Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
While ENOTSUP is defined as equal to EOPNOTSUPP on these platforms,
exposing the ENOTSUP symbol (as libc does) allows for writing portable
code that may want to reference this error code.
|
|
Closes #476
|
|
EUNUSED* were removed from <sys/errno.h> in DragonflyBSD, so there is no
need for them to be in nix either. This also fixes the build on
DragonflyBSD.
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
|
|
|
|
|
|
799: Fix nix on Dragonfly r=Susurrus a=mneumann
This commit replaces pull request https://github.com/nix-rust/nix/pull/684. It fixes building `nix` on DragonFly. All tests pass. This requires most recent libc to build: https://github.com/rust-lang/libc/pull/851.
|
|
* DragonFly does not have a O_DSYNC flag
* Fix type_of_cmsg_data on DragonFly
* No fexecve() on DragonFly
* Do not run aio test cases on DragonFly
* Keep target lists in alphabetical order
* Unscrable #[cfg] directives and use cfg_if! macro instead
* Fix errno on DragonFly
Below follows an explanation why we have to use a C extension
to get errno working on DragonFly:
DragonFly uses a thread-local errno variable, but #[thread_local] is
feature-gated and not available in stable Rust as of this writing (Rust
1.21.0). We have to use a C extension (src/errno_dragonfly.c) to access
it.
Tracking issue for `thread_local` stabilization:
https://github.com/rust-lang/rust/issues/29594
Once this becomes stable, we can remove build.rs, src/errno_dragonfly.c,
remove the build-dependency from Cargo.toml, and use:
extern {
#[thread_local]
static errno: c_int;
}
Now all targets will use the build.rs script, but only on DragonFly this
will do something. Also, there are no additional dependencies for
targets other than DragonFly (no gcc dep).
|
|
|
|
Now that these constants are verified within libc,
these tests are no longer necessary.
|
|
|
|
cc #664 (unsure if this is everything needed)
|
|
|
|
Bitrig is in the process of re-merging with OpenBSD as is no longer
actively developed. Additionally it was never tested, and probably
was quite broken, for nix. So let's remove all references and not
even pretend to support it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add <sys/types.h>, which GNU is generally lenient about requiring, and
drop the spurious errno "ETYPE" which is nowhere to be seen in the
source tree (or in Apple's <errno.h>, either).
|
|
|
|
Closes #138
|
|
Some of the tests are currently unrunnable, but the basic library is at least
buildable.
|
|
|
|
`cargo build` works.
|
|
|
|
Initially support this by assuming the lowest common denominator. The long
term solution is to improve the build system to allow pulling in more specific
features that are available on the target system.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- cstr fallout
- deriving -> derive
- lib stabilization warnings removal
|
|
Based on #22.
|
|
|
|
|
|
As per this pull request https://github.com/rust-lang/rust/pull/18973,
enum variants require fully qualified path to access them.
This commit introduces boring changes to make nix-rust compiles againts
new rust.
|
|
|
|
|
|
|
|
|
|
|
|
|