2
0
Fork 0
genodepkgs/overlay/default.nix

56 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 ];
});
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;
});
gdb = prev.gdb.overrideAttrs (attrs: {
patches = attrs.patches
++ lib.optional targetPlatform.isGenode [ ./gdb/genode.patch ];
});
inherit (final.genodeSources) genodeBase;
genodeLibcCross = callPackage ./libc { };
genodePackages = import ../packages { nixpkgs = final; };
genodeSources = buildPackages.callPackage ../packages/genodelabs { };
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;
});
solo5-tools = callPackage ./solo5-tools { };
tup = prev.tup.overrideAttrs (attrs: { setupHook = ./tup/setup-hook.sh; });
}