1{ lib
2, stdenv
3, fetchFromGitHub
4, autoreconfHook
5, doxygen
6, installShellFiles
7, zlib
8}:
9
10stdenv.mkDerivation rec {
11 pname = "liberasurecode";
12 version = "1.6.3";
13
14 outputs = [ "out" "dev" "doc" ];
15
16 src = fetchFromGitHub {
17 owner = "openstack";
18 repo = pname;
19 rev = version;
20 sha256 = "sha256-HCp+FQ9nq4twk6FtfKhzT80wXXJbvG+clrDO2/9ATpU=";
21 };
22
23 postPatch = ''
24 substituteInPlace doc/doxygen.cfg.in \
25 --replace "GENERATE_MAN = NO" "GENERATE_MAN = YES"
26 '';
27
28 nativeBuildInputs = [ autoreconfHook doxygen installShellFiles ];
29
30 buildInputs = [ zlib ];
31
32 configureFlags = [ "--enable-doxygen" ];
33
34 postInstall = ''
35 # remove useless man pages about directories
36 rm doc/man/man*/_*
37 installManPage doc/man/man*/*
38
39 moveToOutput share/liberasurecode/ $doc
40 '';
41
42 checkTarget = "test";
43
44 meta = with lib; {
45 description = "Erasure Code API library written in C with pluggable Erasure Code backends";
46 homepage = "https://github.com/openstack/liberasurecode";
47 license = licenses.bsd2;
48 maintainers = teams.openstack.members;
49 };
50}