summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
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
commit04d707a7baaea6129a941a18bb2c4b629c29d22e (patch)
tree12a88fdaaf9807c01a0e578b5aeea2d315cd69b1 /source
parente2559d5d49cc23c6e82c6ca767ed63bab5dd0cf4 (diff)
downloadcurrent-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-xsource/d/llvm/llvm.SlackBuild56
-rw-r--r--source/d/llvm/llvm.url56
-rw-r--r--source/d/llvm/missing-runtime-modules/HandleFlags.cmake113
-rw-r--r--source/d/llvm/missing-runtime-modules/WarningFlags.cmake77
-rwxr-xr-xsource/d/lua/lua.SlackBuild4
-rw-r--r--source/d/lua/lua.pc8
-rw-r--r--source/kde/kde/build/kdevelop2
-rw-r--r--source/l/libclc/libclc.url2
-rw-r--r--source/l/spirv-llvm-translator/1889.patch73
-rw-r--r--source/l/spirv-llvm-translator/spirv-llvm-translator-noSTATIC-noDISABLE_LLVM_LINK_LLVM_DYLIB.diff11
-rwxr-xr-xsource/l/spirv-llvm-translator/spirv-llvm-translator.SlackBuild12
-rw-r--r--source/l/spirv-llvm-translator/spirv-llvm-translator.url1
-rwxr-xr-xsource/x/mesa/mesa.SlackBuild2
-rw-r--r--source/x/mesa/patches/23827.patch42
-rw-r--r--source/x/mesa/patches/2d4fe5f229791fde52846b3f583c12508b5109d6.patch127
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
+