about summary refs log tree commit diff
path: root/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix')
-rw-r--r--nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix311
1 files changed, 311 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix b/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
new file mode 100644
index 000000000000..92c71dfc059c
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/rust/default-crate-overrides.nix
@@ -0,0 +1,311 @@
+{ lib
+, stdenv
+, atk
+, pkg-config
+, curl
+, darwin
+, libgit2
+, gtk3
+, libssh2
+, openssl
+, sqlite
+, zlib
+, dbus
+, dbus-glib
+, gdk-pixbuf
+, cairo
+, python3
+, libsodium
+, postgresql
+, gmp
+, gobject-introspection
+, foundationdb
+, capnproto
+, nettle
+, gtk4
+, clang
+, llvmPackages
+, linux-pam
+, pango
+, cmake
+, glib
+, freetype
+, fontconfig
+, rdkafka
+, udev
+, libevdev
+, alsa-lib
+, graphene
+, protobuf
+, autoconf
+, automake
+, libtool
+, seatd # =libseat
+, ...
+}:
+
+let
+  inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+in
+{
+  alsa-sys = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ alsa-lib ];
+  };
+
+  cairo-rs = attrs: {
+    buildInputs = [ cairo ];
+  };
+
+  cairo-sys-rs = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ cairo ];
+  };
+
+  capnp-rpc = attrs: {
+    nativeBuildInputs = [ capnproto ];
+  };
+
+  cargo = attrs: {
+    buildInputs = [ openssl zlib curl ]
+      ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
+  };
+
+  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 ];
+  };
+
+  gobject-sys = attrs: {
+    buildInputs = [ dbus-glib ];
+  };
+
+  gio-sys = attrs: {
+    buildInputs = [ dbus-glib ];
+  };
+
+  gdk-pixbuf-sys = attrs: {
+    buildInputs = [ dbus-glib ];
+  };
+
+  gdk-pixbuf = attrs: {
+    buildInputs = [ gdk-pixbuf ];
+  };
+
+  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 ];
+  };
+
+  nettle-sys = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ nettle clang ];
+    LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+  };
+
+  openssl = attrs: {
+    buildInputs = [ openssl ];
+  };
+
+  openssl-sys = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ openssl ];
+  };
+
+  pam-sys = attr: {
+    buildInputs = [ linux-pam ];
+  };
+
+  pango-sys = attr: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ pango ];
+  };
+
+  pq-sys = attr: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ postgresql ];
+  };
+
+  prost-build = attr: {
+    nativeBuildInputs = [ protobuf ];
+  };
+
+  rdkafka-sys = attr: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ rdkafka ];
+  };
+
+  rink = attrs: {
+    buildInputs = [ gmp ];
+    crateBin = [{ name = "rink"; path = "src/bin/rink.rs"; }];
+  };
+
+  security-framework-sys = attr: {
+    propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
+  };
+
+  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 ];
+  };
+
+  serde_derive = attrs: {
+    buildInputs = lib.optional stdenv.isDarwin Security;
+  };
+
+  servo-fontconfig-sys = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ freetype fontconfig ];
+  };
+
+  thrussh-libsodium = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ libsodium ];
+  };
+
+  xcb = attrs: {
+    buildInputs = [ python3 ];
+  };
+
+  atk-sys = attrs: {
+    nativeBuildInputs = [ pkg-config ];
+    buildInputs = [ atk ];
+  };
+
+}