Ticket #16051 (closed submission: fixed)
ardour2: new port
| Reported by: | db.evans@… | Owned by: | ryandesign@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.6.0 |
| Keywords: | ardour | Cc: | |
| Port: |
Attachments
Change History
Changed 5 years ago by db.evans@…
- Attachment patch-SConstruct.diff added
patch file for files directory
comment:1 Changed 5 years ago by ryandesign@…
- Status changed from new to assigned
- Owner changed from macports-tickets@… to ryandesign@…
comment:2 Changed 5 years ago by ryandesign@…
I was initially unable to build ardour2 until I discovered that scons leaves a config.log file which helped me realize that the SConstruct file had hard-coded the /opt/local path, and my MacPorts is in a different path. I fixed that by adding this to the Portfile:
post-patch {
reinplace "s%/opt/local%${prefix}%g" ${worksrcpath}/SConstruct
}
Now I am still trying to fix the test for the aubio header.
comment:3 Changed 5 years ago by ryandesign@…
I fixed the aubio port's pkg-config file in r38555 so that ardour2 can find it; this makes patch-SConstruct.diff unnecessary.
I'm still not happy with the way that the ardour2 port declares an empty build phase and does all the building by overriding the destroot phase. I'm looking at the other ports that use the scons build system to see how this can be handled better.
comment:4 Changed 5 years ago by ryandesign@…
- Status changed from assigned to closed
- Resolution set to fixed
Rather than clearing the build phase, the correct way seems to be to set build.cmd to "scons", clear the build.target, and set the build.args as desired. MacPorts takes care of setting destroot.cmd to the same thing as build.cmd, setting destroot.target to "install" and setting destroot.destdir to "DESTDIR=${destroot}".
build.cmd scons
build.target
build.args PREFIX=${prefix} VST=0 AUBIO=1 FREESOUND=1 LV2=1
This change also means that parallel building will work now, since I enabled parallel building for scons-based ports in MacPorts base in r38556. This helps a lot since ardour takes a long time to compile. So I added "use_parallel_build yes" to the portfile, and reindented the column to 24 characters so things line up again.
The one remaining oddity is that it looks like the gettext message catalogs get built only during the destroot phase. Not sure why. But I'm not too concerned since it takes very little time to build the message catalogs, compared with how much time it takes to build the rest of ardour.
So the port is now added in r38560. Thanks for the contribution! And I hope you'll forgive my interfering in your port here.


Initial portfile