diff --git a/pkgs/by-name/la/lager/package.nix b/pkgs/by-name/la/lager/package.nix index 3d5ed2498317..d4444c1c0448 100644 --- a/pkgs/by-name/la/lager/package.nix +++ b/pkgs/by-name/la/lager/package.nix @@ -2,40 +2,72 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cmake, boost, + cereal, immer, zug, + catch2, + qt5, }: stdenv.mkDerivation (finalAttrs: { pname = "lager"; - version = "0.1.0"; + version = "0.1.2"; src = fetchFromGitHub { owner = "arximboldi"; repo = "lager"; - rev = "v${finalAttrs.version}"; - hash = "sha256-KTHrVV/186l4klwlcfDwFsKVoOVqWCUPzHnIbWuatbg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-ssGBQu8ba798MSTtJeCBE3WQ7AFfvSGLhZ7WBYHEgfw="; }; + patches = lib.optionals finalAttrs.finalPackage.doCheck [ + # https://github.com/arximboldi/lager/pull/233 + (fetchpatch { + name = "Stop-using-Boost-system.patch"; + url = "https://github.com/arximboldi/lager/commit/0eb1d3d3a6057723c5b57b3e0ee3e41924ff419a.patch"; + hash = "sha256-peGpuyuCznCDqYo+9zk1FytLV+a6Um8fvjLmrm7Y2CI="; + }) + ]; + + strictDeps = true; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ boost + cereal immer zug ]; - nativeBuildInputs = [ - cmake + + checkInputs = [ + catch2 + qt5.qtdeclarative ]; + cmakeFlags = [ - "-Dlager_BUILD_EXAMPLES=OFF" + (lib.cmakeBool "lager_BUILD_DEBUGGER_EXAMPLES" false) + (lib.cmakeBool "lager_BUILD_DOCS" false) + (lib.cmakeBool "lager_BUILD_EXAMPLES" false) + (lib.cmakeBool "lager_BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; + + # remove BUILD file to avoid conflicts with the build directory preConfigure = '' rm BUILD ''; + + doCheck = true; + + dontWrapQtApps = true; + meta = { - homepage = "https://github.com/arximboldi/lager"; + changelog = "https://github.com/arximboldi/lager/releases/tag/${finalAttrs.src.tag}"; description = "C++ library for value-oriented design using the unidirectional data-flow architecture — Redux for C++"; + homepage = "https://sinusoid.es/lager/"; license = lib.licenses.mit; maintainers = [ ]; };