lomiri-qt6.morph-browser: init at 1.99.3

This commit is contained in:
OPNA2608
2026-03-30 15:04:46 +02:00
parent d7c1807883
commit beef8b9c1d
2 changed files with 42 additions and 10 deletions
@@ -15,18 +15,21 @@
lomiri-ui-toolkit,
mesa,
pkg-config,
qqc2-suru-style,
qqc2-suru-style ? null,
qt5compat ? null,
qtbase,
qtdeclarative,
qtquickcontrols2,
qtsystems,
qtquickcontrols2 ? null,
qtsystems ? null,
qttools,
qtwebengine,
wrapQtAppsHook,
xvfb-run,
withDocumentation ? true,
}:
let
withQt6 = lib.strings.versionAtLeast qtbase.version "6";
listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix;
in
stdenv.mkDerivation (finalAttrs: {
@@ -42,6 +45,8 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
]
++ lib.optionals withDocumentation [
"doc"
];
@@ -55,16 +60,22 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace doc/CMakeLists.txt \
--replace-fail 'COMMAND ''${QDOC_BIN} -qt5' 'COMMAND ''${QDOC_BIN}'
''
+ lib.optionalString (!withDocumentation) ''
substituteInPlace CMakeLists.txt \
--replace-fail 'add_subdirectory(doc)' 'message(WARNING "[Nix] Not building documentation")'
'';
strictDeps = true;
strictDeps = !withQt6;
nativeBuildInputs = [
cmake
gettext
pkg-config
qttools # qdoc
wrapQtAppsHook
]
++ lib.optionals withDocumentation [
qttools # qdoc
];
buildInputs = [
@@ -79,9 +90,20 @@ stdenv.mkDerivation (finalAttrs: {
lomiri-content-hub
lomiri-ui-extras
lomiri-ui-toolkit
]
++ lib.optionals (!withQt6) [
# Not ported to Qt6 yet, explicitly disabled in the Qt6 build
# https://gitlab.com/ubports/development/core/morph-browser/-/blob/4f20c943e78694818d1b80b5563bd89901230e75/src/app/browserapplication.cpp#L196
qqc2-suru-style
# Folded into qtdeclarative in Qt6
qtquickcontrols2
# Will prolly want this in the future, but needs porting to Qt6
qtsystems
]
++ lib.optionals withQt6 [
qt5compat
];
nativeCheckInputs = [
@@ -92,11 +114,14 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "CLICK_MODE" false)
(lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6"))
(lib.cmakeBool "WERROR" true)
(lib.cmakeBool "ENABLE_QT6" withQt6)
(lib.cmakeBool "WERROR" (!withQt6)) # Porting WIP
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
doCheck =
stdenv.buildPlatform.canExecute stdenv.hostPlatform
# Hard dependency on Qt5 still
&& (!withQt6);
disabledTests = [
# Don't care about linter failures
@@ -115,6 +140,8 @@ stdenv.mkDerivation (finalAttrs: {
lomiri-ui-toolkit
qtwebengine
qtdeclarative
]
++ lib.optionals (!withQt6) [
qtquickcontrols2
qtsystems
]
@@ -132,7 +159,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
updateScript = gitUpdater { };
tests = {
tests = lib.optionalAttrs (!withQt6) {
# Test of morph-browser itself
standalone = nixosTests.morph-browser;
+6 -1
View File
@@ -16,6 +16,12 @@ let
inherit (self) callPackage;
in
{
#### Core Apps
morph-browser = callPackage ./applications/morph-browser {
# get_target_property() called with non-existent target "Qt6::qdoc".
withDocumentation = !useQt6;
};
#### Data
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
@@ -62,7 +68,6 @@ let
lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { };
lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { };
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };
morph-browser = callPackage ./applications/morph-browser { };
teleports = callPackage ./applications/teleports { };
#### Data