CI / check (push) Canceled after 0s
The repo assumed a distro with a system-wide Rust, which NixOS does not provide. This adds a flake devShell carrying the full dependency surface: - Build: rustc/cargo/clippy/rustfmt, pkg-config, clang (pipewire-sys and libspa-sys need a real libclang for bindgen, via LIBCLANG_PATH), cmake (audiopus_sys's vendored-libopus fallback), and git (build.rs stamps PEERSPEAK_GIT_SHORT from `git rev-parse`). - Link: alsa-lib, libopus, pipewire. - dlopen'd at runtime: vulkan-loader, libxkbcommon, wayland and the X11 libs. Nothing links these, so they never land in the binary's rpath and are reachable only through LD_LIBRARY_PATH. Omitting them builds fine and then fails at window creation, which is a confusing way to find out. - The supply-chain gates CI runs (cargo-deny, cargo-audit) plus cargo-deb. These were `cargo install`ed on the CachyOS side, which does not carry over — those binaries link that distro's glibc. It also carries the screen-share tools (GStreamer + plugin search path, pactl, mpv). Those look like they belong only to pixelpass, but tests/screenshare_host_fault.rs starts a REAL pixelpass host, which aborts at its own preflight without them — so they are a dependency of this test suite. They are duplicated from pixelpass's flake rather than imported: the two projects are mutually optional by design, and having one flake consume the other would reintroduce the build-level dependency that rule prevents. nixpkgs is pinned to nixos-26.05, the same channel the hosts run, so the libraries here match the running PipeWire daemon and Vulkan ICD. Verified: 640 lib tests pass, all 4 screenshare_host_fault live gates pass (real audio backend, real network bind, real pixelpass child), fmt clean. Known delta: clippy 1.95.0 (nixpkgs 26.05) flags one collapsible_match in src/widget/selectable_text.rs that clippy 1.97.1 on CachyOS did not.
20 lines
534 B
Plaintext
20 lines
534 B
Plaintext
/target
|
|
|
|
# makepkg build artifacts (when building packaging/PKGBUILD in place)
|
|
/packaging/src/
|
|
/packaging/pkg/
|
|
/packaging/peerspeak/
|
|
/packaging/*.pkg.tar.*
|
|
/packaging/*.log
|
|
|
|
# Windows installer build artifacts (the staged exe + compiled setup.exe);
|
|
# the .iss script and .ico are the tracked sources.
|
|
/packaging/windows/peerspeak.exe
|
|
/packaging/windows/output/
|
|
|
|
# Nix: the symlink `nix build` drops, and direnv's local cache. flake.nix and
|
|
# flake.lock ARE tracked — the lock is what pins the toolchain.
|
|
/result
|
|
/result-*
|
|
/.direnv/
|