From 1d093cb426580ec80afe667ede9bafae36843239 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 Co-authored-by: matthewcroughan Co-authored-by: Cosima Neidahl --- pkgs/by-name/de/deltatouch/package.nix | 91 ++++++++++++++++++++++++++ 1 file changed, 91 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 000000000000..db6ba129e219 --- /dev/null +++ b/pkgs/by-name/de/deltatouch/package.nix @@ -0,0 +1,91 @@ +{ lib +, stdenv +, fetchFromGitea +, fetchpatch +, cmake +, intltool +, libdeltachat +, lomiri +, qt5 +, quirc +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "deltatouch"; + version = "1.4.0"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "lk108"; + repo = "deltatouch"; + rev = "v${finalAttrs.version}"; + hash = "sha256-tqcQmFmF8Z9smVMfaXOmXQ3Uw41bUcU4iUi8fxBlg8U="; + fetchSubmodules = true; + }; + + + patches = [ + (fetchpatch { + name = "0001-deltatouch-Fix-localisation.patch"; + url = "https://codeberg.org/lk108/deltatouch/commit/dcfdd8a0fca5fff10d0383f77f4c0cbea302de00.patch"; + hash = "sha256-RRjHG/xKtj757ZP2SY0GtWwh66kkTWoICV1vDkFAw3k="; + }) + ]; + + 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 ''${CMAKE_INSTALL_DATAROOTDIR})' \ + --replace-fail 'RUNTIME DESTINATION ''${CMAKE_INSTALL_PREFIX}' 'RUNTIME DESTINATION ''${CMAKE_INSTALL_BINDIR}' \ + --replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \ + --replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/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}")' + + # 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' + ''; + + 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; + }; +})