diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2021-08-23 01:50:09 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2021-08-24 00:49:51 +0200 |
commit | 5e2ec9fb8628136e7f9f618c68c0e42ab086b80e (patch) | |
tree | ee56ee4a49b7d48fc91e7baf34ca0158f9c64cff /flakes/libspf2 | |
parent | dfe02d8fd52e33c7d4e1a209cf486696100b88f3 (diff) | |
download | Nix-5e2ec9fb8628136e7f9f618c68c0e42ab086b80e.tar.gz Nix-5e2ec9fb8628136e7f9f618c68c0e42ab086b80e.tar.zst Nix-5e2ec9fb8628136e7f9f618c68c0e42ab086b80e.zip |
Refactor flakes using follows
Diffstat (limited to 'flakes/libspf2')
-rw-r--r-- | flakes/libspf2/default.nix | 34 | ||||
-rw-r--r-- | flakes/libspf2/flake.nix | 56 |
2 files changed, 49 insertions, 41 deletions
diff --git a/flakes/libspf2/default.nix b/flakes/libspf2/default.nix new file mode 100644 index 0000000..a9e5ec3 --- /dev/null +++ b/flakes/libspf2/default.nix | |||
@@ -0,0 +1,34 @@ | |||
1 | { fetchpatch, file, fetchurl, libnsl, stdenv, lib }: | ||
2 | stdenv.mkDerivation rec { | ||
3 | pname = "libspf2"; | ||
4 | version = "1.2.10"; | ||
5 | |||
6 | patches = [ | ||
7 | (fetchpatch { | ||
8 | name = "fix-variadic-macros.patch"; | ||
9 | url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/fix-variadic-macros.patch?h=packages/libspf2"; | ||
10 | sha256 = "00dqpcgjr9jy2qprgqv2qiyvq8y3wlz4yns9xzabf2064jzqh2ic"; | ||
11 | }) | ||
12 | ]; | ||
13 | preConfigure = '' | ||
14 | sed -i -e "s@/usr/bin/file@${file}/bin/file@" ./configure | ||
15 | ''; | ||
16 | configureFlags = [ | ||
17 | "--enable-static" | ||
18 | ]; | ||
19 | postInstall = '' | ||
20 | rm $out/bin/*_static | ||
21 | ''; | ||
22 | src = fetchurl { | ||
23 | url = "https://www.libspf2.org/spf/${pname}-${version}.tar.gz"; | ||
24 | sha256 = "1j91p0qiipzf89qxq4m1wqhdf01hpn1h5xj4djbs51z23bl3s7nr"; | ||
25 | }; | ||
26 | |||
27 | buildInputs = [ libnsl ]; | ||
28 | |||
29 | meta = { | ||
30 | description = "Sender Policy Framework record checking library"; | ||
31 | homepage = "https://www.libspf2.org/"; | ||
32 | platforms = lib.platforms.linux; | ||
33 | }; | ||
34 | } | ||
diff --git a/flakes/libspf2/flake.nix b/flakes/libspf2/flake.nix index 276b138..af1deea 100644 --- a/flakes/libspf2/flake.nix +++ b/flakes/libspf2/flake.nix | |||
@@ -7,48 +7,22 @@ | |||
7 | outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachSystem ["aarch64-linux" "i686-linux" "x86_64-linux"] (system: | 7 | outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachSystem ["aarch64-linux" "i686-linux" "x86_64-linux"] (system: |
8 | let | 8 | let |
9 | pkgs = import nixpkgs { inherit system; overlays = []; }; | 9 | pkgs = import nixpkgs { inherit system; overlays = []; }; |
10 | inherit (pkgs) stdenv file fetchurl fetchpatch libnsl; | 10 | libspf2 = pkgs.callPackage ./. {}; |
11 | in rec { | 11 | in rec { |
12 | packages.libspf2 = stdenv.mkDerivation rec { | 12 | packages.libspf2 = libspf2; |
13 | pname = "libspf2"; | 13 | defaultPackage = libspf2; |
14 | version = "1.2.10"; | 14 | legacyPackages.libfspf2 = libspf2; |
15 | 15 | apps.libspf2 = flake-utils.lib.mkApp { drv = libspf2; name = "spfquery"; }; | |
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; | 16 | defaultApp = apps.libspf2; |
50 | checks.build = defaultPackage; | 17 | checks.build = libspf2; |
51 | hydraJobs.build = packages.libspf2; | 18 | hydraJobs.build = libspf2; |
52 | } | 19 | } |
53 | ); | 20 | ) // rec { |
21 | overlays = { | ||
22 | libspf2 = final: prev: { | ||
23 | libspf2 = self.defaultPackage."${final.system}"; | ||
24 | }; | ||
25 | }; | ||
26 | overlay = overlays.libspf2; | ||
27 | }; | ||
54 | } | 28 | } |