Index: head/audio/kwave/files/patch-private =================================================================== --- head/audio/kwave/files/patch-private (nonexistent) +++ head/audio/kwave/files/patch-private (revision 514351) @@ -0,0 +1,127 @@ +commit cb13b7153452060d919603d31ad4db94b3056f35 +Author: Adriaan de Groot +Date: Sat Oct 12 20:41:30 2019 +0200 + + Private inheritance hides base-class names. + + Summary: + Kwave fails to compile with clang 9.0, with this kind of error message: + + === + In file included from /wrkdirs/usr/ports/audio/kwave/work/kwave-19.08.1/libkwave/undo/UndoDeleteAction.cpp:24: + /wrkdirs/usr/ports/audio/kwave/work/kwave-19.08.1/libkwave/MultiTrackReader.h:61:24: error: 'QList' is a private member of 'QList' + const QList &track_list, + ^ + /wrkdirs/usr/ports/audio/kwave/work/kwave-19.08.1/libkwave/MultiTrackSource.h:41:36: note: constrained by private inheritance here + private QList + ^~~~~~~~~~~~~~~~~~~~~~~ + /usr/local/include/qt5/QtCore/qlist.h:127:7: note: member is declared here + class QList + ^ + 1 error generated. + === + + This can be demonstrated much more shortly with this code: + + === + class foo {}; + class bar : private foo {}; + class baz : public bar + { + public: + foo m_foo; + }; + === + + Within baz, foo is looked up in bar, and then (because it's *private* + inheritance) afterwards access-control kicks in and disallows its use. + By fully-qualifying foo (or, in Kwave's case, QList) the name-lookup + happens differently, and the public (global) name is found. + + There is also a description of the problem on StackOverflow, + https://stackoverflow.com/questions/41595208/accessing-the-name-of-a-private-inherited-class-from-a-subclass + + Test Plan: + - still compiles + - packaging on FreeBSD-CURRENT, with clang 9, works again + + Differential Revision: https://reviews.freebsd.org/D22002 +diff --git libkwave/MultiTrackReader.cpp libkwave/MultiTrackReader.cpp +index aedce6bb..0053d980 100644 +--- libkwave/MultiTrackReader.cpp ++++ libkwave/MultiTrackReader.cpp +@@ -32,7 +32,7 @@ Kwave::MultiTrackReader::MultiTrackReader() + //*************************************************************************** + Kwave::MultiTrackReader::MultiTrackReader(Kwave::ReaderMode mode, + Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + sample_index_t first, + sample_index_t last) + :Kwave::MultiTrackSource(0), +diff --git libkwave/MultiTrackReader.h libkwave/MultiTrackReader.h +index 5de02956..1d08c296 100644 +--- libkwave/MultiTrackReader.h ++++ libkwave/MultiTrackReader.h +@@ -58,7 +58,7 @@ namespace Kwave + */ + MultiTrackReader(Kwave::ReaderMode mode, + Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + sample_index_t first, sample_index_t last); + + /** Destructor */ +diff --git libkwave/MultiTrackWriter.cpp libkwave/MultiTrackWriter.cpp +index e875f445..6c6b662a 100644 +--- libkwave/MultiTrackWriter.cpp ++++ libkwave/MultiTrackWriter.cpp +@@ -35,7 +35,7 @@ Kwave::MultiTrackWriter::MultiTrackWriter() + + //*************************************************************************** + Kwave::MultiTrackWriter::MultiTrackWriter(Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + Kwave::InsertMode mode, + sample_index_t left, + sample_index_t right) +@@ -52,7 +52,7 @@ Kwave::MultiTrackWriter::MultiTrackWriter(Kwave::SignalManager &signal_manager, + Kwave::InsertMode mode) + :Kwave::MultiWriter() + { +- QList track_list = signal_manager.selectedTracks(); ++ ::QList track_list = signal_manager.selectedTracks(); + sample_index_t left = 0; + sample_index_t right = 0; + +@@ -82,7 +82,7 @@ Kwave::MultiTrackWriter::~MultiTrackWriter() + + //*************************************************************************** + bool Kwave::MultiTrackWriter::init(Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + Kwave::InsertMode mode, + sample_index_t left, + sample_index_t right) +diff --git libkwave/MultiTrackWriter.h libkwave/MultiTrackWriter.h +index df3c3086..d809680e 100644 +--- libkwave/MultiTrackWriter.h ++++ libkwave/MultiTrackWriter.h +@@ -55,7 +55,7 @@ namespace Kwave + * @param right index of the last sample + */ + MultiTrackWriter(Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + Kwave::InsertMode mode, + sample_index_t left, sample_index_t right); + +@@ -86,7 +86,7 @@ namespace Kwave + * @internal + */ + bool init(Kwave::SignalManager &signal_manager, +- const QList &track_list, ++ const ::QList &track_list, + Kwave::InsertMode mode, + sample_index_t left, sample_index_t right); + Property changes on: head/audio/kwave/files/patch-private ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property