Init, adding corrade,magnum,magnum-plugins,magnum-integration,magnum-extras, and magnum-examples 2025.47_1
This commit is contained in:
6
common/build-helper/cmake-wxWidgets-gtk3.sh
Normal file
6
common/build-helper/cmake-wxWidgets-gtk3.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
export WX_CONFIG=${XBPS_WRAPPERDIR}/wx-config-gtk3
|
||||
else
|
||||
export WX_CONFIG=/usr/bin/wx-config-gtk3
|
||||
fi
|
||||
configure_args+=" -DwxWidgets_CONFIG_EXECUTABLE=${WX_CONFIG} "
|
||||
42
common/build-helper/gir.sh
Normal file
42
common/build-helper/gir.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# gir - build-helper for gobject-introspection
|
||||
#
|
||||
# This build-helper is used for packages that make use of
|
||||
# the GObject introspection middleware layer.
|
||||
#
|
||||
|
||||
# Check if the 'gir' build_option is set or if there is no
|
||||
# 'gir' build_option.
|
||||
if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
|
||||
if [[ $hostmakedepends != *"gobject-introspection"* ]]; then
|
||||
# Provide the host tooling, g-ir-scanner, g-ir-compiler
|
||||
# and its wrappers.
|
||||
hostmakedepends+=" gobject-introspection"
|
||||
fi
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
# Required for running binaries produced from g-ir-compiler
|
||||
# via g-ir-scanner-qemuwrapper
|
||||
hostmakedepends+=" qemu-user-${XBPS_TARGET_QEMU_MACHINE/x86_64/amd64}"
|
||||
|
||||
# Required for running the g-ir-scanner-lddwrapper
|
||||
hostmakedepends+=" prelink-cross"
|
||||
|
||||
if [[ $makedepends != *"gobject-introspection"* ]]; then
|
||||
# Provide basic .gir types like GLib, GObject, DBus, Gio, cairo
|
||||
# and tooling like g-ir-compiler
|
||||
makedepends+=" gobject-introspection"
|
||||
fi
|
||||
|
||||
export VAPIGEN_VAPIDIRS=${XBPS_CROSS_BASE}/usr/share/vala/vapi
|
||||
export VAPIGEN_GIRDIRS=${XBPS_CROSS_BASE}/usr/share/gir-1.0
|
||||
|
||||
# Provide some packages in hostmakedepends if they are in makedepends
|
||||
for f in gtk+3-devel python3-gobject-devel; do
|
||||
if [[ $makedepends == *"${f}"* ]]; then
|
||||
hostmakedepends+=" ${f}"
|
||||
fi
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
fi
|
||||
1
common/build-helper/haskell.sh
Normal file
1
common/build-helper/haskell.sh
Normal file
@@ -0,0 +1 @@
|
||||
export CABAL_DIR=/home/cabal
|
||||
88
common/build-helper/meson.sh
Normal file
88
common/build-helper/meson.sh
Normal file
@@ -0,0 +1,88 @@
|
||||
# This build helper writes a Meson cross-file, allowing other build styles
|
||||
# to properly drive cross-builds in Meson when appropriate
|
||||
|
||||
# Action is only taken for cross builds
|
||||
[ -z "$CROSS_BUILD" ] && return 0
|
||||
|
||||
# The cross file should only be written once, unless forced
|
||||
[ -e "${XBPS_WRAPPERDIR}/meson/xbps_meson.cross" ] && [ -z "$XBPS_BUILD_FORCEMODE" ] && return 0
|
||||
|
||||
mkdir -p "${XBPS_WRAPPERDIR}/meson"
|
||||
|
||||
_MESON_TARGET_ENDIAN=little
|
||||
# drop the -musl suffix to the target cpu, meson doesn't recognize it
|
||||
_MESON_TARGET_CPU=${XBPS_TARGET_MACHINE/-musl/}
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
mips|mips-musl|mipshf-musl)
|
||||
_MESON_TARGET_ENDIAN=big
|
||||
_MESON_CPU_FAMILY=mips
|
||||
;;
|
||||
armv*)
|
||||
_MESON_CPU_FAMILY=arm
|
||||
;;
|
||||
i686*)
|
||||
_MESON_CPU_FAMILY=x86
|
||||
;;
|
||||
ppc64le*)
|
||||
_MESON_CPU_FAMILY=ppc64
|
||||
;;
|
||||
ppc64*)
|
||||
_MESON_TARGET_ENDIAN=big
|
||||
_MESON_CPU_FAMILY=ppc64
|
||||
;;
|
||||
ppcle*)
|
||||
_MESON_CPU_FAMILY=ppc
|
||||
;;
|
||||
ppc*)
|
||||
_MESON_TARGET_ENDIAN=big
|
||||
_MESON_CPU_FAMILY=ppc
|
||||
;;
|
||||
*)
|
||||
# if we reached here that means that the cpu and cpu_family
|
||||
# are the same like 'x86_64' and 'aarch64'
|
||||
_MESON_CPU_FAMILY=${_MESON_TARGET_CPU}
|
||||
;;
|
||||
esac
|
||||
|
||||
# Tell meson to run binaries with qemu if desired
|
||||
_MESON_EXE_WRAPPER=""
|
||||
if [[ "${build_helper}" = *qemu* ]]; then
|
||||
_MESON_EXE_WRAPPER="exe_wrapper = '/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}'"
|
||||
fi
|
||||
|
||||
# Record cross-compiling information in cross file.
|
||||
#
|
||||
# CFLAGS, CXXFLAGS and LDFLAGS are not yet available and
|
||||
# will be taken from the environment at configure time.
|
||||
cat > "${XBPS_WRAPPERDIR}/meson/xbps_meson.cross" <<-EOF
|
||||
[binaries]
|
||||
${_MESON_EXE_WRAPPER:-# exe_wrapper is not set}
|
||||
c = '${CC}'
|
||||
cpp = '${CXX}'
|
||||
ar = '${XBPS_CROSS_TRIPLET}-gcc-ar'
|
||||
nm = '${NM}'
|
||||
strip = '${STRIP}'
|
||||
readelf = '${READELF}'
|
||||
objcopy = '${OBJCOPY}'
|
||||
pkg-config = '${PKG_CONFIG}'
|
||||
rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr']
|
||||
g-ir-scanner = '${XBPS_CROSS_BASE}/usr/bin/g-ir-scanner'
|
||||
g-ir-compiler = '${XBPS_CROSS_BASE}/usr/bin/g-ir-compiler'
|
||||
g-ir-generate = '${XBPS_CROSS_BASE}/usr/bin/g-ir-generate'
|
||||
llvm-config = 'llvm-config-qemu'
|
||||
cups-config = '${XBPS_CROSS_BASE}/usr/bin/cups-config'
|
||||
qmake6 = 'qmake6'
|
||||
qmake5 = 'qmake5'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
bindgen_clang_arguments = ['-target', '${XBPS_CROSS_TRIPLET}']
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = '${_MESON_CPU_FAMILY}'
|
||||
cpu = '${_MESON_TARGET_CPU}'
|
||||
endian = '${_MESON_TARGET_ENDIAN}'
|
||||
EOF
|
||||
|
||||
unset _MESON_CPU_FAMILY _MESON_TARGET_CPU _MESON_TARGET_ENDIAN _MESON_EXE_WRAPPER
|
||||
53
common/build-helper/numpy.sh
Normal file
53
common/build-helper/numpy.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# numpy - build-helper for packages that compile against python3-numpy
|
||||
#
|
||||
# This build-helper makes sure packages can find python3-numpy libraries and
|
||||
# headers on the target architecture rather than the host, as well as making
|
||||
# sure the gfortran cross compiler is properly identified.
|
||||
|
||||
# Even for cross compilation, numpy should be available on the host to ensure
|
||||
# that the host interpreter doesn't complain about missing deps
|
||||
if [[ $hostmakedepends != *"python3-numpy"* ]]; then
|
||||
hostmakedepends+=" python3-numpy"
|
||||
fi
|
||||
|
||||
[ -z "$CROSS_BUILD" ] && return 0
|
||||
|
||||
if [[ $makedepends != *"python3-numpy"* ]]; then
|
||||
makedepends+=" python3-numpy"
|
||||
fi
|
||||
|
||||
# python3-setuptools finds numpy libs and headers on the host first;
|
||||
# adding search paths up front allows the target to take priority
|
||||
CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
|
||||
LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
|
||||
|
||||
# distutils from python3-numpy looks to environment variables F77 and
|
||||
# F90 rather than the XBPS-set FC
|
||||
export F77="${FC}"
|
||||
export F90="${FC}"
|
||||
|
||||
# When compiling and linking FORTRAN, distutils from python3-numpy
|
||||
# refuses respect any linker name except "gfortran"; symlink to the
|
||||
# cross-compiler to that the right linker and compiler will be used
|
||||
if _gfortran=$(command -v "${FC}"); then
|
||||
ln -sf "${_gfortran}" "${XBPS_WRAPPERDIR}/gfortran"
|
||||
fi
|
||||
unset _gfortran
|
||||
|
||||
# Write a secondary meson cross file for numpy configuration
|
||||
if [[ "${build_helper}" = *meson* ]]; then
|
||||
_npy_meson_cross="${XBPS_WRAPPERDIR}/meson/xbps_numpy.cross"
|
||||
_cross_py_site="${XBPS_CROSS_BASE}/${py3_sitelib}"
|
||||
|
||||
if [ ! -e "${_npy_meson_cross}" ] || [ -n "$XBPS_BUILD_FORCEMODE" ]; then
|
||||
mkdir -p "${XBPS_WRAPPERDIR}/meson"
|
||||
cat > "${_npy_meson_cross}" <<-EOF
|
||||
[properties]
|
||||
numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
|
||||
pythran-include-dir = '${_cross_py_site}/pythran'
|
||||
EOF
|
||||
fi
|
||||
unset _npy_meson_cross _cross_py_site
|
||||
fi
|
||||
18
common/build-helper/python3.sh
Normal file
18
common/build-helper/python3.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
# fix building non-pure-python modules on cross
|
||||
if [ -n "$CROSS_BUILD" ]; then
|
||||
export PYPREFIX="$XBPS_CROSS_BASE"
|
||||
export CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
export CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
export LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_lib} -L${XBPS_CROSS_BASE}/usr/lib"
|
||||
export CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
|
||||
export CXX="${XBPS_CROSS_TRIPLET}-g++ -pthread $CXXFLAGS $LDFLAGS"
|
||||
export LDSHARED="${CC} -shared $LDFLAGS"
|
||||
export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"
|
||||
export PYTHONPATH="${XBPS_CROSS_BASE}/${py3_lib}"
|
||||
for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
|
||||
[ -f "$f" ] || continue
|
||||
f=${f##*/}
|
||||
_PYTHON_SYSCONFIGDATA_NAME=${f%.py}
|
||||
done
|
||||
[ -n "$_PYTHON_SYSCONFIGDATA_NAME" ] && export _PYTHON_SYSCONFIGDATA_NAME
|
||||
fi
|
||||
12
common/build-helper/qemu.sh
Normal file
12
common/build-helper/qemu.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
export QEMU_LD_PREFIX=${XBPS_CROSS_BASE}
|
||||
hostmakedepends+=" qemu-user-${XBPS_TARGET_QEMU_MACHINE/x86_64/amd64}"
|
||||
fi
|
||||
|
||||
vtargetrun() {
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
"/usr/bin/qemu-${XBPS_TARGET_QEMU_MACHINE}" "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
98
common/build-helper/qmake.sh
Normal file
98
common/build-helper/qmake.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
# This build-helper sets up qmake’s cross environment
|
||||
# in cases the build-style is mixed,
|
||||
# e.g. when in a gnu-configure style the configure
|
||||
# script calls qmake or a makefile in a gnu-makefile style,
|
||||
# respectively.
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
mkdir -p "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++"
|
||||
cat > "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++/qmake.conf" <<_EOF
|
||||
MAKEFILE_GENERATOR = UNIX
|
||||
CONFIG += incremental no_qt_rpath
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
include(/usr/lib/qt5/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/g++-unix.conf)
|
||||
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri
|
||||
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/modules
|
||||
QMAKE_CC = ${CC}
|
||||
QMAKE_CXX = ${CXX}
|
||||
QMAKE_LINK = ${CXX}
|
||||
QMAKE_LINK_C = ${CC}
|
||||
QMAKE_LINK_SHLIB = ${CXX}
|
||||
|
||||
QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs
|
||||
QMAKE_OBJCOPY = ${OBJCOPY}
|
||||
QMAKE_NM = ${NM} -P
|
||||
QMAKE_STRIP = ${STRIP}
|
||||
|
||||
QMAKE_CFLAGS = ${CFLAGS}
|
||||
QMAKE_CXXFLAGS = ${CXXFLAGS}
|
||||
QMAKE_LFLAGS = ${LDFLAGS}
|
||||
load(qt_config)
|
||||
_EOF
|
||||
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++/qplatformdefs.h"
|
||||
|
||||
cat > "${XBPS_WRAPPERDIR}/qt5.conf" <<_EOF
|
||||
[Paths]
|
||||
Sysroot=${XBPS_CROSS_BASE}
|
||||
Prefix=${XBPS_CROSS_BASE}/usr
|
||||
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
|
||||
Data=${XBPS_CROSS_BASE}/usr/share/qt5
|
||||
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
|
||||
Headers=${XBPS_CROSS_BASE}/usr/include/qt5
|
||||
Libraries=${XBPS_CROSS_BASE}/usr/lib
|
||||
LibraryExecutables=/usr/lib/qt5/libexec
|
||||
Binaries=/usr/lib/qt5/bin
|
||||
Tests=${XBPS_CROSS_BASE}/usr/tests
|
||||
Plugins=/usr/lib/qt5/plugins
|
||||
Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
|
||||
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
|
||||
Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
|
||||
Settings=${XBPS_CROSS_BASE}/etc/xdg
|
||||
Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
|
||||
HostPrefix=/usr
|
||||
HostData=/usr/lib/qt5
|
||||
HostBinaries=/usr/lib/qt5/bin
|
||||
HostLibraries=/usr/lib
|
||||
Spec=linux-g++
|
||||
TargetSpec=$XBPS_WRAPPERDIR/qt5/target-spec/linux-g++
|
||||
_EOF
|
||||
|
||||
# create the qmake-wrapper here because it only
|
||||
# makes sense together with the qmake build-helper
|
||||
# and not to interfere with e.g. the qmake build-style
|
||||
#
|
||||
# + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS
|
||||
# + hardening flags will be picked up from environment variables
|
||||
cat > "${XBPS_WRAPPERDIR}/qmake5" <<_EOF
|
||||
#!/bin/sh
|
||||
exec /usr/lib/qt5/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt5.conf" \\
|
||||
QMAKE_CFLAGS+="\${CFLAGS}" \\
|
||||
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\
|
||||
QMAKE_LFLAGS+="\${LDFLAGS}"
|
||||
_EOF
|
||||
else
|
||||
cat > "${XBPS_WRAPPERDIR}/qmake5" <<_EOF
|
||||
#!/bin/sh
|
||||
exec /usr/lib/qt5/bin/qmake \
|
||||
"\$@" \
|
||||
PREFIX=/usr \
|
||||
QT_INSTALL_PREFIX=/usr \
|
||||
LIB=/usr/lib \
|
||||
QMAKE_CC="$CC" QMAKE_CXX="$CXX" \
|
||||
QMAKE_LINK="$CXX" QMAKE_LINK_C="$CC" \
|
||||
QMAKE_CFLAGS+="\${CFLAGS}" \
|
||||
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \
|
||||
QMAKE_LFLAGS+="\${LDFLAGS}" \
|
||||
CONFIG+=no_qt_rpath
|
||||
_EOF
|
||||
fi
|
||||
chmod 755 ${XBPS_WRAPPERDIR}/qmake5
|
||||
cp -p ${XBPS_WRAPPERDIR}/qmake{5,-qt5}
|
||||
if [ -z "$qmake_default_version" ] || [ "${qmake_default_version}" = "5" ]; then
|
||||
cp -p ${XBPS_WRAPPERDIR}/qmake{5,}
|
||||
fi
|
||||
107
common/build-helper/qmake6.sh
Normal file
107
common/build-helper/qmake6.sh
Normal file
@@ -0,0 +1,107 @@
|
||||
# This build-helper sets up qmake’s cross environment
|
||||
# in cases the build-style is mixed,
|
||||
# e.g. when in a gnu-configure style the configure
|
||||
# script calls qmake or a makefile in a gnu-makefile style,
|
||||
# respectively.
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
mkdir -p "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++"
|
||||
cat > "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++/qmake.conf" <<_EOF
|
||||
MAKEFILE_GENERATOR = UNIX
|
||||
CONFIG += incremental no_qt_rpath
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
include(/usr/lib/qt6/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/qt6/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/qt6/mkspecs/common/g++-unix.conf)
|
||||
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/qmodule.pri
|
||||
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/modules
|
||||
QMAKE_CC = ${CC}
|
||||
QMAKE_CXX = ${CXX}
|
||||
QMAKE_LINK = ${CXX}
|
||||
QMAKE_LINK_C = ${CC}
|
||||
QMAKE_LINK_SHLIB = ${CXX}
|
||||
|
||||
QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs
|
||||
QMAKE_OBJCOPY = ${OBJCOPY}
|
||||
QMAKE_NM = ${NM} -P
|
||||
QMAKE_STRIP = ${STRIP}
|
||||
|
||||
QMAKE_CFLAGS = ${CFLAGS}
|
||||
QMAKE_CXXFLAGS = ${CXXFLAGS}
|
||||
QMAKE_LFLAGS = ${LDFLAGS}
|
||||
load(qt_config)
|
||||
_EOF
|
||||
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++/qplatformdefs.h"
|
||||
|
||||
cat > "${XBPS_WRAPPERDIR}/qt6.conf" <<_EOF
|
||||
[Paths]
|
||||
Sysroot=${XBPS_CROSS_BASE}
|
||||
Prefix=${XBPS_CROSS_BASE}/usr
|
||||
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt6
|
||||
Data=${XBPS_CROSS_BASE}/usr/share/qt6
|
||||
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt6
|
||||
Headers=${XBPS_CROSS_BASE}/usr/include/qt6
|
||||
Libraries=${XBPS_CROSS_BASE}/usr/lib
|
||||
LibraryExecutables=/usr/lib/qt6/libexec
|
||||
Binaries=/usr/lib/qt6/bin
|
||||
Tests=${XBPS_CROSS_BASE}/usr/tests
|
||||
Plugins=/usr/lib/qt6/plugins
|
||||
Imports=${XBPS_CROSS_BASE}/usr/lib/qt6/imports
|
||||
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt6/qml
|
||||
Translations=${XBPS_CROSS_BASE}/usr/share/qt6/translations
|
||||
Settings=${XBPS_CROSS_BASE}/etc/xdg
|
||||
Examples=${XBPS_CROSS_BASE}/usr/lib/qt6/examples
|
||||
HostPrefix=/usr
|
||||
HostData=/usr/lib/qt6
|
||||
HostBinaries=/usr/lib/qt6/bin
|
||||
HostLibraries=/usr/lib
|
||||
HostLibraryExecutables=/usr/lib/qt6/libexec
|
||||
Spec=linux-g++
|
||||
TargetSpec=$XBPS_WRAPPERDIR/qt6/target-spec/linux-g++
|
||||
_EOF
|
||||
|
||||
# create the qmake-wrapper here because it only
|
||||
# makes sense together with the qmake build-helper
|
||||
# and not to interfere with e.g. the qmake build-style
|
||||
#
|
||||
# + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS
|
||||
# + hardening flags will be picked up from environment variables
|
||||
cat > "${XBPS_WRAPPERDIR}/qmake6" <<_EOF
|
||||
#!/bin/sh
|
||||
exec /usr/lib/qt6/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt6.conf" \\
|
||||
QMAKE_CFLAGS+="\${CFLAGS}" \\
|
||||
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\
|
||||
QMAKE_LFLAGS+="\${LDFLAGS}"
|
||||
_EOF
|
||||
cat > "${XBPS_WRAPPERDIR}/qtpaths6" <<-_EOF
|
||||
#!/bin/sh
|
||||
exec /usr/lib/qt6/bin/qtpaths6 "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt6.conf"
|
||||
_EOF
|
||||
chmod +x "${XBPS_WRAPPERDIR}/qtpaths6"
|
||||
cp -p ${XBPS_WRAPPERDIR}/qtpaths{6,-qt6}
|
||||
else
|
||||
cat > "${XBPS_WRAPPERDIR}/qmake6" <<_EOF
|
||||
#!/bin/sh
|
||||
exec /usr/lib/qt6/bin/qmake \
|
||||
"\$@" \
|
||||
PREFIX=/usr \
|
||||
QT_INSTALL_PREFIX=/usr \
|
||||
LIB=/usr/lib \
|
||||
QMAKE_CC="$CC" QMAKE_CXX="$CXX" \
|
||||
QMAKE_LINK="$CXX" QMAKE_LINK_C="$CC" \
|
||||
QMAKE_CFLAGS+="\${CFLAGS}" \
|
||||
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \
|
||||
QMAKE_LFLAGS+="\${LDFLAGS}" \
|
||||
CONFIG+=no_qt_rpath
|
||||
_EOF
|
||||
ln -sf /usr/lib/qt6/bin/qtpaths6 "$XBPS_WRAPPERDIR/qtpaths6"
|
||||
ln -sf /usr/lib/qt6/bin/qtpaths6 "$XBPS_WRAPPERDIR/qtpaths-qt6"
|
||||
fi
|
||||
chmod 755 ${XBPS_WRAPPERDIR}/qmake6
|
||||
cp -p ${XBPS_WRAPPERDIR}/qmake{6,-qt6}
|
||||
if [ -z "$qmake_default_version" ] || [ "${qmake_default_version}" = "6" ]; then
|
||||
cp -p ${XBPS_WRAPPERDIR}/qmake{6,}
|
||||
fi
|
||||
95
common/build-helper/rust.sh
Normal file
95
common/build-helper/rust.sh
Normal file
@@ -0,0 +1,95 @@
|
||||
# Define equivalent of TOML config in environment
|
||||
# [build]
|
||||
# jobs = $XBPS_MAKEJOBS
|
||||
export CARGO_BUILD_JOBS="$XBPS_MAKEJOBS"
|
||||
export CARGO_HOME="/host/cargo"
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
# Define equivalent of TOML config in environment
|
||||
# [target.${RUST_TARGET}]
|
||||
# linker = ${CC}
|
||||
_XBPS_CROSS_RUST_TARGET_ENV="${XBPS_CROSS_RUST_TARGET^^}"
|
||||
_XBPS_CROSS_RUST_TARGET_ENV="${_XBPS_CROSS_RUST_TARGET_ENV//-/_}"
|
||||
export CARGO_TARGET_${_XBPS_CROSS_RUST_TARGET_ENV}_LINKER="$CC"
|
||||
unset _XBPS_CROSS_RUST_TARGET_ENV
|
||||
|
||||
# Define equivalent of TOML config in environment
|
||||
# [build]
|
||||
# target = ${RUST_TARGET}
|
||||
export CARGO_BUILD_TARGET="$RUST_TARGET"
|
||||
|
||||
# If cc-rs needs to build host binaries, it guesses the compiler and
|
||||
# uses default (wrong) flags unless they are specified explicitly;
|
||||
# innocuous flags are used here just to disable its defaults
|
||||
export HOST_CC="gcc"
|
||||
export HOST_CFLAGS="-O2"
|
||||
|
||||
# Crates that use bindgen via build.rs are not cross-aware unless these are set
|
||||
export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
else
|
||||
unset CARGO_BUILD_TARGET
|
||||
fi
|
||||
|
||||
# prevent cargo stripping debug symbols
|
||||
export CARGO_PROFILE_RELEASE_STRIP=false
|
||||
|
||||
# For cross-compiling rust -sys crates
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
|
||||
# For cross-compiling pyo3 bindings
|
||||
export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
|
||||
export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
|
||||
|
||||
# gettext-rs
|
||||
export GETTEXT_BIN_DIR=/usr/bin
|
||||
export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"
|
||||
export GETTEXT_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
|
||||
|
||||
# libssh2-sys
|
||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
|
||||
# sodium-sys
|
||||
export SODIUM_LIB_DIR="${XBPS_CROSS_BASE}/usr/include"
|
||||
export SODIUM_INC_DIR="${XBPS_CROSS_BASE}/usr/lib"
|
||||
export SODIUM_SHARED=1
|
||||
|
||||
# openssl-sys
|
||||
export OPENSSL_NO_VENDOR=1
|
||||
|
||||
# pcre2-sys, only necessary for musl targets
|
||||
export PCRE2_SYS_STATIC=0
|
||||
|
||||
# zstd-sys
|
||||
export ZSTD_SYS_USE_PKG_CONFIG=1
|
||||
|
||||
# onig-sys
|
||||
export RUSTONIG_SYSTEM_LIBONIG=1
|
||||
|
||||
# libsqlite3-sys
|
||||
export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
|
||||
|
||||
# jemalloc-sys
|
||||
export JEMALLOC_SYS_WITH_LG_PAGE=16
|
||||
|
||||
# libgit2-sys
|
||||
export LIBGIT2_NO_VENDOR=1
|
||||
|
||||
cat > ${XBPS_WRAPPERDIR}/cargo <<'_EOF'
|
||||
#!/bin/sh
|
||||
is_auditable() {
|
||||
while [ "$#" != 0 ]; do
|
||||
case "$1" in
|
||||
-*) shift ;;
|
||||
auditable) return 0 ;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
if ! command -v cargo-auditable >/dev/null || is_auditable "$@"; then
|
||||
exec /usr/bin/cargo "$@"
|
||||
fi
|
||||
exec /usr/bin/cargo auditable "$@"
|
||||
_EOF
|
||||
|
||||
chmod 755 ${XBPS_WRAPPERDIR}/cargo
|
||||
Reference in New Issue
Block a user