Bug 284849 - audio/ardour: Update to 8.11.0 release.
Summary: audio/ardour: Update to 8.11.0 release.
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Robert Clausecker
URL: https://ardour.org/whatsnew.html
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-16 13:46 UTC by Florian Walpen
Modified: 2025-03-16 10:24 UTC (History)
1 user (show)

See Also:
dev: merge-quarterly?


Attachments
Update Ardour to 8.11.0 release. (2.49 KB, patch)
2025-02-16 13:46 UTC, Florian Walpen
dev: maintainer-approval-
Details | Diff
Update Ardour to 8.11.0 release, fix build with boost-1.87 (3.39 KB, patch)
2025-02-22 12:34 UTC, Florian Walpen
dev: maintainer-approval+
Details | Diff
Logs of Ardour test build, compressed. (179.80 KB, application/octet-stream)
2025-03-01 09:35 UTC, Florian Walpen
no flags Details
Update Ardour to 8.11.0 release, fix build with boost-1.87, plist fix. (3.94 KB, patch)
2025-03-09 22:27 UTC, Florian Walpen
dev: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Walpen 2025-02-16 13:46:11 UTC
Created attachment 257576 [details]
Update Ardour to 8.11.0 release.

This is another urgent bugfix release. People may lose their work with 8.10.0, which is the reason for me to suggest a merge to quarterly. See:

https://ardour.org/whatsnew.html

Tested on 14.2-RELEASE amd64, there is still a bug with Ardour hanging on close, but that was already present with 8.10.0 and I didn't find a solution yet. Everything else seems to work for me. I'm the maintainer, BTW.
Comment 1 Robert Clausecker freebsd_committer freebsd_triage 2025-02-16 14:42:36 UTC
Will commit with my next batch, likely early next week.
Comment 2 Robert Clausecker freebsd_committer freebsd_triage 2025-02-16 15:21:46 UTC
There's a fetch problem:

=======================<phase: fetch          >============================
===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0
===>  License GPLv2 accepted by the user
===>   ardour-8.11.0 depends on file: /usr/local/sbin/pkg - found
=> 604 doesn't seem to exist in /portdistfiles/Ardour-8.11.0.
=> Attempting to fetch https://community.ardour.org/download/release/604
fetch: https://community.ardour.org/download/release/604: size mismatch: expected 25171019, actual 17812329
=> Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/Ardour-8.11.0/604
fetch: http://distcache.FreeBSD.org/ports-distfiles/Ardour-8.11.0/604: Not Found
=> Couldn't fetch it - please try to retrieve this
=> port manually into /portdistfiles/Ardour-8.11.0 and try again.
*** Error code 1

Stop.
make: stopped in /usr/ports/audio/ardour

