tvl-depot/third_party/overlays/tvl.nix
Adam Joseph 19fd6ffae5 chore(third_party/overlays): disable nix aws integration
The Nix AWS integration is a complete dumpster-fire, the library it
relies on (aws-sdk-cpp) accounts for more build time than cppnix
itself, and its tests fail nondeterministically.  We recently
disabled it for nixpkgs' CI:

  https://github.com/NixOS/nixpkgs/pull/266443

Since it appears TVL does not use the AWS integration (correct me if
I'm wrong) let's disable it here too.  Hopefully someday cppnix will
give up on it and just delete it.

Change-Id: I71668c03379275b2083e59ff7c3a48b3bc7f5e48
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10202
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Adam Joseph <adam@westernsemico.com>
Tested-by: BuildkiteCI
2023-12-10 14:17:53 +00:00

137 lines
4.6 KiB
Nix

# This overlay is used to make TVL-specific modifications in the
# nixpkgs tree, where required.
{ lib, depot, localSystem, ... }:
self: super:
depot.nix.readTree.drvTargets {
nix_2_3 = (super.nix_2_3.override {
# flaky tests, long painful build, see https://github.com/NixOS/nixpkgs/pull/266443
withAWS = false;
});
nix = self.nix_2_3;
nix_latest = super.nix.override ({
# flaky tests, long painful build, see https://github.com/NixOS/nixpkgs/pull/266443
withAWS = false;
});
# To match telega in emacs-overlay or wherever
tdlib = super.tdlib.overrideAttrs (_: {
version = "1.8.21";
src = self.fetchFromGitHub {
owner = "tdlib";
repo = "td";
rev = "3870c29b158b75ca5e48e0eebd6b5c3a7994a000";
sha256 = "12c59pyghyyamzln8bzhs65alv8ysw3ny6sccvwasr84yyif0b1h";
};
});
home-manager = super.home-manager.overrideAttrs (_: {
src = depot.third_party.sources.home-manager;
version = "git-"
+ builtins.substring 0 7 depot.third_party.sources.home-manager.rev;
});
clang-tools_11 = self.clang-tools.override {
llvmPackages = self.llvmPackages_11;
};
# stdenv which uses clang, lld and libc++; full is a slight exaggeration,
# we for example don't use LLVM's libunwind
fullLlvm11Stdenv = self.overrideCC self.stdenv
(self.llvmPackages_11.libcxxStdenv.cc.override {
inherit (self.llvmPackages_11) bintools;
});
# Add our Emacs packages to the fixpoint
emacsPackagesFor = emacs: (
(super.emacsPackagesFor emacs).overrideScope' (eself: esuper: {
tvlPackages = depot.tools.emacs-pkgs // depot.third_party.emacs;
# Use the notmuch from nixpkgs instead of from the Emacs
# overlay, to avoid versions being out of sync.
notmuch = super.notmuch.emacs;
# Build EXWM with the depot sources instead.
depotExwm = eself.callPackage depot.third_party.exwm.override { };
# Workaround for magit checking the git version at load time
magit = esuper.magit.overrideAttrs (_: {
propagatedNativeBuildInputs = [
self.git
];
});
})
);
# dottime support for notmuch
notmuch = super.notmuch.overrideAttrs (old: {
passthru = old.passthru // {
patches = old.patches ++ [ ./patches/notmuch-dottime.patch ];
};
});
# nix-serve does not work with nix 2.4
# https://github.com/edolstra/nix-serve/issues/28
nix-serve = super.nix-serve.override { nix = self.nix_2_3; };
# Avoid builds of mkShell derivations in CI.
mkShell = super.lib.makeOverridable (args: (super.mkShell args).overrideAttrs (_: {
passthru = {
meta.ci.skip = true;
};
}));
crate2nix = (super.crate2nix.override (_: { nix = self.nix_latest; })).overrideAttrs (old: rec {
patches = old.patches ++ [
# run tests in debug mode, not release mode
# https://github.com/nix-community/crate2nix/pull/301
./patches/crate2nix-tests-debug.patch
# https://github.com/nix-community/crate2nix/pull/309
./patches/crate2nix-take-lndir-from-buildPackages.patch
./patches/crate2nix-skip-running-tests-when-cross-compiling.patch
# https://github.com/nix-community/crate2nix/pull/307
./patches/crate2nix-fix-resolve-missing-target-features-to-null.patch
];
});
evans = super.evans.overrideAttrs (old: {
patches = old.patches or [ ] ++ [
# add support for unix domain sockets
# https://github.com/ktr0731/evans/pull/680
./patches/evans-add-support-for-unix-domain-sockets.patch
];
});
# Package gerrit-queue, which is not in nixpkgs yet
gerrit-queue = super.buildGoModule {
pname = "gerrit-queue";
version = "unstable-2023-10-20";
vendorHash = "sha256-+Ig4D46NphzpWKXO23Haea9EqVtpda8v9zLPJkbe3bQ=";
src = super.fetchFromGitHub {
owner = "flokli";
repo = "gerrit-queue";
rev = "0186dbde15c9b11dc17b422feb74c842f6fa605a";
hash = "sha256-zXB5vre/Vr7UOyeMnf2RCtMKm+v5RENH7kGPr/2o7mI=";
};
meta = with lib; {
description = "Gerrit submit bot";
homepage = "https://github.com/tweag/gerrit-queue";
license = licenses.asl20;
};
};
# we're vendoring this for now, since the version upgrade has a lot of changes
# we can't merge it upstream yet because the Darwin build is broken
# https://github.com/NixOS/nixpkgs/pull/267033
clickhouse = (super.callPackage ./clickhouse {
llvmPackages = super.llvmPackages_16;
}).overrideAttrs (old: {
patches = old.patches or [ ] ++ [
# https://github.com/ClickHouse/ClickHouse/pull/56118
./patches/clickhouse-support-reading-arrow-LargeListArray.patch
];
});
}