[PD-dev] Pd 0.48 app bundle without src dir
danomatika at gmail.com
Tue Aug 15 14:06:28 CEST 2017
> On Aug 15, 2017, at 1:42 PM, katja <katjavetter at gmail.com> wrote:
> Does the new build script automatically create a complete and
> deterministic source distribution for the app bundle?
No. It copies only the binaries and required resource files for the app to run. It does include the source files or the built .o files.
It would be easy to have it copy in the .c and .h files if desired, see the script itself: https://github.com/pure-data/pure-data/blob/master/mac/osx-app.sh <https://github.com/pure-data/pure-data/blob/master/mac/osx-app.sh>
> Or do you still need to add and configure things 'by hand'?
No. The idea is that we don't have to do anything by hand, partially because it's my opinion that if Pd is easier to build we can empower users. Being able to easily build a configurable .app with different versions of Tk was also a requirement for testing/supporting non-ancient versions of macOS. At the time I started with this work, you couldn't even build Pd on anything newer than 10.9. The vast majority of macOS users are on the latest two releases.
This setup is fully documented: https://github.com/pure-data/pure-data/tree/master/mac <https://github.com/pure-data/pure-data/tree/master/mac>
> One conclusion from PdCon
> sessions about building Pd was, a source repository snapshot is not
> necessarily the same as a source distribution. Pd for OSX used to be a
> combined source / binary distribution. If the build is hard(er) to
> reproduce without embedded sources, I guess they should better be
> included like before. When this is the preferred approach for deken
> packages, why not for Pd.
The script is easy to change and it's not a big deal to handle either requirement.
It's my opinion that users should be both able to and encouraged to build from source if they want to and my efficiency side doesn't see the need for the .o files. In that regard, I don't see the reason to distribute the partial build artifacts and I'm not sure if I could link a .o built on 10.6 on 10.12 but I haven't quite figured out the details on being able to build binaries which work better across the versions. So far, building on an older machine gives binaries which run ok on most newer versions, but not the other way around (at least with the GUI). That's one advantage I can see for including all the artifacts. This needs some more testing to know the full situation.
However, my change when writing the script was not meant as final decision in any way. As always, I put the work forward for review and feedback and did not receive any feedback on this aspects of things, even though I had put out custom app builds. In any case, I can do whatever is needed via consensus.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pd-dev