]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - flakes/libspf2/flake.nix
Add libspf2 flake package
[perso/Immae/Config/Nix.git] / flakes / libspf2 / flake.nix
CommitLineData
74962376
IB
1{
2 description = "Sender Policy Framework record checking library";
3
4 inputs.flake-utils.url = "github:numtide/flake-utils";
5 inputs.nixpkgs.url = "github:NixOS/nixpkgs";
6
7 outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachSystem ["aarch64-linux" "i686-linux" "x86_64-linux"] (system:
8 let
9 pkgs = import nixpkgs { inherit system; overlays = []; };
10 inherit (pkgs) stdenv file fetchurl fetchpatch libnsl;
11 in rec {
12 packages.libspf2 = stdenv.mkDerivation rec {
13 pname = "libspf2";
14 version = "1.2.10";
15
16 patches = [
17 (fetchpatch {
18 name = "fix-variadic-macros.patch";
19 url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/fix-variadic-macros.patch?h=packages/libspf2";
20 sha256 = "00dqpcgjr9jy2qprgqv2qiyvq8y3wlz4yns9xzabf2064jzqh2ic";
21 })
22 ];
23 preConfigure = ''
24 sed -i -e "s@/usr/bin/file@${file}/bin/file@" ./configure
25 '';
26 configureFlags = [
27 "--enable-static"
28 ];
29 postInstall = ''
30 rm $out/bin/*_static
31 '';
32 src = fetchurl {
33 url = "https://www.libspf2.org/spf/${pname}-${version}.tar.gz";
34 sha256 = "1j91p0qiipzf89qxq4m1wqhdf01hpn1h5xj4djbs51z23bl3s7nr";
35 };
36
37 buildInputs = [ libnsl ];
38
39 meta = {
40 description = "Sender Policy Framework record checking library";
41 homepage = "https://www.libspf2.org/";
42 platforms = stdenv.lib.platforms.linux;
43 };
44 };
45
46 defaultPackage = packages.libspf2;
47 legacyPackages.libfspf2 = packages.libspf2;
48 apps.libspf2 = flake-utils.lib.mkApp { drv = packages.libspf2; name = "spfquery"; };
49 defaultApp = apps.libspf2;
50 checks.build = defaultPackage;
51 hydraJobs.build = packages.libspf2;
52 }
53 );
54}