Change:
<ins> { stdenv , buildFHSEnv , writeShellScriptBin , fetchurl , callPackage , makeDesktopItem , copyDesktopItems , ffmpeg , glibc , gnome , jq , lib , libmediainfo , libsForQt5 , libusb1 , ocl-icd , p7zip , patchelf , socat , vapoursynth , xdg-utils , xorg }: let mpvForSVP = callPackage ./mpv.nix { }; # Script provided by GitHub user @xrun1 # https://github.com/xddxdd/nur-packages/issues/31#issuecomment-1812591688 fakeLsof = writeShellScriptBin "lsof" '' for arg in "$@"; do if [ -S "$arg" ]; then printf %s p echo '{"command": ["get_property", "pid"]}' | ${socat}/bin/socat - "UNIX-CONNECT:$arg" | ${jq}/bin/jq -Mr .data printf 'n' fi done ''; libraries = [ fakeLsof ffmpeg.bin glibc gnome.zenity libmediainfo libsForQt5.qtbase libsForQt5.qtwayland libsForQt5.qtdeclarative libsForQt5.qtscript libsForQt5.qtsvg libusb1 mpvForSVP ocl-icd stdenv.cc.cc.lib vapoursynth xdg-utils xorg.libX11 ]; svp-dist = stdenv.mkDerivation rec { pname = "svp-dist"; version = "4.5.210-2"; src = fetchurl { url = "https://www.svp-team.com/files/svp4-linux.${version}.tar.bz2"; hash = "sha256-dY9uQ9jzTHiN2XSnOrXtHD11IIJW6t9BUzGGQFfZ+yg="; }; nativeBuildInputs = [ p7zip patchelf ]; dontFixup = true; unpackPhase = '' tar xf ${src} ''; buildPhase = '' mkdir installer LANG=C grep --only-matching --byte-offset --binary --text  $'7zxBCxAFx27x1C' "svp4-linux-64.run" | cut -f1 -d: | while read ofs; do dd if="svp4-linux-64.run" bs=1M iflag=skip_bytes status=none skip=$ofs of="installer/bin-$ofs.7z"; done ''; installPhase = '' mkdir -p $out/opt for f in "installer/"*.7z; do 7z -bd -bb0 -y x -o"$out/opt/" "$f" || true done for SIZE in 32 48 64 128; do mkdir -p "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps" mv "$out/opt/svp-manager4-''${SIZE}.png" "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps/svp-manager4.png" done rm -f $out/opt/{add,remove}-menuitem.sh ''; }; fhs = buildFHSEnv { name = "SVPManager"; targetPkgs = pkgs: libraries; runScript = "${svp-dist}/opt/SVPManager"; unshareUser = false; unshareIpc = false; unsharePid = false; unshareNet = false; unshareUts = false; unshareCgroup = false; }; in stdenv.mkDerivation { pname = "svp"; inherit (svp-dist) version; dontUnpack = true; nativeBuildInputs = [ copyDesktopItems ]; postInstall = '' mkdir -p $out/bin $out/share ln -s ${fhs}/bin/SVPManager $out/bin/SVPManager ln -s ${svp-dist}/share/icons $out/share/icons ''; passthru.mpv = mpvForSVP; desktopItems = [ (makeDesktopItem { name = "svp-manager4"; exec = "${fhs}/bin/SVPManager %f"; desktopName = "SVP 4 Linux"; genericName = "Real time frame interpolation"; icon = "svp-manager4"; categories = [ "AudioVideo" "Player" "Video" ]; mimeTypes = [ "video/x-msvideo" "video/x-matroska" "video/webm" "video/mpeg" "video/mp4" ]; terminal = false; startupNotify = true; }) ]; meta = with lib; { description = "SmoothVideo Project 4 (SVP4) converts any video to 60 fps (and even higher) and performs this in real time right in your favorite video player."; homepage = "https://www.svp-team.com/wiki/SVP:Linux"; platforms = [ "x86_64-linux" ]; license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; maintainers = with lib.maintainers; [ xddxdd ]; }; } </ins>

Discussion:
All the components to successfully use SVP (SmoothVideoPlayer) appear to be included in Nix/NixOS. Using libsvpflow and vapoursynth (or mpv compiled with vapoursynth support) works, but I would like to use SVPManager itself for having a GUI to configure SVP parameters. It is non-free software but the license is a little ambiguous. Pinging because I believe he uses SVP on NixOS. Using the binary from the Download page results in an error. It will probably work OOTB with patchELF, but I don't have the skill or knowledge to write by own derivation to test. Note: The developer supports the ideals of GNU/Linux and specifically makes the Linux version available for free with no features restricted. Thus, the only restriction is that it uses a custom license that does not allow alteration of the source code, but does permit redistribution and non-commercial use. Links:
Sorry, I'm not. I use mpv with this and I'm not interested in packaging or supporting proprietary software in general.
I understand. I may have to learn Nix packaging to get this included... I doubt anyone else uses this anyway!
Thank you for your contributions. This has been automatically marked as stale because it has had no activity for 180 days. If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity. Here are suggestions that might help resolve this more quickly: for maintainers and people that previously touched the related code and @ mention them in a comment. on the . on the on .
I'm interested in using SVP, and I've made some progress packaging it. So far I have a derivation that unpacks and s all the binaries, but I'm still unable to get SVPManager to actually launch. When running SVPManager, it crashes with an error that appears to be from Zenity, I don't really know how to track down the cause of this issue, but the command itself found using strace seems to be okay.
Same issue. I also tried running it with steam-run. It seems to fail even worse.

Some extensions missed and , which were placed next to them, so I did the following before testing, but it still fails the same. I don't know whether /run/opengl-driver/lib is necessary, just in case. Hook to do it automatically seems to conflict with other hooks (or I'm just using it wrong) I doubt it crashes because of 'extensions' anyway. ldd .SVPManager-wrapped: steam-run SVPManager: /run/current-system/sw/bin/zenity: symbol lookup error: /nix/store/im9dlyzrrdzvi6r4syif985kj8dpvvf5-tracker-3.0.1/lib/libtracker-sparql- undefined symbol: sqlite3valuefree S«ý4¦ßlàV¶sHø[äyÃHç×Kûs"b? jÑSĤfßT¯P´cVÓrî½7i5·MþϖAaC I'll include my derivations. In I have packageOverrides = pkgs: rec { polybar = pkgs.polybar.override { i3Support = true; }; mpv = pkgs.wrapMpv ( { vapoursynthSupport = true; }) { youtubeSupport = true; }; }; and, in system packages: (import ) (import ) (based on AUR package): Svpflow is separate because it seems to actually work. Through - for some reason - not with nvidia optical flow. I'd prefer to be able to run the manager as well, through. And to use the libs correctly, one would need to generate .vpy scripts through javascript generators. Here's how I'm using it now: script could be placed in mpv's config folder (like ), and toggled on/off with 'v' key by adding this line to v vf toggle
I marked this as stale due to inactivity. &rarr;
After spending some time trying to make sense of the progress posted here, I stumbled upon . He encapsulates the package to make it thinks it is executing on a FHS-compliant (linux-standard) filesystem. The reason, citing Lan Tian: His contribution is also available—and looks up-to-date at the moment of writing—on the published and works perfectly once you setup the NUR channel. P.S.

Additionally, I am also putting a wrapper of mine to make the gnome shortcut able to execute on a wayland session.
Example with SVP working with home-manager: This doesn't use SVP manager and is using the outdated last release of the .so that was packaged separately, but it works well enough for us.