Bug 200556 - [patch] audio/aubio: update to 0.4.1, audio/ardour: patch to chase aubio-0.4 API change
Summary: [patch] audio/aubio: update to 0.4.1, audio/ardour: patch to chase aubio-0.4 ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Alexey Dokuchaev
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2015-05-31 22:28 UTC by Matthew Rezny
Modified: 2015-07-24 18:07 UTC (History)
2 users (show)

See Also:


Attachments
audio/aubio update to 0.4.1, audio/arbour patch to match aubio API (28.75 KB, patch)
2015-05-31 22:28 UTC, Matthew Rezny
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Rezny freebsd_committer freebsd_triage 2015-05-31 22:28:38 UTC
Created attachment 157315 [details]
audio/aubio update to 0.4.1, audio/arbour patch to match aubio API

audio/aubio was not cleanly staged, all the compiled python referred to paths in stagedir. The port was failing to build with DEVELOPER set. It was easier to update the port to current version which now uses waf for building than to patch up the old version. All dependencies are optional as of 0.4, so make them OPTIONs in the port.

audio/ardour needs to be patched for API changes in aubio 0.4. The patch comes from upstream. Ardour has also switched to waf, so the portion of the upstream patch that detected the aubio version is inapplicable. Instead of patching scons, just define HAVE_AUBIO4 in the port Makefile.
Comment 1 Alexey Dokuchaev freebsd_committer freebsd_triage 2015-07-19 09:56:34 UTC
Thanks, looks like a quite solid work.  The only thing which I don't quite like is hard-coded dependency on Doxygene.  I'll make it optional and commit the patch soonish.
Comment 2 Matthew Rezny freebsd_committer freebsd_triage 2015-07-19 12:02:00 UTC
I did not like adding the hard dependency on txt2man and doxygen either, but I did not see a good solution. All the dependencies important to the actual function were made optional the proper way, meaning the configure script has enable/disable switches, so those could easily be made into OPTIONs in the port. However, the txt2man and doxygen dependencies, which are also optional, lack any enable/disable switches. The configure script looks for them and uses them if present. They would become silent dependencies if present in the build environment but not explicitly declared. The hard-coded dependency was choosen as the lesser evil.

The only reasonable solution I see is to patch the configure script to properly optionalize those dependencies. I was trying to avoid venturing down that path, but if you care to do then thank you for going the extra mile.
Comment 3 Alexey Dokuchaev freebsd_committer freebsd_triage 2015-07-19 12:22:19 UTC
Right; I guess I should've said that I understood why you had to hardcode them (lack of configure switches).  Yes, I'd have to patch wscript to support it.

The problem is actually only with Doxygen: it pulls some TeX bits which are just huge and I cannot even build them locally (even if I'd attempt to fetch that 1G+ distfile).  Au contraire, txt2man is light one, and having manpages is usually more useful than having docs.
Comment 4 commit-hook freebsd_committer freebsd_triage 2015-07-21 01:53:21 UTC
A commit references this bug:

Author: danfe
Date: Tue Jul 21 01:52:28 UTC 2015
New revision: 392608
URL: https://svnweb.freebsd.org/changeset/ports/392608

Log:
  - Update `audio/aubio' to version 0.4.1; make all dependencies/features
    optional; provide a way to disable Doxygen even when it was found in the
    system
  - License was changed to GPLv3; do not install LICENSE_FILE since it is
    merely a boilerplate with no actual copyright data
  - `audio/ardour' needs to be patched for API changes in aubio 0.4.  The
    patch comes from upstream, but new aubio version detection logic is not
    directly applicable, so simply define HAVE_AUBIO4 in the port's Makefile
  - While here, ensure that `audio/ardour' gets all of its dependencies,
    (ir)regardless of particular OPTIONS selected (or not selected) for the
    `audio/aubio' port
  - Bump port revisions of `audio/ardour' and `audio/denemo', the only two
    libaubio consumers in the tree

  PR:	200556 (slightly modified)

Changes:
  head/audio/ardour/Makefile
  head/audio/ardour/files/patch-aubio4
  head/audio/aubio/Makefile
  head/audio/aubio/distinfo
  head/audio/aubio/files/
  head/audio/aubio/files/patch-wscript
  head/audio/aubio/pkg-plist
  head/audio/denemo/Makefile
Comment 5 Alexey Dokuchaev freebsd_committer freebsd_triage 2015-07-21 02:04:18 UTC
Committed with some modifications, thank you!
Comment 6 Matthew Rezny freebsd_committer freebsd_triage 2015-07-24 15:13:01 UTC
Thank you for the extra effort to make Doxygen optional and commiting the update to these ports. Unfortunately, I noticed a problem when I built with the nDoxygen option. The build now fails regardless of theat switches state if Doxygen is present. The problem is a simple mistake in the patch to wscript, but since you don't have Doxygen installed the undefined variable is never evaluated. Fix is simple, see patch below. I tested the switch both ways with Doxygen present.


Index: files/patch-wscript
===================================================================
--- files/patch-wscript (revision 392825)
+++ files/patch-wscript (working copy)
@@ -25,7 +25,7 @@
  
      # build documentation from source files using doxygen
 -    if bld.env['DOXYGEN']:
-+    if bld.env['DOXYGEN'] and not ctx.options.disable_doxygen:
++    if bld.env['DOXYGEN'] and not bld.options.disable_doxygen:
          bld( name = 'doxygen', rule = 'doxygen ${SRC} > /dev/null',
                  source = 'doc/web.cfg',
                  cwd = 'doc')
Comment 7 commit-hook freebsd_committer freebsd_triage 2015-07-24 18:07:35 UTC
A commit references this bug:

Author: danfe
Date: Fri Jul 24 18:07:09 UTC 2015
New revision: 392833
URL: https://svnweb.freebsd.org/changeset/ports/392833

Log:
  Fix the build with the DOXYGEN option enabled (do not bump port revision as
  this option is not enabled by default).

  PR:	200556 (audit trail)

Changes:
  head/audio/aubio/files/patch-wscript