diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix')
-rw-r--r-- | nixpkgs/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix b/nixpkgs/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix new file mode 100644 index 000000000000..31ef9ed8838c --- /dev/null +++ b/nixpkgs/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix @@ -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; + }; +}) |