From d1c883f2427382a7f75c7f7d08e1f057a6dbcf2d Mon Sep 17 00:00:00 2001 From: link2xt Date: Sat, 17 Feb 2024 23:33:09 +0000 Subject: [PATCH] deltatouch: init at 1.4.0-unstable-2024-03-08 Co-Authored-By: matthewcroughan --- pkgs/by-name/de/deltatouch/package.nix | 90 ++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 pkgs/by-name/de/deltatouch/package.nix diff --git a/pkgs/by-name/de/deltatouch/package.nix b/pkgs/by-name/de/deltatouch/package.nix new file mode 100644 index 000000000000000..0537b82c16fd3bb --- /dev/null +++ b/pkgs/by-name/de/deltatouch/package.nix @@ -0,0 +1,90 @@ +{ lib +, stdenv +, fetchFromGitea +, cmake +, intltool +, libdeltachat +, lomiri +, qt5 +, quirc +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "deltatouch"; + version = "1.4.0-unstable-2024-03-08"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "lk108"; + repo = "deltatouch"; + rev = "0d03a79c28f6f7752414f91947008dd9896e44e2"; + hash = "sha256-onLeeRAc2YsNC/lAW9Lsyn8tI1ydb5uVhGOnyjd9Ji0="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + qt5.wrapQtAppsHook + intltool + cmake + ]; + + buildInputs = [ + qt5.qtbase + qt5.qtwebengine + qt5.qtquickcontrols2 + lomiri.lomiri-ui-toolkit + lomiri.lomiri-ui-extras + lomiri.lomiri-api + lomiri.lomiri-indicator-network # Lomiri.Connectivity module + lomiri.qqc2-suru-style + ]; + + postPatch = '' + # Fix all sorts of install locations + substituteInPlace CMakeLists.txt \ + --replace-fail 'set(DATA_DIR /)' "set(DATA_DIR $out/share)" \ + --replace-fail 'RUNTIME DESTINATION ''${CMAKE_INSTALL_PREFIX}' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_PREFIX}/bin' \ + --replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps RENAME deltatouch.svg' \ + --replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_PREFIX}/share/applications" + + substituteInPlace plugins/DeltaHandler/CMakeLists.txt plugins/DTWebEngineProfile/CMakeLists.txt \ + --replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")' + + substituteInPlace po/CMakeLists.txt \ + --replace-fail 'INSTALL_DIR ''${CMAKE_INSTALL_LOCALEDIR}/share/locale' 'INSTALL_DIR ''${CMAKE_INSTALL_LOCALEDIR}' + + # Fix import of library dependencies + substituteInPlace plugins/DeltaHandler/CMakeLists.txt \ + --replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"' \ + --replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"' + + # Fix icon reference in desktop file + substituteInPlace deltatouch.desktop.in \ + --replace-fail 'Icon=assets/logo.svg' 'Icon=deltatouch' + + # Make localisation work + substituteInPlace qml/Main.qml \ + --replace-fail 'Component.onCompleted: {' 'Component.onCompleted: { + i18n.domain = "deltatouch.lotharketterer" + i18n.bindtextdomain("deltatouch.lotharketterer", "${placeholder "out"}/share/locale")' + ''; + + postInstall = '' + # Remove clickable metadata & helpers from out + rm $out/{manifest.json,share/push*} + ''; + + meta = with lib; { + changelog = "https://codeberg.org/lk108/deltatouch/src/commit/${finalAttrs.src.rev}/CHANGELOG"; + description = "Messaging app for Ubuntu Touch, powered by Delta Chat core"; + longDescription = '' + DeltaTouch is a messenger for Ubuntu Touch based on Delta Chat core. + Delta Chat works over email. + ''; + homepage = "https://codeberg.org/lk108/deltatouch"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ link2xt ]; + mainProgram = "deltatouch"; + platforms = platforms.linux; + }; +})