packages: implement late variable binding

Move variable assignments into configure_package() if the assignments
depend on variables initialised after the package is sourced, ie.
$PKG_BUILD, $PKG_SOURCE_NAME etc.
This commit is contained in:
MilhouseVH 2018-12-18 03:43:28 +00:00
parent b1a960bf8f
commit b518bbf4e7
10 changed files with 301 additions and 289 deletions

View File

@ -18,15 +18,16 @@ PKG_ICU_OPTS="--disable-extras \
--disable-tests \
--disable-tools"
PKG_CONFIGURE_OPTS_HOST="--enable-static \
--disable-shared \
$PKG_ICU_OPTS"
configure_package() {
PKG_CONFIGURE_OPTS_TARGET="--with-cross-build=$PKG_BUILD/.$HOST_NAME \
$PKG_ICU_OPTS"
PKG_CONFIGURE_SCRIPT="source/configure"
}
post_makeinstall_target() {
rm -rf $INSTALL

View File

@ -11,8 +11,6 @@ PKG_DEPENDS_HOST="toolchain zlib:host"
PKG_DEPENDS_TARGET="toolchain zlib protobuf:host"
PKG_LONGDESC="Protocol Buffers for Google's data interchange format."
PKG_CMAKE_SCRIPT="$PKG_BUILD/cmake/CMakeLists.txt"
PKG_CMAKE_OPTS_HOST="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
-DBUILD_SHARED_LIBS=0 \
-Dprotobuf_BUILD_TESTS=0 \
@ -21,6 +19,10 @@ PKG_CMAKE_OPTS_HOST="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_HOST"
configure_package() {
PKG_CMAKE_SCRIPT="$PKG_BUILD/cmake/CMakeLists.txt"
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin

View File

@ -79,8 +79,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
--with-soxr \
--with-module-dir=/usr/lib/pulse"
pre_configure_target()
{
pre_configure_target() {
sed -e 's|; remixing-use-all-sink-channels = yes|; remixing-use-all-sink-channels = no|' \
-i $PKG_BUILD/src/daemon/daemon.conf.in
}

View File

@ -11,9 +11,11 @@ PKG_DEPENDS_HOST="toolchain"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="lz4 data compressor/decompressor"
configure_package() {
PKG_CMAKE_SCRIPT="$PKG_BUILD/contrib/cmake_unofficial/CMakeLists.txt"
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 -DCMAKE_POSITION_INDEPENDENT_CODE=0"
}
post_makeinstall_target() {
rm -rf $INSTALL

View File

@ -11,6 +11,7 @@ PKG_SOURCE_DIR=$PKG_NAME-$PKG_VERSION
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A fast real-time compression algorithm."
configure_package() {
PKG_CMAKE_SCRIPT="$PKG_BUILD/build/cmake/CMakeLists.txt"
PKG_CMAKE_OPTS_HOST="-DTHREADS_PTHREAD_ARG=0"
}

View File

@ -45,8 +45,6 @@ else
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-debug"
fi
NSS_CONF_DIR="$PKG_BUILD/nss"
pre_build_target() {
cd $PKG_BUILD
aclocal --force --verbose

View File

@ -12,9 +12,12 @@ PKG_LONGDESC="VRAM Test from libretro"
PKG_TOOLCHAIN="manual"
PKG_LIBNAME="testsw_vram_libretro.so"
PKG_LIBPATH="$PKG_BUILD/video/software/rendering_direct_to_vram/$PKG_LIBNAME"
PKG_LIBVAR="VRAM-TEST_LIB"
configure_package() {
PKG_LIBPATH="$PKG_BUILD/video/software/rendering_direct_to_vram/$PKG_LIBNAME"
}
make_target() {
cd $PKG_BUILD/video/software/rendering_direct_to_vram
make

View File

@ -14,10 +14,12 @@ PKG_LONGDESC="gpu-aml: Linux drivers for Mali GPUs found in Amlogic Meson SoCs"
PKG_TOOLCHAIN="manual"
PKG_IS_KERNEL_PKG="yes"
configure_package() {
PKG_UTGARD_VERSION="r5p1"
PKG_UTGARD_BUILD_DIR="$PKG_BUILD/utgard/$PKG_UTGARD_VERSION"
PKG_MIDGARD_VERSION="r16p0"
PKG_MIDGARD_BUILD_DIR="$PKG_BUILD/midgard/$PKG_MIDGARD_VERSION/kernel/drivers/gpu/arm/midgard"
}
pre_configure_target() {
sed -e "s|shell date|shell date -R|g" -i $PKG_BUILD/utgard/*/Kbuild

View File

@ -31,6 +31,7 @@ case $KODI_VENDOR in
;;
esac
configure_package() {
# Single threaded LTO is very slow so rely on Kodi for parallel LTO support
if [ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug; then
PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL"
@ -241,6 +242,7 @@ PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \
$KODI_OPTICAL \
$KODI_BLURAY \
$KODI_PLAYER"
}
pre_configure_target() {
export LIBS="$LIBS -lncurses"

View File

@ -13,6 +13,7 @@ PKG_NEED_UNPACK="$(get_pkg_directory heimdal) $(get_pkg_directory e2fsprogs)"
PKG_LONGDESC="A free SMB / CIFS fileserver and client."
PKG_BUILD_FLAGS="-gold"
configure_package() {
PKG_MAKE_OPTS_TARGET="V=1"
if [ "$AVAHI_DAEMON" = yes ]; then
@ -85,6 +86,7 @@ PKG_CONFIGURE_OPTS="--prefix=/usr \
PKG_SAMBA_TARGET="smbclient,client/smbclient,smbtree,testparm"
[ "$SAMBA_SERVER" = "yes" ] && PKG_SAMBA_TARGET+=",smbd/smbd,nmbd,smbpasswd"
}
pre_configure_target() {
# samba uses its own build directory