Commit graph

906 commits

Author SHA1 Message Date
Ben Wolsieffer
2c2781805f Use nixpkgs version from flake by default
When not using flakes, you would immediately start using the latest
version of the nix-ros branch whenever I updated it, even if it hadn't
been tested or added to the cache yet. Now, it will match the flake
locked version by default even when not using flakes.
2024-03-09 12:27:10 -05:00
Ben Wolsieffer
e761430bde nix-ros-build-action: update dependencies 2024-03-06 19:24:06 -05:00
Ben Wolsieffer
7b0c15e446 actions: don't override cachix compression method
This was breaking cachix and it defaults to zstd anyway.
2024-03-06 19:21:33 -05:00
Ben Wolsieffer
e41c59ae0d actions: reduce parallelism
I already set max-jobs=1 a long time ago, so I'm not sure what effect
this will have.
2024-03-05 20:10:17 -05:00
Ben Wolsieffer
4dc55d14c3 Empty commit to trigger GitHub actions. 2024-03-04 22:01:59 -05:00
Ben Wolsieffer
fc2608672e humble: moveit-kinematics: add missing moveit-ros-planning dep
This was added upstream in 2.7.2 but this has not been released for
humble.
2024-03-04 21:13:14 -05:00
Ben Wolsieffer
c479bc18d7 humble: rcpputils: remove upstreamed patch 2024-03-03 17:41:32 -05:00
Superflore
160dfe7959 regenerate all distros, Fri Mar 1 13:05:06 2024 2024-03-03 14:24:52 -05:00
Michal Sojka
dd9cc83369 buildEnv: Reduce length of AMENT_PREFIX_PATH and other ROS 2 variables
The purpose of ROS-specific version of buildEnv in this overlay is to
reduce the length of environment variables when using many ROS
packages. However, currently it works only for ROS 1 and not for
ROS 2. This commit is an attempt to fix that.

Although the change looks trivial, it took me multiple full days to
figure out what to change and how. The following is my understanding
of how handling of environment variables works in ROS 2 and in
nix-ros-overlay and why the change in this commit works. I'm not
completely sure that it's all correct so feel free to complain if not.

