Skip to content

Conversation

tjkeller-xyz
Copy link
Contributor

This adds optionally adds the GUI and firmware update components under an override option. These tools can be handy for debugging, etc.

I am willing to maintain the additional components of the package, so please let me know if you would like me to do that and I can add my name to the maintainers list.

This also adds the manpage for the DesktopVideoHelper program and all docs for other programs provided

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • Nixpkgs 25.11 Release Notes (or backporting 25.05 Nixpkgs Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
  • NixOS 25.11 Release Notes (or backporting 25.05 NixOS Release notes)
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other contributing documentation in corresponding paths.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Jul 12, 2025
@nix-owners nix-owners bot requested a review from Naxdy July 12, 2025 15:05
Copy link
Contributor

@Naxdy Naxdy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 to the changes overall. I'll have a think about whether it makes sense to include the additional apps by default even, my gut instinct is to say yes, but I'll give it some more thought.

cp $unpacked/usr/share/man/man1/DesktopVideo{UpdateTool,Updater}.1 $out/share/man/man1
cp -r $unpacked/usr/share/icons/* $out/share/icons
cp $unpacked/usr/share/applications/DesktopVideoUpdater.desktop $out/share/applications
cp -r $unpacked/usr/lib/blackmagic/DesktopVideo/Firmware $out/bin/Firmware # UpdateTool expects Firmware dir next to it
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$out/bin is only supposed to contain executable binaries, or symlinks to executable binaries. If the update tool requires the firmware next to it, I suggest putting it somewhere in opt instead. I successfully tested the following, for example:

mkdir -p $out/opt/blackmagic/DesktopVideo

cp $unpacked/usr/lib/blackmagic/DesktopVideo/DesktopVideo{UpdateTool,Updater} $out/opt/blackmagic/DesktopVideo
ln -s $out/opt/blackmagic/DesktopVideo/DesktopVideoUpdateTool $out/bin/DesktopVideoUpdateTool
ln -s $out/opt/blackmagic/DesktopVideo/DesktopVideoUpdater $out/bin/DesktopVideoUpdater

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Truth be told, I am not 100% sure about putting the firmware dir next to the update tool. It is my best guess of how the tool works considering that I couldn't find the original path embedded anywhere in the binary. It seems to work as intended but further testing is needed. But I will go ahead assuming that Im right and put it all in opt for now

Comment on lines 145 to 146
cp -r $unpacked/usr/lib/blackmagic/DesktopVideo/plugins $out/bin/plugins
cp $unpacked/usr/lib/blackmagic/DesktopVideo/qt.conf $out/bin/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Config files / subdirectories don't belong in bin

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Putting these configs and the gui binaries in opt as well, I dont have enough knowledge of qt to be certain whether these need to be next to the binary or not

@tjkeller-xyz
Copy link
Contributor Author

Thanks for looking this over so quick! I agree that it makes sense to include everything by default. The full version takes up about 200MB whereas the minimal version from before took only a few MB. I would suggest we change the default of desktopVideoFull from false to true to preserve the option of a minimal install.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants