nixpkgs-suyu/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix

104 lines
3.1 KiB
Nix

{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, nixosTests
, cmake
, gsettings-qt
, lomiri-ui-extras
, lomiri-ui-toolkit
, pkg-config
, qmltermwidget
, qtbase
, qtdeclarative
, qtsystems
, wrapQtAppsHook
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-terminal-app";
version = "2.0.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-terminal-app";
rev = "v${finalAttrs.version}";
hash = "sha256-mXbPmVcl5dL78QUp+w3o4im5ohUQCPTKWLSVqlNO0yo=";
};
patches = [
# Stop usage of private qt5_use_modules function, seemingly unavailable in this package
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/103 merged & in release
(fetchpatch {
name = "0001-lomiri-terminal-app-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/db210c74e771a427066aebdc3a99cab6e782d326.patch";
hash = "sha256-op4+/eo8rBRMcW6MZ0rOEFReM7JBCck1B+AsgAPyqAI=";
})
# Explicitly bind textdomain, don't rely on hacky workaround in LUITK
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/104 merged & in release
(fetchpatch {
name = "0002-lomiri-terminal-app-Call-i18n.bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/7f9d419e29043f0d0922d2ac1dce5673e2723a01.patch";
hash = "sha256-HfIvGVbIdTasoHAfHysnzFLufQQ4lskym5HTekH+mjk=";
})
# Add more & correct existing usage of GNUInstallDirs variables
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/105 merged & in release
(fetchpatch {
name = "0003-lomiri-terminal-app-GNUInstallDirs-usage.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/fcde1f05bb442c74b1dff95917fd7594f26e97a7.patch";
hash = "sha256-umxCMGNjyz0TVmwH0Gl0MpgjLQtkW9cHkUfpNJcoasE=";
})
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
# Tests look abandoned - add_test in CMake code is commented out, refers to old repo structure in import paths
sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt
'';
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
buildInputs = [
qtbase
qtdeclarative
qmltermwidget
# QML
gsettings-qt
lomiri-ui-extras
lomiri-ui-toolkit
qtsystems
];
cmakeFlags = [
"-DINSTALL_TESTS=OFF"
"-DCLICK_MODE=OFF"
];
passthru = {
tests.vm-test = nixosTests.terminal-emulators.lomiri-terminal-app;
updateScript = gitUpdater {
rev-prefix = "v";
};
};
meta = with lib; {
description = "A terminal app for desktop and mobile devices";
homepage = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app";
license = licenses.gpl3Only;
mainProgram = "lomiri-terminal-app";
maintainers = teams.lomiri.members;
platforms = platforms.linux;
};
})