1{
2 mkDerivation,
3 lib,
4 fetchurl,
5 fetchpatch,
6 extra-cmake-modules,
7 qtbase,
8 kcoreaddons,
9 python3,
10 sqlite,
11 libpq,
12 libmysqlclient,
13 qttools,
14}:
15
16mkDerivation rec {
17 pname = "kdb";
18 version = "3.2.0";
19
20 src = fetchurl {
21 url = "mirror://kde/stable/kdb/src/kdb-${version}.tar.xz";
22 sha256 = "0s909x34a56n3xwhqz27irl2gbzidax0685w2kf34f0liny872cg";
23 };
24
25 patches = [
26 # fix build with newer QT versions
27 (fetchpatch {
28 url = "https://github.com/KDE/kdb/commit/b36d74f13a1421437a725fb74502c993c359392a.patch";
29 sha256 = "sha256-ENMZTUZ3yCKUhHPMUcDe1cMY2GLBz0G3ZvMRyj8Hfrw=";
30 })
31 # fix build with newer posgresql versions
32 (fetchpatch {
33 url = "https://github.com/KDE/kdb/commit/40cdaea4d7824cc1b0d26e6ad2dcb61fa2077911.patch";
34 sha256 = "sha256-cZpX6L/NZX3vztnh0s2+v4J7kBcKgUdecY53LRp8CwM=";
35 })
36 ];
37
38 nativeBuildInputs = [
39 extra-cmake-modules
40 qttools
41 ];
42
43 buildInputs = [
44 kcoreaddons
45 python3
46 sqlite
47 libpq
48 libmysqlclient
49 ];
50
51 propagatedBuildInputs = [ qtbase ];
52
53 meta = with lib; {
54 description = "Database connectivity and creation framework for various database vendors";
55 mainProgram = "kdb3_sqlite3_dump";
56 license = licenses.lgpl2;
57 platforms = platforms.linux;
58 maintainers = with maintainers; [ zraexy ];
59 };
60}