pd-externals / mrpeach

Pure Data externals written by Martin Peach
Other
3 stars 1 forks source link

Arm Apple Silicon, Deken and binary releases #8

Open domenicostefani opened 1 month ago

domenicostefani commented 1 month ago

Hi, I'm dealing with students from an HCI master degree and others that are not always versed in "computer stuff". This year, Apple silicon users have told me that mrpeach is not available in Deken, while it's fine for Intel Mac users. I also do not have an Arm Mac to try and compile this for them.

Is there any chance that:

umlaeute commented 1 month ago

i think 1 & 3 are rather "unlikely"

mrpeach has been (mostly) factored out into separate repositories, and new users should pull the individual packages.

do you need anything else?

as for 2, sure, PRs welcome :-)

in practice it really boils down to:

The hard part is of course the "Install a build environment", but I'm afraid that this is quite beyond the scope of a project like this. (aka: i think there should be a central place for such instructions, where separate externals can point to; i don't know of such a place).

danomatika commented 1 month ago

Most externals are pure C/C++ without dependencies and building them usually comes down to make.

Following the steps outlined by @umlaeute, for modern macOS systems, setting up and building such an external usually boils down to:

  1. download and install a Pd.app to /Applications
  2. in Terminal, install Commandline Tools build environment:
    xcode-select --install

    Note: running git on the commandline on a fresh system will helpfully suggest to run the above...

  3. in Terminal, git clone the external sources. I usually suggest to ~/Pd/Documents/externals
  4. in Terminal, cd to the external source dir
  5. build
    make
  6. add path to built external dir to your Pd paths in the preferences

For externals with dependencies, etc most libraries can be installed by Homebrew. Note: libraries linking Homebrew libraries are generally not distributable, ie. can't be simply copied onto another machine.