nixpkgs/pkgs/games/gcompris/default.nix
Julien Moutinho 2de55545ff gcompris: fix loading of image assets
Previously some games were not able to load some WebP image assets,
eg. the Erase game failed to display any cute background image,
making it unattractive:

> qrc:/gcompris/src/activities/erase/Erase.qml:26:20: QML Image:
> Error decoding: qrc:/gcompris/src/activities/erase/resource/butterfly.webp:
> Unsupported image format
2024-08-26 21:24:08 +02:00

75 lines
1.7 KiB
Nix

{ stdenv
, cmake
, fetchurl
, gettext
, gst_all_1
, lib
, ninja
, wrapQtAppsHook
, qmlbox2d
, qtbase
, qtcharts
, qtdeclarative
, qtgraphicaleffects
, qtimageformats
, qtmultimedia
, qtquickcontrols2
, qtsensors
, qttools
, qtxmlpatterns
, extra-cmake-modules
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gcompris";
version = "4.1";
src = fetchurl {
url = "mirror://kde/stable/gcompris/qt/src/gcompris-qt-${finalAttrs.version}.tar.xz";
hash = "sha256-Pz0cOyBfiexKHUsHXm18Zw2FKu7b7vVuwy4Vu4daBoU=";
};
cmakeFlags = [
(lib.cmakeFeature "QML_BOX2D_LIBRARY" "${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.1")
(lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck)
];
nativeBuildInputs = [ cmake extra-cmake-modules gettext ninja qttools wrapQtAppsHook ];
buildInputs = [
qmlbox2d
qtbase
qtcharts
qtdeclarative
qtgraphicaleffects
qtimageformats
qtmultimedia
qtquickcontrols2
qtsensors
qtxmlpatterns
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
]);
postInstall = ''
install -Dm444 ../org.kde.gcompris.appdata.xml -t $out/share/metainfo
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
'';
# we need a graphical environment for the tests
doCheck = false;
meta = with lib; {
description = "High quality educational software suite, including a large number of activities for children aged 2 to 10";
homepage = "https://gcompris.net/";
license = licenses.gpl3Plus;
mainProgram = "gcompris-qt";
maintainers = with maintainers; [ guibou ];
platforms = platforms.linux;
};
})