1{ lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool }:
2
3stdenv.mkDerivation rec {
4 pname = "quickfix";
5 version = "1.15.1";
6
7 src = fetchFromGitHub {
8 owner = pname;
9 repo = pname;
10 rev = "v${version}";
11 sha256 = "1fgpwgvyw992mbiawgza34427aakn5zrik3sjld0i924a9d17qwg";
12 };
13
14 patches = [
15 # Improved C++17 compatibility
16 (fetchpatch {
17 url = "https://github.com/quickfix/quickfix/commit/a46708090444826c5f46a5dbf2ba4b069b413c58.diff";
18 sha256 = "1wlk4j0wmck0zm6a70g3nrnq8fz0id7wnyxn81f7w048061ldhyd";
19 })
20 ./disableUnitTests.patch
21 ];
22
23 # autoreconfHook does not work
24 nativeBuildInputs = [ autoconf automake libtool ];
25
26 enableParallelBuilding = true;
27
28 preConfigure = ''
29 ./bootstrap
30 '';
31
32 # More hacking out of the unittests
33 preBuild = ''
34 substituteInPlace Makefile --replace 'UnitTest++' ' '
35 '';
36
37 meta = with lib; {
38 description = "QuickFIX C++ Fix Engine Library";
39 homepage = "http://www.quickfixengine.org";
40 license = licenses.free; # similar to BSD 4-clause
41 maintainers = with maintainers; [ bhipple ];
42 };
43}