summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-01-14 20:56:02 +0100
committerGitHub <noreply@github.com>2021-01-14 20:56:02 +0100
commit6e7846bc8922da0651ef902dfbf38856244a5d71 (patch)
tree96f1b18e7f24e3f2a162034c23c6c5e167db6a42 /pkgs
parentc0e177d09f2e62dd5e2acc047cb5f33648eff5bd (diff)
parentd9c217495ce053d385f77b1d3e32e3984d0930d2 (diff)
Merge pull request #105843 from HectorAE/quickfix-init
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/quickfix/default.nix43
-rw-r--r--pkgs/development/libraries/quickfix/disableUnitTests.patch65
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 110 insertions, 0 deletions
diff --git a/pkgs/development/libraries/quickfix/default.nix b/pkgs/development/libraries/quickfix/default.nix
new file mode 100644
index 000000000000..5e7300ee19c5
--- /dev/null
+++ b/pkgs/development/libraries/quickfix/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+ pname = "quickfix";
+ version = "1.15.1";
+
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1fgpwgvyw992mbiawgza34427aakn5zrik3sjld0i924a9d17qwg";
+ };
+
+ patches = [
+ # Improved C++17 compatibility
+ (fetchpatch {
+ url = "https://github.com/quickfix/quickfix/commit/a46708090444826c5f46a5dbf2ba4b069b413c58.diff";
+ sha256 = "1wlk4j0wmck0zm6a70g3nrnq8fz0id7wnyxn81f7w048061ldhyd";
+ })
+ ./disableUnitTests.patch
+ ];
+
+ # autoreconfHook does not work
+ nativeBuildInputs = [ autoconf automake libtool ];
+
+ enableParallelBuilding = true;
+
+ preConfigure = ''
+ ./bootstrap
+ '';
+
+ # More hacking out of the unittests
+ preBuild = ''
+ substituteInPlace Makefile --replace 'UnitTest++' ' '
+ '';
+
+ meta = with stdenv.lib; {
+ description = "QuickFIX C++ Fix Engine Library";
+ homepage = "http://www.quickfixengine.org";
+ license = licenses.free; # similar to BSD 4-clause
+ maintainers = with maintainers; [ bhipple ];
+ };
+}
diff --git a/pkgs/development/libraries/quickfix/disableUnitTests.patch b/pkgs/development/libraries/quickfix/disableUnitTests.patch
new file mode 100644
index 000000000000..41a2f698e55f
--- /dev/null
+++ b/pkgs/development/libraries/quickfix/disableUnitTests.patch
@@ -0,0 +1,65 @@
+diff -u -r source-baseline-patchPhase/configure.ac source/configure.ac
+--- source-baseline-patchPhase/configure.ac 1970-01-01 00:00:01.000000000 +0000
++++ source/configure.ac 2021-01-12 22:49:28.948861699 +0000
+@@ -43,7 +43,7 @@
+
+ AC_CANONICAL_HOST
+
+-build_no_unit_test = no
++build_no_unit_test = yes
+
+ # Detect the target system
+ case "${host_os}" in
+@@ -344,8 +344,6 @@
+ examples/Makefile
+ examples/executor/Makefile
+ examples/executor/C++/Makefile
+- examples/ordermatch/Makefile
+- examples/ordermatch/test/Makefile
+ examples/tradeclient/Makefile
+ examples/tradeclientgui/Makefile
+ examples/tradeclientgui/banzai/Makefile
+diff -u -r source-baseline-patchPhase/examples/Makefile.am source/examples/Makefile.am
+--- source-baseline-patchPhase/examples/Makefile.am 1970-01-01 00:00:01.000000000 +0000
++++ source/examples/Makefile.am 2021-01-12 22:51:55.782568550 +0000
+@@ -1,3 +1,3 @@
+-SUBDIRS = executor ordermatch tradeclient tradeclientgui
++SUBDIRS = executor tradeclient tradeclientgui
+
+-EXTRA_DIST = examples.dsw configure configure.in bootstrap Makefile.am
+\ No newline at end of file
++EXTRA_DIST = examples.dsw configure configure.in bootstrap Makefile.am
+diff -u -r source-baseline-patchPhase/src/Makefile.am source/src/Makefile.am
+--- source-baseline-patchPhase/src/Makefile.am 1970-01-01 00:00:01.000000000 +0000
++++ source/src/Makefile.am 2021-01-12 22:53:02.593432380 +0000
+@@ -15,27 +15,23 @@
+ if NO_UNIT_TEST
+ noinst_PROGRAMS =
+ else
+-noinst_PROGRAMS = at ut pt
++noinst_PROGRAMS = at pt
+ endif
+
+ at_SOURCES = at.cpp at_application.h
+-ut_SOURCES = ut.cpp
+ pt_SOURCES = pt.cpp
+
+ EXTRA_DIST = getopt.c getopt-repl.h
+
+ at_LDADD = C++/libquickfix.la
+-ut_LDADD = C++/test/libquickfixcpptest.la C++/libquickfix.la
+ pt_LDADD = C++/libquickfix.la
+
+ INCLUDES =-IC++ -IC++/test -I../UnitTest++/src
+-LDFLAGS =-L../UnitTest++ -lUnitTest++
++
+
+ all-local:
+- rm -f ../test/ut ../test/pt ../test/at ../test/ut_debug
+- ln -s ../src/ut ../test/ut
++ rm -rf ../test/pt ../test/at ../test/ut_debug
+ ln -s ../src/pt ../test/pt
+ ln -s ../src/at ../test/at
+- ln -s ../src/.libs/ut ../test/ut_debug
+
+ clean-local:
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7f1637192dc2..4ae1a74c5a8b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7036,6 +7036,8 @@ in
qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
+ quickfix = callPackage ../development/libraries/quickfix { };
+
quickjs = callPackage ../development/interpreters/quickjs { };
quickserve = callPackage ../tools/networking/quickserve { };