package libmnl {
	description = "a minimalistic user-space library oriented to Netlink developers";
	website = "https://www.netfilter.org/projects/libmnl";
	anitya = 1663;

	version# = "1.0.5";
	source = remoteTar {
		url = "https://www.netfilter.org/projects/libmnl/files/"+
			"libmnl-"+version+".tar.bz2";
		checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u";
		compress = bzip2;
	};
	patches = [ "libbsd-sys-queue.patch" ];

	exec = make {
		configure = {
			"enable-static";
		};
	};

	inputs = [
		libbsd,
		kernel-headers,
	];
}

package libnftnl {
	description = "a userspace library providing a low-level netlink API to the in-kernel nf_tables subsystem";
	website = "https://www.netfilter.org/projects/libnftnl";
	anitya = 1681;

	version# = "1.3.1";
	source = remoteGit {
		url = "git://git.netfilter.org/libnftnl";
		tag = "libnftnl-"+version;
		checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9";
	};

	env = [
		"CFLAGS=-D_GNU_SOURCE",
	];

	exec = make {
		generate = "./autogen.sh";
		configure = {
			"enable-static";
		};
	};

	inputs = [
		automake,
		libtool,
		pkgconf,

		libmnl,
		kernel-headers,
	];

	runtime = [ libmnl ];
}

package iptables {
	description = "the userspace command line program used to configure the Linux 2.4.x and later packet filtering ruleset";
	website = "https://www.netfilter.org/projects/iptables";
	anitya = 1394;

	version# = "1.8.13";
	source = remoteGit {
		url = "git://git.netfilter.org/iptables";
		tag = "v"+version;
		checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ";
	};

	early = `
rm \
	extensions/libxt_connlabel.txlate \
	extensions/libxt_conntrack.txlate
sed -i \
	's/de:ad:0:be:ee:ff/DE:AD:00:BE:EE:FF/g' \
	extensions/libebt_dnat.txlate \
	extensions/libebt_snat.txlate
`;

	bin = [ "bash" ];
	exec = make {
		generate = "./autogen.sh";
		configure = {
			"enable-static";
		};
		preCheck = `
chmod +w /etc/ && ln -s ../usr/src/iptables/etc/ethertypes /etc/
`;
	};

	inputs = [
		automake,
		libtool,
		pkgconf,
		bash,
		python,

		libnftnl,
		kernel-headers,
	];

	runtime = [ libnftnl ];
}
