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