diff --git a/docs/default.nix b/docs/default.nix index 7ba8b83..b784f7c 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -10,7 +10,7 @@ uv2nix, pyproject-build-systems, # non-python packages to build docs - doxygen, + unstable, graphviz, # ros version to link to with intersphinx - defaults to humble rosDistro ? "humble", @@ -48,7 +48,7 @@ let name = "roar-docs-env"; paths = [ pyEnv - doxygen + unstable.doxygen graphviz ]; }; diff --git a/docs/nix/overlay.nix b/docs/nix/overlay.nix new file mode 100644 index 0000000..97951c8 --- /dev/null +++ b/docs/nix/overlay.nix @@ -0,0 +1,20 @@ +final: prev: +let + doxygen = prev.doxygen.overrideAttrs ( + { ... }: + rec { + version = "1.12.0"; + patches = [ ]; + + src = prev.fetchFromGitHub { + owner = "doxygen"; + repo = "doxygen"; + rev = "Release_${prev.lib.replaceStrings [ "." ] [ "_" ] version}"; + sha256 = "sha256-4zSaM49TjOaZvrUChM4dNJLondCsQPSArOXZnTHS4yI="; + }; + } + ); +in +{ + inherit doxygen; +} diff --git a/docs/nix/shell.nix b/docs/nix/shell.nix index 9eb8f94..1f2fcd3 100644 --- a/docs/nix/shell.nix +++ b/docs/nix/shell.nix @@ -2,7 +2,7 @@ rosDistro, mkShell, env, - uv, + unstable, drawio, }: # provide a dev shell environment for the docs - see pyproject docs: @@ -16,7 +16,7 @@ let ROS_DISTRO = rosDistro; buildInputs = [ env - uv # uv added to manage python dependencies + unstable.uv # uv added to manage python dependencies - needs to be from unstable due to rapid development drawio ]; shellHook = '' diff --git a/flake.nix b/flake.nix index 7a99586..6989d83 100644 --- a/flake.nix +++ b/flake.nix @@ -71,8 +71,7 @@ ros = final.rosPackages.${rosDistro}.overrideScope ( rosFinal: rosPrev: { manualDomainId = toString productionDomainId; } ); - # override select packages with latest - inherit (pkgs-unstable) uv; + unstable = pkgs-unstable; }) ]; # Gazebo makes use of Freeimage. @@ -83,6 +82,9 @@ # we don't need to apply overlays here since pkgs-unstable is only for pure python stuff pkgs-unstable = import nixpkgs-unstable { inherit system; + overlays = [ + (import ./docs/nix/overlay.nix) + ]; config.allowUnfree = true; # needed for draw.io for the docs }; @@ -153,7 +155,6 @@ }; # --- PYTHON (UV) WORKSPACES --- - # note: called with pkgs-unstable since we need the uv tool to be up-to-date due to rapid development # note: called with rosDistro to link correct intersphinx inventory docs = pkgs.callPackage (import ./docs) { inherit