1{ lib, stdenv, fetchFromGitHub, cmake, boost, catch2 }:
2stdenv.mkDerivation rec {
3 pname = "fcppt";
4 version = "4.2.1";
5
6 src = fetchFromGitHub {
7 owner = "freundlich";
8 repo = "fcppt";
9 rev = version;
10 sha256 = "1pcmi2ck12nanw1rnwf8lmyx85iq20897k6daxx3hw5f23j1kxv6";
11 };
12
13 nativeBuildInputs = [ cmake ];
14 buildInputs = [ boost catch2 ];
15
16 cmakeFlags = [
17 "-DENABLE_BOOST=true"
18 "-DENABLE_EXAMPLES=true"
19 "-DENABLE_CATCH=true"
20 "-DENABLE_TEST=true"
21 ];
22
23 meta = with lib; {
24 description = "Freundlich's C++ toolkit";
25 longDescription = ''
26 Freundlich's C++ Toolkit (fcppt) is a collection of libraries focusing on
27 improving general C++ code by providing better types, a strong focus on
28 C++11 (non-conforming compilers are mostly not supported) and functional
29 programming (which is both efficient and syntactically affordable in
30 C++11).
31 '';
32 homepage = "https://fcppt.org";
33 license = licenses.boost;
34 maintainers = with maintainers; [ pmiddend ];
35 platforms = [ "x86_64-linux" "x86_64-windows" ];
36 };
37}