lopsided98 / nix-ros-overlay

ROS overlay for the Nix package manager
Apache License 2.0
173 stars 69 forks source link

Pin ignition-common to ffmpeg version 4 #327

Closed StarGate01 closed 7 months ago

StarGate01 commented 7 months ago

This PR ensures that ignition-common builds with ffmpeg version 4, since the nixpkgs-unstable upstream version of ffmpeg is not compatible with the version of ignition-common in this overlay.

Related: https://github.com/acxz/gazebo-arch/issues/56

Notify @vBruegge

wentasah commented 7 months ago

It seems you're trying to solve the same problem as https://github.com/lopsided98/nix-ros-overlay/issues/315#issuecomment-1810644791. Did you find any solution?

StarGate01 commented 7 months ago

Hi @wentasah , I managed to fix one compilation error by pinning FFMPEG, only for a hand full of new ones to pop up. I eventually pinned the version of nixpkgs used to an old version.

hacker1024 commented 7 months ago

It's easier to just include the fix for FFmpeg 6. This is my overlay:

ignition = super.ignition // (
  let
    fixCommon = common: common.overrideAttrs ({ patches, ... }: {
      patches = patches ++ [
        # Fix for ffmpeg v6
        (self.fetchpatch {
          url = "https://github.com/gazebosim/gz-common/commit/d6024ce4acd3a961e3d026e5bc1bfbcb1e4b99e6.patch";
          hash = "sha256-4Iu7GQ/BsvpzBkloO3LIsMiN/STHRhbhMMAs4d1FzrY=";
        })
      ];
    });
  in
  {
    common3 = fixCommon super.ignition.common3;
    common4 = fixCommon super.ignition.common4;
  }
);