Package: src:deepin-music
Version: 6.2.18-2
Severity: important
User: [email protected]
Usertags: icu76

The package fails to build with icu 76.1-2 from experimental. The most likely reason is that it's not built for the default C++17 standards, and manually specifies an earlier standard.

The build log shows the package building with -std=c++11, and failing.

[...]
In file included from /usr/include/unicode/uenum.h:25,
                 from /usr/include/unicode/ucsdet.h:28,
from /<<PKGBUILDDIR>>/src/libdmusic/util/encodingdetector.cpp:27: /usr/include/unicode/localpointer.h:561:26: error: ‘auto’ parameter not permitted in this context
  561 | template <typename Type, auto closeFunction>
      |                          ^~~~
/usr/include/unicode/localpointer.h:573:76: error: template argument 2 is invalid 573 | explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p) | ^ /usr/include/unicode/localpointer.h:583:78: error: template argument 2 is invalid 583 | LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) { | ^ /usr/include/unicode/localpointer.h:599:59: error: template argument 2 is invalid
  599 |     operator std::unique_ptr<Type, decltype(closeFunction)> () && {
      |                                                           ^
/usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/ucsdet.h:109:1: note: invalid template non-type parameter 109 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUCharsetDetectorPointer, UCharsetDetector, ucsdet_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [src/libdmusic/CMakeFiles/dmusic.dir/build.make:159: src/libdmusic/CMakeFiles/dmusic.dir/util/encodingdetector.cpp.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'

Reply via email to