final: prev: { fetchFromSteam = prev.callPackage ./lib/fetchsteam {}; fetchb4 = prev.callPackage ./lib/fetchb4 {}; gitSource = prev.callPackage ./lib/git-source {}; makeSquashFs = prev.callPackage ./lib/make-squashfs {}; makeHpcDist = final.callPackage ./lib/make-hpc-dist {}; ghidra_headless = final.ghidra.lib; # stuff that tracks upstream ghidra = final.callPackage ./pkgs/ghidra-xenia-v2/build.nix { protobuf = final.protobuf_21; }; ghidra-extensions = final.lib.recurseIntoAttrs (final.callPackage ./pkgs/ghidra-xenia-v2/extensions.nix { }); kicad = final.callPackage ./pkgs/kicad-xenia { }; kicadAddons = final.lib.recurseIntoAttrs (final.callPackage ./pkgs/kicad-xenia/addons {}); # end stuff that tracks upstream ocamlPackages = prev.ocamlPackages.overrideScope (ofinal: oprev: { ppx_unicode = ofinal.callPackage ./pkgs/ocaml/ppx_unicode {}; xlog = ofinal.callPackage ./pkgs/ocaml/xlog {}; }); python312Packages = prev.python312Packages.overrideScope (pfinal: pprev: { feedvalidator = pfinal.callPackage ./pkgs/python/feedvalidator {}; }); # add to top level because it has a binary feedvalidator = final.python312Packages.feedvalidator; outer-wilds-text-adventure = prev.callPackage ./pkgs/games/outer-wilds-text-adventure {}; mkNginxServer = prev.callPackage ./lib/dev-nginx {}; }