1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 boost,
7 pkg-config,
8 doxygen,
9 qtbase,
10 libharu,
11 pango,
12 fcgi,
13 firebird,
14 libmysqlclient,
15 libpq,
16 graphicsmagick,
17 glew,
18 openssl,
19 pcre,
20 harfbuzz,
21 icu,
22}:
23
24let
25 generic =
26 { version, sha256 }:
27 stdenv.mkDerivation {
28 pname = "wt";
29 inherit version;
30
31 src = fetchFromGitHub {
32 owner = "emweb";
33 repo = "wt";
34 rev = version;
35 inherit sha256;
36 };
37
38 nativeBuildInputs = [
39 cmake
40 pkg-config
41 ];
42 buildInputs = [
43 boost
44 doxygen
45 qtbase
46 libharu
47 pango
48 fcgi
49 firebird
50 libmysqlclient
51 libpq
52 graphicsmagick
53 glew
54 openssl
55 pcre
56 harfbuzz
57 icu
58 ];
59
60 dontWrapQtApps = true;
61 cmakeFlags =
62 [
63 "-DWT_CPP_11_MODE=-std=c++11"
64 "--no-warn-unused-cli"
65 ]
66 ++ lib.optionals (graphicsmagick != null) [
67 "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
68 "-DGM_PREFIX=${graphicsmagick}"
69 ]
70 ++ lib.optional (libmysqlclient != null) "-DMYSQL_PREFIX=${libmysqlclient}";
71
72 meta = with lib; {
73 homepage = "https://www.webtoolkit.eu/wt";
74 description = "C++ library for developing web applications";
75 platforms = platforms.linux;
76 license = licenses.gpl2;
77 maintainers = with maintainers; [ juliendehos ];
78 };
79 };
80in
81{
82 wt4 = generic {
83 version = "4.11.4";
84 sha256 = "sha256-ynmOUONHo8VTq8nmD+/SpDPR7bHILw8mArvY2DZJ5Hk=";
85 };
86}