[MacPorts] #45364: faustlive-devel: new port

MacPorts noreply at macports.org
Mon Oct 13 20:08:24 PDT 2014


#45364: faustlive-devel: new port
------------------------------+--------------------------
  Reporter:  aggraef@…        |      Owner:  ryandesign@…
      Type:  submission       |     Status:  assigned
  Priority:  Normal           |  Milestone:
 Component:  ports            |    Version:
Resolution:                   |   Keywords:  haspatch
      Port:  faustlive-devel  |
------------------------------+--------------------------

Comment (by aggraef@…):

 Replying to [comment:8 ryandesign@…]:
 > You've declared faust2-devel as a build dependency, and I see that the
 build system copies faust2-devel's sound2faust program into
 FaustLive.app's Contents/MacOS directory. This means every time
 faust2-devel is updated, we have to have everyone rebuild faustlive-devel
 as well. To avoid that, I would rather have a sound2faust symlink in the
 Contents/MacOS directory and make faust2-devel a library dependency. Any
 objections to that?

 No, I wouldn't do that. The idea of FaustLive (and one of its major design
 goals) is precisely that it is self-contained and *can* be run
 independently from the full faust2 compiler toolchain. That's why the port
 pushes faust2-devel into the build dependencies, includes its own
 sound2faust executable (which doesn't depend on any of the Faust
 libraries, only on libsndfile and friends) and links against libfaust and
 the other Faust libraries statically. So, in principle, once the package
 has been built and installed, it can be run alongside any Faust version or
 without any Faust installation at all.

 Consequently, there's no need to rebuild faustlive-devel if faust2-devel
 changes, although faust2-devel is needed to build faustlive-devel. In fact
 it's the opposite: A specific git revision of faustlive usually depends on
 a specific faust2 git revision (typically the one that's current at the
 time the faustlive snapshot is taken).

 So we should really make the specific MP version of faust2-devel needed to
 build a given MP version of faustlive-devel a build dependency of that
 version. But I'm not sure how to do that in a MP Portfile; the MP guide
 doesn't mention a syntax of `port:` dependency for requiring a specific
 version of the dependency. Unfortunately libfaust.a from faust2 doesn't
 carry a version number right now, so a `lib:` dependency doesn't help
 either.

 I hope that I explained that well enough. The bottom line is that
 faust2-devel intentionally is a build time dependency only and that, if
 possible, a specific version of faustlive-devel should be made to depend
 on a specific faust2-devel version in its build dependencies.

-- 
Ticket URL: <https://trac.macports.org/ticket/45364#comment:9>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list