1{
2 lib,
3 zlib,
4 fetchFromGitHub,
5 python3Packages,
6 wrapQtAppsHook,
7}:
8
9python3Packages.buildPythonApplication rec {
10 pname = "manuskript";
11 version = "0.17.0";
12
13 format = "other";
14
15 src = fetchFromGitHub {
16 repo = pname;
17 owner = "olivierkes";
18 tag = version;
19 hash = "sha256-jOhbN6lMx04q60S0VOABmSNE/x9Er9exFYvWJe2INlE=";
20 };
21
22 nativeBuildInputs = [ wrapQtAppsHook ];
23
24 propagatedBuildInputs = [
25 python3Packages.pyqt5
26 python3Packages.lxml
27 zlib
28 ];
29
30 patchPhase = ''
31 substituteInPlace manuskript/ui/welcome.py \
32 --replace sample-projects $out/share/${pname}/sample-projects
33 '';
34
35 buildPhase = "";
36
37 installPhase = ''
38 mkdir -p $out/share/${pname}
39 cp -av bin/ i18n/ libs/ manuskript/ resources/ icons/ $out
40 cp -r sample-projects/ $out/share/${pname}
41 '';
42
43 postFixup = ''
44 wrapQtApp $out/bin/manuskript
45 '';
46
47 doCheck = false;
48
49 meta = {
50 description = "Open-source tool for writers";
51 homepage = "https://www.theologeek.ch/manuskript";
52 longDescription = ''
53 Manuskript is a tool for those writer who like to organize and
54 plan everything before writing. The snowflake method can help you
55 grow your idea into a book, by leading you step by step and asking
56 you questions to go deeper. While writing, keep track of notes
57 about every characters, plot, event, place in your story.
58
59 Develop complex characters and keep track of all useful infos.
60 Create intricate plots, linked to your characters, and use them to
61 outline your story. Organize your ideas about the world your
62 characters live in.
63 '';
64 license = lib.licenses.gpl3;
65 maintainers = with lib.maintainers; [ strawbee ];
66 platforms = lib.platforms.unix;
67 mainProgram = "manuskript";
68 };
69}