Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#16051 closed submission (fixed)

ardour2: new port

Reported by: dbevans (David B. Evans) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: ardour Cc:
Port:

Description

Ardour 2.5 Digital Audio Workstation. Depends on new ports slv2 (#16049) & lv2core (#16048)

Attachments (2)

Portfile (2.2 KB) - added by dbevans (David B. Evans) 13 years ago.
Initial portfile
patch-SConstruct.diff (856 bytes) - added by dbevans (David B. Evans) 13 years ago.
patch file for files directory

Download all attachments as: .zip

Change History (8)

Changed 13 years ago by dbevans (David B. Evans)

Attachment: Portfile added

Initial portfile

Changed 13 years ago by dbevans (David B. Evans)

Attachment: patch-SConstruct.diff added

patch file for files directory

comment:1 Changed 13 years ago by ryandesign (Ryan Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

comment:2 Changed 13 years ago by ryandesign (Ryan Schmidt)

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 13 years ago by ryandesign (Ryan Schmidt)

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 13 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: assignedclosed

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.

comment:5 Changed 12 years ago by jmroot (Joshua Root)

Type: enhancementsubmission

comment:6 Changed 12 years ago by (none)

Milestone: Port Submissions

Milestone Port Submissions deleted

Note: See TracTickets for help on using tickets.