92 lines
3.1 KiB
Nix
92 lines
3.1 KiB
Nix
|
{ 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;
|
||
|
};
|
||
|
})
|