about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorOPNA2608 <opna2608@protonmail.com>2024-01-15 18:42:35 +0100
committerOPNA2608 <opna2608@protonmail.com>2024-01-15 18:42:35 +0100
commit62b9942ca2e6a0de48ef3fad42a48c9d7785532f (patch)
tree684db2920cb3fd29ce04a287c1b697a2fee1fabb /pkgs/desktops
parent2f076b5178287f8e8a6f989435fd9f5ac6e94074 (diff)
downloadnixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar.gz
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar.bz2
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar.lz
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar.xz
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.tar.zst
nixlib-62b9942ca2e6a0de48ef3fad42a48c9d7785532f.zip
lomiri.lomiri-terminal-app: init at 2.0.1
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/lomiri/applications/lomiri-terminal-app/0001-Drop-deprecated-qt5_use_modules.patch63
-rw-r--r--pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix83
-rw-r--r--pkgs/desktops/lomiri/default.nix3
3 files changed, 149 insertions, 0 deletions
diff --git a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/0001-Drop-deprecated-qt5_use_modules.patch b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/0001-Drop-deprecated-qt5_use_modules.patch
new file mode 100644
index 000000000000..566a8a704a81
--- /dev/null
+++ b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/0001-Drop-deprecated-qt5_use_modules.patch
@@ -0,0 +1,63 @@
+From b02fd5f9074d449bd0a60ce18c77735643f35e00 Mon Sep 17 00:00:00 2001
+From: Puna2608 <opna2608@protonmail.com>
+Date: Tue, 14 Mar 2023 18:11:04 +0100
+Subject: [PATCH] Drop deprecated qt5_use_modules
+
+Isn't even getting included correctly here:
+  Unknown CMake command "qt5_use_modules".
+---
+ app/CMakeLists.txt               | 7 ++++++-
+ tests/qtquicktest/CMakeLists.txt | 8 ++++++--
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
+index 3570b25..e0a7371 100644
+--- a/app/CMakeLists.txt
++++ b/app/CMakeLists.txt
+@@ -1,5 +1,10 @@
+ file(GLOB_RECURSE QML_SRCS *.qml *.js *.json *.png)
+ 
++find_package(Qt5Gui REQUIRED)
++find_package(Qt5Qml REQUIRED)
++find_package(Qt5Quick REQUIRED)
++find_package(Qt5Widgets REQUIRED)
++
+ set(terminal_SRCS
+     main.cpp
+     fileio.cpp
+@@ -11,7 +16,7 @@ set(terminal_SRCS
+ 
+ add_executable(lomiri-terminal-app ${terminal_SRCS})
+ 
+-qt5_use_modules(lomiri-terminal-app Gui Qml Quick Widgets)
++target_link_libraries(lomiri-terminal-app Qt5::Gui Qt5::Qml Qt5::Quick Qt5::Widgets)
+ target_link_libraries(lomiri-terminal-app stdc++)
+ 
+ if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+diff --git a/tests/qtquicktest/CMakeLists.txt b/tests/qtquicktest/CMakeLists.txt
+index 3feec36..f370fa1 100644
+--- a/tests/qtquicktest/CMakeLists.txt
++++ b/tests/qtquicktest/CMakeLists.txt
+@@ -5,7 +5,11 @@
+ #set(XVFB_RUN_CMD ${XVFB_RUN_BIN} -a -s "-screen 0 1024x768x24")
+ 
+ include(FindPkgConfig)
+-find_package(Qt5Core)
++find_package(Qt5Core REQUIRED)
++find_package(Qt5Qml REQUIRED)
++find_package(Qt5Quick REQUIRED)
++find_package(Qt5Test REQUIRED)
++find_package(Qt5QuickTest REQUIRED)
+ 
+ # copy qml test files to build directory
+ if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+@@ -16,5 +20,5 @@ endif(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ 
+ set(QTQUICK_TEST tst_qtquicktest)
+ add_executable(${QTQUICK_TEST} qtquicktest.cpp)
+-qt5_use_modules(${QTQUICK_TEST} Core Qml Quick Test QuickTest)
++target_link_libraries(${QTQUICK_TEST} Qt5::Core Qt5::Qml Qt5::Quick Qt5::Test Qt5::QuickTest)
+ #add_test(${QTQUICK_TEST} ${XVFB_RUN_CMD} ${CMAKE_CURRENT_BINARY_DIR}/${QTQUICK_TEST})
+-- 
+2.39.2
+
diff --git a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix
new file mode 100644
index 000000000000..0fab1fa9fd42
--- /dev/null
+++ b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix
@@ -0,0 +1,83 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, 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.1";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/apps/lomiri-terminal-app";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-WYPP4sZisZMJmRs+QtILh1TELqrJxE+RarkXI58GIKc=";
+  };
+
+  patches = [
+    # Fix CMake code not using the (intended? correct? working?) mechanism for depending on Qt modules
+    ./0001-Drop-deprecated-qt5_use_modules.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" '${qtbase.qtQmlPrefix}' \
+      --replace "\''${CMAKE_INSTALL_PREFIX}/\''${DATA_DIR}" "\''${CMAKE_INSTALL_FULL_DATADIR}/lomiri-terminal-app" \
+      --replace 'EXEC "''${APP_NAME}"' 'EXEC "${placeholder "out"}/bin/''${APP_NAME}"'
+
+    # 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;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix
index 70caa9d64420..f90895cca706 100644
--- a/pkgs/desktops/lomiri/default.nix
+++ b/pkgs/desktops/lomiri/default.nix
@@ -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 { };