Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.0 kB · 87 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, pruneLibtoolFiles, flex, bison, libmnl, libnetfilter_conntrack, libnfnetlink, libnftnl, libpcap, nftablesCompat ? true, gitUpdater,}:
stdenv.mkDerivation rec { version = "1.8.11"; pname = "iptables";
src = fetchurl { url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.xz"; sha256 = "2HMD1V74ySvK1N0/l4sm0nIBNkKwKUJXdfW60QCf57I="; };
outputs = [ "out" "dev" "man" ];
nativeBuildInputs = [ autoreconfHook pkg-config pruneLibtoolFiles flex bison ];
buildInputs = [ libmnl libnetfilter_conntrack libnfnetlink libnftnl libpcap ];
configureFlags = [ "--enable-bpf-compiler" "--enable-devel" "--enable-libipq" "--enable-nfsynproxy" "--enable-shared" ] ++ lib.optional (!nftablesCompat) "--disable-nftables";
enableParallelBuilding = true;
postInstall = lib.optionalString nftablesCompat '' rm $out/sbin/{iptables,iptables-restore,iptables-save,ip6tables,ip6tables-restore,ip6tables-save} ln -sv xtables-nft-multi $out/bin/iptables ln -sv xtables-nft-multi $out/bin/iptables-restore ln -sv xtables-nft-multi $out/bin/iptables-save ln -sv xtables-nft-multi $out/bin/ip6tables ln -sv xtables-nft-multi $out/bin/ip6tables-restore ln -sv xtables-nft-multi $out/bin/ip6tables-save '';
passthru = { updateScript = gitUpdater { url = "https://git.netfilter.org/iptables"; rev-prefix = "v"; }; };
meta = with lib; { description = "Program to configure the Linux IP packet filtering ruleset"; homepage = "https://www.netfilter.org/projects/iptables/index.html"; platforms = platforms.linux; mainProgram = "iptables"; maintainers = with maintainers; [ fpletz ]; license = licenses.gpl2Plus; downloadPage = "https://www.netfilter.org/projects/iptables/files/"; };}