diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix new file mode 100644 index 000000000000..630f606c2e54 --- /dev/null +++ b/pkgs/development/libraries/qmlbox2d/default.nix @@ -0,0 +1,31 @@ +{stdenv, qtdeclarative, fetchFromGitHub, qmake }: +stdenv.mkDerivation rec { + name = "qml-box2d-2018-03-16"; + src = fetchFromGitHub { + owner = "qml-box2d"; + repo = "qml-box2d"; + sha256 = "1fbsvv28b4r0szcv8bk5gxpf8v534jp2axyfp438384sy757wsq2"; + rev = "21e57f1"; + }; + + enableParallelBuilding = true; + nativeBuildInputs = [ qmake ]; + + buildInputs = [ qtdeclarative ]; + + patchPhase = '' + substituteInPlace box2d.pro \ + --replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/" + qmakeFlags="$qmakeFlags PREFIXSHORTCUT=$out" + ''; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + meta = with stdenv.lib; { + description = "A QML plugin for Box2D engine"; + homepage = "https://github.com/qml-box2d/qml-box2d"; + maintainers = [ maintainers.guibou ]; + platforms = platforms.linux; + license = licenses.zlib; + }; +} diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix new file mode 100644 index 000000000000..89b9fca06eab --- /dev/null +++ b/pkgs/games/gcompris/default.nix @@ -0,0 +1,37 @@ +{stdenv, cmake, qtbase, fetchurl, qtdeclarative, qtmultimedia, qttools, qtsensors, qmlbox2d, gettext, qtquickcontrols, qtgraphicaleffects, makeWrapper, + gst_all_1, ninja +}: +stdenv.mkDerivation rec { + version = "0.90"; + name = "gcompris-${version}"; + + src = fetchurl { + url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz"; + sha256 = "1i5adxnhig849qxwi3c4v7r84q6agx1zxkd69fh4y7lcmq2qiaza"; + }; + + cmakeFlags = "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0"; + + nativeBuildInputs = [ cmake ninja makeWrapper ]; + buildInputs = [ qtbase qtdeclarative qttools qtsensors qmlbox2d gettext qtquickcontrols qtmultimedia qtgraphicaleffects] ++ soundPlugins; + soundPlugins = with gst_all_1; [gst-plugins-good gstreamer gst-plugins-base gst-plugins-bad]; + + postInstall = '' + # install .desktop and icon file + mkdir -p $out/share/applications/ + mkdir -p $out/share/icons/hicolor/256x256/apps/ + cp ../org.kde.gcompris.desktop $out/share/applications/gcompris.desktop + cp -r ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png + + wrapProgram "$out/bin/gcompris-qt" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" + ''; + + meta = with stdenv.lib; { + description = "A high quality educational software suite, including a large number of activities for children aged 2 to 10"; + homepage = "https://gcompris.net/"; + maintainers = [ maintainers.guibou ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + license = licenses.gpl3Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aa30502dcb2c..4c63f5c1ecfd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11237,6 +11237,7 @@ with pkgs; qca-qt5 = callPackage ../development/libraries/qca-qt5 { }; qmltermwidget = callPackage ../development/libraries/qmltermwidget { }; + qmlbox2d = libsForQt59.callPackage ../development/libraries/qmlbox2d { }; qscintilla = callPackage ../development/libraries/qscintilla { withQt5 = true; @@ -19001,6 +19002,8 @@ with pkgs; gcs = callPackage ../games/gcs { }; + gcompris = libsForQt59.callPackage ../games/gcompris { }; + gemrb = callPackage ../games/gemrb { }; gl117 = callPackage ../games/gl-117 {};