btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / de / deltatouch / package.nix
blob3c78eeb75b3159ad19cfac108e24321ffc240a6e
1 { lib
2 , stdenv
3 , fetchFromGitea
4 , cmake
5 , intltool
6 , libdeltachat
7 , lomiri
8 , qt5
9 , quirc
12 stdenv.mkDerivation (finalAttrs: {
13   pname = "deltatouch";
14   version = "1.6.0";
16   src = fetchFromGitea {
17     domain = "codeberg.org";
18     owner = "lk108";
19     repo = "deltatouch";
20     rev = "v${finalAttrs.version}";
21     hash = "sha256-mOs5WlWOkH9A+BZK6hvKq/JKS4k8tzvvov4CYFHyMfA=";
22     fetchSubmodules = true;
23   };
26   nativeBuildInputs = [
27     qt5.wrapQtAppsHook
28     intltool
29     cmake
30   ];
32   buildInputs = [
33     qt5.qtbase
34     qt5.qtwebengine
35     qt5.qtquickcontrols2
36     lomiri.lomiri-ui-toolkit
37     lomiri.lomiri-ui-extras
38     lomiri.lomiri-api
39     lomiri.lomiri-indicator-network # Lomiri.Connectivity module
40     lomiri.qqc2-suru-style
41   ];
43   postPatch = ''
44     # Fix all sorts of install locations
45     substituteInPlace CMakeLists.txt \
46       --replace-fail 'set(DATA_DIR /)' 'set(DATA_DIR ''${CMAKE_INSTALL_DATAROOTDIR})' \
47       --replace-fail 'RUNTIME DESTINATION ''${CMAKE_INSTALL_PREFIX}' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' \
48       --replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \
49       --replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/applications"
51     substituteInPlace plugins/{DeltaHandler,HtmlMsgEngineProfile,WebxdcEngineProfile}/CMakeLists.txt \
52       --replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
54     # Fix import of library dependencies
55     substituteInPlace plugins/{DeltaHandler,WebxdcEngineProfile}/CMakeLists.txt \
56       --replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"'
57     substituteInPlace plugins/DeltaHandler/CMakeLists.txt \
58       --replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"'
60     # Fix icon reference in desktop file
61     substituteInPlace deltatouch.desktop.in \
62       --replace-fail 'Icon=assets/logo.svg' 'Icon=deltatouch'
63   '';
65   postInstall = ''
66     # Remove clickable metadata & helpers from out
67     rm $out/{manifest.json,share/push*}
68   '';
70   meta = with lib; {
71     changelog = "https://codeberg.org/lk108/deltatouch/src/tag/${finalAttrs.src.rev}/CHANGELOG";
72     description = "Messaging app for Ubuntu Touch, powered by Delta Chat core";
73     longDescription = ''
74       DeltaTouch is a messenger for Ubuntu Touch based on Delta Chat core.
75       Delta Chat works over email.
76     '';
77     homepage = "https://codeberg.org/lk108/deltatouch";
78     license = licenses.gpl3Plus;
79     maintainers = with maintainers; [ link2xt ];
80     mainProgram = "deltatouch";
81     platforms = platforms.linux;
82   };