Marble currently aims to build 1 or 2 more or less standalone app bundles when being built on Mac OS X. There is nothing wrong with that, but it presents a problem for distribution systems like MacPorts or Fink or HomeBrew that aim to share libraries among packages and to remain as close as possible to the runtime context for which packages were designed (i.e. XDG/Freedesktop). Just like AppImage builds are possible but optional on other Unix variants, standalone app bundle builds should be optional on Mac too.
The patch achieves this by separating all APPLE-specific things in the CMake files into for required things like frameworks and build-type related things that is controlled by the APPLE_STANDALONE_BUNDLE option (ON by default).
The result when the option is turned off is that there is still an app bundle that is created, for the KF5-based marble (but not for marble-qt though that ought to be possible too). Everything else is installed in its usual location under the prefix.
The patch also creates and installs an application icon for marble.app with the official ECM function, and ensures that the .ini format is used for settings files, for maximum compatibility with other Unix desktops.
See also T10112 .