2
0
Fork 0
genodepkgs/overlay/default.nix

55 lines
1.5 KiB
Nix

# SPDX-License-Identifier: CC0-1.0
final: prev:
with prev; {
binutils-unwrapped = prev.binutils-unwrapped.overrideAttrs (attrs: {
patches = attrs.patches ++ lib.optional targetPlatform.isGenode
[ ./binutils/support-genode.patch ];
});
clang = final.llvmPackages_10.clang;
cmake = prev.cmake.overrideAttrs (attrs: {
postInstall = with stdenv;
if targetPlatform.isGenode then ''
local MODULE="$out/share/cmake-${
lib.versions.majorMinor attrs.version
}/Modules/Platform/Genode.cmake"
if [ -e "$MODULE" ]; then
echo "Upstream provides $MODULE!"
exit 1
fi
cp ${./cmake/Genode.cmake} $MODULE
'' else
null;
});
inherit (final.genodeSources) genodeBase;
genodeLibcCross = callPackage ./libc { stdenv = crossLibcStdenv; };
genodePackages = import ../packages { nixpkgs = final; };
genodeSources = buildPackages.callPackage ./genode { };
libcCrossChooser = name:
if stdenv.targetPlatform.isGenode then
targetPackages.genodeLibcCross or genodeLibcCross
else
prev.libcCrossChooser name;
llvmPackages = recurseIntoAttrs llvmPackages_10;
llvmPackages_latest = llvmPackages_10;
llvmPackages_8 = llvmPackages_10;
llvmPackages_10 = callPackage ./llvm-10 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_10.tools;
targetLlvmLibraries = targetPackages.llvmPackages_10.libraries;
});
solo5-tools = callPackage ./solo5-tools { };
}