From 9ec0f980b87606e799e8a3c322247ac7a1cdb420 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Thu, 4 Apr 2024 10:10:48 +0200 Subject: [PATCH] libsForQt5.qmlbox2d: 2018-04-06 -> 2022-08-025 --- .../libraries/qmlbox2d/default.nix | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix index e1e69b9f10b4..0c50c9e3649b 100644 --- a/pkgs/development/libraries/qmlbox2d/default.nix +++ b/pkgs/development/libraries/qmlbox2d/default.nix @@ -1,31 +1,51 @@ -{lib, stdenv, qtdeclarative, fetchFromGitHub, qmake }: +{ lib, stdenv, qtbase, qtdeclarative, fetchFromGitHub, cmake, pkg-config, box2d }: + +let + inherit (lib) cmakeBool; + + # 2.3.1 is the only supported version + box2d' = (box2d.override { settingsFile = "Box2D/Common/b2Settings.h"; }).overrideAttrs (old: rec { + version = "2.3.1"; + src = fetchFromGitHub { + owner = "erincatto"; + repo = "box2d"; + rev = "v${version}"; + hash = "sha256-Z2J17YMzQNZqABIa5eyJDT7BWfXveymzs+DWsrklPIs="; + }; + sourceRoot = "source/Box2D"; + cmakeFlags = old.cmakeFlags or [ ] ++ [ + (cmakeBool "BOX2D_INSTALL" true) + (cmakeBool "BOX2D_BUILD_SHARED" true) + (cmakeBool "BOX2D_BUILD_EXAMPLES" false) + ]; + }); + +in stdenv.mkDerivation { pname = "qml-box2d"; - version = "unstable-2018-04-06"; + version = "unstable-2022-08-25"; + src = fetchFromGitHub { owner = "qml-box2d"; repo = "qml-box2d"; - sha256 = "0gb8limy6ck23z3k0k2j7c4c4s95p40f6lbzk4szq7fjnnw22kb7"; - rev = "b7212d5640701f93f0cd88fbd3a32c619030ae62"; + rev = "0bb88a6f871eef72b3b9ded9329c15f1da1f4fd7"; + hash = "sha256-sfSVetpHIAIujpgjvRScAkJRlQQYjQ/yQrkWvp7Yu0s="; }; dontWrapQtApps = true; - nativeBuildInputs = [ qmake ]; - buildInputs = [ qtdeclarative ]; + nativeBuildInputs = [ cmake pkg-config ]; - patchPhase = '' - substituteInPlace box2d.pro \ - --replace '$$[QT_INSTALL_QML]' "/$qtQmlPrefix/" - qmakeFlags="$qmakeFlags PREFIXSHORTCUT=$out" - ''; + buildInputs = [ box2d' qtbase qtdeclarative ]; - installFlags = [ "INSTALL_ROOT=$(out)" ]; + cmakeFlags = [ + (cmakeBool "USE_SYSTEM_BOX2D" true) + ]; meta = with lib; { description = "A QML plugin for Box2D engine"; homepage = "https://github.com/qml-box2d/qml-box2d"; - maintainers = [ maintainers.guibou ]; + maintainers = with maintainers; [ guibou ]; platforms = platforms.linux; license = licenses.zlib; };