# 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; }); }