chessx: fix build (#46359)
See https://hydra.nixos.org/build/80998335. Upstream doesn't support QT 5.11 ATM which broke compilation: ``` src/dialogs/savedialog.cpp: In constructor ‘SaveDialog::SaveDialog(QWidget*, Qt::WindowFlags)’: src/dialogs/savedialog.cpp:37:34: error: invalid use of incomplete type ‘class QButtonGroup’ group = new QButtonGroup(this); ``` The Arch community recommends to use an older QT version to fix this (https://aur.archlinux.org/packages/chessx/). Furthermore the `QT_PLUGIN_PATH` wasn't set properly which broke the runtime since QT coudln't find the `xcb` plugin: ``` qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. ``` Finally, some minor style fixes were made for consistent indentation. Addresses #45960
This commit is contained in:
parent
28a46c2c6f
commit
37032db583
@ -1,30 +1,41 @@
|
|||||||
{ stdenv, pkgconfig, zlib, qtbase, qtsvg, qttools, qtmultimedia, qmake, fetchurl }:
|
{ stdenv, pkgconfig, zlib, qtbase, qtsvg, qttools, qtmultimedia, qmake, fetchurl, makeWrapper
|
||||||
|
, lib
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "chessx-${version}";
|
name = "chessx-${version}";
|
||||||
version = "1.4.6";
|
version = "1.4.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/chessx/chessx-${version}.tgz";
|
url = "mirror://sourceforge/chessx/chessx-${version}.tgz";
|
||||||
sha256 = "1vb838byzmnyglm9mq3khh3kddb9g4g111cybxjzalxxlc81k5dd";
|
sha256 = "1vb838byzmnyglm9mq3khh3kddb9g4g111cybxjzalxxlc81k5dd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase
|
qtbase
|
||||||
qtsvg
|
qtsvg
|
||||||
qttools
|
qttools
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [ pkgconfig qmake ];
|
|
||||||
|
nativeBuildInputs = [ pkgconfig qmake makeWrapper ];
|
||||||
|
|
||||||
# RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
|
# RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p "$out/bin"
|
|
||||||
mkdir -p "$out/share/applications"
|
mkdir -p "$out/bin"
|
||||||
cp -pr release/chessx "$out/bin"
|
mkdir -p "$out/share/applications"
|
||||||
cp -pr unix/chessx.desktop "$out/share/applications"
|
cp -pr release/chessx "$out/bin"
|
||||||
runHook postInstall
|
cp -pr unix/chessx.desktop "$out/share/applications"
|
||||||
|
|
||||||
|
wrapProgram $out/bin/chessx \
|
||||||
|
--prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -32,5 +43,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "ChessX allows you to browse and analyse chess games";
|
description = "ChessX allows you to browse and analyse chess games";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [maintainers.luispedro];
|
maintainers = [maintainers.luispedro];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -19730,7 +19730,7 @@ with pkgs;
|
|||||||
|
|
||||||
chessdb = callPackage ../games/chessdb { };
|
chessdb = callPackage ../games/chessdb { };
|
||||||
|
|
||||||
chessx = libsForQt5.callPackage ../games/chessx { };
|
chessx = libsForQt59.callPackage ../games/chessx { };
|
||||||
|
|
||||||
chocolateDoom = callPackage ../games/chocolate-doom { };
|
chocolateDoom = callPackage ../games/chocolate-doom { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user