diff --git a/glslang.be0 b/glslang.be0 index c52e973da..1ce93ac75 100755 --- a/glslang.be0 +++ b/glslang.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION glslang-16.5.0-0 +# BEE_VERSION glslang-16.5.0-1 #SRCURL[0]="https://github.com/KhronosGroup/glslang/archive/${PKGVERSION}/glslang-${PKGVERSION}.tar.gz" SRCURL[0]="https://beehive.molgen.mpg.de/79e949d6d50cc167e7d5307afb04c41a/glslang-16.5.0.tar.gz" diff --git a/mesalib.be0 b/mesalib.be0 index a35242d84..47f562876 100755 --- a/mesalib.be0 +++ b/mesalib.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION mesalib-26.2.1-0 +# BEE_VERSION mesalib-26.2.2-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) @@ -10,7 +10,7 @@ ## downloaded. Version variables may be used to simplify reuse of this bee-file. #SRCURL[0]="https://archive.mesa3d.org/mesa-${PKGVERSION}.tar.xz" -SRCURL[0]="https://beehive.molgen.mpg.de/0afe395a93eeb0307c7f906fc31e3ef6/mesa-26.2.1.tar.xz" +SRCURL[0]="https://beehive.molgen.mpg.de/4f9e0c96c913cdd9e8998453e248714e/mesa-26.2.2.tar.xz" ############################################################################### ## Add URLs/pathes to patch files to the PATCHURL array. diff --git a/spirv-tools.be0 b/spirv-tools.be0 index 1a6c26b7e..51ce45245 100755 --- a/spirv-tools.be0 +++ b/spirv-tools.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION spirv-tools-1.4.357.0-0 +# BEE_VERSION spirv-tools-1.4.357.0-1 #SRCURL[0]="https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-${PKGVERSION}/SPIRV-Tools-${PKGVERSION}.tar.gz" SRCURL[0]="https://beehive.molgen.mpg.de/c357eec1e33bc95e650aa4c8efdd3b13/SPIRV-Tools-1.4.357.0.tar.gz" @@ -19,11 +19,21 @@ SRCURL[0]="https://beehive.molgen.mpg.de/c357eec1e33bc95e650aa4c8efdd3b13/SPIRV- # bee_patch "${@}" #} +# SPIRV-Tools versions none of its libraries, and libSPIRV-Tools.so is the +# full-visibility target that exports the C++ interface upstream explicitly +# gives no stability guarantee for. Shared, that makes every version bump +# rebind its consumers to a different C++ ABI without a soname to catch it, +# so build the C++ libraries static -- upstream's default and intended +# configuration -- and leave only libSPIRV-Tools-shared.so, the C API, shared. +# +# Consumers of the C++ libraries need a new revision along with every update +# here: glslang and mesalib. mee_configure() { bee_configure \ -D SPIRV_WERROR=OFF \ - -D BUILD_SHARED_LIBS=ON \ - -D SPIRV_TOOLS_BUILD_STATIC=OFF \ + -D BUILD_SHARED_LIBS=OFF \ + -D SPIRV_TOOLS_BUILD_STATIC=ON \ + -D CMAKE_POSITION_INDEPENDENT_CODE=ON \ -D SPIRV-Headers_SOURCE_DIR=${PREFIX} } @@ -35,6 +45,12 @@ mee_configure() { # bee_install #} -#mee_install_post() { -# exit -#} +mee_install_post() { + # SPIRV-Tools.pc hardcodes the libraries as + # -lSPIRV-Tools-opt -lSPIRV-Tools -lSPIRV-Tools-link + # which is upside down for archives: libSPIRV-Tools-link.a needs symbols + # from libSPIRV-Tools-opt.a and libSPIRV-Tools.a, but is named after both, + # and ld searches an archive only where it is specified. + start_cmd sed -ri 's/^Libs: .*/Libs: -L${libdir} -lSPIRV-Tools-link -lSPIRV-Tools-opt -lSPIRV-Tools/' \ + ${D}${LIBDIR}/pkgconfig/SPIRV-Tools.pc +}