Bug 218104 - audio/audacity: Update to 2.1.3
Summary: audio/audacity: Update to 2.1.3
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Dmitry Marakasov
URL:
Keywords: needs-patch, needs-qa
: 221545 221546 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-03-25 03:34 UTC by Jack
Modified: 2017-08-22 17:27 UTC (History)
5 users (show)

See Also:


Attachments
Patch to upgrade audacity from 2.1.2 to 2.1.3 (2.73 KB, text/plain)
2017-03-25 03:34 UTC, Jack
no flags Details
Patch to upgrade audacity from 2.1.2 to 2.1.3 with extra patches deleted (5.82 KB, patch)
2017-03-25 03:37 UTC, Jack
no flags Details | Diff
Test patch to drop gcc requirement (2.47 KB, patch)
2017-06-16 18:51 UTC, Dmitry Marakasov
amdmi3: maintainer-approval?
Details | Diff
Add CXXFLAGS+=-fabi-version=2 (270 bytes, patch)
2017-06-16 21:11 UTC, Jack
no flags Details | Diff
patch to make audacity compile with clang (3.77 KB, patch)
2017-06-19 23:57 UTC, Jack
no flags Details | Diff
Updated patch to make audacity compile with clang and USES=local (12.33 KB, text/plain)
2017-06-22 03:09 UTC, Jack
no flags Details
Make audacity compile with clang and patch/option cleanups (14.61 KB, patch)
2017-06-23 01:22 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 2017-03-25 03:34:14 UTC
Created attachment 181176 [details]
Patch to upgrade audacity from 2.1.2 to 2.1.3

Update audacity from 2.1.2 to 2.1.3 with patch.

audacity 2.1.3 now requires gcc49+ and fails to compile with llvm.

patch attached.
Comment 1 Jack 2017-03-25 03:37:52 UTC
Created attachment 181177 [details]
Patch to upgrade audacity from 2.1.2 to 2.1.3 with extra patches deleted
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2017-04-12 20:13:45 UTC
It builds fine for me without USE_GCC.
Comment 3 Jack 2017-04-12 20:49:07 UTC
(In reply to Dmitry Marakasov from comment #2)
What is the uname -a output? When it tried to use clang 3.9.1, configure croaked with must use gcc 4.9 or higher
Comment 4 Dmitry Marakasov freebsd_committer freebsd_triage 2017-04-14 11:28:47 UTC
It builds fine in poudriere on 10, 11 and 12
Comment 5 Jack 2017-04-14 20:05:45 UTC
Looks like the latest version of clang 4.0.0 works fine without the USE_GCC line. Patch should be fine just remove the USE_GCC.
Comment 6 Jack 2017-04-18 01:35:02 UTC
Looks like we still need USE_GCC, the compiler:gcc-c++11-lib was making it so it compiled fine without checking to see if gcc was installed.


<snip>
checking dynamic linker characteristics... freebsd11.0 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... c++ -E
checking for ld used by c++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC -DPIC
checking if c++ PIC flag -fPIC -DPIC works... yes
checking if c++ static flag -static works... yes
checking if c++ supports -c -o file.o... yes
checking if c++ supports -c -o file.o... (cached) yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... freebsd11.0 ld.so
checking how to hardcode library paths into programs... immediate
checking for pkg-config... yes
checking whether the linker accepts the -rdynamic flag... yes
checking for an ANSI C-conforming const... yes
checking for size_t... (cached) yes
checking for alloca.h... (cached) no
checking for libudev.h... no
checking whether we are using gcc 4.9.0 or later... no
configure: error: Audacity requires at least GCC 4.9
Comment 7 Dmitry Marakasov freebsd_committer freebsd_triage 2017-05-31 18:45:32 UTC
You're right, seems like USE_GCC is needed.
Comment 8 commit-hook freebsd_committer freebsd_triage 2017-05-31 18:45:53 UTC
A commit references this bug:

Author: amdmi3
Date: Wed May 31 18:45:18 UTC 2017
New revision: 442254
URL: https://svnweb.freebsd.org/changeset/ports/442254

Log:
  - Update to 2.1.3

  PR:		218104
  Submitted by:	xxjack12xx@gmail.com (maintainer)

Changes:
  head/audio/audacity/Makefile
  head/audio/audacity/distinfo
  head/audio/audacity/files/patch-lib-src_libnyquist_nyquist_nyqsrc_sound.h
  head/audio/audacity/files/patch-src_effects_VST_VSTEffect.cpp
  head/audio/audacity/files/patch-src_effects_vamp_LoadVamp.cpp
  head/audio/audacity/files/patch-src_import_ImportFLAC.cpp
  head/audio/audacity/pkg-plist
Comment 9 Dmitry Marakasov freebsd_committer freebsd_triage 2017-06-05 11:15:14 UTC
Got a runtime failure report:

$ audacity                                                                                                                                                                                                                                                       Fatal Error: Mismatch between the program and library build versions detected.                                                                                                                                                                                   The library used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.6,compatible with 2.8),                                                                                                                                                 and your program used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.6,compatible with 2.8).                                                                                                                                            Abort trap
Comment 10 Jack 2017-06-05 13:23:47 UTC
This is actually a wxgtk issue being compiled by clang and audacity compiled with gcc5. This affects all software built with the new gcc5. gcc4.9 did not have this problem. I have a patch that I'll submit soon to fix that but this is a bigger issue that affects all software built with the new gcc5 and wxgtk being built with clang.
Comment 11 Jack 2017-06-06 04:53:40 UTC
In reply to xxjack12xx from comment #10)
I've submitted a patch to work around the issue.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219813
Comment 12 Tatsuki Makino 2017-06-06 23:18:46 UTC
Can -fabi-compat-version=2 be used for this case?
Comment 13 Tatsuki Makino 2017-06-07 01:42:25 UTC
I added CXXFLAGS+=-fabi-version=2 to /etc/make.conf and rebuilt audio/audacity.
audacity was able to start.
Comment 14 Jack 2017-06-07 09:55:18 UTC
A user has emailed me with patches to make audacity compile with clang, I'll check those out and see if that is a better solution.
Comment 15 Kurt Jaeger freebsd_committer freebsd_triage 2017-06-12 07:04:07 UTC
For more background see

