idiosyn/overlay.nix
2024-07-25 00:23:45 +02:00

46 lines
1.3 KiB
Nix

{ nixpkgs, ... }: final: prev:
let
inherit (final) lib callPackage;
pkgs = import nixpkgs {
localSystem = final.buildPlatform;
crossSystem = final.hostPlatform;
config = removeAttrs final.config [
"replaceStdenv"
"replaceCrossStdenv"
];
};
idiosyn = import ./stdenv.nix pkgs;
gentoo-patches = final.fetchgit {
url = "https://anongit.gentoo.org/git/repo/gentoo.git";
rev = "fa77d52a7ff39464c50707ca024725deab08b534";
sparseCheckout = [ "*.patch" ];
nonConeMode = true;
hash = "sha256-ZTrPeo8TjKSDAUyeJyWq1C8O9EXd9uhClHlphPsFXCA=";
};
in {
inherit idiosyn;
busybox = prev.busybox.overrideAttrs (base: {
makeFlags = base.makeFlags
++ [ "CC=${final.buildPackages.gcc}/bin/${final.stdenv.cc.targetPrefix}cc" ];
});
libgcrypt = prev.libgcrypt.overrideAttrs (base: {
configureFlags = base.configureFlags or [ ]
++ [ "--disable-jent-support" ];
});
rustc = if final.buildPlatform != final.hostPlatform
then final.rust-bin.stable.latest.default.passthru.availableComponents.rustc
else prev.rustc;
time = prev.time.overrideAttrs (base: {
patches = base.patches or [ ]
++ lib.optional final.time.stdenv.cc.isClang
"${gentoo-patches}/sys-process/time/files/time-1.9-implicit-func-decl-clang.patch";
});
}