Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
411 lines
7.4 KiB
Nix
411 lines
7.4 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
alsa-lib,
|
|
atk,
|
|
autoconf,
|
|
automake,
|
|
cairo,
|
|
capnproto,
|
|
clang,
|
|
cmake,
|
|
curl,
|
|
dbus,
|
|
dbus-glib,
|
|
fontconfig,
|
|
foundationdb,
|
|
freetype,
|
|
gdk-pixbuf,
|
|
glib,
|
|
gmp,
|
|
gobject-introspection,
|
|
graphene,
|
|
gtk3,
|
|
gtk4,
|
|
libevdev,
|
|
libgit2,
|
|
libsodium,
|
|
libsoup_3,
|
|
libssh2,
|
|
libtool,
|
|
linux-pam,
|
|
llvmPackages,
|
|
nettle,
|
|
openssl,
|
|
pango,
|
|
pkg-config,
|
|
libpq,
|
|
protobuf,
|
|
python3,
|
|
rdkafka,
|
|
seatd, # =libseat
|
|
sqlite,
|
|
udev,
|
|
webkitgtk_4_1,
|
|
zlib,
|
|
buildPackages,
|
|
...
|
|
}:
|
|
|
|
{
|
|
alsa-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ alsa-lib ];
|
|
};
|
|
|
|
cairo-rs = attrs: {
|
|
buildInputs = [ cairo ];
|
|
};
|
|
|
|
cairo-sys-rs = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ cairo ];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
capnp-rpc = attrs: {
|
|
nativeBuildInputs = [ capnproto ];
|
|
};
|
|
|
|
cargo = attrs: {
|
|
buildInputs = [
|
|
openssl
|
|
zlib
|
|
curl
|
|
];
|
|
};
|
|
|
|
libz-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ zlib ];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
curl-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [
|
|
zlib
|
|
curl
|
|
];
|
|
propagatedBuildInputs = [
|
|
curl
|
|
zlib
|
|
];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
dbus = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ dbus ];
|
|
};
|
|
|
|
evdev-sys = attrs: {
|
|
nativeBuildInputs =
|
|
[
|
|
pkg-config
|
|
]
|
|
++ lib.optionals (stdenv.buildPlatform.config != stdenv.hostPlatform.config) [
|
|
python3
|
|
autoconf
|
|
automake
|
|
libtool
|
|
];
|
|
buildInputs = [ libevdev ];
|
|
|
|
# This prevents libevdev's build.rs from trying to `git fetch` when HOST!=TARGET
|
|
prePatch = ''
|
|
touch libevdev/.git
|
|
'';
|
|
};
|
|
|
|
expat-sys = attrs: {
|
|
nativeBuildInputs = [ cmake ];
|
|
};
|
|
|
|
foundationdb-sys = attrs: {
|
|
buildInputs = [ foundationdb ];
|
|
# needed for 0.4+ release, when the FFI bindings are auto-generated
|
|
#
|
|
# patchPhase = ''
|
|
# substituteInPlace ./foundationdb-sys/build.rs \
|
|
# --replace /usr/local/include ${foundationdb.dev}/include
|
|
# '';
|
|
};
|
|
|
|
foundationdb = attrs: {
|
|
buildInputs = [ foundationdb ];
|
|
};
|
|
|
|
freetype-sys = attrs: {
|
|
nativeBuildInputs = [ cmake ];
|
|
buildInputs = [ freetype ];
|
|
};
|
|
|
|
glib-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ glib ];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
gobject-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ dbus-glib ];
|
|
};
|
|
|
|
gio-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ dbus-glib ];
|
|
};
|
|
|
|
gdk-pixbuf = attrs: {
|
|
buildInputs = [
|
|
dbus-glib
|
|
gdk-pixbuf
|
|
];
|
|
};
|
|
|
|
gdk-pixbuf-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ gdk-pixbuf ];
|
|
};
|
|
|
|
gdk-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ gtk3 ]; # libgdk-3
|
|
};
|
|
|
|
gdkx11-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ gtk3 ];
|
|
};
|
|
|
|
gtk-sys = attrs: {
|
|
buildInputs = [ gtk3 ];
|
|
nativeBuildInputs = [ pkg-config ];
|
|
};
|
|
|
|
gtk4-sys = attrs: {
|
|
buildInputs = [ gtk4 ];
|
|
nativeBuildInputs = [ pkg-config ];
|
|
};
|
|
|
|
gdk4-sys = attrs: {
|
|
buildInputs = [ gtk4 ];
|
|
nativeBuildInputs = [ pkg-config ];
|
|
};
|
|
|
|
gsk4-sys = attrs: {
|
|
buildInputs = [ gtk4 ];
|
|
nativeBuildInputs = [ pkg-config ];
|
|
};
|
|
|
|
libgit2-sys = attrs: {
|
|
LIBGIT2_SYS_USE_PKG_CONFIG = true;
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [
|
|
openssl
|
|
zlib
|
|
libgit2
|
|
];
|
|
};
|
|
|
|
libseat-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ seatd ];
|
|
};
|
|
|
|
libsqlite3-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ sqlite ];
|
|
};
|
|
|
|
libssh2-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [
|
|
openssl
|
|
zlib
|
|
libssh2
|
|
];
|
|
};
|
|
|
|
libdbus-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ dbus ];
|
|
};
|
|
|
|
libudev-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ udev ];
|
|
};
|
|
|
|
graphene-sys = attrs: {
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
gobject-introspection
|
|
];
|
|
buildInputs = [ graphene ];
|
|
};
|
|
|
|
javascriptcore-rs-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ webkitgtk_4_1 ];
|
|
};
|
|
|
|
nettle-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [
|
|
nettle
|
|
clang
|
|
];
|
|
LIBCLANG_PATH = "${lib.getLib llvmPackages.libclang}/lib";
|
|
};
|
|
|
|
openssl = attrs: {
|
|
buildInputs = [ openssl ];
|
|
};
|
|
|
|
openssl-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ openssl ];
|
|
};
|
|
|
|
opentelemetry-proto = attrs: {
|
|
nativeBuildInputs = [ protobuf ];
|
|
};
|
|
|
|
pam-sys = attr: {
|
|
buildInputs = [ linux-pam ];
|
|
};
|
|
|
|
pango-sys = attr: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ pango ];
|
|
};
|
|
|
|
pq-sys = attr: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ libpq ];
|
|
};
|
|
|
|
prost-build = attr: {
|
|
nativeBuildInputs = [ protobuf ];
|
|
};
|
|
|
|
prost-wkt-types = attr: {
|
|
nativeBuildInputs = [ protobuf ];
|
|
};
|
|
|
|
rdkafka-sys = attr: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ rdkafka ];
|
|
};
|
|
|
|
rink = attrs: {
|
|
buildInputs = [ gmp ];
|
|
crateBin = [
|
|
{
|
|
name = "rink";
|
|
path = "src/bin/rink.rs";
|
|
}
|
|
];
|
|
};
|
|
|
|
sequoia-openpgp = attrs: {
|
|
buildInputs = [ gmp ];
|
|
};
|
|
|
|
sequoia-openpgp-ffi = attrs: {
|
|
buildInputs = [ gmp ];
|
|
};
|
|
|
|
sequoia-ipc = attrs: {
|
|
buildInputs = [ gmp ];
|
|
};
|
|
|
|
sequoia-guide = attrs: {
|
|
buildInputs = [ gmp ];
|
|
};
|
|
|
|
pangocairo-sys = attr: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ pango ];
|
|
};
|
|
|
|
sequoia-store = attrs: {
|
|
nativeBuildInputs = [ capnproto ];
|
|
buildInputs = [
|
|
sqlite
|
|
gmp
|
|
];
|
|
};
|
|
|
|
sequoia-sq = attrs: {
|
|
buildInputs = [
|
|
sqlite
|
|
gmp
|
|
];
|
|
};
|
|
|
|
sequoia-tool = attrs: {
|
|
nativeBuildInputs = [ capnproto ];
|
|
buildInputs = [
|
|
sqlite
|
|
gmp
|
|
];
|
|
};
|
|
|
|
servo-fontconfig-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [
|
|
freetype
|
|
fontconfig
|
|
];
|
|
};
|
|
|
|
soup3-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ libsoup_3 ];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
thrussh-libsodium = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ libsodium ];
|
|
};
|
|
|
|
tonic-reflection = attrs: {
|
|
nativeBuildInputs = [ protobuf ];
|
|
};
|
|
|
|
webkit2gtk-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ webkitgtk_4_1 ];
|
|
extraLinkFlags = [ "-L${zlib.out}/lib" ];
|
|
};
|
|
|
|
xcb = attrs: {
|
|
buildInputs = [ python3 ];
|
|
};
|
|
|
|
atk-sys = attrs: {
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ atk ];
|
|
};
|
|
|
|
# Assumes it can run Command::new(env::var("CARGO")).arg("locate-project")
|
|
# https://github.com/bkchr/proc-macro-crate/blame/master/src/lib.rs#L242
|
|
proc-macro-crate =
|
|
attrs:
|
|
lib.optionalAttrs (lib.versionAtLeast attrs.version "2.0") {
|
|
postPatch =
|
|
(attrs.postPatch or "")
|
|
+ ''
|
|
substituteInPlace \
|
|
src/lib.rs \
|
|
--replace-fail \
|
|
'env::var("CARGO")' \
|
|
'Ok::<_, core::convert::Infallible>("${lib.getBin buildPackages.cargo}/bin/cargo")'
|
|
'';
|
|
};
|
|
}
|