https://bugzilla.redhat.com/show_bug.cgi?id=1200611
Comment 16 Barbara Guida freebsd_committer freebsd_triage 2017-06-12 21:08:52 UTC
(In reply to xxjack12xx from comment #14)
I think I've been the first one reporting this problem.
If you need any help testing the patch, just ask me.
Comment 17 Dmitry Marakasov freebsd_committer freebsd_triage 2017-06-16 18:51:58 UTC
Created attachment 183543 [details]
Test patch to drop gcc requirement

It seems to build fine with clang with this simple patch. Could you please test if it works fine?
Comment 18 Jack 2017-06-16 19:55:03 UTC
(In reply to Dmitry Marakasov from comment #17)
Missing the configure gcc 4.9 check removal, testing with some modifications. Will let you know.
Comment 19 Jack 2017-06-16 20:10:57 UTC
Been getting this error and not sure how to fix this.

src/common/pa_front.c:117:12: warning: implicit declaration of function 'paMakeVersionNumber' is invalid in C99
      [-Wimplicit-function-declaration]
    return paVersion;
           ^
src/common/pa_front.c:107:20: note: expanded from macro 'paVersion'
#define paVersion  paMakeVersionNumber(paVersionMajor, paVersionMinor, paVersionSubMinor)
                   ^
src/common/pa_front.c:125:8: error: unknown type name 'PaVersionInfo'
static PaVersionInfo versionInfo_ = {
       ^
src/common/pa_front.c:133:7: error: unknown type name 'PaVersionInfo'
const PaVersionInfo* Pa_GetVersionInfo()
      ^
1 warning and 2 errors generated.
gmake[4]: *** [Makefile:231: src/common/pa_front.lo] Error 1
Comment 20 Jack 2017-06-16 21:11:56 UTC
Created attachment 183551 [details]
Add CXXFLAGS+=-fabi-version=2

Maybe for now, we should commit this compatibility CXXFLAGS so the program can function until the clang issue can be solved.
Comment 21 Dmitry Marakasov freebsd_committer freebsd_triage 2017-06-19 10:31:59 UTC
(In reply to xxjack12xx from comment #20)

> Created attachment 183551 [details]
> Add CXXFLAGS+=-fabi-version=2
> 
> Maybe for now, we should commit this compatibility CXXFLAGS so the program
> can function until the clang issue can be solved.

I'd strongly prefer to properly fix it with clang instead of introducing hacks with remaining possibility for other conflicts.
Comment 22 Dmitry Marakasov freebsd_committer freebsd_triage 2017-06-19 10:32:17 UTC
(In reply to xxjack12xx from comment #19)

> Been getting this error and not sure how to fix this.
> 
> src/common/pa_front.c:117:12: warning: implicit declaration of function
> 'paMakeVersionNumber' is invalid in C99
>       [-Wimplicit-function-declaration]
>     return paVersion;
>            ^
> src/common/pa_front.c:107:20: note: expanded from macro 'paVersion'
> #define paVersion  paMakeVersionNumber(paVersionMajor, paVersionMinor,
> paVersionSubMinor)
>                    ^
> src/common/pa_front.c:125:8: error: unknown type name 'PaVersionInfo'
> static PaVersionInfo versionInfo_ = {
>        ^
> src/common/pa_front.c:133:7: error: unknown type name 'PaVersionInfo'
> const PaVersionInfo* Pa_GetVersionInfo()
>       ^
> 1 warning and 2 errors generated.
> gmake[4]: *** [Makefile:231: src/common/pa_front.lo] Error 1

make showconfig?
Comment 23 Dmitry Marakasov freebsd_committer freebsd_triage 2017-06-19 11:25:31 UTC
> make showconfig?

Nah, I've figured it out - this is caused by conflict between bundled and system portaudio + incorrect cflags handling (system includes are added to cflags before local ones). USES=localbase should solve it.
Comment 24 Jack 2017-06-19 19:05:17 UTC
(In reply to Dmitry Marakasov from comment #23)
I'll test that out, thanks for finding the issue!
Comment 25 Jack 2017-06-19 23:57:49 UTC
Created attachment 183636 [details]
patch to make audacity compile with clang

Here is a new patch that allows audacity to be compiled with clang. Included modifications of previous contributed patches.
Comment 26 Jack 2017-06-19 23:58:47 UTC
Comment on attachment 183543 [details]
Test patch to drop gcc requirement

Missing removal of gcc 4.9 check in configure.
Comment 27 Jack 2017-06-20 00:00:02 UTC
(In reply to xxjack12xx from comment #26)
Was trying to set - on the flag for this patch but wouldn't save.
Comment 28 Jack 2017-06-22 03:09:12 UTC
Created attachment 183697 [details]
Updated patch to make audacity compile with clang and USES=local

Since USES=local was added, the patches that worked around it are no longer needed and removed in this updated patch. Also removed some stuff that suppressed some configure warnings so they can be seen and fixed in the future.
Comment 29 Jack 2017-06-23 01:22:14 UTC
Created attachment 183724 [details]
Make audacity compile with clang and patch/option cleanups

Make audacity compile with clang
Delete patches obsoleted by USES=localbase
Add new option SILENT to make builds less verbose which also obsoleted some patches.
Remove MIDI option as that is not optional.
Comment 30 Jack 2017-07-14 07:43:37 UTC
Anything need to be done before this can be committed? Ideally want this to be in before 11.1-RELEASE so we don't have a broken audacity on the release.
Comment 31 Jack 2017-07-24 03:51:59 UTC
The 11.1-RELEASE date is approaching, is there anything we need to do so we can get this port working in the release?
Comment 32 commit-hook freebsd_committer freebsd_triage 2017-07-25 11:58:48 UTC
A commit references this bug:

Author: amdmi3
Date: Tue Jul 25 11:58:23 UTC 2017
New revision: 446572
URL: https://svnweb.freebsd.org/changeset/ports/446572

Log:
  - Update to 2.1.3

  PR:		218104
  Submitted by:	xxjack12xx@gmail.com (maintainer)

Changes:
  head/audio/audacity/Makefile
  head/audio/audacity/files/patch-Makefile.am
  head/audio/audacity/files/patch-configure.ac
  head/audio/audacity/files/patch-include_Makefile.am
  head/audio/audacity/files/patch-include_audacity_Types.h
  head/audio/audacity/files/patch-lib-src_libnyquist_Makefile.am
  head/audio/audacity/files/patch-lib-src_libnyquist_configure.ac
  head/audio/audacity/files/patch-lib-src_portaudio-v19_bindings_cpp_configure.ac
  head/audio/audacity/files/patch-lib-src_portmixer_include_portmixer.h
  head/audio/audacity/files/patch-lib-src_soundtouch_source_SoundTouch_Makefile.am
  head/audio/audacity/files/patch-m4_audacity__checklib__libsndfile.m4
  head/audio/audacity/files/patch-src_Audacity.h
  head/audio/audacity/files/patch-src_AudioIO.h
  head/audio/audacity/files/patch-src_DeviceManager.cpp
  head/audio/audacity/files/patch-src_prefs_DevicePrefs.cpp
  head/audio/audacity/pkg-plist
Comment 33 Dmitry Marakasov freebsd_committer freebsd_triage 2017-07-25 12:01:31 UTC
Fixed with minor changes:
- Added missing LIB_DEPENDS on libogg
- Removed SILENT option, we do not support silent builds
- Don't install LICENSE as documentation
Comment 34 Jack 2017-07-25 20:43:53 UTC
I think we need to bump the portrevision since 2.1.3 was broken and these new changes fixes the breakage.
Comment 35 Jack 2017-08-15 19:43:03 UTC
Any updates? I think this is related
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221545
Comment 36 Yonas Yanfa 2017-08-15 19:50:48 UTC
*** Bug 221546 has been marked as a duplicate of this bug. ***
Comment 37 Yonas Yanfa 2017-08-16 20:24:46 UTC
*** Bug 221545 has been marked as a duplicate of this bug. ***
Comment 38 Dmitry Marakasov freebsd_committer freebsd_triage 2017-08-22 17:26:37 UTC
(In reply to xxjack12xx from comment #34)
> I think we need to bump the portrevision since 2.1.3 was broken and these
> new changes fixes the breakage.

Why(In reply to xxjack12xx from comment #35)
> Any updates? I think this is related
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221545

Oops, I've had an idea my latest commit has updated the version. Bumping.
Comment 39 commit-hook freebsd_committer freebsd_triage 2017-08-22 17:27:10 UTC
A commit references this bug:

Author: amdmi3
Date: Tue Aug 22 17:26:44 UTC 2017
New revision: 448573
URL: https://svnweb.freebsd.org/changeset/ports/448573

Log:
  - Bump revision after recent port changes

  PR:		218104
  Submitted by:	xxjack12xx@gmail.com (maintainer)

Changes:
  head/audio/audacity/Makefile