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.
Will commit with my next batch, likely early next week.
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.
(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 on attachment 257576 [details] Update Ardour to 8.11.0 release. Fetching the distfile fails, seems like the source tarball changed.
(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...
(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.
(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.
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`.
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?
(In reply to Florian Walpen from comment #9) It's ok, I can deal with that copy-editing.
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.
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.
(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.
(In reply to Florian Walpen from comment #13) Test with Poudriere and check the build scripts.
(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.
(In reply to Florian Walpen from comment #15) I can rebase my tree on the current main. Maybe that's the problem?
(In reply to Robert Clausecker from comment #16) Could be. Maybe your builds are faster than mine, I'll report back this weekend.
(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.
(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.
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.
Do you have any options set in /etc/make.conf or in some Poudriere config file? And changes in port options of dependent ports?
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.
(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!
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.
(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.
(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.
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(-)
Thank you for your contribution. Sorry for the slow commit.