paraview: fix for x86_64-musl.

The build system doesn't pick up the execinfo dependency properly, so
fixing the linking portion requires manual intervention.
This commit is contained in:
Érico Rolim 2020-09-28 02:52:26 -03:00
parent d36c20b87b
commit b3ce2a2e38

View file

@ -17,6 +17,7 @@ configure_args="-DCMAKE_PREFIX_PATH=${XBPS_CROSS_BASE}/usr
-DVTKm_USE_DOUBLE_PRECISION=ON"
#make_build_args="VERBOSE=1"
hostmakedepends="pkg-config which"
# TODO: find some way of making this work with system vtk
makedepends="MesaLib-devel libfreeglut-devel glu-devel libXt-devel
openmpi-devel qt5-devel qt5-x11extras-devel qt5-tools-devel qt5-plugin-mysql
qt5-plugin-odbc qt5-plugin-pgsql qt5-plugin-sqlite qt5-plugin-tds
@ -41,15 +42,23 @@ export QT_SELECT="5"
if [ "$XBPS_TARGET_LIBC" = musl ]; then
makedepends+=" libexecinfo-devel"
LDFLAGS="-lexecinfo"
fi
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
fi
case "$XBPS_MACHINE" in
# TODO: is this necessary for other kinds of 32bit builders?
i686*) # XXX: this might be necessary if the i686 builder dies due to OOM
: disable_parallel_build="https://build.voidlinux.org/builders/i686_builder/builds/27013/steps/shell_3/logs/stdio"
;;
esac
case "$XBPS_TARGET_MACHINE" in
x86_64) ;;
*) # broken for all other targets
broken="https://build.voidlinux.org/builders/i686_builder/builds/27013/steps/shell_3/logs/stdio"
x68_64*|i686*) ;;
*)
broken="uncertain why; currently being tested"
;;
esac
@ -60,6 +69,25 @@ post_extract() {
fi
}
_add_execinfo() {
# contents of link.txt files need to be in a single line
local content="$(cat $1) -lexecinfo "
echo "$content" > $1
}
pre_build() {
if [ "$XBPS_TARGET_LIBC" = musl ]; then
# TODO: -lexecinfo in LDFLAGS adds it to the start of the file, so linking still fails.
# there's probably some configure_arg that actually makes it work cleanly, I hope.
# this list of files hasn't been extensively tested. It's possible not all of them are required.
_add_execinfo build/VTK/Rendering/LICOpenGL2/CMakeFiles/RenderingLICOpenGL2.dir/link.txt
_add_execinfo build/VTK/Rendering/OpenGL2/CMakeFiles/vtkProbeOpenGLVersion.dir/link.txt
_add_execinfo build/VTK/ThirdParty/loguru/vtkloguru/CMakeFiles/loguru.dir/link.txt
_add_execinfo build/VTK/Common/Core/CMakeFiles/CommonCore.dir/link.txt
_add_execinfo build/VTKExtensions/Core/CMakeFiles/VTKExtensionsCore.dir/link.txt
fi
}
post_install() {
vlicense Copyright.txt
}