Opened 3 years ago

Closed 3 years ago

#51054 closed update (fixed)

faust-devel, faust2-devel, faustlive-devel: update to latest upstream source

Reported by: agraef (Albert Graef) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch maintainer Cc: ryandesign (Ryan Schmidt), kurthindenburg (Kurt Hindenburg)
Port: faust-devel faust2-devel faustlive-devel

Description

It's time for another update, this ticket brings the Faust-related development packages to the latest git versions. Lots of bugfixes and some new and updated architectures (Bela, LV2, VST, ...). Also, FaustLive handles MIDI note input now.

Attachments (3)

faust-devel-Portfile.diff (1.1 KB) - added by agraef (Albert Graef) 3 years ago.
faust2-devel-Portfile.diff (1.2 KB) - added by agraef (Albert Graef) 3 years ago.
faustlive-devel-Portfile.diff (840 bytes) - added by agraef (Albert Graef) 3 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 3 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to ryandesign@…
Version: 2.3.4

comment:2 Changed 3 years ago by agraef (Albert Graef)

This has been open for two weeks now. Ryan, if you don't have the time then could you maybe assign it to someone else?

Thanks, Albert

comment:3 Changed 3 years ago by g5pw (Aljaž Srebrnič)

Why the need for reinplaces? What do they achieve?

comment:4 Changed 3 years ago by agraef (Albert Graef)

g5pw, there are a lot of hard-coded /usr/local paths in the upstream source which need to be changed to the MacPorts prefix. This has been in the Portfile all along. However, in the latest Faust source there is one single Makefile where the /usr/local path is meant literally and must be kept. That is achieved with the two extra reinplaces.

The corresponding section in tools/faust2appls/Makefile is actually looking for a proprietary piece of software (Steinberg's VST SDK) outside the MacPorts tree. This can't really be avoided in this case, since the included faust2faustvst script needs that software, which has a proprietary license prohibiting redistribution and thus can't simply be added as a dependency in MacPorts.

I guess that a better solution more in line with the MacPorts policies would be to modify the faust2faustvst script so that the VST SDK is detected at run time (rather than install time). I'll look into that asap.

Changed 3 years ago by agraef (Albert Graef)

Attachment: faust-devel-Portfile.diff added

Changed 3 years ago by agraef (Albert Graef)

Attachment: faust2-devel-Portfile.diff added

Changed 3 years ago by agraef (Albert Graef)

comment:5 Changed 3 years ago by agraef (Albert Graef)

Ok, I fixed up the faust2faustvst script as described and committed the changes upstream. I also updated the attached Portfiles accordingly. (While I was at it I also brought the faustlive-devel Portfile to the latest revision which has some more bugfixes.)

Note that the reinplaces are still there, but they protect the /usr/local paths in the faust2faustvst script now. This can't be avoided, since the user may well have the VST SDK installed under /usr/local. In any case it won't affect the package contents no matter whether the VST SDK happens to be installed on the build system or not.

I'd say the Portfiles should be all right now. Could you please commit? I'm running a Faust course at the university this semester and I'd like my students to be able to use the latest Faust version.

comment:6 Changed 3 years ago by mf2k (Frank Schima)

Cc: ryandesign@… added
Owner: changed from ryandesign@… to macports-tickets@…

comment:7 in reply to:  4 Changed 3 years ago by ryandesign (Ryan Schmidt)

Replying to aggraef@…:

The corresponding section in tools/faust2appls/Makefile is actually looking for a proprietary piece of software (Steinberg's VST SDK) outside the MacPorts tree. This can't really be avoided in this case, since the included faust2faustvst script needs that software, which has a proprietary license prohibiting redistribution and thus can't simply be added as a dependency in MacPorts.

Are we sure that the VST SDK cannot be added as a port in MacPorts? Adding a portfile to MacPorts does not necessitate that we redistribute anything. We can prevent binary distribution by specifying a restrictive license in the portfile, and we can prevent source distribution by adding the port's name to the exclusion list in the server's mirroring script. We've done these things for other ports before.

comment:8 Changed 3 years ago by agraef (Albert Graef)

Good point. In fact, I've done something similar for Arch Linux. I can port this package over to MacPorts at some point. The faust2faustvst script already knows about all the common SDK locations (including some under /opt/local), so once the VST SDK package is ready, the script will be able to work with it without any further ado.

But in any case this shouldn't be a mandatory dependency. The faust2faustvst script is just one among many helper scripts included in the Faust distribution. It's by no means central to the proper functioning of the package, it's only needed if the user actually wants to create VST plug-ins using Faust. There are other helper scripts which require other special 3rd party software to work which aren't in the dependencies either (and shouldn't be, IMHO). Typically, a Faust user will only use a small selection of these helper scripts, if any at all. The central component of the faust/faust2 packages is the Faust compiler itself, and the packages have all the necessary dependencies to make it work.

Therefore my suggestion would be to just commit the packages from this ticket as they are, and I will then provide a package for the VST SDK when I find the time. Ok with you?

comment:9 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

Cc: khindenburg@… added

Cc Me!

comment:10 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: newclosed

done r148205

Note: See TracTickets for help on using tickets.