1{ stdenv, fetchurl, groff }:
2
3stdenv.mkDerivation rec {
4 name = "mdadm-3.3";
5
6 # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING
7 # Do NOT update this if you're not ABSOLUTELY certain that it will work.
8 # Please check the update using the NixOS VM test, BEFORE pushing:
9 # nix-build nixos/release.nix -A tests.installer.swraid.x86_64-linux
10 # Discussion:
11 # https://github.com/NixOS/nixpkgs/commit/7719f7f
12 # https://github.com/NixOS/nixpkgs/commit/666cf99
13 # https://github.com/NixOS/nixpkgs/pull/6006
14 # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING
15 src = fetchurl {
16 url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2";
17 sha256 = "0igdqflihiq1dp5qlypzw0xfl44f4n3bckl7r2x2wfgkplcfa1ww";
18 };
19
20 nativeBuildInputs = [ groff ];
21
22 # Attempt removing if building with gcc5 when updating
23 NIX_CFLAGS_COMPILE = "-std=gnu89";
24
25 preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile";
26
27 # Force mdadm to use /var/run/mdadm.map for its map file (or
28 # /dev/.mdadm/map as a fallback).
29 preBuild =
30 ''
31 makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man RUN_DIR=/dev/.mdadm)
32 if [[ -n "$crossConfig" ]]; then
33 makeFlagsArray+=(CROSS_COMPILE=$crossConfig-)
34 fi
35 '';
36
37 meta = {
38 description = "Programs for managing RAID arrays under Linux";
39 homepage = http://neil.brown.name/blog/mdadm;
40 };
41}