1{
2 mkDerivation,
3 lib,
4 fetchurl,
5 fetchpatch,
6 extra-cmake-modules,
7 kdoctools,
8 boost,
9 qttools,
10 qtwebkit,
11 breeze-icons,
12 karchive,
13 kcodecs,
14 kcompletion,
15 kconfig,
16 kconfigwidgets,
17 kcoreaddons,
18 kcrash,
19 kguiaddons,
20 ki18n,
21 kiconthemes,
22 kitemviews,
23 kio,
24 ktexteditor,
25 ktextwidgets,
26 kwidgetsaddons,
27 kxmlgui,
28 kdb,
29 kproperty,
30 kreport,
31 lcms2,
32 libmysqlclient,
33 libpq,
34 marble,
35}:
36
37mkDerivation rec {
38 pname = "kexi";
39 version = "3.2.0";
40
41 src = fetchurl {
42 url = "mirror://kde/stable/${pname}/src/${pname}-${version}.tar.xz";
43 sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
44 };
45
46 nativeBuildInputs = [
47 extra-cmake-modules
48 kdoctools
49 ];
50
51 buildInputs = [
52 boost
53 qttools
54 qtwebkit
55 breeze-icons
56 karchive
57 kcodecs
58 kcompletion
59 kconfig
60 kconfigwidgets
61 kcoreaddons
62 kcrash
63 kguiaddons
64 ki18n
65 kiconthemes
66 kitemviews
67 kio
68 ktexteditor
69 ktextwidgets
70 kwidgetsaddons
71 kxmlgui
72 kdb
73 kproperty
74 kreport
75 lcms2
76 libmysqlclient
77 libpq
78 marble
79 ];
80
81 propagatedUserEnvPkgs = [ kproperty ];
82
83 patches = [
84 # Changes in Qt 5.13 mean that QDate isn't exported from certain places,
85 # which the build was relying on. This patch explicitly imports QDate where
86 # needed.
87 # Should be unnecessary with kexi >= 3.3
88 (fetchpatch {
89 url = "https://cgit.kde.org/kexi.git/patch/src/plugins/forms/widgets/kexidbdatepicker.cpp?id=511d99b7745a6ce87a208bdbf69e631f1f136d53";
90 sha256 = "0m5cwq2v46gb1b12p7acck6dadvn7sw4xf8lkqikj9hvzq3r1dnj";
91 })
92 ];
93
94 meta = with lib; {
95 description = "Open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
96 longDescription = ''
97 Kexi is a visual database applications creator.
98 It can be used for creating database schemas,
99 inserting data, performing queries, and processing data.
100 Forms can be created to provide a custom interface to your data.
101 All database objects - tables, queries and forms - are stored in the database,
102 making it easy to share data and design.
103 '';
104 homepage = "https://kexi-project.org/";
105 maintainers = with maintainers; [ zraexy ];
106 platforms = platforms.linux;
107 license = with licenses; [
108 gpl2
109 lgpl2
110 ];
111 };
112}