commit e2650aa1629d9859473c07e54a50c797e58fee49
parent af4cd2e05c3d2c677691f2dfd584ca48002d993d
Author: Daniel Barlow <dan@telent.net>
Date: Tue, 27 Sep 2022 22:04:22 +0100
add pppoe derivation, replacing override
we use a custom installPhase so we don't drag in a bunch of
scripts that we don't need and don't work
Diffstat:
2 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/overlay.nix b/overlay.nix
@@ -12,15 +12,7 @@ final: prev: {
s6-init-bin = final.callPackage ./pkgs/s6-init-bin {};
s6-rc-database = final.callPackage ./pkgs/s6-rc-database {};
- pppoe = prev.rpPPPoE.overrideAttrs (o: {
- # use newer rp-pppoe, it builds cleanly
- src = final.fetchFromGitHub {
- owner = "dfskoll";
- repo = "rp-pppoe";
- rev = "7cfd8c0405d14cf1c8d799d41d8207fd707979c1";
- hash = "sha256-MFdCwNj8c52blxEuXH5ltT2yYDmKMH5MLUgtddZV25E=";
- };
- });
+ pppoe = final.callPackage ./pkgs/pppoe {};
ppp =
(prev.ppp.override {
libpcap = null;
diff --git a/pkgs/pppoe/default.nix b/pkgs/pppoe/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, ppp } :
+let
+in
+stdenv.mkDerivation rec {
+ pname = "rp-pppoe";
+ version = "3.15";
+
+ src = fetchFromGitHub {
+ owner = "dfskoll";
+ repo = "rp-pppoe";
+ rev = "7cfd8c0405d14cf1c8d799d41d8207fd707979c1";
+ hash = "sha256-MFdCwNj8c52blxEuXH5ltT2yYDmKMH5MLUgtddZV25E=";
+ };
+
+ buildInputs = [ ppp ];
+
+ preConfigure = ''
+ cd src
+ export PPPD=${ppp}/sbin/pppd
+ '';
+
+ configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "rpppoe_cv_pack_bitfields=rev" ];
+
+ postConfigure = ''
+ sed -i Makefile -e 's@DESTDIR)/etc/ppp@out)/etc/ppp@'
+ sed -i Makefile -e 's@PPPOESERVER_PPPD_OPTIONS=@&$(out)@'
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin $out/lib
+ cp pppoe pppoe-server $out/bin # ppoe-relay pppoe-sniff?
+ test -e rp-pppoe.so && cp rp-pppoe.so $out/lib
+ true
+ '';
+ makeFlags = [ "AR:=$(AR)" ];
+
+ meta = with lib; {
+ description = "Roaring Penguin Point-to-Point over Ethernet tool";
+ platforms = platforms.linux;
+ homepage = "https://www.roaringpenguin.com/products/pppoe";
+ license = licenses.gpl2Plus;
+ };
+}