lxqt.{libfm-qt,libqtxdg,lxqt-panel,lxqt-qtplugin,screengrab,xdg-desktop-portal-lxqt}: fix build against Qt >= 6.10 (#454500)

This commit is contained in:
José Romildo Malaquias
2025-10-23 11:28:58 +00:00
committed by GitHub
6 changed files with 111 additions and 45 deletions
+20 -9
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
libXdmcp,
libexif,
@@ -19,22 +20,32 @@
qtx11extras ? null,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libfm-qt";
inherit version;
src = fetchFromGitHub {
owner = "lxqt";
repo = "libfm-qt";
rev = version;
tag = finalAttrs.version;
hash =
{
"1.4.0" = "sha256-QxPYSA7537K+/dRTxIYyg+Q/kj75rZOdzlUsmSdQcn4=";
"2.2.0" = "sha256-xLXHwrcMJ8PObZ2qWVZTf9FREcjUi5qtcCJgNHj391Q=";
}
."${version}";
."${finalAttrs.version}";
};
patches = lib.optionals (finalAttrs.version == "2.2.0") [
# fix build against Qt >= 6.10 (https://github.com/lxqt/libfm-qt/pull/1060)
# TODO: drop when upgrading beyond version 2.2.0
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/libfm-qt/commit/3bcbae5831f5ce3d2f06dc370f0c2ad0026ae82a.patch";
hash = "sha256-nTuPXlkP7AzC8R4OHfQx6/kxPsDjaw7tGzQGyiYqQSQ=";
})
];
nativeBuildInputs = [
cmake
pkg-config
@@ -52,15 +63,15 @@ stdenv.mkDerivation rec {
lxqt-menu-data
menu-cache
]
++ (lib.optionals (lib.versionAtLeast "2.0.0" version) [ qtx11extras ]);
++ (lib.optionals (lib.versionAtLeast "2.0.0" finalAttrs.version) [ qtx11extras ]);
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/libfm-qt";
description = "Core library of PCManFM-Qt (Qt binding for libfm)";
license = licenses.lgpl21Plus;
platforms = with platforms; unix;
teams = [ teams.lxqt ];
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.unix;
teams = [ lib.teams.lxqt ];
};
}
})
+19 -8
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
qtbase,
qtsvg,
@@ -11,22 +12,32 @@
version ? "4.2.0",
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libqtxdg";
inherit version;
src = fetchFromGitHub {
owner = "lxqt";
repo = "libqtxdg";
rev = version;
tag = finalAttrs.version;
hash =
{
"3.12.0" = "sha256-y+3noaHubZnwUUs8vbMVvZPk+6Fhv37QXUb//reedCU=";
"4.2.0" = "sha256-TSyVYlWsmB/6gxJo+CjROBQaWsmYZAwkM8BwiWP+XBI=";
}
."${version}";
."${finalAttrs.version}";
};
patches = lib.optionals (finalAttrs.version == "4.2.0") [
# fix build against Qt >= 6.10 (https://github.com/lxqt/libqtxdg/pull/313)
# TODO: drop when upgrading beyond version 4.2.0
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/libqtxdg/commit/b01a024921acdfd5b0e97d5fda2933c726826e99.patch";
hash = "sha256-njpn6pU9BHlfYfkw/jEwh8w3Wo1F8MlRU8iQB+Tz2zU=";
})
];
nativeBuildInputs = [
cmake
lxqt-build-tools
@@ -48,11 +59,11 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/libqtxdg";
description = "Qt implementation of freedesktop.org xdg specs";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.lxqt ];
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.lxqt ];
};
}
})
+18 -7
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
pkg-config,
alsa-lib,
@@ -33,17 +34,27 @@
gitUpdater,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxqt-panel";
version = "2.2.2";
src = fetchFromGitHub {
owner = "lxqt";
repo = "lxqt-panel";
rev = version;
tag = finalAttrs.version;
hash = "sha256-ui+HD2igPiyIOgIKPbgfO4dnfm2rFP/R6oG2pH5g5VY=";
};
patches = [
# fix build against Qt >= 6.10 (https://github.com/lxqt/lxqt-panel/pull/2306)
# TODO: drop when upgrading beyond version 2.2.2
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/lxqt-panel/commit/fce8cd99a1de0e637e8539c4d8ac68832a40fa6d.patch";
hash = "sha256-KXxV6SZqdpvZSn+zbBZ32Qs6XKfFXEej1F4qBt+MzxA=";
})
];
nativeBuildInputs = [
cmake
pkg-config
@@ -80,12 +91,12 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/lxqt-panel";
description = "LXQt desktop panel";
mainProgram = "lxqt-panel";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.lxqt ];
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.lxqt ];
};
}
})
+18 -7
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
libdbusmenu-lxqt,
libfm-qt,
@@ -14,17 +15,27 @@
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lxqt-qtplugin";
version = "2.2.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "lxqt-qtplugin";
rev = version;
tag = finalAttrs.version;
hash = "sha256-qXadz9JBk4TURAWj6ByP/lGV1u0Z6rNJ/VraBh5zY+Q=";
};
patches = [
# fix build against Qt >= 6.10 (https://github.com/lxqt/lxqt-qtplugin/pull/100)
# TODO: drop when upgrading beyond version 2.2.0
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/lxqt-qtplugin/commit/90473945206dbf21816a00dfba27426a5b5a9e25.patch";
hash = "sha256-cCghOJHsveR5IYisEFv3h8WreRDi0kuyj/2YBD+ATsc=";
})
];
nativeBuildInputs = [
cmake
lxqt-build-tools
@@ -47,11 +58,11 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/lxqt-qtplugin";
description = "LXQt Qt platform integration plugin";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
teams = [ teams.lxqt ];
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.lxqt ];
};
}
})
+18 -7
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
autoPatchelfHook,
gitUpdater,
@@ -20,17 +21,27 @@
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "screengrab";
version = "3.0.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "screengrab";
rev = version;
tag = finalAttrs.version;
hash = "sha256-6cGj3Ijv4DsAdJjcHKUg5et+yYc5miIHHZOTD2D9ASk=";
};
patches = [
# fix build against Qt >= 6.10 (https://github.com/lxqt/screengrab/pull/434)
# TODO: drop when upgrading beyond version 3.0.0
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/screengrab/commit/1621ef5df9461cdd1dcef3faee36e9419f1ca08c.patch";
hash = "sha256-+rpCDLnHmgy/1PME3QaN+978W+jR6PDmiZ/5hAx8Djg=";
})
];
nativeBuildInputs = [
cmake
lxqt-build-tools
@@ -54,12 +65,12 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/screengrab";
description = "Crossplatform tool for fast making screenshots";
mainProgram = "screengrab";
license = licenses.gpl2Plus;
platforms = platforms.linux;
teams = [ teams.lxqt ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.lxqt ];
};
}
})
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
kwindowsystem,
libexif,
@@ -14,17 +15,27 @@
extraQtStyles ? [ ],
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "xdg-desktop-portal-lxqt";
version = "1.2.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "xdg-desktop-portal-lxqt";
rev = version;
tag = finalAttrs.version;
hash = "sha256-y3VqDuFagKcG8O5m5qjRGtlUZXfIXV0tclvZLChhWkg=";
};
patches = [
# fix build against Qt >= 6.10 (https://github.com/lxqt/xdg-desktop-portal-lxqt/pull/50)
# TODO: drop when upgrading beyond version 1.2.0
(fetchpatch {
name = "cmake-fix-build-with-Qt-6.10.patch";
url = "https://github.com/lxqt/xdg-desktop-portal-lxqt/commit/15fae3c57a8e8149ef19a8c919f5728016390e3f.patch";
hash = "sha256-oReYMEr+tBDHtnFDZahBwTtzgtL/BABZO64yob9tem4=";
})
];
nativeBuildInputs = [
cmake
wrapQtAppsHook
@@ -42,11 +53,11 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://github.com/lxqt/xdg-desktop-portal-lxqt";
description = "Backend implementation for xdg-desktop-portal that is using Qt/KF5/libfm-qt";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
license = lib.licenses.lgpl21Plus;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.romildo ];
};
}
})