2
0
Fork 0
genodepkgs/overlay/default.nix

43 lines
1.2 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 ];
});
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; };
genodeSources = buildPackages.callPackage ./genode { };
libcCrossChooser = name:
if stdenv.targetPlatform.isGenode then
targetPackages.genodeLibcCross or genodeLibcCross
else
prev.libcCrossChooser name;
llvmPackages_8 = callPackage ./llvm-8 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmTools = buildPackages.llvmPackages_8.tools;
targetLlvmLibraries = targetPackages.llvmPackages_8.libraries;
});
}