1{
2 mkDerivation,
3 lib,
4 fetchFromGitHub,
5 pkg-config,
6 which,
7 libuchardet,
8 qtbase,
9 qtsvg,
10 qttools,
11 qtwebengine,
12 qtwebsockets,
13}:
14
15mkDerivation rec {
16 pname = "notepadqq";
17 # shipping a beta build as there's no proper release which supports qtwebengine
18 version = "2.0.0-beta";
19
20 src = fetchFromGitHub {
21 owner = "notepadqq";
22 repo = "notepadqq";
23 rev = "v${version}";
24 sha256 = "sha256-XA9Ay9kJApY+bDeOf0iPv+BWYFuTmIuqsLEPgRTCZCE=";
25 };
26
27 patches = [
28 # Fix: chmod in the Makefile fails randomly
29 # Move it to preFixup instead
30 ./fix-configure.patch
31 ];
32
33 nativeBuildInputs = [
34 pkg-config
35 which
36 qttools
37 ];
38
39 buildInputs = [
40 libuchardet
41 qtbase
42 qtsvg
43 qtwebengine
44 qtwebsockets
45 ];
46
47 strictDeps = false; # breaks qmake
48
49 preConfigure = ''
50 export LRELEASE="lrelease"
51 '';
52
53 dontWrapQtApps = true;
54
55 preFixup = ''
56 chmod +x $out/bin/notepadqq
57 wrapQtApp $out/bin/notepadqq
58 '';
59
60 enableParallelBuilding = true;
61
62 meta = with lib; {
63 homepage = "https://notepadqq.com/";
64 description = "Notepad++-like editor for the Linux desktop";
65 license = licenses.gpl3;
66 platforms = platforms.linux;
67 maintainers = [ maintainers.rszibele ];
68 mainProgram = "notepadqq";
69 };
70}