diff --git a/pkgs/by-name/oc/octomap/package.nix b/pkgs/by-name/oc/octomap/package.nix index 718bf0405725..4b1d524f9130 100644 --- a/pkgs/by-name/oc/octomap/package.nix +++ b/pkgs/by-name/oc/octomap/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, cmake, }: @@ -12,10 +13,33 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "OctoMap"; repo = "octomap"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-QxQHxxFciR6cvB/b8i0mr1hqGxOXhXmB4zgdsD977Mw="; }; + patches = [ + (fetchpatch2 { + name = "prepare-for-next-patch.patch"; + url = "https://github.com/OctoMap/octomap/commit/c5c714139a82969915b84cd5548dedcd257ebf1e.patch?full_index=1"; + stripLen = 1; + excludes = [ ".gitignore" ]; + hash = "sha256-p/qvBiqeZt93aI7p7MYG6SUwcRlchHV9AnXKVTzBhRs="; + }) + # fix for gcc16, merged upstream + (fetchpatch2 { + name = "fix-gcc16.patch"; + url = "https://github.com/OctoMap/octomap/commit/d7e54ca1c4074f88381c07bfdd685bd4fced0636.patch?full_index=1"; + stripLen = 1; + hash = "sha256-8ZwX1CJFykMduEEXIqTRH9VHn7ItvO/ZfdNNDIDmtss="; + }) + ]; + + # ref. https://github.com/OctoMap/octomap/pull/448 not merged yet + postPatch = '' + substituteInPlace include/octomap/OcTreeKey.h --replace-fail \ + "#include " "" + ''; + sourceRoot = "${finalAttrs.src.name}/octomap"; nativeBuildInputs = [ cmake ]; @@ -25,11 +49,18 @@ stdenv.mkDerivation (finalAttrs: { "-Wno-error=deprecated-declarations" ]; + strictDeps = true; + __structuredAttrs = true; + meta = { + changelog = "https://github.com/OctoMap/octomap/releases/tag/${finalAttrs.src.tag}"; description = "Probabilistic, flexible, and compact 3D mapping library for robotic systems"; homepage = "https://octomap.github.io/"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ lopsided98 ]; - platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + lopsided98 + nim65s + ]; + platforms = lib.platforms.unix ++ lib.platforms.windows; }; })