Summary: | audio/audacity: Update to 2.4.1 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jack <xxjack12xx> | ||||||||||||||||||||||||||
Component: | Individual Port(s) | Assignee: | Alexey Dokuchaev <danfe> | ||||||||||||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||||||||||||
Severity: | Affects Only Me | CC: | danfe, tatsuki_makino, xxjack12xx | ||||||||||||||||||||||||||
Priority: | --- | Flags: | xxjack12xx:
maintainer-feedback+
|
||||||||||||||||||||||||||
Version: | Latest | ||||||||||||||||||||||||||||
Hardware: | Any | ||||||||||||||||||||||||||||
OS: | Any | ||||||||||||||||||||||||||||
URL: | https://wiki.audacityteam.org/wiki/Release_Notes_2.4.1 | ||||||||||||||||||||||||||||
Bug Depends on: | 246671, 246672 | ||||||||||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||||||||||
Attachments: |
|
If there is a change log or release notes for this version, please include a link in the URL field, thanks! Updated URL with changelog Created attachment 214771 [details]
Updated patch to update audacity to 2.4.1
Updated patch with removal of autoreconf since build now uses cmake
Created attachment 214772 [details]
Update audacity to 2.4.1
Removed dependency on dos2unix, bash, shebangfix
cmake build does not need those.
Is there anything else needing to be done to get this committed? What's the point of having "BUILD_DEPENDS=cmake:devel/cmake" in the Makefile if that's implied by USES+=cmake? wasn't aware the USES cmake implies cmake dep, will remove and update the patch in a moment Created attachment 214891 [details]
Update audacity to 2.4.1
Remove build depend on cmake.
(In reply to Jack from comment #8) I tried the attachment 214891 [details]. But I got stuck below. ---------------------------------------------------------------------------- [464/850] /usr/bin/c++ -DAudacity_EXPORTS -DBUILDING_AUDACITY -DCMAKE -DHAVE_LRINT -DHAVE_LRINTF -DHAVE_MLOCK -DHAVE_SYS_SOUNDCARD_H=1 -DPA_USE_ALSA=1 -DPA_USE_OSS=1 -DWXINTL_NO_GETTEXT_MACRO -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -Isrc/private -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lib-widget-extra -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src -I/usr/local/lib/wx/include/gtk3-unicode-3.1 -I/usr/local/include/wx-3.1 -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/FileDialog -Icmake-proxies/lame/public -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portaudio-v19/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/ffmpeg -Icmake-proxies/lv2/public -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/lv2 -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/lilv -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/serd -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/sord -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/sratom -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/suil -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portsmf/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/libnyquist -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portmixer/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/sbsms/include -isystem /usr/local/include/gtk-3.0 -isystem /usr/local/include/pango-1.0 -isystem /usr/local/include/glib-2.0 -isystem /usr/local/lib/glib-2.0/include -isystem /usr/local/include/fribidi -isystem /usr/local/include/cairo -isystem /usr/local/include/pixman-1 -isystem /usr/local/include/freetype2 -isystem /usr/local/include/libdrm -isystem /usr/local/include/libpng16 -isystem /usr/local/include/harfbuzz -isystem /usr/local/include/gdk-pixbuf-2.0 -isystem /usr/local/include/gio-unix-2.0 -isystem /usr/local/include/libepoll-shim -isystem /usr/local/lib/libffi-3.2.1/include -isystem /usr/local/include/atk-1.0 -isystem /usr/local/include/at-spi2-atk/2.0 -isystem /usr/local/include/at-spi-2.0 -isystem /usr/local/include/dbus-1.0 -isystem /usr/local/lib/dbus-1.0/include -isystem /usr/local/include/soundtouch -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -Wno-underaligned-exception-object -D_THREAD_SAFE -pthread -std=gnu++14 -Xclang -include-pch -Xclang /wrkdirs/usr/ports/audio/audacity/work/.build/src/CMakeFiles/Audacity.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /wrkdirs/usr/ports/audio/audacity/work/.build/src/CMakeFiles/Audacity.dir/cmake_pch.hxx -MD -MT src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o -MF src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o.d -o src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o -c /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/AudacityApp.cpp FAILED: src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o /usr/bin/c++ -DAudacity_EXPORTS -DBUILDING_AUDACITY -DCMAKE -DHAVE_LRINT -DHAVE_LRINTF -DHAVE_MLOCK -DHAVE_SYS_SOUNDCARD_H=1 -DPA_USE_ALSA=1 -DPA_USE_OSS=1 -DWXINTL_NO_GETTEXT_MACRO -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -Isrc/private -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lib-widget-extra -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src -I/usr/local/lib/wx/include/gtk3-unicode-3.1 -I/usr/local/include/wx-3.1 -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/FileDialog -Icmake-proxies/lame/public -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portaudio-v19/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/ffmpeg -Icmake-proxies/lv2/public -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/lv2 -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/lilv -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/serd -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/sord -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/sratom -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/lv2/suil -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portsmf/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/libnyquist -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/portmixer/include -I/wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/sbsms/include -isystem /usr/local/include/gtk-3.0 -isystem /usr/local/include/pango-1.0 -isystem /usr/local/include/glib-2.0 -isystem /usr/local/lib/glib-2.0/include -isystem /usr/local/include/fribidi -isystem /usr/local/include/cairo -isystem /usr/local/include/pixman-1 -isystem /usr/local/include/freetype2 -isystem /usr/local/include/libdrm -isystem /usr/local/include/libpng16 -isystem /usr/local/include/harfbuzz -isystem /usr/local/include/gdk-pixbuf-2.0 -isystem /usr/local/include/gio-unix-2.0 -isystem /usr/local/include/libepoll-shim -isystem /usr/local/lib/libffi-3.2.1/include -isystem /usr/local/include/atk-1.0 -isystem /usr/local/include/at-spi2-atk/2.0 -isystem /usr/local/include/at-spi-2.0 -isystem /usr/local/include/dbus-1.0 -isystem /usr/local/lib/dbus-1.0/include -isystem /usr/local/include/soundtouch -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DLIBICONV_PLUG -isystem /usr/local/include -Wno-underaligned-exception-object -D_THREAD_SAFE -pthread -std=gnu++14 -Xclang -include-pch -Xclang /wrkdirs/usr/ports/audio/audacity/work/.build/src/CMakeFiles/Audacity.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /wrkdirs/usr/ports/audio/audacity/work/.build/src/CMakeFiles/Audacity.dir/cmake_pch.hxx -MD -MT src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o -MF src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o.d -o src/CMakeFiles/Audacity.dir/AudacityApp.cpp.o -c /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/AudacityApp.cpp In file included from /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/AudacityApp.cpp:79: /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/FFmpeg.h:687:7: error: conflicting types for 'av_oformat_next' av_oformat_next, ^ /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/ffmpeg/libavformat/avformat.h:1643:17: note: previous declaration is here AVOutputFormat *av_oformat_next(AVOutputFormat *f); ^ In file included from /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/AudacityApp.cpp:79: /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/FFmpeg.h:768:7: error: conflicting types for 'av_fifo_size' av_fifo_size, ^ /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/ffmpeg/libavutil/fifo.h:62:5: note: previous declaration is here int av_fifo_size(AVFifoBuffer *f); ^ In file included from /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/AudacityApp.cpp:79: /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/src/FFmpeg.h:830:7: error: conflicting types for 'av_dict_get' av_dict_get, ^ /wrkdirs/usr/ports/audio/audacity/work/audacity-Audacity-2.4.1/lib-src/ffmpeg/libavutil/dict.h:101:1: note: previous declaration is here av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags); ^ 3 errors generated. ---------------------------------------------------------------------------- You will probably need to rewrite the optional variables. e.g. *_CONFIGURE_WITH -> *_CMAKE_ON (In reply to Tatsuki Makino from comment #9) Ah, that might be a problem. I don't get that error, what version of ffmpeg do you have installed and what version/arch FreeBSD? (In reply to Tatsuki Makino from comment #9) mmmmm? As far as I've explored shallowly, I think it's better to do the following. FFMPEG_CMAKE_ON= -DUSE_FFMPEG:STRING=system FFMPEG_CMAKE_OFF= -DUSE_FFMPEG:BOOL=OFF But that may be wrong. Created attachment 214950 [details] log of poudriere bulk -C -t audio/audacity (In reply to Jack from comment #10) I tried it in poudriere. Probably the reason is that FFMPEG option is OFF. Yup, looking into how to do this in cmake, thanks for pointing it out. (In reply to Jack from comment #13) My comment #11 is wrong. audacity-Audacity-2.4.1/CMakeLists.txt has following: # Define option() prefix set( _OPT "audacity_" ) Thereby all options are prefixed with audacity_. The options definition is in audacity-Audacity-2.4.1/cmake-proxies/CMakeLists.txt. That is the execution of the addlib function. A list of options can be found with the command: cd /usr/ports/audio/audacity make configure cd /usr/ports/audio/audacity/work/.build cmake -L ../audacity-Audacity-2.4.1 Predicting from that result, I think that the OPTIONS variable is written as follows. FFMPEG_CMAKE_ON= -Daudacity_use_ffmpeg:STRING=system FFMPEG_CMAKE_OFF= -Daudacity_use_ffmpeg:STRING=off And, =system when using ports library, =local when using bundle library. Created attachment 214994 [details]
Update audacity to 2.4.1
Move all configurable options to cmake method
(In reply to Tatsuki Makino from comment #14) Can you try the new patch https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214994&action=diff and see if you get the same issues. Created attachment 214995 [details]
Update audacity to 2.4.1
Uploaded wrong file, this is the cmake converted patch
(In reply to Tatsuki Makino from comment #14) Try this patch, I uploaded the wrong file in the previous comment. https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214995&action=diff Created attachment 214996 [details]
Update audacity to 2.4.1 without gettext-tools and iconv
Removed USES=gettext-tools iconv since cmake gives warning about extra variables passed in that it doesn't understand.
This is turning into a disaster ;) I'm building this on several different machines and the latest patch is having issues with the pkg-plist. Trying to get that sorted out. I'll open a new bug report once I get that sorted out. It may take a few days or so. (In reply to Jack from comment #18) Thank you. I'll try it. And... There is something in audacity-Audacity-2.4.1/locale/CMakeLists.txt about OPTIONS NLS. You can control the non-essential find_package as follows. NLS_CMAKE_OFF= -DCMAKE_DISABLE_FIND_PACKAGE_Gettext:BOOL=YES If you keep NLS option, give it a try. (In reply to Tatsuki Makino from comment #21) Thanks, I'll try that. This cmake stuff is new and will take some time to understand how to get everything working. My comment #14 wasn't complete yet. When the check parameter of the addlib function is a constant of false, assign a value other than system/local. That applies to wxWidgets and ffmpeg. ffmpeg has another value defined in audacity-Audacity-2.4.1/cmake-proxies/ffmpeg/CMakeLists.txt. (In reply to Jack from comment #22) I tried the attachment 214996 [details]. OPTIONS change worked, and build under the same conditions as attachment 214950 [details] finished successfully. Installation has not been tested. And, files for autotools have been deleted in commit c42d188e7b5120b9bcb4a5fbe2520ba5b7ce3d4f. Please do your best. Good luck. Great that the OPTIONS changed worked, will look into the ffmpeg some more and hopefully have something soon. Created attachment 215345 [details]
Update audacity to 2.4.1
Created attachment 215346 [details]
build log of latest patch
Build log of latest patch
Patch fixed to update audacity to 2.4.1 (In reply to Jack from comment #26) > Build log of latest patch Please do not attach build logs except when explicitly asked. Usually no one will look at them and they just clutter Bugzilla and eat disk space. I'll try to commit it tonight. Comment on attachment 215345 [details] Update audacity to 2.4.1 Why does this update regress on ports r474923 and stops using system portaudio? (In reply to Tobias Kortkamp from comment #29) There is no option to use the system version in 2.4.1, only the version bundled in the source. Created attachment 215363 [details]
audacity.diff
Ok, here's an updated patch that makes it use system portaudio. It
also drops the now unneeded ALSA, JACK, OSS portaudio backend
options.
There were some plist issues too since the build looked for Python
2 to produce the man page. I removed those entries but you may
want to look into fixing it or going back to Python 2.7 for now.
(In reply to Tobias Kortkamp from comment #31) I didn't see an option that was available for =system, only for =local. I'll check to make sure that works. Looking at your patch, it looks much better. I'm going to test it out but do you think you can help me find out why it refuses to find/use the system lame as well? I keep getting -- ========== Configuring lame ========== -- Checking for module 'lame >= 3.100' -- Package 'lame', required by 'virtual:world', not found -- Using 'lame' local library even when specifying -Daudacity_use_lame:STRING=system (In reply to Jack from comment #33) In cmake-proxies/CMakeLists.txt: > # directory option symbol req chk version > addlib( lame lame LAME YES YES "lame >= 3.100" ) If chk is YES, libmp3lame is searched for in pkg-config (cmake pkg_check_modules function). The system lame has nothing installed in /usr/local/libdata/pkgconfig. You probably have to change chk to NO and branch to the code below. if( NOT check ) add_subdirectory( ${dir} EXCLUDE_FROM_ALL ) return() endif() Created attachment 215385 [details]
Updated patch to use system portaudio
I removed the post-extract rm -rf of the included portaudio in the new patch. Don't think it's needed since we're going to be using the system version anyways. Still uses the local lame, let's leave that for now and hopefully get 2.4.1 in ports as 2.3.3 is quite unstable and crashes when windows are closed. Maybe more progress can be made to improve the next release after I see if upstream can incorporate some of the patches/changes.
How does the latest patch look? (In reply to Jack from comment #36) It's fine now, just needed some minor polishing. I'll commit in a few hours. A commit references this bug: Author: danfe Date: Tue Jun 16 12:14:28 UTC 2020 New revision: 539344 URL: https://svnweb.freebsd.org/changeset/ports/539344 Log: - Update `audio/audacity' to the latest version 2.4.1 - Switch to purely CMake-based build, remove autotools-related patches and Makefile knobs - Force PLIST_SUB+=NLS="" temporarily while the proper fix is being developed, to reduce the churn of the pkg-plist - Do not force C++14 while C++11 is sufficient for the time being - Do not hardcode Python version when building the manual page PR: 246645 Changes: head/audio/audacity/Makefile head/audio/audacity/distinfo head/audio/audacity/files/patch-cmake-proxies_CMakeLists.txt head/audio/audacity/files/patch-cmake-proxies_sbsms_CMakeLists.txt head/audio/audacity/files/patch-configure.ac head/audio/audacity/files/patch-lib-src_FileDialog_Makefile.am head/audio/audacity/files/patch-lib-src_FileDialog_configure.ac head/audio/audacity/files/patch-lib-src_FileDialog_gtk_Makefile.am head/audio/audacity/files/patch-lib-src_FileDialog_mac_Makefile.am head/audio/audacity/files/patch-lib-src_FileDialog_win_Makefile.am head/audio/audacity/files/patch-lib-src_lv2_configure head/audio/audacity/files/patch-src_Makefile.am head/audio/audacity/pkg-plist Committed as ports r539344 with minor modifications (fix building of the manual page, unbreak on i386, switch to C++11 for now because C++14 pulls external compiler on some FreeBSD versions, etc.), thanks! |
Created attachment 214740 [details] Patch to upgrade audacity from 2.3.3 to 2.4.1 audacity-2.4.1 was released and now uses cmake for building.