- Every ament_cmake ROS package contains a $out/share/*/local_setup.sh
  script, generated by ament CMake macros, which is responsible for
  setting environment variables required for proper function of the
  package under ROS 2. Every package extends AMENT_PREFIX_PATH and it
  may extend other variables such as PATH. The default prefix used for
  extending the variables is specified at compile time and is equal to
  package's Nix store path ($out).

- local_setup.sh files are sourced when building dependent ROS
  packages. In nix-ros-overlay, this is accomplished by
  ament-cmake-core-setup-hook, which is automatically propagated to
  all dependents.

- ROS-specific buildEnv ensures that ROS packages are not further
  propagated downstream but non-ROS packages are.
  ament-cmake-core-setup-hook is a non-ROS package (it's a Nix native
  package) so if any package in the buildEnv depends on it, it is
  propagated out of buildEnv. Therefore dependents of the buildEnv
  source all local_setup.sh files from the buildEnv (and from other
  ROS packages outside of buildEnv, if there are any).

- The problem when sourcing local_setup.sh files now is the default
  prefix built into them, which causes every package to have a
  separate entry in the extended variables. However, if the file is
  sourced with AMENT_CURRENT_PREFIX variable set, its value overrides
  the default prefix. That's what we do in this commit. We set
  AMENT_CURRENT_PREFIX to the store path of the sourced package; in
  case of normal ROS packages it's equal to the default builtin
  prefix, but in case of buildEnv, it's different and all packages in
  the environment share the same prefix.

I'm testing this change with the following flake.nix:

    {
      inputs = {
        nix-ros-overlay.url = "/path/to/repo/with/this/commit";
        nixpkgs.follows = "nix-ros-overlay/nixpkgs";
      };
      outputs = { self, nixpkgs, nix-ros-overlay }:
        let
          pkgs = import nixpkgs {
            system = "x86_64-linux";
            overlays = [ nix-ros-overlay.overlays.default ];
          };
          rosDistro = pkgs.rosPackages.humble;
          buildEnv = rosDistro.buildEnv {
            paths = with rosDistro; [
              demo-nodes-cpp
            ];
          };
        in
        {
          devShells.x86_64-linux.default = pkgs.mkShell {
            name = "ros-env-test";
            packages = [ buildEnv ];
          };
          packages.x86_64-linux = {
            default = buildEnv;
            inherit (rosDistro) demo-nodes-cpp;
          };
        };
    }

Running `nix develop` and then:

    echo $AMENT_PREFIX_PATH | tr : \\n | wc -l

without this commit returns 71 entries, while with this commit the
result in a single entry!
2024-03-03 14:18:16 -05:00
Ben Wolsieffer
5f5fc56984 librealsense2: only apply patch to ROS 2
Noetic uses an older version that doesn't need this patch.
2024-02-25 21:15:36 -05:00
0aa4c3092a fix librealsense2 compile error 2024-02-25 21:11:05 -05:00
Ben Wolsieffer
07e5ea9e33 Remove catkin-pip override
This package no longer exists in any distro.
2024-02-25 21:07:50 -05:00
hacker1024
a3c7efb5bb buildEnv: Add ROS version environment variables to wrapper 2024-02-25 21:04:52 -05:00
Michal Sojka
5ff3d6e3f9 Fix rosbag2-compression compile error
The error messages were as follows:

    In file included from /build/rosbag2-release-release-humble-rosbag2_compression-0.15.9-1/src/rosbag2_compression/compression_options.cpp:18:
    /build/rosbag2-release-release-humble-rosbag2_compression-0.15.9-1/include/rosbag2_compression/compression_options.hpp:29:6: warning: elaborated-type-specifier for a scoped enum must not use the 'class' keyword
       29 | enum class ROSBAG2_COMPRESSION_PUBLIC CompressionMode: uint32_t
          | ~~~~ ^~~~~
          |      -----
    /build/rosbag2-release-release-humble-rosbag2_compression-0.15.9-1/include/rosbag2_compression/compression_options.hpp:29:54: error: found ':' in nested-name-specifier, expected '::'
       29 | enum class ROSBAG2_COMPRESSION_PUBLIC CompressionMode: uint32_t
          |                                                      ^
          |                                                      ::
    /build/rosbag2-release-release-humble-rosbag2_compression-0.15.9-1/include/rosbag2_compression/compression_options.hpp:29:39: error: 'CompressionMode' has not been declared
       29 | enum class ROSBAG2_COMPRESSION_PUBLIC CompressionMode: uint32_t
          |                                       ^~~~~~~~~~~~~~~
2024-02-25 21:03:05 -05:00
Ben Wolsieffer
0f0f7623c3 humble: cleanup plotjuggler-ros patch 2024-02-25 21:00:49 -05:00
Michal Sojka
35356210dc Fix plotjuggler-ros for Humble 2024-02-25 20:57:12 -05:00
Superflore
1dda479ef2 regenerate all distros, Fri Feb 16 13:29:45 2024 2024-02-25 14:40:29 -05:00
Ben Wolsieffer
d67a2d82a3 Use empy 3 for colcon.
Add an empy_3 package to the global scope and use it for colcon. We
don't want to simply override empy because this will affect other
packages from nixpkgs.
2024-02-25 12:27:36 -05:00
Superflore
9f53d85d2a regenerate all distros, Fri Feb 9 13:42:10 2024 2024-02-10 13:10:28 -05:00
Ben Wolsieffer
c8afb864b6 rolling: update urdfdom patches 2024-02-09 21:16:40 -05:00
Ben Wolsieffer
74fec72eaf Fix deprecated pythonForBuild usages 2024-02-09 21:16:23 -05:00
Ben Wolsieffer
3307ed5ecd humble: libstatistics-collector: add patch to fix build 2024-02-09 21:15:52 -05:00
Ben Wolsieffer
d2fae7143f humble: rcpputils: add patch to fix build 2024-02-09 20:26:05 -05:00
Ben Wolsieffer
b09c3a8518 ignition.common: add patch to fix build 2024-02-09 19:52:44 -05:00
Mike Purvis
0ed407099e Fix overriding in ignition.fuel-tools4 2024-02-09 19:35:29 -05:00
Ben Wolsieffer
d0ed0ee339 Override to use empy 3.3.4
Empy 4.0 has many breaking changes and is not supported by ROS.

Fixes: #340
2024-02-08 21:34:27 -05:00
Ben Wolsieffer
90614baa93 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
  → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15)
• Updated input 'nixpkgs':
    'github:lopsided98/nixpkgs/173b74db07f26344f3517716edd4bff6987b512d' (2023-11-26)
  → 'github:lopsided98/nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1' (2024-02-07)
2024-02-08 19:30:30 -05:00
Superflore
28f3a7e900 regenerate all distros, Fri Feb 2 13:15:52 2024 2024-02-04 12:01:23 -05:00
Superflore
5053bf9d76 regenerate all distros, Fri Jan 19 13:36:48 2024 2024-01-21 11:34:12 -05:00
Superflore
1f89e13710 regenerate all distros, Fri Dec 22 13:30:27 2023 2024-01-01 13:14:47 -05:00
hacker1024
cb54e58da4 buildEnv: Disable redundant fixup operations 2024-01-01 13:14:27 -05:00
Superflore
42cae93f39 regenerate all distros, Fri Nov 24 13:11:26 2023 2023-11-26 21:57:08 -05:00
Ben Wolsieffer
7a1f3e4578 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:lopsided98/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
  → 'github:lopsided98/nixpkgs/173b74db07f26344f3517716edd4bff6987b512d' (2023-11-26)
2023-11-26 17:37:20 -05:00
Ben Wolsieffer
2427b8430e lib: tarSource: fix evaluation with no hash
Passing a null hash to mkDerivation now throws an error.
2023-11-26 16:18:48 -05:00
Ben Wolsieffer
15e5129b88 ignition.common3: 3.15.1 -> 3.16.0 2023-11-26 16:02:03 -05:00
Ben Wolsieffer
205dbc8d53 ignition.common4: 4.6.2 -> 4.7.0 2023-11-26 16:01:36 -05:00
Ben Wolsieffer
71a4c24a33 gazebo: remove commented out patch 2023-11-26 15:48:43 -05:00
Alexander Lampalzer
5b24e85064
Gazebo 11.13.0 -> 11.14.0 (#332)
Update gazebo to 11.14.0
2023-11-26 15:47:49 -05:00
koalp
734153d7c1 fix: rename patchVendorGit to patchExternalProjectGit in foxy
patchVendorGit had been renamed to patchExternalProjectGit for all
distributions but foxy.

It has been fixed.
2023-11-15 21:06:57 -05:00
Ben Wolsieffer
5f926588de flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:lopsided98/nixpkgs/f5892ddac112a1e9b3612c39af1b72987ee5783a' (2023-09-29)
  → 'github:lopsided98/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04)
2023-11-07 20:51:14 -05:00
Superflore
f847455fec regenerate all distros, Fri Nov 3 13:39:15 2023 2023-11-07 20:48:10 -05:00
Superflore
e3eba7bb67 regenerate all distros, Fri Oct 6 13:48:50 2023 2023-10-10 19:50:09 -04:00
Ben Wolsieffer
d37d5a670a Fix teb-local-planner.
Add OpenBLAS support to libg2o and add patch for teb-local-planner.
2023-10-05 21:50:39 -04:00
Ben Wolsieffer
fa3067f54f canopen-master: add patch to fix build 2023-10-05 21:12:31 -04:00
Ben Wolsieffer
e3740e8db7 gazebo: 11.12.0 -> 11.13.0, fix build 2023-10-03 22:42:55 -04:00
Ben Wolsieffer
9eec5dfe0a Remove obsolete libphidget21 override 2023-10-03 21:04:45 -04:00
Ben Wolsieffer
d95cae5d62 Make libphidgets override ROS 1 only 2023-10-03 21:04:21 -04:00
Ben Wolsieffer
8bf6ac5b99 ignition-transport11: 11.4.0 -> 11.4.1 2023-10-03 20:59:09 -04:00
Ben Wolsieffer
9cfa66c002 ignition.transport4: remove 2023-10-03 20:56:25 -04:00
Ben Wolsieffer
d41f577fb7 ignition.msgs1: remove 2023-10-03 20:53:32 -04:00