Please check and resubmit.
Comment 3 Florian Walpen 2025-02-16 15:36:14 UTC
(In reply to Robert Clausecker from comment #2)

Thanks for checking, seems like they changed the source tarball. Maybe related to the packaging issues they had lately. I'll redo the build / tests then, hold on. May take a day or two, I have to build other packages first.
Comment 4 Florian Walpen 2025-02-16 15:39:00 UTC
Comment on attachment 257576 [details]
Update Ardour to 8.11.0 release.

Fetching the distfile fails, seems like the source tarball changed.
Comment 5 Florian Walpen 2025-02-16 16:19:31 UTC
(In reply to Florian Walpen from comment #4)

Ok, just learned that audio/ardour was marked broken by fluffy@ due to a boost update. Would be nice to get a notice instead of silently killing stuff...
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2025-02-16 16:22:20 UTC
(In reply to Florian Walpen from comment #5)

That doesn't affect the quarterly branch, so if you like I can commit whatever update you have directly to 2025Q1 until you can figure out the breakage on the main branch.
Comment 7 Florian Walpen 2025-02-16 17:28:00 UTC
(In reply to Robert Clausecker from comment #6)

> That doesn't affect the quarterly branch, so if you like I can commit whatever update
> you have directly to 2025Q1 until you can figure out the breakage on the main branch.

Good point. But it looks like audio/ardour builds fine with the new boost-1.87 when using c++14 instead of c++11. I still have to build other ports, I'll get back to this when I had a chance to test-drive the c++14 built Ardour.
Comment 8 Florian Walpen 2025-02-22 12:34:17 UTC
Created attachment 257735 [details]
Update Ardour to 8.11.0 release, fix build with boost-1.87

Amend the update to Ardour 8.11.0, fix build with boost-1.87 by using the c++14 standard instead of c++11, and remove the "broken" mark. Briefly tested on 14.2-RELEASE amd64, apply with `git am`.
Comment 9 Florian Walpen 2025-02-22 12:39:12 UTC
Robert, thanks for handling this. The new patch will probably not MFC cleanly to quarterly as long as boost wasn't updated there (it's only about the "BROKEN" line in `Makefile`). Is it ok for me to leave that to you or should I provide a separate patch?
Comment 10 Robert Clausecker freebsd_committer freebsd_triage 2025-02-23 02:03:21 UTC
(In reply to Florian Walpen from comment #9)

It's ok, I can deal with that copy-editing.
Comment 11 Robert Clausecker freebsd_committer freebsd_triage 2025-02-27 15:19:06 UTC
There are plist issues:

====> Running Q/A tests (stage-qa)
Warning: you might not need LIB_DEPENDS on libsratom-0.so
Warning: you might not need LIB_DEPENDS on libarchive.so.13
Warning: you might not need LIB_DEPENDS on libreadline.so.8
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: lib/%%ARDOUR_MAJOR%%/surfaces/libardour_contourdesign.so
Error: Missing: lib/%%ARDOUR_MAJOR%%/surfaces/libardour_push2.so
===> Error: Plist issues found.
*** Error code 1

Please check.
If you think this is the correct course of action, I can simply add the missing files to the pack list.
Comment 12 Robert Clausecker freebsd_committer freebsd_triage 2025-02-27 15:20:47 UTC
Though wait a second... you specifically added these two to the pack list in this update, but they are missing.  Please check carefully.  Probably there is an optional dependency that is needed to build these two files and it's not declared as an dependency, so it's not present and Ardour's build system disables building these two files.
Comment 13 Florian Walpen 2025-02-27 22:03:33 UTC
(In reply to Robert Clausecker from comment #12)

Strange, this plist error does not occur in my test builds, I just re-checked, with the (only) VST3 option on and off. This update seems to haunt me...

Maybe there were some change in the ports tree, I'll try to redo test builds on the current main branch.
Comment 14 Robert Clausecker freebsd_committer freebsd_triage 2025-02-27 22:27:05 UTC
(In reply to Florian Walpen from comment #13)

Test with Poudriere and check the build scripts.
Comment 15 Florian Walpen 2025-02-27 22:39:09 UTC
(In reply to Robert Clausecker from comment #14)

Test builds are always in poudriere. It's difficult to investigate anything as long as I can't reproduce it.
Comment 16 Robert Clausecker freebsd_committer freebsd_triage 2025-02-27 22:46:11 UTC
(In reply to Florian Walpen from comment #15)

I can rebase my tree on the current main.  Maybe that's the problem?
Comment 17 Florian Walpen 2025-02-27 23:07:24 UTC
(In reply to Robert Clausecker from comment #16)

Could be. Maybe your builds are faster than mine, I'll report back this weekend.
Comment 18 Florian Walpen 2025-02-28 23:02:12 UTC
(In reply to Robert Clausecker from comment #16)

Current main branch as of today, my poudriere test builds insist that there are no plist problems. I just checked that the patch here is the same as the one on my build machine, and the few options and extra patches there seem to be unrelated.
I'll have a closer look at the logs tomorrow.
Comment 19 Robert Clausecker freebsd_committer freebsd_triage 2025-03-01 00:39:53 UTC
(In reply to Florian Walpen from comment #18)

Interesting.  What version of FreeBSD in what architecture do you build for?  Do you have build logs?

For me it consistently fails.  I test on 14.1 and 13.4 on i386, armv7 amd64, and aarch64.
Comment 20 Florian Walpen 2025-03-01 09:35:34 UTC
Created attachment 258154 [details]
Logs of Ardour test build, compressed.

Here's the log of my Ardour test build, 14.2-RELEASE amd64. I didn't find time yet to investigate.
Comment 21 Robert Clausecker freebsd_committer freebsd_triage 2025-03-03 06:02:32 UTC
Do you have any options set in /etc/make.conf or in some Poudriere config file?
And changes in port options of dependent ports?
Comment 22 Florian Walpen 2025-03-09 13:39:37 UTC
Ok, finally found some time - it seems like these two libraries, libardour_contourdesign.so and libardour_push2.so, are only built if libusb-1.0 >= 1.0.16 is found (HAVE_USB=1 in the build). Could you please have at look at your logs and grep for libusb?
There should be a line in the config phase like:

> Checking for 'libusb-1.0' >= 1.0.16                  : yes

Since libusb is a part of base, this is probably not some package dependency, but the difference between 14.1-RELEASE and 14.2-RELEASE. I don't see any option to turn this off in the build, we may have to patch it out in the source. Or is there a way to make the plist entries depend on the RELEASE version?

Thanks for your help.
Comment 23 Robert Clausecker freebsd_committer freebsd_triage 2025-03-09 14:31:55 UTC
(In reply to Florian Walpen from comment #22)

Ding ding ding, seems like we have a winner!  My build log indeed says

> Checking for 'libusb-1.0' >= 1.0.16                  : not found

So that could be the issue.

> Since libusb is a part of base, this is probably not some package dependency, but the difference between 14.1-RELEASE and 14.2-RELEASE. I don't see any option to turn this off in the build, we may have to patch it out in the source. Or is there a way to make the plist entries depend on the RELEASE version?

Yes, it's possible.  Include <bsd.port.pre.mk>, then check the OSVERSION macro.  Depending on the OSVERSION macro, you can add files to PLIST_FILES.  You can find the possible values of the macro in chapter 18 of Porter's Handbook.  Search for OSVERSION in the ports tree and you'll find many cases where this happens.

Looking forwards to an updated patch!
Comment 24 Florian Walpen 2025-03-09 22:27:58 UTC
Created attachment 258509 [details]
Update Ardour to 8.11.0 release, fix build with boost-1.87, plist fix.

Ok, this isn't as pretty as I'd like. First of all the (fake) libusb version update was backported to 13, means we have to check for all currently active stable branches. Second, there was no release version bump for libusb, so for some commit revisions between bumps this will produce incomplete pkg-plists. Best effort, I guess.

Hope this passes test builds now, thanks again for your help.
Comment 25 Robert Clausecker freebsd_committer freebsd_triage 2025-03-09 22:36:53 UTC
(In reply to Florian Walpen from comment #24)

Thank you for the update.

The version condition is probably easier to read if instead of OSREL:R you consistently refer to OSVERSION.  Something like this perhaps?

    .if ${OPSYS} == FreeBSD && \
        (${OSVERSION} <= 1304500 \
        || 1400000 <= ${OSVERSION} && ${OSVERSION} <= 1401502 \
        || 1500000 <= ${OSVERSION} && ${OSVERSION} <= 1500019)
    LIBUSB="@comment "
    .else
    LIBUSB=""
    .endif

Note that this condition enables LIBUSB-dependent code by default, disabling it only where it is known not to work.  This is generally a good idea as we can assume future and other operating systems to support the new LIBUSB versions unless known otherwise.

I can copy-edit this into your patch on commit if you like.
Comment 26 Florian Walpen 2025-03-09 23:02:43 UTC
(In reply to Robert Clausecker from comment #25)

I don't see much of a difference, and I don't care - commit as you find appropriate.
Comment 27 commit-hook freebsd_committer freebsd_triage 2025-03-16 10:21:27 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7a6dbbf80eb642d2fec0a09735d3bc43d2863be4

commit 7a6dbbf80eb642d2fec0a09735d3bc43d2863be4
Author:     Florian Walpen <dev@submerge.ch>
AuthorDate: 2025-02-03 22:59:10 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-16 10:19:25 +0000

    audio/ardour: Update to 8.11.0 release.

    This is another urgent bugfix release. Fix build with boost-1.87 by compiling
    with c++14 standard. Remove the unnecessary "mark as broken" from c6bdda6336ec4.

    Changes: https://ardour.org/whatsnew.html

    PR:             284849

 audio/ardour/Makefile  | 27 +++++++++++++++++----------
 audio/ardour/distinfo  |  6 +++---
 audio/ardour/pkg-plist |  2 ++
 3 files changed, 22 insertions(+), 13 deletions(-)
Comment 28 Robert Clausecker freebsd_committer freebsd_triage 2025-03-16 10:24:37 UTC
Thank you for your contribution.
Sorry for the slow commit.