final: prev: { pseudofile = final.callPackage ./pkgs/pseudofile {}; strace = prev.strace.override { libunwind = null; }; liminix = { services = final.callPackage ./pkgs/liminix-tools/services {}; networking = final.callPackage ./pkgs/liminix-tools/networking {}; builders = { squashfs = final.callPackage ./pkgs/liminix-tools/builders/squashfs.nix {}; kernel = final.callPackage ./pkgs/kernel {}; }; }; writeAshScript = final.callPackage ./pkgs/write-ash-script {}; s6-init-bin = final.callPackage ./pkgs/s6-init-bin {}; s6-rc-database = final.callPackage ./pkgs/s6-rc-database {}; dnsmasq = let d = prev.dnsmasq.overrideAttrs(o: { preBuild = '' makeFlagsArray=("COPTS=") ''; }); in d.override { dbusSupport = false; nettle = null; }; mips-vm = final.callPackage ./pkgs/mips-vm {}; pppoe = final.callPackage ./pkgs/pppoe {}; kernel-backport = final.callPackage ./pkgs/kernel-backport {}; mac80211 = final.callPackage ./pkgs/mac80211 {}; pppBuild = prev.ppp; ppp = (prev.ppp.override { libpcap = null; }).overrideAttrs (o : { stripAllList = [ "bin" ]; buildInputs = []; # patches = # o.patches ++ # [(final.fetchpatch { # name = "ipv6-script-options.patch"; # url = "https://github.com/ppp-project/ppp/commit/874c2a4a9684bf6938643c7fa5ff1dd1cf80aea4.patch"; # sha256 = "sha256-K46CKpDpm1ouj6jFtDs9IUMHzlRMRP+rMPbMovLy3o4="; # })]; postPatch = '' sed -i -e 's@_PATH_VARRUN@"/run/"@' pppd/main.c sed -i -e 's@^FILTER=y@# FILTER unset@' pppd/Makefile.linux sed -i -e 's/-DIPX_CHANGE/-UIPX_CHANGE/g' pppd/Makefile.linux ''; buildPhase = '' runHook preBuild make -C pppd CC=$CC USE_TDB= HAVE_MULTILINK= USE_EAPTLS= USE_CRYPT=y make -C pppd/plugins/pppoe CC=$CC make -C pppd/plugins/pppol2tp CC=$CC runHook postBuild; ''; installPhase = '' runHook preInstall mkdir -p $out/bin $out/lib/pppd/2.4.9 cp pppd/pppd pppd/plugins/pppoe/pppoe-discovery $out/bin cp pppd/plugins/pppoe/pppoe.so $out/lib/pppd/2.4.9 cp pppd/plugins/pppol2tp/{open,pppo}l2tp.so $out/lib/pppd/2.4.9 runHook postInstall ''; postFixup = ""; }); # we need to build real lzma instead of using xz, because the lzma # decoder in u-boot doesn't understand streaming lzma archives # ("Stream with EOS marker is not supported") and xz can't create # non-streaming ones. See # https://sourceforge.net/p/squashfs/mailman/message/26599379/ lzma = final.stdenv.mkDerivation { pname = "lzma"; version = "4.32.7"; configureFlags = [ "--enable-static" "--disable-shared"]; src = final.buildPackages.fetchurl { url = "https://tukaani.org/lzma/lzma-4.32.7.tar.gz"; sha256 = "0b03bdvm388kwlcz97aflpr3ir1zpa3m0bq3s6cd3pp5a667lcwz"; }; }; netlink-lua = final.callPackage ./pkgs/netlink-lua {}; ifwait = final.callPackage ./pkgs/ifwait {}; serviceFns = final.writeText "service-fns.sh" '' output() { cat $1/.outputs/$2; } output_path() { echo $(realpath $1/.outputs)/$2; } mkoutputs() { d=/run/service-state/$1 mkdir -m 2750 -p $d && chown root:system $d echo $d } ''; # these are packages for the build system not the host/target tufted = final.callPackage ./pkgs/tufted {}; routeros = final.callPackage ./pkgs/routeros {}; go-l2tp = final.callPackage ./pkgs/go-l2tp {}; }