Bug 246645 - audio/audacity: Update to 2.4.1
Summary: audio/audacity: Update to 2.4.1
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs mailing list
URL: https://wiki.audacityteam.org/wiki/Re...
Keywords:
Depends on: 246671 246672
Blocks:
  Show dependency treegraph
 
Reported: 2020-05-21 22:29 UTC by Jack
Modified: 2020-05-29 04:46 UTC (History)
3 users (show)

See Also:
xxjack12xx: maintainer-feedback+


Attachments
Patch to upgrade audacity from 2.3.3 to 2.4.1 (20.03 KB, patch)
2020-05-21 22:29 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Updated patch to update audacity to 2.4.1 (20.12 KB, patch)
2020-05-23 04:06 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Update audacity to 2.4.1 (20.14 KB, patch)
2020-05-23 04:15 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Update audacity to 2.4.1 (20.11 KB, patch)
2020-05-26 21:40 UTC, Jack
no flags Details | Diff
log of poudriere bulk -C -t audio/audacity (682.71 KB, text/plain)
2020-05-28 05:37 UTC, Tatsuki Makino
no flags Details
Update audacity to 2.4.1 (20.11 KB, patch)
2020-05-29 01:52 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Update audacity to 2.4.1 (23.31 KB, patch)
2020-05-29 01:56 UTC, Jack
xxjack12xx: maintainer-approval+
Details | Diff
Update audacity to 2.4.1 without gettext-tools and iconv (23.31 KB, patch)
2020-05-29 02:07 UTC, Jack
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jack 2020-05-21 22:29:36 UTC
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.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2020-05-22 01:51:49 UTC
If there is a change log or release notes for this version, please include a link in the URL field, thanks!
Comment 2 Jack 2020-05-22 01:58:14 UTC
Updated URL with changelog
Comment 3 Jack 2020-05-23 04:06:07 UTC
Created attachment 214771 [details]
Updated patch to update audacity to 2.4.1

Updated patch with removal of autoreconf since build now uses cmake
Comment 4 Jack 2020-05-23 04:15:40 UTC
Created attachment 214772 [details]
Update audacity to 2.4.1

Removed dependency on dos2unix, bash, shebangfix
cmake build does not need those.
Comment 5 Jack 2020-05-25 19:33:59 UTC
Is there anything else needing to be done to get this committed?
Comment 6 Alexey Dokuchaev freebsd_committer 2020-05-26 11:10:54 UTC
What's the point of having "BUILD_DEPENDS=cmake:devel/cmake" in the Makefile if that's implied by USES+=cmake?
Comment 7 Jack 2020-05-26 18:47:59 UTC
wasn't aware the USES cmake implies cmake dep, will remove and update the patch in a moment
Comment 8 Jack 2020-05-26 21:40:30 UTC
Created attachment 214891 [details]
Update audacity to 2.4.1

Remove build depend on cmake.
Comment 9 Tatsuki Makino 2020-05-28 05:12:15 UTC
(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
Comment 10 Jack 2020-05-28 05:27:51 UTC
(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?
Comment 11 Tatsuki Makino 2020-05-28 05:31:53 UTC
(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.
Comment 12 Tatsuki Makino 2020-05-28 05:37:52 UTC
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.
Comment 13 Jack 2020-05-28 06:01:30 UTC
Yup, looking into how to do this in cmake, thanks for pointing it out.
Comment 14 Tatsuki Makino 2020-05-29 01:44:26 UTC
(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.
Comment 15 Jack 2020-05-29 01:52:34 UTC
Created attachment 214994 [details]
Update audacity to 2.4.1

Move all configurable options to cmake method
Comment 16 Jack 2020-05-29 01:53:06 UTC
(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.
Comment 17 Jack 2020-05-29 01:56:27 UTC
Created attachment 214995 [details]
Update audacity to 2.4.1

Uploaded wrong file, this is the cmake converted patch
Comment 18 Jack 2020-05-29 01:58:25 UTC
(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
Comment 19 Jack 2020-05-29 02:07:17 UTC
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.
Comment 20 Jack 2020-05-29 02:16:22 UTC
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.
Comment 21 Tatsuki Makino 2020-05-29 02:18:44 UTC
(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.
Comment 22 Jack 2020-05-29 02:28:56 UTC
(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.
Comment 23 Tatsuki Makino 2020-05-29 04:40:01 UTC
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.
Comment 24 Jack 2020-05-29 04:46:02 UTC
Great that the OPTIONS changed worked, will look into the ffmpeg some more and hopefully have something soon.