Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions nixos/tests/terminal-emulators.nix
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ let tests = {

konsole.pkg = p: p.plasma5Packages.konsole;

lomiri-terminal-app.pkg = p: p.lomiri.lomiri-terminal-app;

lxterminal.pkg = p: p.lxterminal;

mate-terminal.pkg = p: p.mate.mate-terminal;
Expand Down
104 changes: 104 additions & 0 deletions pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{ 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;
};
})
3 changes: 3 additions & 0 deletions pkgs/desktops/lomiri/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ let
packages = self: let
inherit (self) callPackage;
in {
#### Core Apps
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };

#### Data
lomiri-schemas = callPackage ./data/lomiri-schemas { };
suru-icon-theme = callPackage ./data/suru-icon-theme { };
Expand Down