forked from DGNum/liminix
08bed15cf8
- dropbear - generate host keys on first use - mount /dev/pts It's not ideal having the host key disappear when the device is reboot, but without persistent storage the alternative is generating it at build time. Deferring this problem to another time
65 lines
2.1 KiB
Nix
65 lines
2.1 KiB
Nix
final: prev:
|
|
let extraPkgs = import ./pkgs/default.nix { inherit (final) callPackage; };
|
|
in
|
|
extraPkgs // {
|
|
strace = prev.strace.override { libunwind = null; };
|
|
|
|
dnsmasq =
|
|
let d = prev.dnsmasq.overrideAttrs(o: {
|
|
preBuild = ''
|
|
makeFlagsArray=("COPTS=")
|
|
'';
|
|
});
|
|
in d.override {
|
|
dbusSupport = false;
|
|
nettle = null;
|
|
};
|
|
|
|
dropbear = prev.dropbear.overrideAttrs (o: {
|
|
postPatch = ''
|
|
(echo '#define DSS_PRIV_FILENAME "/run/dropbear/dropbear_dss_host_key"'
|
|
echo '#define RSA_PRIV_FILENAME "/run/dropbear/dropbear_rsa_host_key"'
|
|
echo '#define ECDSA_PRIV_FILENAME "/run/dropbear/dropbear_ecdsa_host_key"'
|
|
echo '#define ED25519_PRIV_FILENAME "/run/dropbear/dropbear_ed25519_host_key"') > localoptions.h
|
|
'';
|
|
});
|
|
|
|
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 = "";
|
|
});
|
|
}
|