marcelotduarte / cx_Freeze

cx_Freeze creates standalone executables from Python scripts, with the same performance, is cross-platform and should work on any platform that Python itself works on.
https://marcelotduarte.github.io/cx_Freeze/
Other
1.28k stars 210 forks source link

Extend DMG functionality by using an external library #2441

Open ntindle opened 2 weeks ago

ntindle commented 2 weeks ago

Tools like dmgbuild (python) and appdmg (node) for MacOS allow the user to configure the layout of the .dmg drive and add things like this

img of a visually configured dmg

Would you be interested in having that feature for cx_Freeze, and if so, how would you expect it to be integrated? Reimplementation of the existing package (dmgbuild) or using it?

The work to add it on doesn't seem to be that large and with guidance I would be willing to put up a pr

_Originally posted by @ntindle in https://github.com/marcelotduarte/cx_Freeze/discussions/2438_

ntindle commented 2 weeks ago

I'm not a macOS user, but I knew about dmgbuild and create-dmg, which seem more complete, but more difficult to integrate. And answering your question, I am happy with your willingness to contribute and I believe that using dmgbuild as a dependency is the best option. The implementation of bdist_dmg in this case, should be moved from here to a new module. There a test here that can be moved to new module and enhanced to test the new options.

Message from @marcelotduarte for context