diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2023-09-25 19:19:27 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2023-09-25 22:29:45 +0200 |
commit | 04d707a7baaea6129a941a18bb2c4b629c29d22e (patch) | |
tree | 12a88fdaaf9807c01a0e578b5aeea2d315cd69b1 /source | |
parent | e2559d5d49cc23c6e82c6ca767ed63bab5dd0cf4 (diff) | |
download | current-04d707a7baaea6129a941a18bb2c4b629c29d22e.tar.gz current-04d707a7baaea6129a941a18bb2c4b629c29d22e.tar.xz |
Mon Sep 25 19:19:27 UTC 202320230925191927
ap/man-db-2.12.0-x86_64-1.txz: Upgraded.
ap/mpg123-1.32.1-x86_64-1.txz: Upgraded.
d/llvm-17.0.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
d/lua-5.4.6-x86_64-4.txz: Rebuilt.
Fixed prefix and $LIBDIRSUFFIX in lua.pc. Thanks to ArTourter.
d/parallel-20230922-noarch-1.txz: Upgraded.
kde/kdevelop-23.08.1-x86_64-2.txz: Rebuilt.
Recompiled against llvm-17.0.1.
l/imagemagick-7.1.1_18-x86_64-1.txz: Upgraded.
l/libclc-17.0.1-x86_64-1.txz: Upgraded.
l/qt5-5.15.10_20230923_6e8e373e-x86_64-1.txz: Upgraded.
Compiled against llvm-17.0.1.
l/spirv-llvm-translator-17.0.0-x86_64-1.txz: Upgraded.
Compiled against llvm-17.0.1.
x/mesa-23.2.0_rc4-x86_64-1.txz: Upgraded.
Compiled against llvm-17.0.1.
Diffstat (limited to 'source')
-rwxr-xr-x | source/d/llvm/llvm.SlackBuild | 56 | ||||
-rw-r--r-- | source/d/llvm/llvm.url | 56 | ||||
-rw-r--r-- | source/d/llvm/missing-runtime-modules/HandleFlags.cmake | 113 | ||||
-rw-r--r-- | source/d/llvm/missing-runtime-modules/WarningFlags.cmake | 77 | ||||
-rwxr-xr-x | source/d/lua/lua.SlackBuild | 4 | ||||
-rw-r--r-- | source/d/lua/lua.pc | 8 | ||||
-rw-r--r-- | source/kde/kde/build/kdevelop | 2 | ||||
-rw-r--r-- | source/l/libclc/libclc.url | 2 | ||||
-rw-r--r-- | source/l/spirv-llvm-translator/1889.patch | 73 | ||||
-rw-r--r-- | source/l/spirv-llvm-translator/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff | 11 | ||||
-rwxr-xr-x | source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild | 12 | ||||
-rw-r--r-- | source/l/spirv-llvm-translator/spirv-llvm-translator.url | 1 | ||||
-rwxr-xr-x | source/x/mesa/mesa.SlackBuild | 2 | ||||
-rw-r--r-- | source/x/mesa/patches/23827.patch | 42 | ||||
-rw-r--r-- | source/x/mesa/patches/2d4fe5f229791fde52846b3f583c12508b5109d6.patch | 127 |
15 files changed, 436 insertions, 150 deletions
diff --git a/source/d/llvm/llvm.SlackBuild b/source/d/llvm/llvm.SlackBuild index af3baf881..f285bf332 100755 --- a/source/d/llvm/llvm.SlackBuild +++ b/source/d/llvm/llvm.SlackBuild @@ -65,7 +65,7 @@ BUILDDIR=${TMP}/llvm-build-${VERSION} # Ignore that which should be ignored to avoid long build times and # massive warning spew: -IGNORE_GNU_EXTENSIONS=${IGNORE_GNU_EXTENSIONS:--Wno-unknown-warning-option -Wno-gnu-line-marker -Wno-gnu-anonymous-struct} +IGNORE_GNU_EXTENSIONS=${IGNORE_GNU_EXTENSIONS:--Wno-unknown-warning-option -Wno-gnu-line-marker -Wno-gnu-anonymous-struct -Wno-gnu-include-next} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686 $IGNORE_GNU_EXTENSIONS" @@ -117,47 +117,58 @@ touch configure chmod 755 configure # Extract and rename some support files: -tar xvf $CWD/cmake-$VERSION.src.tar.xz || exit 1 +echo "Extracting $CWD/cmake-$VERSION.src.tar.xz..." +tar xf $CWD/cmake-$VERSION.src.tar.xz || exit 1 mv cmake-$VERSION.src cmake -tar xvf $CWD/third-party-$VERSION.src.tar.xz || exit 1 +echo "Extracting $CWD/third-party-$VERSION.src.tar.xz..." +tar xf $CWD/third-party-$VERSION.src.tar.xz || exit 1 mv third-party-$VERSION.src third-party rm -rf $PKGNAM-${VERSION}.src $PKGNAM-${VERSION} -tar xvf $CWD/$PKGNAM-$VERSION.src.tar.xz || exit 1 +echo "Extracting $CWD/$PKGNAM-$VERSION.src.tar.xz..." +tar xf $CWD/$PKGNAM-$VERSION.src.tar.xz || exit 1 cd $PKGNAM-${VERSION}.src/tools || cd $PKGNAM-${VERSION}/tools || exit 1 - tar xvf $CWD/clang-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/clang-$VERSION.src.tar.xz..." + tar xf $CWD/clang-$VERSION.src.tar.xz || exit 1 mv clang-${VERSION} clang 2>/dev/null || mv clang-${VERSION}.src clang || exit 1 - #tar xvf $CWD/flang-$VERSION.src.tar.xz || exit 1 + #echo "Extracting $CWD/flang-$VERSION.src.tar.xz..." + #tar xf $CWD/flang-$VERSION.src.tar.xz || exit 1 #mv flang-${VERSION} flang 2>/dev/null || mv flang-${VERSION}.src flang || exit 1 - tar xvf $CWD/lldb-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/lldb-$VERSION.src.tar.xz..." + tar xf $CWD/lldb-$VERSION.src.tar.xz || exit 1 mv lldb-${VERSION} lldb 2>/dev/null || mv lldb-${VERSION}.src lldb || exit 1 - tar xvf $CWD/lld-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/lld-$VERSION.src.tar.xz..." + tar xf $CWD/lld-$VERSION.src.tar.xz || exit 1 mv lld-${VERSION} lld 2>/dev/null || mv lld-${VERSION}.src lld || exit 1 cd ../ cd tools/clang/tools || exit 1 - tar xvf $CWD/clang-tools-extra-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/clang-tools-extra-$VERSION.src.tar.xz..." + tar xf $CWD/clang-tools-extra-$VERSION.src.tar.xz || exit 1 mv clang-tools-extra-${VERSION} extra 2>/dev/null \ || mv clang-tools-extra-${VERSION}.src extra || exit 1 - ## HACK # Otherwise the build fails because files aren't found. - #rm -rf $TMP/clang-tools-extra - #cp -a extra $TMP/clang-tools-extra cd ../../../ cd projects || exit 1 - tar xvf $CWD/compiler-rt-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/compiler-rt-$VERSION.src.tar.xz..." + tar xf $CWD/compiler-rt-$VERSION.src.tar.xz || exit 1 mv compiler-rt-${VERSION} compiler-rt 2>/dev/null || mv compiler-rt-${VERSION}.src compiler-rt || exit 1 - tar xvf $CWD/openmp-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/openmp-$VERSION.src.tar.xz..." + tar xf $CWD/openmp-$VERSION.src.tar.xz || exit 1 mv openmp-${VERSION} openmp 2>/dev/null || mv openmp-${VERSION}.src openmp || exit 1 - tar xvf $CWD/libcxx-${VERSION}.src.tar.xz || exit 1 + echo "Extracting $CWD/libcxx-${VERSION}.src.tar.xz..." + tar xf $CWD/libcxx-${VERSION}.src.tar.xz || exit 1 mv libcxx-${VERSION} libcxx 2>/dev/null || mv libcxx-${VERSION}.src libcxx || exit 1 - tar xvf $CWD/libcxxabi-${VERSION}.src.tar.xz || exit 1 + echo "Extracting $CWD/libcxxabi-${VERSION}.src.tar.xz..." + tar xf $CWD/libcxxabi-${VERSION}.src.tar.xz || exit 1 mv libcxxabi-${VERSION} libcxxabi 2>/dev/null || mv libcxxabi-${VERSION}.src libcxxabi || exit 1 - tar xvf $CWD/polly-$VERSION.src.tar.xz || exit 1 + echo "Extracting $CWD/polly-$VERSION.src.tar.xz..." + tar xf $CWD/polly-$VERSION.src.tar.xz || exit 1 mv polly-${VERSION} polly 2>/dev/null || mv polly-${VERSION}.src polly || exit 1 # We just need a header file from this... - tar xvf $CWD/libunwind-${VERSION}.src.tar.xz || exit 1 + echo "Extracting $CWD/libunwind-${VERSION}.src.tar.xz..." + tar xf $CWD/libunwind-${VERSION}.src.tar.xz || exit 1 mv libunwind-${VERSION}.src libunwind || mv libunwind-${VERSION} libunwind || exit 1 cd ../ @@ -171,10 +182,17 @@ if [ -f ./tools/lldb/source/Utility/CMakeLists.txt ]; then fi fi -# This hackish link seems to be required... +# These files are not present for some reason, but they were found in a git +# pull of the entire project: +cp -a $CWD/missing-runtime-modules/*.cmake ../cmake/Modules/ + +# These hackish links seem to be required... cd .. ln -sf */runtimes . cd - +cd projects +ln -sf ../../cmake . +cd - chown -R root:root . find . \ diff --git a/source/d/llvm/llvm.url b/source/d/llvm/llvm.url index 2570e8c32..d91aa60a6 100644 --- a/source/d/llvm/llvm.url +++ b/source/d/llvm/llvm.url @@ -1,29 +1,29 @@ -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/llvm-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/clang-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/clang-tools-extra-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/compiler-rt-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/flang-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/lldb-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/openmp-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/polly-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/libcxx-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/libcxxabi-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/lld-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/libunwind-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/cmake-16.0.6.src.tar.xz -https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/third-party-16.0.6.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/llvm-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/clang-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/clang-tools-extra-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/compiler-rt-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/flang-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/lldb-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/openmp-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/polly-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/libcxx-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/libcxxabi-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/lld-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/libunwind-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/cmake-17.0.1.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/third-party-17.0.1.src.tar.xz -#http://llvm.org/releases/16.0.6/llvm-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/clang-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/clang-tools-extra-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/compiler-rt-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/flang-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/lldb-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/openmp-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/polly-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/libcxx-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/libcxxabi-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/lld-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/libunwind-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/cmake-16.0.6.src.tar.xz -#http://llvm.org/releases/16.0.6/third-party-16.0.6.src.tar.xz +#http://llvm.org/releases/17.0.1/llvm-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/clang-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/clang-tools-extra-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/compiler-rt-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/flang-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/lldb-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/openmp-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/polly-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/libcxx-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/libcxxabi-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/lld-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/libunwind-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/cmake-17.0.1.src.tar.xz +#http://llvm.org/releases/17.0.1/third-party-17.0.1.src.tar.xz diff --git a/source/d/llvm/missing-runtime-modules/HandleFlags.cmake b/source/d/llvm/missing-runtime-modules/HandleFlags.cmake new file mode 100644 index 000000000..4a62b6716 --- /dev/null +++ b/source/d/llvm/missing-runtime-modules/HandleFlags.cmake @@ -0,0 +1,113 @@ + +include(CheckCXXCompilerFlag) + +unset(add_flag_if_supported) + +# Mangle the name of a compiler flag into a valid CMake identifier. +# Ex: --std=c++11 -> STD_EQ_CXX11 +macro(mangle_name str output) + string(STRIP "${str}" strippedStr) + string(REGEX REPLACE "^/" "" strippedStr "${strippedStr}") + string(REGEX REPLACE "^-+" "" strippedStr "${strippedStr}") + string(REGEX REPLACE "-+$" "" strippedStr "${strippedStr}") + string(REPLACE "-" "_" strippedStr "${strippedStr}") + string(REPLACE "=" "_EQ_" strippedStr "${strippedStr}") + string(REPLACE "+" "X" strippedStr "${strippedStr}") + string(TOUPPER "${strippedStr}" ${output}) +endmacro() + +# Remove a list of flags from all CMake variables that affect compile flags. +# This can be used to remove unwanted flags specified on the command line +# or added in other parts of LLVM's cmake configuration. +macro(remove_flags) + foreach(var ${ARGN}) + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") + string(REPLACE "${var}" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REPLACE "${var}" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + string(REPLACE "${var}" "" CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") + string(REPLACE "${var}" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") + string(REPLACE "${var}" "" CMAKE_SHARED_MODULE_FLAGS "${CMAKE_SHARED_MODULE_FLAGS}") + remove_definitions(${var}) + endforeach() +endmacro(remove_flags) + +macro(check_flag_supported flag) + mangle_name("${flag}" flagname) + check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG") +endmacro() + +macro(append_flags DEST) + foreach(value ${ARGN}) + list(APPEND ${DEST} ${value}) + list(APPEND ${DEST} ${value}) + endforeach() +endmacro() + +# If the specified 'condition' is true then append the specified list of flags to DEST +macro(append_flags_if condition DEST) + if (${condition}) + list(APPEND ${DEST} ${ARGN}) + endif() +endmacro() + +# Add each flag in the list specified by DEST if that flag is supported by the current compiler. +macro(append_flags_if_supported DEST) + foreach(flag ${ARGN}) + mangle_name("${flag}" flagname) + check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG") + append_flags_if(CXX_SUPPORTS_${flagname}_FLAG ${DEST} ${flag}) + endforeach() +endmacro() + +# Add a macro definition if condition is true. +macro(define_if condition def) + if (${condition}) + add_definitions(${def}) + endif() +endmacro() + +# Add a macro definition if condition is not true. +macro(define_if_not condition def) + if (NOT ${condition}) + add_definitions(${def}) + endif() +endmacro() + +# Add a macro definition to the __config_site file if the specified condition +# is 'true'. Note that '-D${def}' is not added. Instead it is expected that +# the build include the '__config_site' header. +macro(config_define_if condition def) + if (${condition}) + set(${def} ON) + endif() +endmacro() + +macro(config_define_if_not condition def) + if (NOT ${condition}) + set(${def} ON) + endif() +endmacro() + +macro(config_define value def) + set(${def} ${value}) +endmacro() + +# Turn a comma separated CMake list into a space separated string. +macro(split_list listname) + string(REPLACE ";" " " ${listname} "${${listname}}") +endmacro() + +# For each specified flag, add that compile flag to the provided target. +# The flags are added with the given visibility, i.e. PUBLIC|PRIVATE|INTERFACE. +function(target_add_compile_flags_if_supported target visibility) + foreach(flag ${ARGN}) + mangle_name("${flag}" flagname) + check_cxx_compiler_flag("${flag}" "CXX_SUPPORTS_${flagname}_FLAG") + if (CXX_SUPPORTS_${flagname}_FLAG) + target_compile_options(${target} ${visibility} ${flag}) + endif() + endforeach() +endfunction() diff --git a/source/d/llvm/missing-runtime-modules/WarningFlags.cmake b/source/d/llvm/missing-runtime-modules/WarningFlags.cmake new file mode 100644 index 000000000..d06409841 --- /dev/null +++ b/source/d/llvm/missing-runtime-modules/WarningFlags.cmake @@ -0,0 +1,77 @@ +include(HandleFlags) + +# Warning flags =============================================================== +function(cxx_add_warning_flags target enable_werror enable_pedantic) + target_compile_definitions(${target} PUBLIC -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) + if (MSVC) + # -W4 is the cl.exe/clang-cl equivalent of -Wall. (In cl.exe and clang-cl, + # -Wall is equivalent to -Weverything in GCC style compiler drivers.) + target_add_compile_flags_if_supported(${target} PRIVATE -W4) + else() + target_add_compile_flags_if_supported(${target} PRIVATE -Wall) + endif() + # TODO: Should -Wconversion be enabled? + target_add_compile_flags_if_supported(${target} PRIVATE + -Wextra + -Wnewline-eof + -Wshadow + -Wwrite-strings + -Wno-unused-parameter + -Wno-long-long + -Werror=return-type + -Wextra-semi + -Wundef + -Wunused-template + -Wformat-nonliteral + ) + + if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + target_add_compile_flags_if_supported(${target} PRIVATE + -Wno-user-defined-literals + -Wno-covered-switch-default + -Wno-suggest-override + ) + if (LIBCXX_TARGETING_CLANG_CL) + target_add_compile_flags_if_supported(${target} PRIVATE + -Wno-c++98-compat + -Wno-c++98-compat-pedantic + -Wno-c++11-compat + -Wno-undef + -Wno-reserved-id-macro + -Wno-gnu-include-next + -Wno-gcc-compat # For ignoring "'diagnose_if' is a clang extension" warnings + -Wno-zero-as-null-pointer-constant # FIXME: Remove this and fix all occurrences. + -Wno-deprecated-dynamic-exception-spec # For auto_ptr + -Wno-sign-conversion + -Wno-old-style-cast + -Wno-deprecated # FIXME: Remove this and fix all occurrences. + -Wno-shift-sign-overflow # FIXME: Why do we need this with clang-cl but not clang? + -Wno-double-promotion # FIXME: remove me + ) + endif() + + elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") + + target_add_compile_flags_if_supported(${target} PRIVATE + -Wstrict-aliasing=2 + -Wstrict-overflow=4 + -Wno-attributes + -Wno-literal-suffix + -Wno-c++14-compat + -Wno-noexcept-type + -Wno-suggest-override + ) + + endif() + if (${enable_werror}) + target_add_compile_flags_if_supported(${target} PRIVATE -Werror) + target_add_compile_flags_if_supported(${target} PRIVATE -WX) + else() + # TODO(EricWF) Remove this. We shouldn't be suppressing errors when -Werror is + # added elsewhere. + target_add_compile_flags_if_supported(${target} PRIVATE -Wno-error) + endif() + if (${enable_pedantic}) + target_add_compile_flags_if_supported(${target} PRIVATE -pedantic) + endif() +endfunction() diff --git a/source/d/lua/lua.SlackBuild b/source/d/lua/lua.SlackBuild index 138d8f27f..b1be3b2c0 100755 --- a/source/d/lua/lua.SlackBuild +++ b/source/d/lua/lua.SlackBuild @@ -16,7 +16,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=lua VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -106,7 +106,7 @@ cd .. # and install the pkgconfig file mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig -cat $CWD/lua.pc | sed "s/%V%/$(echo $VERSION | cut -f 1-2 -d .)/g" | sed "s/%R%/$VERSION/g" > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/lua.pc +cat $CWD/lua.pc | sed "s/%V%/$(echo $VERSION | cut -f 1-2 -d .)/g" | sed "s/%R%/$VERSION/g" | sed "s/%LIBDIRSUFFIX%/$LIBDIRSUFFIX/g" > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/lua.pc find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/source/d/lua/lua.pc b/source/d/lua/lua.pc index cd31e712c..dbb94a95c 100644 --- a/source/d/lua/lua.pc +++ b/source/d/lua/lua.pc @@ -8,17 +8,17 @@ V=%V% R=%R% # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' -prefix= /usr/local +prefix= /usr INSTALL_BIN= ${prefix}/bin INSTALL_INC= ${prefix}/include -INSTALL_LIB= ${prefix}/lib +INSTALL_LIB= ${prefix}/lib%LIBDIRSUFFIX% INSTALL_MAN= ${prefix}/man/man1 INSTALL_LMOD= ${prefix}/share/lua/${V} -INSTALL_CMOD= ${prefix}/lib/lua/${V} +INSTALL_CMOD= ${prefix}/lib%LIBDIRSUFFIX%/lua/${V} # canonical vars exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/lib%LIBDIRSUFFIX% includedir=${prefix}/include Name: Lua diff --git a/source/kde/kde/build/kdevelop b/source/kde/kde/build/kdevelop index d00491fd7..0cfbf0888 100644 --- a/source/kde/kde/build/kdevelop +++ b/source/kde/kde/build/kdevelop @@ -1 +1 @@ -1 +2 diff --git a/source/l/libclc/libclc.url b/source/l/libclc/libclc.url index aeda981c7..fbcbc3328 100644 --- a/source/l/libclc/libclc.url +++ b/source/l/libclc/libclc.url @@ -1 +1 @@ -https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/libclc-12.0.0.src.tar.xz +https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.1/libclc-17.0.1.src.tar.xz diff --git a/source/l/spirv-llvm-translator/1889.patch b/source/l/spirv-llvm-translator/1889.patch deleted file mode 100644 index cd6f21e52..000000000 --- a/source/l/spirv-llvm-translator/1889.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 98fadafeae0204defedd89f015f7fb88f2888b2f Mon Sep 17 00:00:00 2001 -From: Tulio Magno Quites Machado Filho <tuliom@redhat.com> -Date: Fri, 17 Mar 2023 14:27:10 -0300 -Subject: [PATCH] Fix standalone builds with LLVM_LINK_LLVM_DYLIB=ON - -Move the LLVM components to LINK_COMPONENTS because the DEPENDS list has -the same semantics as add_dependencies(). In this -case it doesn't include the LLVM components when calling the linker. ---- - lib/SPIRV/CMakeLists.txt | 47 ++++++++++++---------------------------- - 1 file changed, 14 insertions(+), 33 deletions(-) - -diff --git a/lib/SPIRV/CMakeLists.txt b/lib/SPIRV/CMakeLists.txt -index bbef00528..2810c6b2c 100644 ---- a/lib/SPIRV/CMakeLists.txt -+++ b/lib/SPIRV/CMakeLists.txt -@@ -38,42 +38,23 @@ set(SRC_LIST - libSPIRV/SPIRVType.cpp - libSPIRV/SPIRVValue.cpp - ) --if(LLVM_LINK_LLVM_DYLIB) -- add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB -- ${SRC_LIST} -- DEPENDS -- intrinsics_gen -- LLVMAnalysis -- LLVMBitWriter -- LLVMCodeGen -- LLVMCore -- LLVMDemangle -- LLVMIRReader -- LLVMLinker -- LLVMPasses -- LLVMSupport -- LLVMTargetParser -- LLVMTransformUtils -- ) --else() -- add_llvm_library(LLVMSPIRVLib -- ${SRC_LIST} -- LINK_COMPONENTS -- Analysis -- BitWriter -- CodeGen -- Core -- Demangle -- IRReader -- Linker -- Passes -- Support -- TargetParser -- TransformUtils -+add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB -+ ${SRC_LIST} -+ LINK_COMPONENTS -+ Analysis -+ BitWriter -+ CodeGen -+ Core -+ Demangle -+ IRReader -+ Linker -+ Passes -+ Support -+ TargetParser -+ TransformUtils - DEPENDS - intrinsics_gen - ) --endif() - - target_include_directories(LLVMSPIRVLib - PRIVATE diff --git a/source/l/spirv-llvm-translator/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff b/source/l/spirv-llvm-translator/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff deleted file mode 100644 index 73f65f558..000000000 --- a/source/l/spirv-llvm-translator/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./lib/SPIRV/CMakeLists.txt.orig 2023-03-08 06:13:33.000000000 -0600 -+++ ./lib/SPIRV/CMakeLists.txt 2023-04-06 14:04:29.100168448 -0500 -@@ -39,7 +39,7 @@ - libSPIRV/SPIRVValue.cpp - ) - if(LLVM_LINK_LLVM_DYLIB) -- add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB -+ add_llvm_library(LLVMSPIRVLib - ${SRC_LIST} - DEPENDS - intrinsics_gen diff --git a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild index 621220ea8..a4c6b3249 100755 --- a/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild +++ b/source/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2021 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2021, 2023 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=spirv-llvm-translator VERSION=${VERSION:-$(echo SPIRV-LLVM-Translator-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -88,14 +88,6 @@ find . \ # the -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR option below. tar xf $CWD/SPIRV-Headers.tar.lz -## DISABLED... this still leads to problems which can be demonstrated by -## running clinfo. -## Fix -DBUILD_SHARED_LIBS=ON -#zcat $CWD/1889.patch.gz | patch -p1 --verbose || exit 1 - -# Avoid duplicated symbols. Thanks to lucabon! :-) -zcat $CWD/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff.gz | patch -p1 --verbose || exit 1 - # Build and install: mkdir -p build cd build diff --git a/source/l/spirv-llvm-translator/spirv-llvm-translator.url b/source/l/spirv-llvm-translator/spirv-llvm-translator.url new file mode 100644 index 000000000..496ddeea3 --- /dev/null +++ b/source/l/spirv-llvm-translator/spirv-llvm-translator.url @@ -0,0 +1 @@ +https://github.com/KhronosGroup/SPIRV-LLVM-Translator diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild index e69ebba18..4c3595d51 100755 --- a/source/x/mesa/mesa.SlackBuild +++ b/source/x/mesa/mesa.SlackBuild @@ -26,7 +26,7 @@ PKGNAM=mesa VERSION=${VERSION:-$(echo $PKGNAM-[0-9]*.tar.?z | rev | cut -f 3- -d . | rev | cut -f 2- -d -)} AMBERVERS=${AMBERVERS:-21.3.9} DEMOVERS=${DEMOVERS:-8.5.0} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} BUILD_AMBER=${BUILD_AMBER:-YES} BUILD_DEMOS=${BUILD_DEMOS:-YES} CODECS=${CODECS:-h264dec,h264enc,h265dec,h265enc,vc1dec} diff --git a/source/x/mesa/patches/23827.patch b/source/x/mesa/patches/23827.patch new file mode 100644 index 000000000..32dfd887a --- /dev/null +++ b/source/x/mesa/patches/23827.patch @@ -0,0 +1,42 @@ +From 919d6d420f49b61096b5ebfc65cfb3866a427e73 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 23 Jun 2023 01:20:38 -0700 +Subject: [PATCH] gallium: Fix build with llvm 17 + +These headers are not available for C files in llvm 17+ +and they seem to be not needed to compile after all with llvm 17 +so add conditions to exclude them for llvm >= 17 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c +index cd2108f3a088d..7131ec8667ecf 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c ++++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c +@@ -45,16 +45,18 @@ + #include <llvm-c/BitWriter.h> + #if GALLIVM_USE_NEW_PASS == 1 + #include <llvm-c/Transforms/PassBuilder.h> +-#elif GALLIVM_HAVE_CORO == 1 ++#elif GALLIVM_HAVE_CORO == 1 && LLVM_VERSION_MAJOR < 17 + #include <llvm-c/Transforms/Scalar.h> +-#if LLVM_VERSION_MAJOR >= 7 ++#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17 + #include <llvm-c/Transforms/Utils.h> + #endif + #if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64) + #include <llvm-c/Transforms/IPO.h> + #endif ++#if LLVM_VERSION_MAJOR < 17 + #include <llvm-c/Transforms/Coroutines.h> + #endif ++#endif + + unsigned gallivm_perf = 0; + +-- +GitLab + diff --git a/source/x/mesa/patches/2d4fe5f229791fde52846b3f583c12508b5109d6.patch b/source/x/mesa/patches/2d4fe5f229791fde52846b3f583c12508b5109d6.patch new file mode 100644 index 000000000..3fa3282f2 --- /dev/null +++ b/source/x/mesa/patches/2d4fe5f229791fde52846b3f583c12508b5109d6.patch @@ -0,0 +1,127 @@ +From 2d4fe5f229791fde52846b3f583c12508b5109d6 Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +Date: Fri, 25 Aug 2023 12:43:44 +1000 +Subject: clover/llvm: move to modern pass manager. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This seems like it should work, but I haven't tested it yet. + +Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24879> +--- + src/gallium/frontends/clover/llvm/invocation.cpp | 64 +++++++++++++++++++----- + 1 file changed, 51 insertions(+), 13 deletions(-) + +diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp +index 7a50fea3323..43d26fe1abb 100644 +--- a/src/gallium/frontends/clover/llvm/invocation.cpp ++++ b/src/gallium/frontends/clover/llvm/invocation.cpp +@@ -27,13 +27,17 @@ + #include <llvm/IR/DiagnosticPrinter.h> + #include <llvm/IR/DiagnosticInfo.h> + #include <llvm/IR/LLVMContext.h> ++#include <llvm/IR/Module.h> + #include <llvm/Support/raw_ostream.h> +-#include <llvm/Transforms/IPO/PassManagerBuilder.h> ++#include <llvm/Transforms/IPO/Internalize.h> + #include <llvm-c/Target.h> + #ifdef HAVE_CLOVER_SPIRV + #include <LLVMSPIRVLib/LLVMSPIRVLib.h> + #endif + ++#include <llvm-c/TargetMachine.h> ++#include <llvm-c/Transforms/PassBuilder.h> ++#include <llvm/Support/CBindingWrapping.h> + #include <clang/CodeGen/CodeGenAction.h> + #include <clang/Lex/PreprocessorOptions.h> + #include <clang/Frontend/TextDiagnosticBuffer.h> +@@ -439,10 +443,10 @@ clover::llvm::compile_program(const std::string &source, + + namespace { + void +- optimize(Module &mod, unsigned optimization_level, ++ optimize(Module &mod, ++ const std::string& ir_target, ++ unsigned optimization_level, + bool internalize_symbols) { +- ::llvm::legacy::PassManager pm; +- + // By default, the function internalizer pass will look for a function + // called "main" and then mark all other functions as internal. Marking + // functions as internal enables the optimizer to perform optimizations +@@ -458,19 +462,53 @@ namespace { + if (internalize_symbols) { + std::vector<std::string> names = + map(std::mem_fn(&Function::getName), get_kernels(mod)); +- pm.add(::llvm::createInternalizePass( ++ internalizeModule(mod, + [=](const ::llvm::GlobalValue &gv) { + return std::find(names.begin(), names.end(), + gv.getName()) != names.end(); +- })); ++ }); + } + +- ::llvm::PassManagerBuilder pmb; +- pmb.OptLevel = optimization_level; +- pmb.LibraryInfo = new ::llvm::TargetLibraryInfoImpl( +- ::llvm::Triple(mod.getTargetTriple())); +- pmb.populateModulePassManager(pm); +- pm.run(mod); ++ ++ const char *opt_str = NULL; ++ LLVMCodeGenOptLevel level; ++ switch (optimization_level) { ++ case 0: ++ default: ++ opt_str = "default<O0>"; ++ level = LLVMCodeGenLevelNone; ++ break; ++ case 1: ++ opt_str = "default<O1>"; ++ level = LLVMCodeGenLevelLess; ++ break; ++ case 2: ++ opt_str = "default<O2>"; ++ level = LLVMCodeGenLevelDefault; ++ break; ++ case 3: ++ opt_str = "default<O3>"; ++ level = LLVMCodeGenLevelAggressive; ++ break; ++ } ++ ++ const target &target = ir_target; ++ LLVMTargetRef targ; ++ char *err_message; ++ ++ if (LLVMGetTargetFromTriple(target.triple.c_str(), &targ, &err_message)) ++ return; ++ LLVMTargetMachineRef tm = ++ LLVMCreateTargetMachine(targ, target.triple.c_str(), ++ target.cpu.c_str(), "", level, ++ LLVMRelocDefault, LLVMCodeModelDefault); ++ ++ if (!tm) ++ return; ++ LLVMPassBuilderOptionsRef opts = LLVMCreatePassBuilderOptions(); ++ LLVMRunPasses(wrap(&mod), opt_str, tm, opts); ++ ++ LLVMDisposeTargetMachine(tm); + } + + std::unique_ptr<Module> +@@ -500,7 +538,7 @@ clover::llvm::link_program(const std::vector<binary> &binaries, + auto c = create_compiler_instance(dev, dev.ir_target(), options, r_log); + auto mod = link(*ctx, *c, binaries, r_log); + +- optimize(*mod, c->getCodeGenOpts().OptimizationLevel, !create_library); ++ optimize(*mod, dev.ir_target(), c->getCodeGenOpts().OptimizationLevel, !create_library); + + static std::atomic_uint seq(0); + const std::string id = "." + mod->getModuleIdentifier() + "-" + +-- +cgit v1.2.1 + |