5daaaa2f0b
* //3p/overlays/tvl: build nixos-option with latest Nix version (2.24) as is required now. It would be nice to avoid this somehow to prevent NixOS machines in depot having to carry around two versions of Nix. Maybe we can at least use a statically linked nixos-option? * //3p/{gerrit,gerrit_plugins}: update deps hash * //tvix/eval: adjust our nixVersion “user agent” so that it'll pass the new 2.3.17 minimum version nixpkgs prescribes (to check for zstd support when substituting from the binary cache). Change-Id: I4eb715afdc3dbb857340839f08ce86612aa7f117 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12805 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
184 lines
6.1 KiB
Nix
184 lines
6.1 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 // {
|
|
# avoid duplicate pipeline step
|
|
meta = self.nix_2_3.meta or { } // {
|
|
ci = self.nix_2_3.meta.ci or { } // {
|
|
skip = true;
|
|
};
|
|
};
|
|
};
|
|
nix_latest_stable = super.nix.override ({
|
|
# flaky tests, long painful build, see https://github.com/NixOS/nixpkgs/pull/266443
|
|
withAWS = false;
|
|
});
|
|
|
|
# No longer builds with Nix 2.3 after
|
|
# https://github.com/nixos/nixpkgs/commit/5f9d2d95721cdf20ace744f2db75ad70a7aedd3a
|
|
nixos-option = super.nixos-option.override {
|
|
nix = self.nix_latest_stable;
|
|
};
|
|
|
|
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;
|
|
});
|
|
|
|
# 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
|
|
];
|
|
});
|
|
|
|
# Pin xelb to a newer one until the new maintainers do a release.
|
|
xelb = eself.trivialBuild {
|
|
pname = "xelb";
|
|
version = "0.19-dev"; # invented version, last actual release was 0.18
|
|
|
|
src = self.fetchFromGitHub {
|
|
owner = "emacs-exwm";
|
|
repo = "xelb";
|
|
rev = "86089eba2de6c818bfa2fac075cb7ad876262798";
|
|
sha256 = "1mmlrd2zpcwiv8gh10y7lrpflnbmsycdascrxjr3bfcwa8yx7901";
|
|
};
|
|
};
|
|
|
|
# Override telega sources until MELPA updates in nixpkgs resume.
|
|
telega = esuper.telega.overrideAttrs (_: {
|
|
version = "0.8.291"; # unstable
|
|
src = self.fetchFromGitHub {
|
|
owner = "zevlg";
|
|
repo = "telega.el";
|
|
rev = "58b4963b292ceb723d665df100b519eb5a99c676";
|
|
sha256 = "1q3ydbm0jhrsyvvdn0mpmxvskq0l53jkh40a5hlx7i3qkinbhbry";
|
|
};
|
|
});
|
|
})
|
|
);
|
|
|
|
# dottime support for notmuch
|
|
notmuch = super.notmuch.overrideAttrs (old: {
|
|
passthru = old.passthru // {
|
|
patches = old.patches ++ [ ./patches/notmuch-dottime.patch ];
|
|
};
|
|
});
|
|
|
|
# Avoid builds of mkShell derivations in CI.
|
|
mkShell = super.lib.makeOverridable (args: (super.mkShell args).overrideAttrs (_: {
|
|
passthru = {
|
|
meta.ci.skip = true;
|
|
};
|
|
}));
|
|
|
|
crate2nix = super.crate2nix.overrideAttrs (old: {
|
|
patches = old.patches or [ ] ++ [
|
|
# TODO(Kranzes): Remove in next release.
|
|
./patches/crate2nix-0001-Fix-Use-mkDerivation-with-src-instead-of-runCommand.patch
|
|
# https://github.com/nix-community/crate2nix/pull/301
|
|
./patches/crate2nix-tests-debug.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
|
|
];
|
|
});
|
|
|
|
# https://github.com/NixOS/nixpkgs/pull/329415/files
|
|
grpc-health-check = super.rustPlatform.buildRustPackage {
|
|
pname = "grpc-health-check";
|
|
version = "unstable-2022-08-19";
|
|
|
|
src = super.fetchFromGitHub {
|
|
owner = "paypizza";
|
|
repo = "grpc-health-check";
|
|
rev = "f61bb5e10beadc5ed53144cc540d66e19fc510bd";
|
|
hash = "sha256-nKut9c1HHIacdRcmvlXe0GrtkgCWN6sxJ4ImO0CIDdo=";
|
|
};
|
|
|
|
cargoHash = "sha256-lz+815iE+oXBQ3PfqBO0QBpZY6x1SNR7OU7BjkRszzI=";
|
|
|
|
nativeBuildInputs = [ super.protobuf ];
|
|
# tests fail
|
|
doCheck = false;
|
|
};
|
|
|
|
# Imports a patch that fixes usage of this package on versions
|
|
# >=1.9. The patch has been proposed upstream, but so far with no
|
|
# reactions from the maintainer:
|
|
#
|
|
# https://github.com/tpm2-software/tpm2-pkcs11/pull/849
|
|
tpm2-pkcs11 = super.tpm2-pkcs11.overrideAttrs (old: {
|
|
patches = (old.patches or [ ]) ++ [ ./patches/tpm2-pkcs11-190-dbupgrade.patch ];
|
|
});
|
|
|
|
# Dependency isn't supported by Python 3.12
|
|
html5validator = super.html5validator.override {
|
|
python3 = self.python311;
|
|
};
|
|
|
|
# macFUSE bump containing fix for https://github.com/osxfuse/osxfuse/issues/974
|
|
# https://github.com/NixOS/nixpkgs/pull/320197
|
|
fuse =
|
|
if super.stdenv.isDarwin then
|
|
super.fuse.overrideAttrs
|
|
(old: rec {
|
|
version = "4.8.0";
|
|
src = super.fetchurl {
|
|
url = "https://github.com/osxfuse/osxfuse/releases/download/macfuse-${version}/macfuse-${version}.dmg";
|
|
hash = "sha256-ucTzO2qdN4QkowMVvC3+4pjEVjbwMsB0xFk+bvQxwtQ=";
|
|
};
|
|
}) else super.fuse;
|
|
|
|
# somebody renamed 'utillinux' upstream, but didn't rename all use-cases,
|
|
# leading to some packages being broken.
|
|
#
|
|
# temporarily restore the old name to make things work again.
|
|
utillinux = self.util-linux;
|
|
|
|
# Override niri to a version with interactive move until a new release is cut upstream.
|
|
niri =
|
|
let
|
|
src = self.fetchFromGitHub {
|
|
owner = "yalter";
|
|
repo = "niri";
|
|
rev = "0866990b7d706cdb3af2e9f0008bb9e7281a0e26";
|
|
hash = "sha256:088yb86pryrcklwggx072dhswhjvx9ylkzdhrfkpfc56a85mp6vk";
|
|
};
|
|
in
|
|
super.niri.overrideAttrs (old: {
|
|
inherit src;
|
|
cargoDeps = self.rustPlatform.importCargoLock {
|
|
lockFile = "${src}/Cargo.lock";
|
|
outputHashes = {
|
|
"smithay-0.3.0" = "sha256:10ihl9hvvi8aw30qv8ihv888ngr7wf7p9nwabf2jvhlc9443jq35";
|
|
"libspa-0.8.0" = "sha256:1n8ngihd75i3vgbfnfhpj8mi6shlrhbhvwfyms14m03613jp37lj";
|
|
};
|
|
};
|
|
});
|
|
}
|