diff --git a/debian/changelog b/debian/changelog index 38dc998a..56b0a19b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -36,6 +36,10 @@ llvm-toolchain-10 (1:10.0.0~+rc2-3) unstable; urgency=medium * Disable libfuzzer on x86 https://bugs.llvm.org/show_bug.cgi?id=43677 FTBFS otherwise + * Add a libclang-cpp10-dev package (needed to unbreak the cmake) + https://bugs.llvm.org/show_bug.cgi?id=42432 + This makes libclang-cpp10 usable and polish the links and dups + * Fix the *clang* desc as C++17 is supported -- Sylvestre Ledru Sun, 01 Mar 2020 20:59:25 +0100 diff --git a/debian/control b/debian/control index e6ab7f9f..725f4d00 100644 --- a/debian/control +++ b/debian/control @@ -40,8 +40,8 @@ Description: C, C++ and Objective-C compiler based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. Package: clang-tools-11 Architecture: any @@ -52,8 +52,8 @@ Description: clang-based tools for C/C++ developments based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains some clang-based tools like scan-build, clang-cl, etc. @@ -107,8 +107,8 @@ Description: C, C++ and Objective-C compiler - Documentation based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the documentation. @@ -122,8 +122,8 @@ Description: C interface to the Clang library based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the Clang library. . @@ -144,8 +144,8 @@ Description: Clang library - Development package based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the Clang headers to develop extensions over libclang1-11. @@ -159,8 +159,8 @@ Description: Clang library - Common development package based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the Clang generic headers and some libraries (profiling, etc). @@ -175,8 +175,8 @@ Description: C++ interface to the Clang library based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the Clang C++ library. . @@ -186,6 +186,33 @@ Description: C++ interface to the Clang library locations with elements within the AST, and other facilities that support Clang-based development tools. +Package: libclang-cpp10-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + libclang-cpp10 (= ${binary:Version}) +# Move of libclang-cpp.so into libclang-cpp10.dev +Breaks: libclang-10-dev (<< 1:10.0.0~+rc2-3) +Replaces: libclang-10-dev (<< 1:10.0.0~+rc2-3) +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + . + This package contains the Clang headers to develop extensions over + libclang-cpp10. + Package: libfuzzer-11-dev Architecture: linux-any @@ -220,8 +247,8 @@ Description: Clang Python Bindings based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This binding package provides access to the Clang compiler and libraries. @@ -234,8 +261,8 @@ Description: Clang examples based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). . - Clang implements all of the ISO C++ 1998, 11 and 14 standards and also - provides most of the support of C++17. + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. . This package contains the Clang examples. diff --git a/debian/libclang-X.Y-dev.install.in b/debian/libclang-X.Y-dev.install.in index 63ad85b3..b967aff8 100644 --- a/debian/libclang-X.Y-dev.install.in +++ b/debian/libclang-X.Y-dev.install.in @@ -2,5 +2,6 @@ usr/lib/llvm-@LLVM_VERSION@/include/clang usr/lib/llvm-@LLVM_VERSION@/include/clang-c usr/lib/llvm-@LLVM_VERSION@/include/clang-tidy usr/lib/llvm-@LLVM_VERSION@/lib/libclang*a -usr/lib/llvm-@LLVM_VERSION@/lib/libclang*so +usr/lib/llvm-@LLVM_VERSION@/lib/libclang.so +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-@LLVM_VERSION@*.so usr/lib/llvm-@LLVM_VERSION@/lib/libfindAllSymbols.a diff --git a/debian/libclang-cppX.Y-dev.install.in b/debian/libclang-cppX.Y-dev.install.in new file mode 100644 index 00000000..5d2609ec --- /dev/null +++ b/debian/libclang-cppX.Y-dev.install.in @@ -0,0 +1 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so diff --git a/debian/libclang-cppX.Y-dev.links.in b/debian/libclang-cppX.Y-dev.links.in new file mode 100644 index 00000000..6a96217b --- /dev/null +++ b/debian/libclang-cppX.Y-dev.links.in @@ -0,0 +1,2 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp@LLVM_VERSION@.so +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp@LLVM_VERSION@.so diff --git a/debian/libclang-cppX.Y.install.in b/debian/libclang-cppX.Y.install.in index a6714393..b0d88e0e 100644 --- a/debian/libclang-cppX.Y.install.in +++ b/debian/libclang-cppX.Y.install.in @@ -1,3 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ -usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ diff --git a/debian/libclang-cppX.Y.links.in b/debian/libclang-cppX.Y.links.in index 8ad00921..ee382f6d 100644 --- a/debian/libclang-cppX.Y.links.in +++ b/debian/libclang-cppX.Y.links.in @@ -1 +1 @@ -/usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp-@LLVM_VERSION@.so.1 usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.1 +usr/lib/llvm-@LLVM_VERSION@/lib/libclang-cpp.so.@LLVM_VERSION@ /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@ diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 0002456e..372604a1 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -9,7 +9,7 @@ VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) -LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb" +LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}-dbgsym_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb" echo "To install everything:" echo "sudo apt --purge remove 'libomp5-*' 'libc++*dev' 'libc++*' 'python3-lldb-*'" echo "sudo dpkg -i $LIST" @@ -222,12 +222,12 @@ echo "Testing linking clang-cpp ..." clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o > /dev/null || true if ! ldd o 2>&1|grep -q libclang-cpp; then echo "Didn't link against libclang-cpp$VERSION" -# exit 42 + exit 42 fi -#./o > /dev/null +./o > /dev/null # Check that the symlink is correct -ls -al /usr/lib/llvm-$VERSION/lib/libclang-cpp.so.1 > /dev/null +ls -al /usr/lib/llvm-$VERSION/lib/libclang-cpp.so.$VERSION > /dev/null echo "Testing code coverage ..." diff --git a/debian/rules b/debian/rules index 8e224ad9..01b0e88f 100755 --- a/debian/rules +++ b/debian/rules @@ -551,13 +551,11 @@ override_dh_auto_install: chrpath -d libcxxabi/build/lib/libc++abi.so.1.0 chrpath -d libcxx/build/lib/libc++.so.1.0 + : # libclang cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && rm -f libclang.so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \ ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT) - cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && mv libclang-cpp.so.$(LLVM_VERSION) libclang-cpp-$(LLVM_VERSION).so.$(SONAME_EXT); \ - ln -s libclang-cpp-$(LLVM_VERSION).so.$(SONAME_EXT) libclang-cpp.so.$(SONAME_EXT); \ - ln -s libclang-cpp-$(LLVM_VERSION).so.$(SONAME_EXT) libclang-cpp.so.$(LLVM_VERSION) - + : # libomp cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \ ln -s libomp.so.$(SONAME_OPENMP) libomp.so