mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #3171 from MilhouseVH/le90_buildsystem_source_packages-with-drop
buildsystem: centralise package sourcing
This commit is contained in:
commit
a98586ba33
141
config/functions
141
config/functions
@ -10,24 +10,6 @@ die() {
|
|||||||
exit "${2:-1}"
|
exit "${2:-1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# p1: name of potential function to execute if it exists
|
|
||||||
# return 0 if function executed, 1 if not, die if error
|
|
||||||
pkg_call() {
|
|
||||||
[ -n "${PKG_NAME}" ] || die "$(print_color CLR_ERROR "FAILURE: Cannot call ${1} package function when package is not known!")"
|
|
||||||
|
|
||||||
if [ "$(type -t ${1})" = "function" ]; then
|
|
||||||
${1} || die "$(print_color CLR_ERROR "FAILURE: ${1} for package ${PKG_NAME} did not succeed!")"
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# p1: name of potential function to execute if it exists
|
|
||||||
# return 0 if function executed or not, or die if error
|
|
||||||
pkg_call_optional() {
|
|
||||||
pkg_call ${1} || return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# return 0 if $2 in space-separated list $1, otherwise return 1
|
# return 0 if $2 in space-separated list $1, otherwise return 1
|
||||||
listcontains() {
|
listcontains() {
|
||||||
if [ -n "$1" -a -n "$2" ]; then
|
if [ -n "$1" -a -n "$2" ]; then
|
||||||
@ -687,8 +669,7 @@ do_autoreconf() {
|
|||||||
get_pkg_variable() {
|
get_pkg_variable() {
|
||||||
if [ -n "$1" -a -n "$2" ] ; then
|
if [ -n "$1" -a -n "$2" ] ; then
|
||||||
if [ "$1" != "$PKG_NAME" ]; then
|
if [ "$1" != "$PKG_NAME" ]; then
|
||||||
cd $ROOT
|
source_package "${1}"
|
||||||
. config/options $1 &>/dev/null
|
|
||||||
fi
|
fi
|
||||||
echo "${!2}"
|
echo "${!2}"
|
||||||
fi
|
fi
|
||||||
@ -811,6 +792,126 @@ find_dir_path() {
|
|||||||
find_path -d "$1" "$2"
|
find_path -d "$1" "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# p1: name of potential function to execute if it exists
|
||||||
|
# return 0 if function executed, 1 if not, die if error
|
||||||
|
pkg_call() {
|
||||||
|
[ -n "${PKG_NAME}" ] || die "$(print_color CLR_ERROR "FAILURE: Cannot call ${1} package function when package is not known!")"
|
||||||
|
|
||||||
|
if [ "$(type -t ${1})" = "function" ]; then
|
||||||
|
${1} || die "$(print_color CLR_ERROR "FAILURE: ${1} for package ${PKG_NAME} did not succeed!")"
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# p1: name of potential function to execute if it exists
|
||||||
|
# return 0 if function executed or not, or die if error
|
||||||
|
pkg_call_optional() {
|
||||||
|
pkg_call ${1} || return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
unset_functions() {
|
||||||
|
local target
|
||||||
|
|
||||||
|
unset -f configure_package
|
||||||
|
|
||||||
|
unset -f pre_unpack unpack post_unpack
|
||||||
|
unset -f pre_patch post_patch
|
||||||
|
|
||||||
|
for target in target host init bootstrap; do
|
||||||
|
unset -f pre_build_${target}
|
||||||
|
unset -f pre_configure_${target} configure_${target} post_configure_${target}
|
||||||
|
unset -f pre_make_${target} make_${target} post_make_${target}
|
||||||
|
unset -f pre_makeinstall_${target} makeinstall_${target} post_makeinstall_${target}
|
||||||
|
done
|
||||||
|
|
||||||
|
unset -f pre_install post_install
|
||||||
|
|
||||||
|
unset -f addon
|
||||||
|
}
|
||||||
|
|
||||||
|
# p1: name of package to be sourced
|
||||||
|
source_package() {
|
||||||
|
local opwd="${PWD}"
|
||||||
|
|
||||||
|
# Don't use BUILD_WITH_DEBUG in "global" package.mk - instead, call the function
|
||||||
|
# build_with_debug() directly as the function depends on various package.mk
|
||||||
|
# variables that will be in the process of being configured. Once package.mk is
|
||||||
|
# fully sourced we can set this variable and use it in situations where we know the
|
||||||
|
# package has already been sourced.
|
||||||
|
unset BUILD_WITH_DEBUG
|
||||||
|
|
||||||
|
reset_pkg_vars
|
||||||
|
unset_functions
|
||||||
|
|
||||||
|
if [ -n "${1}" ]; then
|
||||||
|
PKG_DIR="$(get_pkg_directory ${1})"
|
||||||
|
|
||||||
|
[ -n "$PKG_DIR" -a -r $PKG_DIR/package.mk ] || die "FAILURE: unable to source package - ${1}/package.mk does not exist"
|
||||||
|
|
||||||
|
cd "${ROOT}"
|
||||||
|
. ${PKG_DIR}/package.mk || die "FAILURE: an error occurred while sourcing ${PKG_DIR}/package.mk"
|
||||||
|
cd "${opwd}"
|
||||||
|
|
||||||
|
PKG_SHORTDESC="${PKG_SHORTDESC:-${PKG_NAME} (autogenerated)}"
|
||||||
|
PKG_LONGDESC="${PKG_LONGDESC:-${PKG_NAME} (autogenerated)}"
|
||||||
|
|
||||||
|
if [ "$PKG_IS_ADDON" = "yes" -o "$PKG_IS_ADDON" = "embedded" ] ; then
|
||||||
|
[ -z $PKG_SECTION ] && PKG_ADDON_ID="$PKG_NAME" || PKG_ADDON_ID="${PKG_SECTION//\//.}.$PKG_NAME"
|
||||||
|
[ "$PKG_ADDON_IS_STANDALONE" != "yes" ] && PKG_NEED_UNPACK="${PKG_NEED_UNPACK} $(get_pkg_directory $MEDIACENTER)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Automatically set PKG_SOURCE_NAME unless it is already defined.
|
||||||
|
# PKG_SOURCE_NAME will be automatically set to a name based on
|
||||||
|
# the $PKG_NAME-$PKG_VERSION convention.
|
||||||
|
#
|
||||||
|
# Any $PKG_URL that references more than a single url will abort
|
||||||
|
# the build as these are no longer supported - use mkpkg instead.
|
||||||
|
if [ -n "$PKG_URL" -a -z "$PKG_SOURCE_NAME" ]; then
|
||||||
|
if [[ $PKG_URL =~ .*\ .* ]]; then
|
||||||
|
echo "Error - packages with multiple urls are no longer supported, use mkpkg."
|
||||||
|
echo "$PKG_URL"
|
||||||
|
die
|
||||||
|
fi
|
||||||
|
if [[ ${PKG_URL} =~ .git$ || ${PKG_URL} =~ ^git:// ]]; then
|
||||||
|
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}
|
||||||
|
elif [[ ${PKG_URL} =~ ^file:// ]]; then
|
||||||
|
PKG_SOURCE_NAME=${PKG_URL#file://}
|
||||||
|
# if no specific PKG_TAR_COPY_OPTS then default to excluding .git and .svn as they can be huge
|
||||||
|
[ -z "${PKG_TAR_COPY_OPTS+x}" ] && PKG_TAR_COPY_OPTS="--exclude=.git --exclude=.svn"
|
||||||
|
else
|
||||||
|
PKG_SOURCE_NAME="${PKG_URL##*/}"
|
||||||
|
case $PKG_SOURCE_NAME in
|
||||||
|
${PKG_NAME}-${PKG_VERSION}.*)
|
||||||
|
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
||||||
|
;;
|
||||||
|
*.tar | *.tbz | *.tgz | *.txz | *.7z | *.zip)
|
||||||
|
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.${PKG_SOURCE_NAME##*\.}
|
||||||
|
;;
|
||||||
|
*.tar.bz2 | *.tar.gz | *.tar.xz)
|
||||||
|
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.tar.${PKG_SOURCE_NAME##*\.}
|
||||||
|
;;
|
||||||
|
*.diff | *.patch | *.diff.bz2 | *.patch.bz2 | patch-*.bz2 | *.diff.gz | *.patch.gz | patch-*.gz)
|
||||||
|
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.${PKG_SOURCE_NAME##*\.}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
PKG_BUILD="$BUILD/${PKG_NAME}-${PKG_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
build_with_debug && BUILD_WITH_DEBUG="yes" || BUILD_WITH_DEBUG="no"
|
||||||
|
|
||||||
|
# Late variable binding - allow the package to now evaluate any variables
|
||||||
|
# that we may have initialised after sourcing the package, typically
|
||||||
|
# PKG_BUILD etc.
|
||||||
|
[ -n "${PKG_NAME}" ] && pkg_call_optional configure_package || true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
### KERNEL HELPERS ###
|
### KERNEL HELPERS ###
|
||||||
kernel_path() {
|
kernel_path() {
|
||||||
|
@ -94,3 +94,11 @@ check_config
|
|||||||
|
|
||||||
. config/graphic
|
. config/graphic
|
||||||
. config/path $1
|
. config/path $1
|
||||||
|
|
||||||
|
## package processing
|
||||||
|
|
||||||
|
# If the package caches are unset, then populate them
|
||||||
|
init_package_cache
|
||||||
|
|
||||||
|
# set package metadata
|
||||||
|
source_package "${1}"
|
||||||
|
103
config/path
103
config/path
@ -1,3 +1,6 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# setup initial directorys (relative to root)
|
# setup initial directorys (relative to root)
|
||||||
@ -59,79 +62,6 @@ INSTALL_INIT=$BUILD/image/initramfs/root-image
|
|||||||
MAKE="$TOOLCHAIN/bin/make"
|
MAKE="$TOOLCHAIN/bin/make"
|
||||||
MAKEINSTALL="$TOOLCHAIN/bin/make -j1 DESTDIR=$SYSROOT_PREFIX install"
|
MAKEINSTALL="$TOOLCHAIN/bin/make -j1 DESTDIR=$SYSROOT_PREFIX install"
|
||||||
|
|
||||||
unset LD_LIBRARY_PATH
|
|
||||||
|
|
||||||
# Don't use BUILD_WITH_DEBUG in "gloabl" package.mk - instead, call the function
|
|
||||||
# build_with_debug() directly as the function depends on various package.mk
|
|
||||||
# variables that will be in the process of being configured. Once package.mk is
|
|
||||||
# fully sourced we can set this variable and use it in situations where we know the
|
|
||||||
# package has already been sourced.
|
|
||||||
unset BUILD_WITH_DEBUG
|
|
||||||
|
|
||||||
# If the package caches are unset, then populate them
|
|
||||||
init_package_cache
|
|
||||||
|
|
||||||
# set package metadata
|
|
||||||
reset_pkg_vars "$1"
|
|
||||||
|
|
||||||
[ -n "$1" ] && PKG_DIR="$(get_pkg_directory $1)"
|
|
||||||
|
|
||||||
if [ -n "$PKG_DIR" -a -r $PKG_DIR/package.mk ]; then
|
|
||||||
unset -f configure_package
|
|
||||||
. $PKG_DIR/package.mk
|
|
||||||
[ -z "$PKG_SHORTDESC" ] && PKG_SHORTDESC="$PKG_NAME (autogenerated)"
|
|
||||||
[ -z "$PKG_LONGDESC" ] && PKG_LONGDESC="$PKG_NAME (autogenerated)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$PKG_IS_ADDON" = "yes" -o "$PKG_IS_ADDON" = "embedded" ] ; then
|
|
||||||
[ -z $PKG_SECTION ] && PKG_ADDON_ID="$PKG_NAME" || PKG_ADDON_ID="${PKG_SECTION//\//.}.$PKG_NAME"
|
|
||||||
[ "$PKG_ADDON_IS_STANDALONE" != "yes" ] && PKG_NEED_UNPACK="${PKG_NEED_UNPACK} $(get_pkg_directory $MEDIACENTER)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Automatically set PKG_SOURCE_NAME unless it is already defined.
|
|
||||||
# PKG_SOURCE_NAME will be automatically set to a name based on
|
|
||||||
# the $PKG_NAME-$PKG_VERSION convention.
|
|
||||||
#
|
|
||||||
# Any $PKG_URL that references more than a single url will abort
|
|
||||||
# the build as these are no longer supported - use mkpkg instead.
|
|
||||||
if [ -n "$PKG_URL" -a -z "$PKG_SOURCE_NAME" ]; then
|
|
||||||
if [[ $PKG_URL =~ .*\ .* ]]; then
|
|
||||||
echo "Error - packages with multiple urls are no longer supported, use mkpkg:"
|
|
||||||
echo "$PKG_URL"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ${PKG_URL} =~ .git$ || ${PKG_URL} =~ ^git:// ]]; then
|
|
||||||
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}
|
|
||||||
elif [[ ${PKG_URL} =~ ^file:// ]]; then
|
|
||||||
PKG_SOURCE_NAME=${PKG_URL#file://}
|
|
||||||
# if no specific PKG_TAR_COPY_OPTS then default to excluding .git and .svn as they can be huge
|
|
||||||
[ -z "${PKG_TAR_COPY_OPTS+x}" ] && PKG_TAR_COPY_OPTS="--exclude=.git --exclude=.svn"
|
|
||||||
else
|
|
||||||
PKG_SOURCE_NAME="${PKG_URL##*/}"
|
|
||||||
case $PKG_SOURCE_NAME in
|
|
||||||
${PKG_NAME}-${PKG_VERSION}.*)
|
|
||||||
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
|
||||||
;;
|
|
||||||
*.tar | *.tbz | *.tgz | *.txz | *.7z | *.zip)
|
|
||||||
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.${PKG_SOURCE_NAME##*\.}
|
|
||||||
;;
|
|
||||||
*.tar.bz2 | *.tar.gz | *.tar.xz)
|
|
||||||
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.tar.${PKG_SOURCE_NAME##*\.}
|
|
||||||
;;
|
|
||||||
*.diff | *.patch | *.diff.bz2 | *.patch.bz2 | patch-*.bz2 | *.diff.gz | *.patch.gz | patch-*.gz)
|
|
||||||
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.${PKG_SOURCE_NAME##*\.}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_BUILD="$BUILD/${PKG_NAME}-${PKG_VERSION}"
|
|
||||||
|
|
||||||
build_with_debug && BUILD_WITH_DEBUG="yes" || BUILD_WITH_DEBUG="no"
|
|
||||||
|
|
||||||
XORG_PATH_DRI=/usr/lib/dri
|
XORG_PATH_DRI=/usr/lib/dri
|
||||||
XORG_PATH_XKB=/usr/share/X11/xkb
|
XORG_PATH_XKB=/usr/share/X11/xkb
|
||||||
XORG_PATH_XKB_OUTPUT=/var/lib/xkb
|
XORG_PATH_XKB_OUTPUT=/var/lib/xkb
|
||||||
@ -151,22 +81,23 @@ fi
|
|||||||
|
|
||||||
VERSION_SUFFIX=$TARGET_ARCH
|
VERSION_SUFFIX=$TARGET_ARCH
|
||||||
|
|
||||||
SILENT_OUT=3
|
# redirect formatted output
|
||||||
VERBOSE_OUT=4
|
if [ -z "${SILENT_OUT}" -a -z "${VERBOSE_OUT}" ]; then
|
||||||
if [ "$VERBOSE" = yes ]; then
|
export BUILD_INDENT_SIZE=4
|
||||||
exec 3>&1
|
export SILENT_OUT=3
|
||||||
exec 4>&2
|
export VERBOSE_OUT=4
|
||||||
else
|
|
||||||
exec 3>&2
|
|
||||||
exec 4>/dev/null
|
|
||||||
fi
|
|
||||||
BUILD_INDENT_SIZE=4
|
|
||||||
|
|
||||||
# If sourcing a package, configure any package variables dependent on variables we have set
|
if [ "$VERBOSE" = yes ]; then
|
||||||
if [ -n "$PKG_DIR" -a -r $PKG_DIR/package.mk ]; then
|
exec 3>&1
|
||||||
pkg_call_optional configure_package
|
exec 4>&2
|
||||||
|
else
|
||||||
|
exec 3>&2
|
||||||
|
exec 4>/dev/null
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
unset LD_LIBRARY_PATH
|
||||||
|
|
||||||
# multilib? nah
|
# multilib? nah
|
||||||
unset CONFIG_SITE
|
unset CONFIG_SITE
|
||||||
|
|
||||||
|
@ -18,15 +18,16 @@ PKG_ICU_OPTS="--disable-extras \
|
|||||||
--disable-tests \
|
--disable-tests \
|
||||||
--disable-tools"
|
--disable-tools"
|
||||||
|
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_HOST="--enable-static \
|
PKG_CONFIGURE_OPTS_HOST="--enable-static \
|
||||||
--disable-shared \
|
--disable-shared \
|
||||||
$PKG_ICU_OPTS"
|
$PKG_ICU_OPTS"
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--with-cross-build=$PKG_BUILD/.$HOST_NAME \
|
configure_package() {
|
||||||
$PKG_ICU_OPTS"
|
PKG_CONFIGURE_OPTS_TARGET="--with-cross-build=$PKG_BUILD/.$HOST_NAME \
|
||||||
|
$PKG_ICU_OPTS"
|
||||||
|
|
||||||
PKG_CONFIGURE_SCRIPT="source/configure"
|
PKG_CONFIGURE_SCRIPT="${PKG_BUILD}/source/configure"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
rm -rf $INSTALL
|
rm -rf $INSTALL
|
||||||
|
@ -10,7 +10,9 @@ PKG_URL="http://ftp.de.debian.org/debian/pool/main/o/opencaster/opencaster_${PKG
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="A free and open source MPEG2 transport stream data generator and packet manipulator."
|
PKG_LONGDESC="A free and open source MPEG2 transport stream data generator and packet manipulator."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="CC=$CC"
|
pre_configure_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="CC=$CC"
|
||||||
|
}
|
||||||
|
|
||||||
pre_makeinstall_target() {
|
pre_makeinstall_target() {
|
||||||
mkdir -p $PKG_BUILD/.install_pkg
|
mkdir -p $PKG_BUILD/.install_pkg
|
||||||
|
@ -11,8 +11,6 @@ PKG_DEPENDS_HOST="toolchain zlib:host"
|
|||||||
PKG_DEPENDS_TARGET="toolchain zlib protobuf:host"
|
PKG_DEPENDS_TARGET="toolchain zlib protobuf:host"
|
||||||
PKG_LONGDESC="Protocol Buffers for Google's data interchange format."
|
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 \
|
PKG_CMAKE_OPTS_HOST="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
|
||||||
-DBUILD_SHARED_LIBS=0 \
|
-DBUILD_SHARED_LIBS=0 \
|
||||||
-Dprotobuf_BUILD_TESTS=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"
|
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_HOST"
|
||||||
|
|
||||||
|
configure_package() {
|
||||||
|
PKG_CMAKE_SCRIPT="$PKG_BUILD/cmake/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
rm -rf $INSTALL/usr/bin
|
rm -rf $INSTALL/usr/bin
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@ PKG_URL="$SOURCEFORGE_SRC/keytouch/getscancodes-${PKG_VERSION}.tar.gz"
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="Shows the scancode of the pressed or released key."
|
PKG_LONGDESC="Shows the scancode of the pressed or released key."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="CC=$CC"
|
pre_configure_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="CC=$CC"
|
||||||
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
: # nop
|
: # nop
|
||||||
|
@ -11,10 +11,11 @@ PKG_URL="https://github.com/groeck/lm-sensors/archive/${PKG_VERSION}.tar.gz"
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="Provides user-space support for the hardware monitoring drivers."
|
PKG_LONGDESC="Provides user-space support for the hardware monitoring drivers."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR"
|
|
||||||
PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr"
|
PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr"
|
||||||
|
|
||||||
pre_make_target() {
|
pre_make_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="PREFIX=/usr CC=$CC AR=$AR"
|
||||||
|
|
||||||
export CFLAGS="$TARGET_CFLAGS"
|
export CFLAGS="$TARGET_CFLAGS"
|
||||||
export CPPFLAGS="$TARGET_CPPFLAGS"
|
export CPPFLAGS="$TARGET_CPPFLAGS"
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,8 @@ PKG_IS_ADDON="yes"
|
|||||||
PKG_ADDON_NAME="Net-SNMP"
|
PKG_ADDON_NAME="Net-SNMP"
|
||||||
PKG_ADDON_TYPE="xbmc.service"
|
PKG_ADDON_TYPE="xbmc.service"
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
|
configure_package() {
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
|
||||||
--disable-applications \
|
--disable-applications \
|
||||||
--disable-manuals \
|
--disable-manuals \
|
||||||
--disable-debugging \
|
--disable-debugging \
|
||||||
@ -40,6 +41,7 @@ PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
|
|||||||
--libdir=/storage/.kodi/addons/${PKG_ADDON_ID}/lib \
|
--libdir=/storage/.kodi/addons/${PKG_ADDON_ID}/lib \
|
||||||
--disable-embedded-perl \
|
--disable-embedded-perl \
|
||||||
--with-sysroot=$SYSROOT_PREFIX"
|
--with-sysroot=$SYSROOT_PREFIX"
|
||||||
|
}
|
||||||
|
|
||||||
make_target() {
|
make_target() {
|
||||||
make
|
make
|
||||||
|
@ -46,37 +46,37 @@ if [[ "$TARGET_ARCH" != "x86_64" ]]; then
|
|||||||
--disable-libx265"
|
--disable-libx265"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
|
||||||
--arch=$TARGET_ARCH \
|
|
||||||
--cpu=$TARGET_CPU \
|
|
||||||
--cc=$CC \
|
|
||||||
$PKG_TVH_TRANSCODING \
|
|
||||||
--enable-avahi \
|
|
||||||
--enable-bundle \
|
|
||||||
--disable-dbus_1 \
|
|
||||||
--enable-dvbcsa \
|
|
||||||
--enable-dvben50221 \
|
|
||||||
--disable-dvbscan \
|
|
||||||
--enable-hdhomerun_client \
|
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--enable-epoll \
|
|
||||||
--enable-inotify \
|
|
||||||
--enable-pngquant \
|
|
||||||
--disable-libmfx_static \
|
|
||||||
--disable-nvenc \
|
|
||||||
--disable-uriparser \
|
|
||||||
--enable-tvhcsa \
|
|
||||||
--enable-trace \
|
|
||||||
--nowerror \
|
|
||||||
--disable-bintray_cache \
|
|
||||||
--python=$TOOLCHAIN/bin/python"
|
|
||||||
|
|
||||||
post_unpack() {
|
post_unpack() {
|
||||||
sed -e 's/VER="0.0.0~unknown"/VER="'$PKG_VERSION_NUMBER' ~ LibreELEC Tvh-addon v'$ADDON_VERSION'.'$PKG_REV'"/g' -i $PKG_BUILD/support/version
|
sed -e 's/VER="0.0.0~unknown"/VER="'$PKG_VERSION_NUMBER' ~ LibreELEC Tvh-addon v'$ADDON_VERSION'.'$PKG_REV'"/g' -i $PKG_BUILD/support/version
|
||||||
sed -e 's|'/usr/bin/pngquant'|'$TOOLCHAIN/bin/pngquant'|g' -i $PKG_BUILD/support/mkbundle
|
sed -e 's|'/usr/bin/pngquant'|'$TOOLCHAIN/bin/pngquant'|g' -i $PKG_BUILD/support/mkbundle
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||||
|
--arch=$TARGET_ARCH \
|
||||||
|
--cpu=$TARGET_CPU \
|
||||||
|
--cc=$CC \
|
||||||
|
$PKG_TVH_TRANSCODING \
|
||||||
|
--enable-avahi \
|
||||||
|
--enable-bundle \
|
||||||
|
--disable-dbus_1 \
|
||||||
|
--enable-dvbcsa \
|
||||||
|
--enable-dvben50221 \
|
||||||
|
--disable-dvbscan \
|
||||||
|
--enable-hdhomerun_client \
|
||||||
|
--disable-hdhomerun_static \
|
||||||
|
--enable-epoll \
|
||||||
|
--enable-inotify \
|
||||||
|
--enable-pngquant \
|
||||||
|
--disable-libmfx_static \
|
||||||
|
--disable-nvenc \
|
||||||
|
--disable-uriparser \
|
||||||
|
--enable-tvhcsa \
|
||||||
|
--enable-trace \
|
||||||
|
--nowerror \
|
||||||
|
--disable-bintray_cache \
|
||||||
|
--python=$TOOLCHAIN/bin/python"
|
||||||
|
|
||||||
# fails to build in subdirs
|
# fails to build in subdirs
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
rm -rf .$TARGET_NAME
|
rm -rf .$TARGET_NAME
|
||||||
|
@ -79,8 +79,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
|
|||||||
--with-soxr \
|
--with-soxr \
|
||||||
--with-module-dir=/usr/lib/pulse"
|
--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|' \
|
sed -e 's|; remixing-use-all-sink-channels = yes|; remixing-use-all-sink-channels = no|' \
|
||||||
-i $PKG_BUILD/src/daemon/daemon.conf.in
|
-i $PKG_BUILD/src/daemon/daemon.conf.in
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,11 @@ PKG_DEPENDS_HOST="toolchain"
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="lz4 data compressor/decompressor"
|
PKG_LONGDESC="lz4 data compressor/decompressor"
|
||||||
|
|
||||||
PKG_CMAKE_SCRIPT="$PKG_BUILD/contrib/cmake_unofficial/CMakeLists.txt"
|
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"
|
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 -DCMAKE_POSITION_INDEPENDENT_CODE=0"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
rm -rf $INSTALL
|
rm -rf $INSTALL
|
||||||
|
@ -11,6 +11,7 @@ PKG_SOURCE_DIR=$PKG_NAME-$PKG_VERSION
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="A fast real-time compression algorithm."
|
PKG_LONGDESC="A fast real-time compression algorithm."
|
||||||
|
|
||||||
|
configure_package() {
|
||||||
PKG_CMAKE_SCRIPT="$PKG_BUILD/build/cmake/CMakeLists.txt"
|
PKG_CMAKE_SCRIPT="$PKG_BUILD/build/cmake/CMakeLists.txt"
|
||||||
PKG_CMAKE_OPTS_HOST="-DTHREADS_PTHREAD_ARG=0"
|
PKG_CMAKE_OPTS_HOST="-DTHREADS_PTHREAD_ARG=0"
|
||||||
|
}
|
||||||
|
@ -13,6 +13,14 @@ PKG_LONGDESC="An Embeddable SQL Database Engine."
|
|||||||
# libsqlite3.a(sqlite3.o): requires dynamic R_X86_64_PC32 reloc against 'sqlite3_stricmp' which may overflow at runtime
|
# libsqlite3.a(sqlite3.o): requires dynamic R_X86_64_PC32 reloc against 'sqlite3_stricmp' which may overflow at runtime
|
||||||
PKG_BUILD_FLAGS="+pic +pic:host -parallel"
|
PKG_BUILD_FLAGS="+pic +pic:host -parallel"
|
||||||
|
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="--disable-static \
|
||||||
|
--enable-shared \
|
||||||
|
--disable-readline \
|
||||||
|
--enable-threadsafe \
|
||||||
|
--enable-dynamic-extensions \
|
||||||
|
--with-gnu-ld"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
# sqlite fails to compile with fast-math link time optimization.
|
# sqlite fails to compile with fast-math link time optimization.
|
||||||
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O3|g"`
|
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O3|g"`
|
||||||
CFLAGS=`echo $CFLAGS | sed -e "s|-ffast-math||g"`
|
CFLAGS=`echo $CFLAGS | sed -e "s|-ffast-math||g"`
|
||||||
@ -43,10 +51,4 @@ PKG_BUILD_FLAGS="+pic +pic:host -parallel"
|
|||||||
# sqlite3_config(SQLITE_CONFIG_MMAP_SIZE) call, or at run-time using the
|
# sqlite3_config(SQLITE_CONFIG_MMAP_SIZE) call, or at run-time using the
|
||||||
# mmap_size pragma.
|
# mmap_size pragma.
|
||||||
CFLAGS="$CFLAGS -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
|
CFLAGS="$CFLAGS -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
|
||||||
|
}
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--disable-static \
|
|
||||||
--enable-shared \
|
|
||||||
--disable-readline \
|
|
||||||
--enable-threadsafe \
|
|
||||||
--enable-dynamic-extensions \
|
|
||||||
--with-gnu-ld"
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="gdb"
|
PKG_NAME="gdb"
|
||||||
PKG_VERSION="8.1"
|
PKG_VERSION="8.1"
|
||||||
@ -11,9 +12,6 @@ PKG_DEPENDS_TARGET="toolchain zlib ncurses expat"
|
|||||||
PKG_LONGDESC="GNU Project debugger, allows you to see what is going on inside another program while it executes."
|
PKG_LONGDESC="GNU Project debugger, allows you to see what is going on inside another program while it executes."
|
||||||
# gdb could fail on runtime if build with LTO support
|
# gdb could fail on runtime if build with LTO support
|
||||||
|
|
||||||
CC_FOR_BUILD="$HOST_CC"
|
|
||||||
CFLAGS_FOR_BUILD="$HOST_CFLAGS"
|
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
|
PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
|
||||||
--disable-shared \
|
--disable-shared \
|
||||||
--enable-static \
|
--enable-static \
|
||||||
@ -30,6 +28,11 @@ PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
|
|||||||
--enable-libssp \
|
--enable-libssp \
|
||||||
--disable-werror"
|
--disable-werror"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
CC_FOR_BUILD="$HOST_CC"
|
||||||
|
CFLAGS_FOR_BUILD="$HOST_CFLAGS"
|
||||||
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
make DESTDIR=$INSTALL install
|
make DESTDIR=$INSTALL install
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="ccache"
|
PKG_NAME="ccache"
|
||||||
PKG_VERSION="3.3.6"
|
PKG_VERSION="3.3.6"
|
||||||
@ -10,11 +11,13 @@ PKG_URL="https://samba.org/ftp/ccache/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
|||||||
PKG_DEPENDS_HOST="make:host"
|
PKG_DEPENDS_HOST="make:host"
|
||||||
PKG_LONGDESC="A compiler cache to speed up re-compilation of C/C++ code by caching."
|
PKG_LONGDESC="A compiler cache to speed up re-compilation of C/C++ code by caching."
|
||||||
|
|
||||||
export CC=$LOCAL_CC
|
|
||||||
export CXX=$LOCAL_CXX
|
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_HOST="--with-bundled-zlib"
|
PKG_CONFIGURE_OPTS_HOST="--with-bundled-zlib"
|
||||||
|
|
||||||
|
pre_configure_host() {
|
||||||
|
export CC=$LOCAL_CC
|
||||||
|
export CXX=$LOCAL_CXX
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_host() {
|
post_makeinstall_host() {
|
||||||
# setup ccache
|
# setup ccache
|
||||||
if [ -z "$CCACHE_DISABLE" ]; then
|
if [ -z "$CCACHE_DISABLE" ]; then
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="gettext"
|
PKG_NAME="gettext"
|
||||||
PKG_VERSION="0.19.8.1"
|
PKG_VERSION="0.19.8.1"
|
||||||
@ -10,14 +11,16 @@ PKG_URL="http://ftp.gnu.org/pub/gnu/gettext/$PKG_NAME-$PKG_VERSION.tar.gz"
|
|||||||
PKG_DEPENDS_HOST="ccache:host"
|
PKG_DEPENDS_HOST="ccache:host"
|
||||||
PKG_LONGDESC="A program internationalization library and tools."
|
PKG_LONGDESC="A program internationalization library and tools."
|
||||||
|
|
||||||
PKG_CONFIGURE_SCRIPT="gettext-tools/configure"
|
configure_package() {
|
||||||
|
PKG_CONFIGURE_SCRIPT="${PKG_BUILD}/gettext-tools/configure"
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared \
|
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
--with-gnu-ld \
|
--with-gnu-ld \
|
||||||
--disable-java \
|
--disable-java \
|
||||||
--disable-curses \
|
--disable-curses \
|
||||||
--with-included-libxml \
|
--with-included-libxml \
|
||||||
--disable-native-java \
|
--disable-native-java \
|
||||||
--disable-csharp \
|
--disable-csharp \
|
||||||
--without-emacs"
|
--without-emacs"
|
||||||
|
}
|
||||||
|
@ -45,8 +45,6 @@ else
|
|||||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-debug"
|
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-debug"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NSS_CONF_DIR="$PKG_BUILD/nss"
|
|
||||||
|
|
||||||
pre_build_target() {
|
pre_build_target() {
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
aclocal --force --verbose
|
aclocal --force --verbose
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="make"
|
PKG_NAME="make"
|
||||||
PKG_VERSION="4.2.1"
|
PKG_VERSION="4.2.1"
|
||||||
@ -10,7 +11,9 @@ PKG_URL="http://ftpmirror.gnu.org/make/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
|||||||
PKG_DEPENDS_HOST=""
|
PKG_DEPENDS_HOST=""
|
||||||
PKG_LONGDESC="Utility to maintain groups of programs."
|
PKG_LONGDESC="Utility to maintain groups of programs."
|
||||||
|
|
||||||
export CC=$LOCAL_CC
|
pre_configure_host() {
|
||||||
|
export CC=$LOCAL_CC
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_host() {
|
post_makeinstall_host() {
|
||||||
ln -sf make $TOOLCHAIN/bin/gmake
|
ln -sf make $TOOLCHAIN/bin/gmake
|
||||||
|
@ -15,9 +15,9 @@ PKG_LIBNAME="fbalpha_libretro.so"
|
|||||||
PKG_LIBPATH="$PKG_LIBNAME"
|
PKG_LIBPATH="$PKG_LIBNAME"
|
||||||
PKG_LIBVAR="FBALPHA_LIB"
|
PKG_LIBVAR="FBALPHA_LIB"
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="-f makefile.libretro CC=$CC CXX=$CXX GIT_VERSION=${PKG_VERSION:0:7}"
|
|
||||||
|
|
||||||
pre_make_target() {
|
pre_make_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="-f makefile.libretro CC=$CC CXX=$CXX GIT_VERSION=${PKG_VERSION:0:7}"
|
||||||
|
|
||||||
if [ "$PROJECT" = "RPi" ]; then
|
if [ "$PROJECT" = "RPi" ]; then
|
||||||
case $DEVICE in
|
case $DEVICE in
|
||||||
RPi)
|
RPi)
|
||||||
|
@ -12,9 +12,12 @@ PKG_LONGDESC="VRAM Test from libretro"
|
|||||||
PKG_TOOLCHAIN="manual"
|
PKG_TOOLCHAIN="manual"
|
||||||
|
|
||||||
PKG_LIBNAME="testsw_vram_libretro.so"
|
PKG_LIBNAME="testsw_vram_libretro.so"
|
||||||
PKG_LIBPATH="$PKG_BUILD/video/software/rendering_direct_to_vram/$PKG_LIBNAME"
|
|
||||||
PKG_LIBVAR="VRAM-TEST_LIB"
|
PKG_LIBVAR="VRAM-TEST_LIB"
|
||||||
|
|
||||||
|
configure_package() {
|
||||||
|
PKG_LIBPATH="$PKG_BUILD/video/software/rendering_direct_to_vram/$PKG_LIBNAME"
|
||||||
|
}
|
||||||
|
|
||||||
make_target() {
|
make_target() {
|
||||||
cd $PKG_BUILD/video/software/rendering_direct_to_vram
|
cd $PKG_BUILD/video/software/rendering_direct_to_vram
|
||||||
make
|
make
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="vsxu"
|
PKG_NAME="vsxu"
|
||||||
PKG_VERSION="0.5.1"
|
PKG_VERSION="0.5.1"
|
||||||
@ -12,13 +13,15 @@ PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
|
|||||||
PKG_DEPENDS_TARGET="toolchain $OPENGL libX11 glew glfw zlib libpng libjpeg-turbo freetype"
|
PKG_DEPENDS_TARGET="toolchain $OPENGL libX11 glew glfw zlib libpng libjpeg-turbo freetype"
|
||||||
PKG_LONGDESC="an OpenGL-based programming environment to visualize music and create graphic effects"
|
PKG_LONGDESC="an OpenGL-based programming environment to visualize music and create graphic effects"
|
||||||
|
|
||||||
export LDFLAGS="$LDFLAGS -lX11"
|
|
||||||
|
|
||||||
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 \
|
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 \
|
||||||
-DVSXU_STATIC=1 \
|
-DVSXU_STATIC=1 \
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=1 \
|
-DCMAKE_POSITION_INDEPENDENT_CODE=1 \
|
||||||
-DCMAKE_CXX_FLAGS=-I$SYSROOT_PREFIX/usr/include/freetype2"
|
-DCMAKE_CXX_FLAGS=-I$SYSROOT_PREFIX/usr/include/freetype2"
|
||||||
|
|
||||||
|
pre_configure_target(){
|
||||||
|
export LDFLAGS="$LDFLAGS -lX11"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/lib/vsxu
|
mkdir -p $SYSROOT_PREFIX/usr/lib/vsxu
|
||||||
cp -PR $INSTALL/usr/lib/* $SYSROOT_PREFIX/usr/lib
|
cp -PR $INSTALL/usr/lib/* $SYSROOT_PREFIX/usr/lib
|
||||||
|
@ -39,6 +39,15 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \
|
|||||||
PKG_CMAKE_OPTS_HOST="$PKG_CMAKE_OPTS_COMMON \
|
PKG_CMAKE_OPTS_HOST="$PKG_CMAKE_OPTS_COMMON \
|
||||||
-DCMAKE_INSTALL_RPATH=$TOOLCHAIN/lib"
|
-DCMAKE_INSTALL_RPATH=$TOOLCHAIN/lib"
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_COMMON \
|
||||||
|
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
||||||
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
|
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||||
|
-DLLVM_TARGET_ARCH="$TARGET_ARCH" \
|
||||||
|
-DLLVM_TABLEGEN=$TOOLCHAIN/bin/llvm-tblgen"
|
||||||
|
}
|
||||||
|
|
||||||
make_host() {
|
make_host() {
|
||||||
ninja $NINJA_OPTS llvm-config llvm-tblgen
|
ninja $NINJA_OPTS llvm-config llvm-tblgen
|
||||||
}
|
}
|
||||||
@ -48,13 +57,6 @@ makeinstall_host() {
|
|||||||
cp -a bin/llvm-tblgen $TOOLCHAIN/bin
|
cp -a bin/llvm-tblgen $TOOLCHAIN/bin
|
||||||
}
|
}
|
||||||
|
|
||||||
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_COMMON \
|
|
||||||
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
|
||||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
|
||||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
|
||||||
-DLLVM_TARGET_ARCH="$TARGET_ARCH" \
|
|
||||||
-DLLVM_TABLEGEN=$TOOLCHAIN/bin/llvm-tblgen"
|
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
rm -rf $INSTALL/usr/bin
|
rm -rf $INSTALL/usr/bin
|
||||||
rm -rf $INSTALL/usr/lib/LLVMHello.so
|
rm -rf $INSTALL/usr/lib/LLVMHello.so
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="dvbhdhomerun"
|
PKG_NAME="dvbhdhomerun"
|
||||||
PKG_VERSION="20130704"
|
PKG_VERSION="20130704"
|
||||||
@ -13,7 +14,20 @@ PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
|||||||
PKG_LONGDESC="A linux DVB driver for the HDHomeRun TV tuner (http://www.silicondust.com)."
|
PKG_LONGDESC="A linux DVB driver for the HDHomeRun TV tuner (http://www.silicondust.com)."
|
||||||
PKG_IS_KERNEL_PKG="yes"
|
PKG_IS_KERNEL_PKG="yes"
|
||||||
|
|
||||||
PKG_CMAKE_SCRIPT="userhdhomerun/CMakeLists.txt"
|
configure_package() {
|
||||||
|
PKG_CMAKE_SCRIPT="${PKG_BUILD}/userhdhomerun/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
# use it here to be sure libhdhomerun is already built
|
||||||
|
PKG_CMAKE_OPTS_TARGET="-DLIBHDHOMERUN_PATH=$(ls -d $BUILD/libhdhomerun-*/)"
|
||||||
|
|
||||||
|
# absolute path
|
||||||
|
LIBHDHOMERUN_PATH=$(ls -d $BUILD/libhdhomerun-*/)
|
||||||
|
sed -i "s|SET(LIBHDHOMERUN_PATH .*)|SET(LIBHDHOMERUN_PATH $LIBHDHOMERUN_PATH)|g" ../userhdhomerun/CMakeLists.txt
|
||||||
|
sed -i "s|/etc/dvbhdhomerun|/tmp/dvbhdhomerun|g" ../userhdhomerun/hdhomerun_tuner.cpp
|
||||||
|
sed -i "s|/etc/dvbhdhomerun|/tmp/dvbhdhomerun|g" ../userhdhomerun/hdhomerun_controller.cpp
|
||||||
|
}
|
||||||
|
|
||||||
pre_make_target() {
|
pre_make_target() {
|
||||||
( cd ../kernel
|
( cd ../kernel
|
||||||
@ -22,18 +36,6 @@ pre_make_target() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
|
||||||
|
|
||||||
# use it here to be sure libhdhomerun is already built
|
|
||||||
PKG_CMAKE_OPTS_TARGET="-DLIBHDHOMERUN_PATH=$(ls -d $BUILD/libhdhomerun-*/)"
|
|
||||||
|
|
||||||
# absolute path
|
|
||||||
LIBHDHOMERUN_PATH=$(ls -d $BUILD/libhdhomerun-*/)
|
|
||||||
sed -i "s|SET(LIBHDHOMERUN_PATH .*)|SET(LIBHDHOMERUN_PATH $LIBHDHOMERUN_PATH)|g" ../userhdhomerun/CMakeLists.txt
|
|
||||||
sed -i "s|/etc/dvbhdhomerun|/tmp/dvbhdhomerun|g" ../userhdhomerun/hdhomerun_tuner.cpp
|
|
||||||
sed -i "s|/etc/dvbhdhomerun|/tmp/dvbhdhomerun|g" ../userhdhomerun/hdhomerun_controller.cpp
|
|
||||||
}
|
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
mkdir -p $INSTALL/$(get_full_module_dir)/hdhomerun
|
mkdir -p $INSTALL/$(get_full_module_dir)/hdhomerun
|
||||||
|
@ -14,10 +14,12 @@ PKG_LONGDESC="gpu-aml: Linux drivers for Mali GPUs found in Amlogic Meson SoCs"
|
|||||||
PKG_TOOLCHAIN="manual"
|
PKG_TOOLCHAIN="manual"
|
||||||
PKG_IS_KERNEL_PKG="yes"
|
PKG_IS_KERNEL_PKG="yes"
|
||||||
|
|
||||||
PKG_UTGARD_VERSION="r5p1"
|
configure_package() {
|
||||||
PKG_UTGARD_BUILD_DIR="$PKG_BUILD/utgard/$PKG_UTGARD_VERSION"
|
PKG_UTGARD_VERSION="r5p1"
|
||||||
PKG_MIDGARD_VERSION="r16p0"
|
PKG_UTGARD_BUILD_DIR="$PKG_BUILD/utgard/$PKG_UTGARD_VERSION"
|
||||||
PKG_MIDGARD_BUILD_DIR="$PKG_BUILD/midgard/$PKG_MIDGARD_VERSION/kernel/drivers/gpu/arm/midgard"
|
PKG_MIDGARD_VERSION="r16p0"
|
||||||
|
PKG_MIDGARD_BUILD_DIR="$PKG_BUILD/midgard/$PKG_MIDGARD_VERSION/kernel/drivers/gpu/arm/midgard"
|
||||||
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
sed -e "s|shell date|shell date -R|g" -i $PKG_BUILD/utgard/*/Kbuild
|
sed -e "s|shell date|shell date -R|g" -i $PKG_BUILD/utgard/*/Kbuild
|
||||||
|
@ -206,7 +206,7 @@ make_target() {
|
|||||||
( cd $ROOT
|
( cd $ROOT
|
||||||
rm -rf $BUILD/initramfs
|
rm -rf $BUILD/initramfs
|
||||||
$SCRIPTS/install initramfs
|
$SCRIPTS/install initramfs
|
||||||
)
|
) || die "FAILURE: Building initramfs"
|
||||||
|
|
||||||
if [ "$BOOTLOADER" = "u-boot" -a -n "$KERNEL_UBOOT_EXTRA_TARGET" ]; then
|
if [ "$BOOTLOADER" = "u-boot" -a -n "$KERNEL_UBOOT_EXTRA_TARGET" ]; then
|
||||||
for extra_target in "$KERNEL_UBOOT_EXTRA_TARGET"; do
|
for extra_target in "$KERNEL_UBOOT_EXTRA_TARGET"; do
|
||||||
|
@ -31,216 +31,218 @@ case $KODI_VENDOR in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Single threaded LTO is very slow so rely on Kodi for parallel LTO support
|
configure_package() {
|
||||||
if [ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug; then
|
# Single threaded LTO is very slow so rely on Kodi for parallel LTO support
|
||||||
PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL"
|
if [ "$LTO_SUPPORT" = "yes" ] && ! build_with_debug; then
|
||||||
fi
|
PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL"
|
||||||
|
fi
|
||||||
|
|
||||||
get_graphicdrivers
|
get_graphicdrivers
|
||||||
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus"
|
||||||
|
|
||||||
if [ "$DISPLAYSERVER" = "x11" ]; then
|
if [ "$DISPLAYSERVER" = "x11" ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXext libdrm libXrandr"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXext libdrm libXrandr"
|
||||||
KODI_XORG="-DCORE_PLATFORM_NAME=x11"
|
KODI_XORG="-DCORE_PLATFORM_NAME=x11"
|
||||||
elif [ "$DISPLAYSERVER" = "weston" ]; then
|
elif [ "$DISPLAYSERVER" = "weston" ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET wayland waylandpp"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET wayland waylandpp"
|
||||||
CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
|
||||||
CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
|
||||||
KODI_XORG="-DCORE_PLATFORM_NAME=wayland -DWAYLAND_RENDER_SYSTEM=gles"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! "$OPENGL" = "no" ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGL glu"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$OPENGLES_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$ALSA_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET alsa-lib"
|
|
||||||
KODI_ALSA="-DENABLE_ALSA=ON"
|
|
||||||
else
|
|
||||||
KODI_ALSA="-DENABLE_ALSA=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio"
|
|
||||||
KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=ON"
|
|
||||||
else
|
|
||||||
KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$ESPEAK_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET espeak"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$CEC_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libcec"
|
|
||||||
KODI_CEC="-DENABLE_CEC=ON"
|
|
||||||
else
|
|
||||||
KODI_CEC="-DENABLE_CEC=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_OPTICAL_SUPPORT" = yes ]; then
|
|
||||||
KODI_OPTICAL="-DENABLE_OPTICAL=ON"
|
|
||||||
else
|
|
||||||
KODI_OPTICAL="-DENABLE_OPTICAL=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_DVDCSS_SUPPORT" = yes ]; then
|
|
||||||
KODI_DVDCSS="-DENABLE_DVDCSS=ON \
|
|
||||||
-DLIBDVDCSS_URL=$SOURCES/libdvdcss/libdvdcss-$(get_pkg_version libdvdcss).tar.gz"
|
|
||||||
else
|
|
||||||
KODI_DVDCSS="-DENABLE_DVDCSS=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_BLURAY_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbluray"
|
|
||||||
KODI_BLURAY="-DENABLE_BLURAY=ON"
|
|
||||||
else
|
|
||||||
KODI_BLURAY="-DENABLE_BLURAY=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$AVAHI_DAEMON" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi nss-mdns"
|
|
||||||
KODI_AVAHI="-DENABLE_AVAHI=ON"
|
|
||||||
else
|
|
||||||
KODI_AVAHI="-DENABLE_AVAHI=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$KODI_MYSQL_SUPPORT" in
|
|
||||||
mysql) PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql"
|
|
||||||
KODI_MYSQL="-DENABLE_MYSQLCLIENT=ON -DENABLE_MARIADBCLIENT=OFF"
|
|
||||||
;;
|
|
||||||
mariadb) PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mariadb-connector-c"
|
|
||||||
KODI_MYSQL="-DENABLE_MARIADBCLIENT=ON -DENABLE_MYSQLCLIENT=OFF"
|
|
||||||
;;
|
|
||||||
*) KODI_MYSQL="-DENABLE_MYSQLCLIENT=OFF -DENABLE_MARIADBCLIENT=OFF"
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$KODI_AIRPLAY_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libplist"
|
|
||||||
KODI_AIRPLAY="-DENABLE_PLIST=ON"
|
|
||||||
else
|
|
||||||
KODI_AIRPLAY="-DENABLE_PLIST=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_AIRTUNES_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libshairplay"
|
|
||||||
KODI_AIRTUNES="-DENABLE_AIRTUNES=ON"
|
|
||||||
else
|
|
||||||
KODI_AIRTUNES="-DENABLE_AIRTUNES=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_NFS_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libnfs"
|
|
||||||
KODI_NFS="-DENABLE_NFS=ON"
|
|
||||||
else
|
|
||||||
KODI_NFS="-DENABLE_NFS=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_SAMBA_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_WEBSERVER_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libmicrohttpd"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$KODI_UPNP_SUPPORT" = yes ]; then
|
|
||||||
KODI_UPNP="-DENABLE_UPNP=ON"
|
|
||||||
else
|
|
||||||
KODI_UPNP="-DENABLE_UPNP=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if target_has_feature neon; then
|
|
||||||
KODI_NEON="-DENABLE_NEON=ON"
|
|
||||||
else
|
|
||||||
KODI_NEON="-DENABLE_NEON=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$VDPAU_SUPPORT" = "yes" -a "$DISPLAYSERVER" = "x11" ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
|
||||||
KODI_VDPAU="-DENABLE_VDPAU=ON"
|
|
||||||
else
|
|
||||||
KODI_VDPAU="-DENABLE_VDPAU=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$VAAPI_SUPPORT" = yes ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
|
|
||||||
KODI_VAAPI="-DENABLE_VAAPI=ON"
|
|
||||||
else
|
|
||||||
KODI_VAAPI="-DENABLE_VAAPI=OFF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
|
||||||
KODI_ARCH="-DWITH_CPU=$TARGET_ARCH"
|
|
||||||
else
|
|
||||||
KODI_ARCH="-DWITH_ARCH=$TARGET_ARCH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$DEVICE" = "Slice" -o "$DEVICE" = "Slice3" ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET led_tools"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! "$KODIPLAYER_DRIVER" = default ]; then
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $KODIPLAYER_DRIVER libinput libxkbcommon"
|
|
||||||
if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then
|
|
||||||
KODI_PLAYER="-DCORE_PLATFORM_NAME=rbpi"
|
|
||||||
elif [ "$KODIPLAYER_DRIVER" = mesa -o "$KODIPLAYER_DRIVER" = rkmpp ]; then
|
|
||||||
KODI_PLAYER="-DCORE_PLATFORM_NAME=gbm -DGBM_RENDER_SYSTEM=gles"
|
|
||||||
CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||||
CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||||
elif [ "$KODIPLAYER_DRIVER" = libamcodec ]; then
|
KODI_XORG="-DCORE_PLATFORM_NAME=wayland -DWAYLAND_RENDER_SYSTEM=gles"
|
||||||
KODI_PLAYER="-DCORE_PLATFORM_NAME=aml"
|
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
KODI_LIBDVD="$KODI_DVDCSS \
|
if [ ! "$OPENGL" = "no" ]; then
|
||||||
-DLIBDVDNAV_URL=$SOURCES/libdvdnav/libdvdnav-$(get_pkg_version libdvdnav).tar.gz \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGL glu"
|
||||||
-DLIBDVDREAD_URL=$SOURCES/libdvdread/libdvdread-$(get_pkg_version libdvdread).tar.gz"
|
fi
|
||||||
|
|
||||||
PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \
|
if [ "$OPENGLES_SUPPORT" = yes ]; then
|
||||||
-DWITH_TEXTUREPACKER=$TOOLCHAIN/bin/TexturePacker \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES"
|
||||||
-DWITH_JSONSCHEMABUILDER=$TOOLCHAIN/bin/JsonSchemaBuilder \
|
fi
|
||||||
-DDEPENDS_PATH=$PKG_BUILD/depends \
|
|
||||||
-DPYTHON_EXECUTABLE=$TOOLCHAIN/bin/$PKG_PYTHON_VERSION \
|
if [ "$ALSA_SUPPORT" = yes ]; then
|
||||||
-DPYTHON_INCLUDE_DIRS=$SYSROOT_PREFIX/usr/include/$PKG_PYTHON_VERSION \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET alsa-lib"
|
||||||
-DGIT_VERSION=$PKG_VERSION \
|
KODI_ALSA="-DENABLE_ALSA=ON"
|
||||||
-DWITH_FFMPEG=$(get_build_dir ffmpeg) \
|
else
|
||||||
-DENABLE_INTERNAL_FFMPEG=OFF \
|
KODI_ALSA="-DENABLE_ALSA=OFF"
|
||||||
-DFFMPEG_INCLUDE_DIRS=$SYSROOT_PREFIX/usr \
|
fi
|
||||||
-DENABLE_INTERNAL_CROSSGUID=OFF \
|
|
||||||
-DENABLE_UDEV=ON \
|
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
|
||||||
-DENABLE_DBUS=ON \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio"
|
||||||
-DENABLE_XSLT=ON \
|
KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=ON"
|
||||||
-DENABLE_CCACHE=ON \
|
else
|
||||||
-DENABLE_LIRCCLIENT=ON \
|
KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=OFF"
|
||||||
-DENABLE_EVENTCLIENTS=ON \
|
fi
|
||||||
-DENABLE_LDGOLD=ON \
|
|
||||||
-DENABLE_DEBUGFISSION=OFF \
|
if [ "$ESPEAK_SUPPORT" = yes ]; then
|
||||||
-DENABLE_APP_AUTONAME=OFF \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET espeak"
|
||||||
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
|
fi
|
||||||
$PKG_KODI_USE_LTO \
|
|
||||||
$KODI_ARCH \
|
if [ "$CEC_SUPPORT" = yes ]; then
|
||||||
$KODI_NEON \
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libcec"
|
||||||
$KODI_VDPAU \
|
KODI_CEC="-DENABLE_CEC=ON"
|
||||||
$KODI_VAAPI \
|
else
|
||||||
$KODI_CEC \
|
KODI_CEC="-DENABLE_CEC=OFF"
|
||||||
$KODI_XORG \
|
fi
|
||||||
$KODI_SAMBA \
|
|
||||||
$KODI_NFS \
|
if [ "$KODI_OPTICAL_SUPPORT" = yes ]; then
|
||||||
$KODI_LIBDVD \
|
KODI_OPTICAL="-DENABLE_OPTICAL=ON"
|
||||||
$KODI_AVAHI \
|
else
|
||||||
$KODI_UPNP \
|
KODI_OPTICAL="-DENABLE_OPTICAL=OFF"
|
||||||
$KODI_MYSQL \
|
fi
|
||||||
$KODI_AIRPLAY \
|
|
||||||
$KODI_AIRTUNES \
|
if [ "$KODI_DVDCSS_SUPPORT" = yes ]; then
|
||||||
$KODI_OPTICAL \
|
KODI_DVDCSS="-DENABLE_DVDCSS=ON \
|
||||||
$KODI_BLURAY \
|
-DLIBDVDCSS_URL=$SOURCES/libdvdcss/libdvdcss-$(get_pkg_version libdvdcss).tar.gz"
|
||||||
$KODI_PLAYER"
|
else
|
||||||
|
KODI_DVDCSS="-DENABLE_DVDCSS=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_BLURAY_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbluray"
|
||||||
|
KODI_BLURAY="-DENABLE_BLURAY=ON"
|
||||||
|
else
|
||||||
|
KODI_BLURAY="-DENABLE_BLURAY=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$AVAHI_DAEMON" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi nss-mdns"
|
||||||
|
KODI_AVAHI="-DENABLE_AVAHI=ON"
|
||||||
|
else
|
||||||
|
KODI_AVAHI="-DENABLE_AVAHI=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$KODI_MYSQL_SUPPORT" in
|
||||||
|
mysql) PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql"
|
||||||
|
KODI_MYSQL="-DENABLE_MYSQLCLIENT=ON -DENABLE_MARIADBCLIENT=OFF"
|
||||||
|
;;
|
||||||
|
mariadb) PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mariadb-connector-c"
|
||||||
|
KODI_MYSQL="-DENABLE_MARIADBCLIENT=ON -DENABLE_MYSQLCLIENT=OFF"
|
||||||
|
;;
|
||||||
|
*) KODI_MYSQL="-DENABLE_MYSQLCLIENT=OFF -DENABLE_MARIADBCLIENT=OFF"
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$KODI_AIRPLAY_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libplist"
|
||||||
|
KODI_AIRPLAY="-DENABLE_PLIST=ON"
|
||||||
|
else
|
||||||
|
KODI_AIRPLAY="-DENABLE_PLIST=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_AIRTUNES_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libshairplay"
|
||||||
|
KODI_AIRTUNES="-DENABLE_AIRTUNES=ON"
|
||||||
|
else
|
||||||
|
KODI_AIRTUNES="-DENABLE_AIRTUNES=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_NFS_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libnfs"
|
||||||
|
KODI_NFS="-DENABLE_NFS=ON"
|
||||||
|
else
|
||||||
|
KODI_NFS="-DENABLE_NFS=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_SAMBA_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_WEBSERVER_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libmicrohttpd"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KODI_UPNP_SUPPORT" = yes ]; then
|
||||||
|
KODI_UPNP="-DENABLE_UPNP=ON"
|
||||||
|
else
|
||||||
|
KODI_UPNP="-DENABLE_UPNP=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if target_has_feature neon; then
|
||||||
|
KODI_NEON="-DENABLE_NEON=ON"
|
||||||
|
else
|
||||||
|
KODI_NEON="-DENABLE_NEON=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$VDPAU_SUPPORT" = "yes" -a "$DISPLAYSERVER" = "x11" ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
||||||
|
KODI_VDPAU="-DENABLE_VDPAU=ON"
|
||||||
|
else
|
||||||
|
KODI_VDPAU="-DENABLE_VDPAU=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$VAAPI_SUPPORT" = yes ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva"
|
||||||
|
KODI_VAAPI="-DENABLE_VAAPI=ON"
|
||||||
|
else
|
||||||
|
KODI_VAAPI="-DENABLE_VAAPI=OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||||
|
KODI_ARCH="-DWITH_CPU=$TARGET_ARCH"
|
||||||
|
else
|
||||||
|
KODI_ARCH="-DWITH_ARCH=$TARGET_ARCH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$DEVICE" = "Slice" -o "$DEVICE" = "Slice3" ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET led_tools"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! "$KODIPLAYER_DRIVER" = default ]; then
|
||||||
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $KODIPLAYER_DRIVER libinput libxkbcommon"
|
||||||
|
if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then
|
||||||
|
KODI_PLAYER="-DCORE_PLATFORM_NAME=rbpi"
|
||||||
|
elif [ "$KODIPLAYER_DRIVER" = mesa -o "$KODIPLAYER_DRIVER" = rkmpp ]; then
|
||||||
|
KODI_PLAYER="-DCORE_PLATFORM_NAME=gbm -DGBM_RENDER_SYSTEM=gles"
|
||||||
|
CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||||
|
CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||||
|
elif [ "$KODIPLAYER_DRIVER" = libamcodec ]; then
|
||||||
|
KODI_PLAYER="-DCORE_PLATFORM_NAME=aml"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
KODI_LIBDVD="$KODI_DVDCSS \
|
||||||
|
-DLIBDVDNAV_URL=$SOURCES/libdvdnav/libdvdnav-$(get_pkg_version libdvdnav).tar.gz \
|
||||||
|
-DLIBDVDREAD_URL=$SOURCES/libdvdread/libdvdread-$(get_pkg_version libdvdread).tar.gz"
|
||||||
|
|
||||||
|
PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \
|
||||||
|
-DWITH_TEXTUREPACKER=$TOOLCHAIN/bin/TexturePacker \
|
||||||
|
-DWITH_JSONSCHEMABUILDER=$TOOLCHAIN/bin/JsonSchemaBuilder \
|
||||||
|
-DDEPENDS_PATH=$PKG_BUILD/depends \
|
||||||
|
-DPYTHON_EXECUTABLE=$TOOLCHAIN/bin/$PKG_PYTHON_VERSION \
|
||||||
|
-DPYTHON_INCLUDE_DIRS=$SYSROOT_PREFIX/usr/include/$PKG_PYTHON_VERSION \
|
||||||
|
-DGIT_VERSION=$PKG_VERSION \
|
||||||
|
-DWITH_FFMPEG=$(get_build_dir ffmpeg) \
|
||||||
|
-DENABLE_INTERNAL_FFMPEG=OFF \
|
||||||
|
-DFFMPEG_INCLUDE_DIRS=$SYSROOT_PREFIX/usr \
|
||||||
|
-DENABLE_INTERNAL_CROSSGUID=OFF \
|
||||||
|
-DENABLE_UDEV=ON \
|
||||||
|
-DENABLE_DBUS=ON \
|
||||||
|
-DENABLE_XSLT=ON \
|
||||||
|
-DENABLE_CCACHE=ON \
|
||||||
|
-DENABLE_LIRCCLIENT=ON \
|
||||||
|
-DENABLE_EVENTCLIENTS=ON \
|
||||||
|
-DENABLE_LDGOLD=ON \
|
||||||
|
-DENABLE_DEBUGFISSION=OFF \
|
||||||
|
-DENABLE_APP_AUTONAME=OFF \
|
||||||
|
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
|
||||||
|
$PKG_KODI_USE_LTO \
|
||||||
|
$KODI_ARCH \
|
||||||
|
$KODI_NEON \
|
||||||
|
$KODI_VDPAU \
|
||||||
|
$KODI_VAAPI \
|
||||||
|
$KODI_CEC \
|
||||||
|
$KODI_XORG \
|
||||||
|
$KODI_SAMBA \
|
||||||
|
$KODI_NFS \
|
||||||
|
$KODI_LIBDVD \
|
||||||
|
$KODI_AVAHI \
|
||||||
|
$KODI_UPNP \
|
||||||
|
$KODI_MYSQL \
|
||||||
|
$KODI_AIRPLAY \
|
||||||
|
$KODI_AIRTUNES \
|
||||||
|
$KODI_OPTICAL \
|
||||||
|
$KODI_BLURAY \
|
||||||
|
$KODI_PLAYER"
|
||||||
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
export LIBS="$LIBS -lncurses"
|
export LIBS="$LIBS -lncurses"
|
||||||
|
@ -13,78 +13,80 @@ PKG_NEED_UNPACK="$(get_pkg_directory heimdal) $(get_pkg_directory e2fsprogs)"
|
|||||||
PKG_LONGDESC="A free SMB / CIFS fileserver and client."
|
PKG_LONGDESC="A free SMB / CIFS fileserver and client."
|
||||||
PKG_BUILD_FLAGS="-gold"
|
PKG_BUILD_FLAGS="-gold"
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="V=1"
|
configure_package() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="V=1"
|
||||||
|
|
||||||
if [ "$AVAHI_DAEMON" = yes ]; then
|
if [ "$AVAHI_DAEMON" = yes ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi"
|
||||||
SMB_AVAHI="--enable-avahi"
|
SMB_AVAHI="--enable-avahi"
|
||||||
else
|
else
|
||||||
SMB_AVAHI="--disable-avahi"
|
SMB_AVAHI="--disable-avahi"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TARGET_ARCH" = x86_64 ]; then
|
if [ "$TARGET_ARCH" = x86_64 ]; then
|
||||||
SMB_AESNI="--accel-aes=intelaesni"
|
SMB_AESNI="--accel-aes=intelaesni"
|
||||||
else
|
else
|
||||||
SMB_AESNI="--accel-aes=none"
|
SMB_AESNI="--accel-aes=none"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS="--prefix=/usr \
|
PKG_CONFIGURE_OPTS="--prefix=/usr \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--with-lockdir=/var/lock \
|
--with-lockdir=/var/lock \
|
||||||
--with-logfilebase=/var/log \
|
--with-logfilebase=/var/log \
|
||||||
--with-piddir=/run/samba \
|
--with-piddir=/run/samba \
|
||||||
--with-privatedir=/run/samba \
|
--with-privatedir=/run/samba \
|
||||||
--with-modulesdir=/usr/lib \
|
--with-modulesdir=/usr/lib \
|
||||||
--with-privatelibdir=/usr/lib \
|
--with-privatelibdir=/usr/lib \
|
||||||
--with-sockets-dir=/run/samba \
|
--with-sockets-dir=/run/samba \
|
||||||
--with-configdir=/run/samba \
|
--with-configdir=/run/samba \
|
||||||
--with-libiconv=$SYSROOT_PREFIX/usr \
|
--with-libiconv=$SYSROOT_PREFIX/usr \
|
||||||
--cross-compile \
|
--cross-compile \
|
||||||
--cross-answers=$PKG_BUILD/cache.txt \
|
--cross-answers=$PKG_BUILD/cache.txt \
|
||||||
--hostcc=gcc \
|
--hostcc=gcc \
|
||||||
--enable-fhs \
|
--enable-fhs \
|
||||||
--without-dmapi \
|
--without-dmapi \
|
||||||
--disable-glusterfs \
|
--disable-glusterfs \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
--disable-rpath-install \
|
--disable-rpath-install \
|
||||||
--disable-rpath-private-install \
|
--disable-rpath-private-install \
|
||||||
$SMB_AVAHI \
|
$SMB_AVAHI \
|
||||||
$SMB_AESNI \
|
$SMB_AESNI \
|
||||||
--disable-cups \
|
--disable-cups \
|
||||||
--disable-iprint \
|
--disable-iprint \
|
||||||
--disable-gnutls \
|
--disable-gnutls \
|
||||||
--with-relro \
|
--with-relro \
|
||||||
--with-sendfile-support \
|
--with-sendfile-support \
|
||||||
--without-acl-support \
|
--without-acl-support \
|
||||||
--without-ads \
|
--without-ads \
|
||||||
--without-ad-dc \
|
--without-ad-dc \
|
||||||
--without-automount \
|
--without-automount \
|
||||||
--without-cluster-support \
|
--without-cluster-support \
|
||||||
--without-dnsupdate \
|
--without-dnsupdate \
|
||||||
--without-fam \
|
--without-fam \
|
||||||
--without-gettext \
|
--without-gettext \
|
||||||
--without-gpgme \
|
--without-gpgme \
|
||||||
--without-iconv \
|
--without-iconv \
|
||||||
--without-ldap \
|
--without-ldap \
|
||||||
--without-libarchive \
|
--without-libarchive \
|
||||||
--without-pam \
|
--without-pam \
|
||||||
--without-pie \
|
--without-pie \
|
||||||
--without-regedit \
|
--without-regedit \
|
||||||
--without-systemd \
|
--without-systemd \
|
||||||
--without-utmp \
|
--without-utmp \
|
||||||
--without-winbind \
|
--without-winbind \
|
||||||
--enable-auto-reconfigure \
|
--enable-auto-reconfigure \
|
||||||
--bundled-libraries='ALL,!asn1_compile,!compile_et,!zlib' \
|
--bundled-libraries='ALL,!asn1_compile,!compile_et,!zlib' \
|
||||||
--without-quotas \
|
--without-quotas \
|
||||||
--with-syslog \
|
--with-syslog \
|
||||||
--without-json-audit \
|
--without-json-audit \
|
||||||
--without-ldb-lmdb \
|
--without-ldb-lmdb \
|
||||||
--nopyc --nopyo"
|
--nopyc --nopyo"
|
||||||
|
|
||||||
PKG_SAMBA_TARGET="smbclient,client/smbclient,smbtree,testparm"
|
PKG_SAMBA_TARGET="smbclient,client/smbclient,smbtree,testparm"
|
||||||
|
|
||||||
[ "$SAMBA_SERVER" = "yes" ] && PKG_SAMBA_TARGET+=",smbd/smbd,nmbd,smbpasswd"
|
[ "$SAMBA_SERVER" = "yes" ] && PKG_SAMBA_TARGET+=",smbd/smbd,nmbd,smbpasswd"
|
||||||
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
# samba uses its own build directory
|
# samba uses its own build directory
|
||||||
|
@ -77,7 +77,7 @@ Additional options used when the package builds an addon.
|
|||||||
| PKG_ADDON_IS_STANDALONE | - | no | Defines if an addon depends on Kodi (on) or is standalone (yes) |
|
| PKG_ADDON_IS_STANDALONE | - | no | Defines if an addon depends on Kodi (on) or is standalone (yes) |
|
||||||
| PKG_ADDON_BROKEN | - | no | Marks an addon as broken for the user |
|
| PKG_ADDON_BROKEN | - | no | Marks an addon as broken for the user |
|
||||||
|
|
||||||
#### Detail Infomations for Options
|
#### Detailed Information for Options
|
||||||
|
|
||||||
##### TOOLCHAIN options
|
##### TOOLCHAIN options
|
||||||
|
|
||||||
@ -144,6 +144,7 @@ Full list of overwrittable functions.
|
|||||||
|
|
||||||
| function | stages specific | description |
|
| function | stages specific | description |
|
||||||
|-------------------------|--------|-------------|
|
|-------------------------|--------|-------------|
|
||||||
|
| configure_package | - | Optional function to implement late binding variable assignment (see below) |
|
||||||
| unpack<br>pre_unpack<br>post_unpack | - | Extract the source from the downloaded file |
|
| unpack<br>pre_unpack<br>post_unpack | - | Extract the source from the downloaded file |
|
||||||
| pre_patch<br>post_patch | - | Apply the patches to the source, after extraction. The patch function it self is not allowed to overwritten |
|
| pre_patch<br>post_patch | - | Apply the patches to the source, after extraction. The patch function it self is not allowed to overwritten |
|
||||||
| pre_build_\[stage] | yes | Runs before of the start of the build |
|
| pre_build_\[stage] | yes | Runs before of the start of the build |
|
||||||
@ -152,41 +153,106 @@ Full list of overwrittable functions.
|
|||||||
| makeinstall_\[stage]<br>pre_makeinstall_\[stage]<br>post_makeinstall_\[stage] | yes | Installation of the files in the correct pathes<br>host: TOOLCHAIN<br>target: SYSROOT and IMAGE<br>bootstrap and init: temporary destination
|
| makeinstall_\[stage]<br>pre_makeinstall_\[stage]<br>post_makeinstall_\[stage] | yes | Installation of the files in the correct pathes<br>host: TOOLCHAIN<br>target: SYSROOT and IMAGE<br>bootstrap and init: temporary destination
|
||||||
| addon | - | Copy all files together for addon creation. This is requiered for addons |
|
| addon | - | Copy all files together for addon creation. This is requiered for addons |
|
||||||
|
|
||||||
|
## Late Binding variable assignment
|
||||||
|
|
||||||
|
A package will be loaded only once, by the call to `config/options`. During this process, additional package specific variables will be initialised, such as:
|
||||||
|
|
||||||
|
* `PKG_BUILD` - path to the build folder
|
||||||
|
* `PKG_SOURCE_NAME` - if not already specified, generated from `PKG_URL`, `PKG_NAME` and` PKG_VERSION`
|
||||||
|
|
||||||
|
Since these variables will not exist at the time the package is loaded, they can only be referenced **after** package has loaded. This can be accomplished by referencing these variables in the `configure_package()` function which is executed once the additional variables have been assigned.
|
||||||
|
|
||||||
|
If necessary, the following variables would be configured in `configure_package()` as they are normally relative to `${PKG_BUILD}`:
|
||||||
|
```
|
||||||
|
PKG_CONFIGURE_SCRIPT
|
||||||
|
PKG_CMAKE_SCRIPT
|
||||||
|
PKG_MESON_SCRIPT
|
||||||
|
```
|
||||||
|
|
||||||
|
Further to this, toolchain variables that are defined in `setup_toolchain()` must not be referenced "globally" in the package as they will only be configured reliably after `setup_toolchain()` has been called during `scripts/build`. Any variable in the following list must instead be referenced in a package function such as `pre_build_*`, `pre_configure_*`, `pre_make_*` etc.:
|
||||||
|
```
|
||||||
|
TARGET_CFLAGS TARGET_CXXFLAGS TARGET_LDFLAGS
|
||||||
|
NINJA_OPTS MAKEFLAGS
|
||||||
|
DESTIMAGE
|
||||||
|
CC CXX CPP LD
|
||||||
|
AS AR NM RANLIB
|
||||||
|
OBJCOPY OBJDUMP
|
||||||
|
STRIP
|
||||||
|
CPPFLAGS CFLAGS CXXFLAGS LDFLAGS
|
||||||
|
PKG_CONFIG
|
||||||
|
PKG_CONFIG_PATH
|
||||||
|
PKG_CONFIG_LIBDIR
|
||||||
|
PKG_CONFIG_SYSROOT_DIR
|
||||||
|
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
|
||||||
|
PKG_CONFIG_ALLOW_SYSTEM_LIBS
|
||||||
|
CMAKE_CONF CMAKE
|
||||||
|
HOST_CC HOST_CXX HOSTCC HOSTCXX
|
||||||
|
CC_FOR_BUILD CXX_FOR_BUILD BUILD_CC BUILD_CXX
|
||||||
|
_python_sysroot _python_prefix _python_exec_prefix
|
||||||
|
```
|
||||||
|
|
||||||
|
Lastly, the following variables are assigned during `scripts/build` but some packages may need to use alternative values for these variables. To do so, the package must assign alternative values in `pre_build_*`/`pre_configure_*`/`pre_make_*` etc. functions as these functions will be called after the variables are initialised with default values in `scripts/build` but before they are used by `scripts/build`.
|
||||||
|
```
|
||||||
|
CMAKE_GENERATOR_NINJA
|
||||||
|
|
||||||
|
TARGET_CONFIGURE_OPTS
|
||||||
|
TARGET_CMAKE_OPTS
|
||||||
|
TARGET_MESON_OPTS
|
||||||
|
|
||||||
|
HOST_CONFIGURE_OPTS
|
||||||
|
HOST_CMAKE_OPTS
|
||||||
|
HOST_MESON_OPTS
|
||||||
|
|
||||||
|
INIT_CONFIGURE_OPTS
|
||||||
|
INIT_CMAKE_OPTS
|
||||||
|
INIT_MESON_OPTS
|
||||||
|
|
||||||
|
BOOTSTRAP_CONFIGURE_OPTS
|
||||||
|
BOOTSTRAP_CMAKE_OPTS
|
||||||
|
BOOTSTRAP_MESON_OPTS
|
||||||
|
```
|
||||||
|
|
||||||
###### Example
|
###### Example
|
||||||
```
|
```
|
||||||
|
configure_package() {
|
||||||
|
# now we know where we're building, assign a value
|
||||||
|
PKG_CONFIGURE_SCRIPT="${PKG_BUILD}/gettext-tools/configure"
|
||||||
|
}
|
||||||
|
|
||||||
post_patch() {
|
post_patch() {
|
||||||
# replace hardcoded stuff
|
# replace hardcoded stuff
|
||||||
sed -i $PKG_BUILD/Makefile 's|hardcoded stuff|variabled stuff|'
|
sed -i ${PKG_CONFIGURE_SCRIPT} 's|hardcoded stuff|variable stuff|'
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
|
# add extra flag to toolchain default
|
||||||
CFLAGS="$CFLAGS -DEXTRA_FLAG=yeah"
|
CFLAGS="$CFLAGS -DEXTRA_FLAG=yeah"
|
||||||
}
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
# remove unused executable, only library needed
|
# remove unused executable, install what remains
|
||||||
rm $INSTALL/usr/bin/bigexecutable
|
rm $INSTALL/usr/bin/bigexecutable
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Add a new package to the Image
|
## Add a new package to the Image
|
||||||
1. Think about, why you needs it in the image.
|
1. Think about, why you need it in the image.
|
||||||
* new multimedia tool
|
* new multimedia tool
|
||||||
* add a new network tool
|
* add a new network tool
|
||||||
* new kernel driver
|
* new kernel driver
|
||||||
* ...
|
* ...
|
||||||
2. Find a place in the packages-tree
|
2. Find a place in the packages tree
|
||||||
* look into the package-tree, i think most is self explaind. When 1. was done, this is going fast :)
|
* look into the package tree structure, which is generally self explaind.
|
||||||
* do not place it, in an existing package (directory with includes a `package.mk`)
|
* do not place it in an existing package (directory that includes a `package.mk`)
|
||||||
* when you found a place, create a directory with the name of your package (must the same like `PKG_NAME`!!)
|
* when you found a place, create a directory with the name of your package (use same value for `PKG_NAME`!!)
|
||||||
3. Create a initial `package.mk`
|
3. Create an initial `package.mk`
|
||||||
* you found a template under `packages/package.mk.template`. Copy the template into the new directory and call it `package.mk`
|
* you can find a template under `packages/package.mk.template`. Copy the template into the new directory and call it `package.mk`
|
||||||
* edit your new `package.mk`
|
* apply any required changes to your new `package.mk`
|
||||||
4. Find a place in the dependency tree. When 1. was done, this is going fast, again :)
|
4. Find a place in the dependency tree
|
||||||
* when it extend an existing package, add it there to the `PKG_DEPENDS_TARGET`
|
* when it extend an existing package, add it there to the `PKG_DEPENDS_TARGET`/`PKG_DEPENDS_HOST` etc.
|
||||||
* take a look into the path `packages/virtual`, there you should find a virtual packages, that match your new package (misc-packages should the last option)
|
* take a look into the path `packages/virtual`, there you should find a virtual packages, that match your new package (misc-packages should be the last option)
|
||||||
5. now you can build your image
|
5. Now you can build your image
|
||||||
* after the build, under build-[...]/ should apear a directory with your package-name and -version.
|
* after the build, inside the `build-*` folder you should find a directory with your package name and -version, eg. `widget-1.2.3`.
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
```
|
```
|
||||||
@ -196,25 +262,21 @@ post_makeinstall_target() {
|
|||||||
PKG_NAME="mariadb-connector-c"
|
PKG_NAME="mariadb-connector-c"
|
||||||
PKG_VERSION="3.0.2"
|
PKG_VERSION="3.0.2"
|
||||||
PKG_SHA256="f44f436fc35e081db3a56516de9e3bb11ae96838e75d58910be28ddd2bc56d88"
|
PKG_SHA256="f44f436fc35e081db3a56516de9e3bb11ae96838e75d58910be28ddd2bc56d88"
|
||||||
PKG_ARCH="any"
|
|
||||||
PKG_LICENSE="LGPL"
|
PKG_LICENSE="LGPL"
|
||||||
PKG_SITE="https://mariadb.org/"
|
PKG_SITE="https://mariadb.org/"
|
||||||
PKG_URL="https://github.com/MariaDB/mariadb-connector-c/archive/v$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/MariaDB/mariadb-connector-c/archive/v$PKG_VERSION.tar.gz"
|
||||||
PKG_DEPENDS_TARGET="toolchain zlib openssl"
|
PKG_DEPENDS_TARGET="toolchain zlib openssl"
|
||||||
PKG_SECTION="database"
|
|
||||||
PKG_SHORTDESC="mariadb-connector: library to conntect to mariadb/mysql database server"
|
|
||||||
PKG_LONGDESC="mariadb-connector: library to conntect to mariadb/mysql database server"
|
PKG_LONGDESC="mariadb-connector: library to conntect to mariadb/mysql database server"
|
||||||
|
PKG_BUILD_FLAGS="-gold"
|
||||||
|
|
||||||
PKG_CMAKE_OPTS_TARGET="-DWITH_EXTERNAL_ZLIB=ON
|
PKG_CMAKE_OPTS_TARGET="-DWITH_EXTERNAL_ZLIB=ON \
|
||||||
-DAUTH_CLEARTEXT=STATIC
|
-DAUTH_CLEARTEXT=STATIC \
|
||||||
-DAUTH_DIALOG=STATIC
|
-DAUTH_DIALOG=STATIC \
|
||||||
-DAUTH_OLDPASSWORD=STATIC
|
-DAUTH_OLDPASSWORD=STATIC \
|
||||||
-DREMOTEIO=OFF
|
-DREMOTEIO=OFF"
|
||||||
"
|
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
# drop all unneeded
|
# drop all unneeded
|
||||||
rm -rf $INSTALL/usr
|
rm -rf $INSTALL/usr
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="libgcrypt"
|
PKG_NAME="libgcrypt"
|
||||||
PKG_VERSION="1.8.3"
|
PKG_VERSION="1.8.3"
|
||||||
@ -13,12 +14,14 @@ PKG_TOOLCHAIN="autotools"
|
|||||||
# libgcrypt-1.7.x fails to build with LTO support
|
# libgcrypt-1.7.x fails to build with LTO support
|
||||||
# see for example https://bugs.gentoo.org/show_bug.cgi?id=581114
|
# see for example https://bugs.gentoo.org/show_bug.cgi?id=581114
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
|
pre_configure_target() {
|
||||||
ac_cv_sys_symbol_underscore=no \
|
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
|
||||||
--enable-asm \
|
ac_cv_sys_symbol_underscore=no \
|
||||||
--with-gnu-ld \
|
--enable-asm \
|
||||||
--with-libgpg-error-prefix=$SYSROOT_PREFIX/usr \
|
--with-gnu-ld \
|
||||||
--disable-doc"
|
--with-libgpg-error-prefix=$SYSROOT_PREFIX/usr \
|
||||||
|
--disable-doc"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
sed -e "s:\(['= ]\)\"/usr:\\1\"$SYSROOT_PREFIX/usr:g" -i src/$PKG_NAME-config
|
sed -e "s:\(['= ]\)\"/usr:\\1\"$SYSROOT_PREFIX/usr:g" -i src/$PKG_NAME-config
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="libgpg-error"
|
PKG_NAME="libgpg-error"
|
||||||
PKG_VERSION="1.27"
|
PKG_VERSION="1.27"
|
||||||
@ -10,9 +11,9 @@ PKG_URL="https://www.gnupg.org/ftp/gcrypt/libgpg-error/$PKG_NAME-$PKG_VERSION.ta
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="A library that defines common error values for all GnuPG components."
|
PKG_LONGDESC="A library that defines common error values for all GnuPG components."
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC --enable-static --disable-shared --disable-nls --disable-rpath --with-gnu-ld --with-pic"
|
|
||||||
|
|
||||||
pre_configure_target() {
|
pre_configure_target() {
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC --enable-static --disable-shared --disable-nls --disable-rpath --with-gnu-ld --with-pic"
|
||||||
|
|
||||||
# inspired by openembedded
|
# inspired by openembedded
|
||||||
case ${TARGET_ARCH} in
|
case ${TARGET_ARCH} in
|
||||||
aarch64)
|
aarch64)
|
||||||
|
@ -15,22 +15,10 @@ PKG_LONGDESC="BusyBox combines tiny versions of many common UNIX utilities into
|
|||||||
# busybox fails to build with GOLD support enabled with binutils-2.25
|
# busybox fails to build with GOLD support enabled with binutils-2.25
|
||||||
PKG_BUILD_FLAGS="-parallel -gold"
|
PKG_BUILD_FLAGS="-parallel -gold"
|
||||||
|
|
||||||
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
|
|
||||||
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
|
|
||||||
HOSTCC=$HOST_CC \
|
|
||||||
CROSS_COMPILE=$TARGET_PREFIX \
|
|
||||||
KBUILD_VERBOSE=1 \
|
|
||||||
install"
|
|
||||||
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
|
|
||||||
HOSTCC=$HOST_CC \
|
|
||||||
CROSS_COMPILE=$TARGET_PREFIX \
|
|
||||||
KBUILD_VERBOSE=1 \
|
|
||||||
install"
|
|
||||||
|
|
||||||
# nano text editor
|
# nano text editor
|
||||||
if [ "$NANO_EDITOR" = "yes" ]; then
|
if [ "$NANO_EDITOR" = "yes" ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET nano"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET nano"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# nfs support
|
# nfs support
|
||||||
if [ "$NFS_SUPPORT" = yes ]; then
|
if [ "$NFS_SUPPORT" = yes ]; then
|
||||||
@ -38,16 +26,30 @@ if [ "$NFS_SUPPORT" = yes ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
pre_build_target() {
|
pre_build_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
|
||||||
|
HOSTCC=$HOST_CC \
|
||||||
|
CROSS_COMPILE=$TARGET_PREFIX \
|
||||||
|
KBUILD_VERBOSE=1 \
|
||||||
|
install"
|
||||||
|
|
||||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_build_host() {
|
pre_build_host() {
|
||||||
|
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
|
||||||
|
|
||||||
mkdir -p $PKG_BUILD/.$HOST_NAME
|
mkdir -p $PKG_BUILD/.$HOST_NAME
|
||||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
|
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_build_init() {
|
pre_build_init() {
|
||||||
|
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
|
||||||
|
HOSTCC=$HOST_CC \
|
||||||
|
CROSS_COMPILE=$TARGET_PREFIX \
|
||||||
|
KBUILD_VERBOSE=1 \
|
||||||
|
install"
|
||||||
|
|
||||||
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
|
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
|
||||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
|
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="diskdev_cmds"
|
PKG_NAME="diskdev_cmds"
|
||||||
PKG_VERSION="332.14"
|
PKG_VERSION="332.14"
|
||||||
@ -10,9 +11,9 @@ PKG_URL="http://www.opensource.apple.com/tarballs/diskdev_cmds/$PKG_NAME-$PKG_VE
|
|||||||
PKG_DEPENDS_TARGET="toolchain openssl"
|
PKG_DEPENDS_TARGET="toolchain openssl"
|
||||||
PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems."
|
PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="-f Makefile.lnx CC=$CC"
|
|
||||||
|
|
||||||
pre_make_target() {
|
pre_make_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="-f Makefile.lnx CC=$CC"
|
||||||
|
|
||||||
export CFLAGS="$TARGET_CFLAGS -g3 -Wall -I$PKG_BUILD/include -DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -D LINUX=1 -D BSD=1"
|
export CFLAGS="$TARGET_CFLAGS -g3 -Wall -I$PKG_BUILD/include -DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -D LINUX=1 -D BSD=1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="e2fsprogs"
|
PKG_NAME="e2fsprogs"
|
||||||
PKG_VERSION="1.43.9"
|
PKG_VERSION="1.43.9"
|
||||||
@ -20,32 +21,37 @@ PKG_CONFIGURE_OPTS_HOST="--prefix=$TOOLCHAIN/ \
|
|||||||
--bindir=$TOOLCHAIN/bin \
|
--bindir=$TOOLCHAIN/bin \
|
||||||
--sbindir=$TOOLCHAIN/sbin"
|
--sbindir=$TOOLCHAIN/sbin"
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="BUILD_CC=$HOST_CC \
|
pre_configure_target() {
|
||||||
--enable-verbose-makecmds \
|
PKG_CONFIGURE_OPTS_TARGET="BUILD_CC=$HOST_CC \
|
||||||
--enable-symlink-install \
|
--enable-verbose-makecmds \
|
||||||
--enable-symlink-build \
|
--enable-symlink-install \
|
||||||
--disable-elf-shlibs \
|
--enable-symlink-build \
|
||||||
--disable-bsd-shlibs \
|
--disable-elf-shlibs \
|
||||||
--disable-profile \
|
--disable-bsd-shlibs \
|
||||||
--disable-jbd-debug \
|
--disable-profile \
|
||||||
--disable-blkid-debug \
|
--disable-jbd-debug \
|
||||||
--disable-testio-debug \
|
--disable-blkid-debug \
|
||||||
--enable-libuuid \
|
--disable-testio-debug \
|
||||||
--enable-libblkid \
|
--enable-libuuid \
|
||||||
--disable-debugfs \
|
--enable-libblkid \
|
||||||
--disable-imager \
|
--disable-debugfs \
|
||||||
--enable-resizer \
|
--disable-imager \
|
||||||
--enable-fsck \
|
--enable-resizer \
|
||||||
--disable-e2initrd-helper \
|
--enable-fsck \
|
||||||
--enable-tls \
|
--disable-e2initrd-helper \
|
||||||
--disable-uuidd \
|
--enable-tls \
|
||||||
--disable-nls \
|
--disable-uuidd \
|
||||||
--disable-rpath \
|
--disable-nls \
|
||||||
--disable-fuse2fs \
|
--disable-rpath \
|
||||||
--with-gnu-ld"
|
--disable-fuse2fs \
|
||||||
|
--with-gnu-ld"
|
||||||
|
}
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_INIT="$PKG_CONFIGURE_OPTS_TARGET"
|
pre_configure_init() {
|
||||||
|
pkg_call pre_configure_target || die "pre_configure_target not found"
|
||||||
|
|
||||||
|
PKG_CONFIGURE_OPTS_INIT="$PKG_CONFIGURE_OPTS_TARGET"
|
||||||
|
}
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
make -C lib/et LIBMODE=644 DESTDIR=$SYSROOT_PREFIX install
|
make -C lib/et LIBMODE=644 DESTDIR=$SYSROOT_PREFIX install
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="tz"
|
PKG_NAME="tz"
|
||||||
PKG_VERSION="2018c"
|
PKG_VERSION="2018c"
|
||||||
@ -10,7 +11,9 @@ PKG_URL="https://github.com/eggert/tz/archive/$PKG_VERSION.tar.gz"
|
|||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_LONGDESC="Time zone and daylight-saving time data."
|
PKG_LONGDESC="Time zone and daylight-saving time data."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="CC=$HOST_CC LDFLAGS="
|
pre_configure_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="CC=$HOST_CC LDFLAGS="
|
||||||
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
make TZDIR="$INSTALL/usr/share/zoneinfo" REDO=posix_only TOPDIR="$INSTALL" install
|
make TZDIR="$INSTALL/usr/share/zoneinfo" REDO=posix_only TOPDIR="$INSTALL" install
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="v86d"
|
PKG_NAME="v86d"
|
||||||
PKG_VERSION="0.1.10"
|
PKG_VERSION="0.1.10"
|
||||||
@ -11,9 +12,9 @@ PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
|||||||
PKG_DEPENDS_INIT="toolchain gcc:init"
|
PKG_DEPENDS_INIT="toolchain gcc:init"
|
||||||
PKG_LONGDESC="v86d is the userspace helper that runs x86 code in an emulated environment."
|
PKG_LONGDESC="v86d is the userspace helper that runs x86 code in an emulated environment."
|
||||||
|
|
||||||
INIT_CONFIGURE_OPTS="--with-x86emu"
|
|
||||||
|
|
||||||
pre_configure_init() {
|
pre_configure_init() {
|
||||||
|
INIT_CONFIGURE_OPTS="--with-x86emu"
|
||||||
|
|
||||||
# v86d fails to build in subdirs
|
# v86d fails to build in subdirs
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
rm -rf .$TARGET_NAME-init
|
rm -rf .$TARGET_NAME-init
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
. config/options $1
|
|
||||||
|
|
||||||
mkdir -p $RELEASE_DIR/3rdparty/bootloader
|
mkdir -p $RELEASE_DIR/3rdparty/bootloader
|
||||||
cp -PR $BUILD/bcm2835-bootloader-*/LICENCE* $RELEASE_DIR/3rdparty/bootloader/
|
cp -PR $BUILD/bcm2835-bootloader-*/LICENCE* $RELEASE_DIR/3rdparty/bootloader/
|
||||||
|
@ -12,19 +12,19 @@ PKG_DEPENDS_TARGET="toolchain flex freetype:host"
|
|||||||
PKG_LONGDESC="GRUB is a Multiboot boot loader."
|
PKG_LONGDESC="GRUB is a Multiboot boot loader."
|
||||||
PKG_TOOLCHAIN="configure"
|
PKG_TOOLCHAIN="configure"
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \
|
pre_configure_target() {
|
||||||
--disable-nls \
|
PKG_CONFIGURE_OPTS_TARGET="--target=i386-pc-linux \
|
||||||
--with-platform=efi"
|
--disable-nls \
|
||||||
|
--with-platform=efi"
|
||||||
|
|
||||||
unset CFLAGS
|
unset CFLAGS
|
||||||
unset CPPFLAGS
|
unset CPPFLAGS
|
||||||
unset CXXFLAGS
|
unset CXXFLAGS
|
||||||
unset LDFLAGS
|
unset LDFLAGS
|
||||||
|
|
||||||
pre_configure_target() {
|
|
||||||
unset CPP
|
unset CPP
|
||||||
|
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
}
|
}
|
||||||
|
|
||||||
make_target() {
|
make_target() {
|
||||||
|
@ -10,19 +10,21 @@ PKG_URL="https://download.qemu.org/qemu-$PKG_VERSION.tar.xz"
|
|||||||
PKG_DEPENDS_HOST="toolchain glib:host pixman:host Python2:host zlib:host"
|
PKG_DEPENDS_HOST="toolchain glib:host pixman:host Python2:host zlib:host"
|
||||||
PKG_LONGDESC="QEMU is a generic and open source machine emulator and virtualizer."
|
PKG_LONGDESC="QEMU is a generic and open source machine emulator and virtualizer."
|
||||||
|
|
||||||
HOST_CONFIGURE_OPTS="--bindir=$TOOLCHAIN/bin \
|
pre_configure_host() {
|
||||||
--extra-cflags=-I$TOOLCHAIN/include \
|
HOST_CONFIGURE_OPTS="--bindir=$TOOLCHAIN/bin \
|
||||||
--extra-ldflags=-L$TOOLCHAIN/lib \
|
--extra-cflags=-I$TOOLCHAIN/include \
|
||||||
--libexecdir=$TOOLCHAIN/lib \
|
--extra-ldflags=-L$TOOLCHAIN/lib \
|
||||||
--localstatedir=$TOOLCHAIN/var \
|
--libexecdir=$TOOLCHAIN/lib \
|
||||||
--prefix=$TOOLCHAIN \
|
--localstatedir=$TOOLCHAIN/var \
|
||||||
--sbindir=$TOOLCHAIN/sbin \
|
--prefix=$TOOLCHAIN \
|
||||||
--static \
|
--sbindir=$TOOLCHAIN/sbin \
|
||||||
--sysconfdir=$TOOLCHAIN/etc \
|
--static \
|
||||||
--disable-blobs \
|
--sysconfdir=$TOOLCHAIN/etc \
|
||||||
--disable-docs \
|
--disable-blobs \
|
||||||
--disable-gcrypt \
|
--disable-docs \
|
||||||
--disable-system \
|
--disable-gcrypt \
|
||||||
--disable-user \
|
--disable-system \
|
||||||
--disable-vnc \
|
--disable-user \
|
||||||
--disable-werror"
|
--disable-vnc \
|
||||||
|
--disable-werror"
|
||||||
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="syslinux"
|
PKG_NAME="syslinux"
|
||||||
PKG_VERSION="6.03"
|
PKG_VERSION="6.03"
|
||||||
@ -12,13 +13,15 @@ PKG_DEPENDS_HOST="util-linux:host"
|
|||||||
PKG_DEPENDS_TARGET="toolchain util-linux e2fsprogs syslinux:host"
|
PKG_DEPENDS_TARGET="toolchain util-linux e2fsprogs syslinux:host"
|
||||||
PKG_LONGDESC="The SYSLINUX project covers lightweight linux bootloaders."
|
PKG_LONGDESC="The SYSLINUX project covers lightweight linux bootloaders."
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="CC=$CC AR=$AR RANLIB=$RANLIB installer"
|
pre_configure_target() {
|
||||||
|
PKG_MAKE_OPTS_TARGET="CC=$CC AR=$AR RANLIB=$RANLIB installer"
|
||||||
|
|
||||||
# Unset all compiler FLAGS
|
# Unset all compiler FLAGS
|
||||||
unset CFLAGS
|
unset CFLAGS
|
||||||
unset CPPFLAGS
|
unset CPPFLAGS
|
||||||
unset CXXFLAGS
|
unset CXXFLAGS
|
||||||
unset LDFLAGS
|
unset LDFLAGS
|
||||||
|
}
|
||||||
|
|
||||||
pre_build_target() {
|
pre_build_target() {
|
||||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="initramfs"
|
PKG_NAME="initramfs"
|
||||||
PKG_VERSION=""
|
PKG_VERSION=""
|
||||||
@ -15,8 +16,6 @@ if [ "$ISCSI_SUPPORT" = yes ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$INITRAMFS_PARTED_SUPPORT" = yes ]; then
|
if [ "$INITRAMFS_PARTED_SUPPORT" = yes ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET util-linux:init"
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET e2fsprogs:init"
|
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET parted:init"
|
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET parted:init"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="libpciaccess"
|
PKG_NAME="libpciaccess"
|
||||||
PKG_VERSION="0.14"
|
PKG_VERSION="0.14"
|
||||||
@ -10,8 +11,10 @@ PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSI
|
|||||||
PKG_DEPENDS_TARGET="toolchain util-macros zlib"
|
PKG_DEPENDS_TARGET="toolchain util-macros zlib"
|
||||||
PKG_LONGDESC="X.org libpciaccess library."
|
PKG_LONGDESC="X.org libpciaccess library."
|
||||||
|
|
||||||
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
|
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_asm_mtrr_h=set \
|
PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_asm_mtrr_h=set \
|
||||||
--with-pciids-path=/usr/share \
|
--with-pciids-path=/usr/share \
|
||||||
--with-zlib "
|
--with-zlib "
|
||||||
|
|
||||||
|
pre_configure_target() {
|
||||||
|
CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
|
||||||
|
}
|
||||||
|
@ -3,7 +3,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
. config/options $1
|
|
||||||
|
|
||||||
mkdir -p $RELEASE_DIR/3rdparty/bootloader
|
mkdir -p $RELEASE_DIR/3rdparty/bootloader
|
||||||
cp -a $INSTALL/usr/share/bootloader/* $RELEASE_DIR/3rdparty/bootloader
|
cp -a $INSTALL/usr/share/bootloader/* $RELEASE_DIR/3rdparty/bootloader
|
||||||
|
200
scripts/build
200
scripts/build
@ -4,29 +4,29 @@
|
|||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
. config/options $1
|
. config/options "$1"
|
||||||
|
|
||||||
if [ "$1" = "--all" ]; then
|
|
||||||
if [ -n "$2" ]; then
|
|
||||||
for build_dir in $(ls -1d ${ROOT}/build.*); do
|
|
||||||
load_build_config ${build_dir} && ./scripts/build $2
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
die "usage: $0 package_name[:<host|target|init|bootstrap>]"
|
die "usage: $0 package_name[:<host|target|init|bootstrap>]"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f $PKG_DIR/package.mk ]; then
|
if [ "$1" = "--all" ]; then
|
||||||
die "$(print_color CLR_ERROR "$1: no package.mk file found")"
|
if [ -n "$2" ]; then
|
||||||
|
for build_dir in $(ls -1d ${ROOT}/build.*); do
|
||||||
|
load_build_config ${build_dir} && ${SCRIPTS}/build "$2"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set defaults
|
if [ -z "${PKG_NAME}" ]; then
|
||||||
PKG_CONFIGURE_SCRIPT=""
|
die "$(print_color CLR_ERROR "${1}: no package.mk file found")"
|
||||||
PKG_MAKE_OPTS=""
|
fi
|
||||||
PKG_MAKEINSTALL_OPTS=""
|
|
||||||
|
if [ -n "$PKG_ARCH" ]; then
|
||||||
|
listcontains "$PKG_ARCH" "!$TARGET_ARCH" && exit 0
|
||||||
|
listcontains "$PKG_ARCH" "$TARGET_ARCH" || listcontains "$PKG_ARCH" "any" || exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${1//:/}" != "${1}" ]; then
|
if [ "${1//:/}" != "${1}" ]; then
|
||||||
PACKAGE_NAME="${1%:*}"
|
PACKAGE_NAME="${1%:*}"
|
||||||
@ -37,19 +37,9 @@ else
|
|||||||
fi
|
fi
|
||||||
TARGET="${TARGET:-target}"
|
TARGET="${TARGET:-target}"
|
||||||
|
|
||||||
if [ -n "$PKG_ARCH" ]; then
|
|
||||||
listcontains "$PKG_ARCH" "!$TARGET_ARCH" && exit 0
|
|
||||||
listcontains "$PKG_ARCH" "$TARGET_ARCH" || listcontains "$PKG_ARCH" "any" || exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
unset INSTALL
|
|
||||||
|
|
||||||
mkdir -p $STAMPS/$PACKAGE_NAME
|
mkdir -p $STAMPS/$PACKAGE_NAME
|
||||||
STAMP=$STAMPS/$PACKAGE_NAME/build_$TARGET
|
STAMP=$STAMPS/$PACKAGE_NAME/build_$TARGET
|
||||||
|
if [ -f $STAMP ]; then
|
||||||
$SCRIPTS/unpack $PACKAGE_NAME
|
|
||||||
|
|
||||||
if [ -f $STAMP ] ; then
|
|
||||||
. $STAMP
|
. $STAMP
|
||||||
PKG_DEEPHASH=$(calculate_stamp)
|
PKG_DEEPHASH=$(calculate_stamp)
|
||||||
if [ ! "$PKG_DEEPHASH" = "$STAMP_PKG_DEEPHASH" ]; then
|
if [ ! "$PKG_DEEPHASH" = "$STAMP_PKG_DEEPHASH" ]; then
|
||||||
@ -58,62 +48,57 @@ if [ -f $STAMP ] ; then
|
|||||||
rm -f $STAMP
|
rm -f $STAMP
|
||||||
elif [ "$1" = "u-boot" -a ! "$UBOOT_SYSTEM" = "$STAMP_UBOOT_SYSTEM" ]; then
|
elif [ "$1" = "u-boot" -a ! "$UBOOT_SYSTEM" = "$STAMP_UBOOT_SYSTEM" ]; then
|
||||||
rm -f $STAMP
|
rm -f $STAMP
|
||||||
|
else
|
||||||
|
# stamp matched: already built, do nothing
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f $STAMP ]; then
|
$SCRIPTS/unpack $PACKAGE_NAME
|
||||||
# already build, do nothing
|
|
||||||
|
# build dependencies, only when PKG_DEPENDS_? is filled
|
||||||
|
unset _pkg_depends
|
||||||
|
case "$TARGET" in
|
||||||
|
"target") _pkg_depends="$PKG_DEPENDS_TARGET";;
|
||||||
|
"host") _pkg_depends="$PKG_DEPENDS_HOST";;
|
||||||
|
"init") _pkg_depends="$PKG_DEPENDS_INIT";;
|
||||||
|
"bootstrap") _pkg_depends="$PKG_DEPENDS_BOOTSTRAP";;
|
||||||
|
esac
|
||||||
|
for p in $_pkg_depends; do
|
||||||
|
$SCRIPTS/build $p
|
||||||
|
done
|
||||||
|
|
||||||
|
# build this package
|
||||||
|
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
|
||||||
|
build_msg "CLR_BUILD" "BUILD" "${PACKAGE_NAME} $(print_color "CLR_TARGET" "(${TARGET})") [DEBUG]" "indent"
|
||||||
|
else
|
||||||
|
build_msg "CLR_BUILD" "BUILD" "${PACKAGE_NAME} $(print_color "CLR_TARGET" "(${TARGET})")" "indent"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# virtual packages are not built as they only contain dependencies, so dont go further here
|
||||||
|
if [ "$PKG_SECTION" = "virtual" ]; then
|
||||||
|
PKG_DEEPHASH=$(calculate_stamp)
|
||||||
|
for i in PKG_NAME PKG_DEEPHASH BUILD_WITH_DEBUG; do
|
||||||
|
echo "STAMP_$i=\"${!i}\"" >> $STAMP
|
||||||
|
done
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
rm -f $STAMP
|
|
||||||
|
|
||||||
setup_toolchain $TARGET
|
setup_toolchain $TARGET
|
||||||
|
|
||||||
# unset functions
|
# configure install directory
|
||||||
unset -f configure_package
|
if [ "$TARGET" = "target" ]; then
|
||||||
unset -f pre_build_target
|
INSTALL="$PKG_BUILD/.install_pkg"
|
||||||
unset -f pre_configure_target
|
elif [ "$TARGET" = "init" ]; then
|
||||||
unset -f configure_target
|
INSTALL="$PKG_BUILD/.install_init"
|
||||||
unset -f post_configure_target
|
else
|
||||||
unset -f pre_make_target
|
unset INSTALL
|
||||||
unset -f make_target
|
fi
|
||||||
unset -f post_make_target
|
# remove previous install files
|
||||||
unset -f pre_makeinstall_target
|
if [ -n "$INSTALL" -a -d "$INSTALL" ]; then
|
||||||
unset -f makeinstall_target
|
rm -rf "$INSTALL"
|
||||||
unset -f post_makeinstall_target
|
fi
|
||||||
|
|
||||||
unset -f pre_build_host
|
|
||||||
unset -f pre_configure_host
|
|
||||||
unset -f configure_host
|
|
||||||
unset -f post_configure_host
|
|
||||||
unset -f pre_make_host
|
|
||||||
unset -f make_host
|
|
||||||
unset -f post_make_host
|
|
||||||
unset -f pre_makeinstall_host
|
|
||||||
unset -f makeinstall_host
|
|
||||||
unset -f post_makeinstall_host
|
|
||||||
|
|
||||||
unset -f pre_build_init
|
|
||||||
unset -f pre_configure_init
|
|
||||||
unset -f configure_init
|
|
||||||
unset -f post_configure_init
|
|
||||||
unset -f pre_make_init
|
|
||||||
unset -f make_init
|
|
||||||
unset -f post_make_init
|
|
||||||
unset -f pre_makeinstall_init
|
|
||||||
unset -f makeinstall_init
|
|
||||||
unset -f post_makeinstall_init
|
|
||||||
|
|
||||||
unset -f pre_build_bootstrap
|
|
||||||
unset -f pre_configure_bootstrap
|
|
||||||
unset -f configure_bootstrap
|
|
||||||
unset -f post_configure_bootstrap
|
|
||||||
unset -f pre_make_bootstrap
|
|
||||||
unset -f make_bootstrap
|
|
||||||
unset -f post_make_bootstrap
|
|
||||||
unset -f pre_makeinstall_bootstrap
|
|
||||||
unset -f makeinstall_bootstrap
|
|
||||||
unset -f post_makeinstall_bootstrap
|
|
||||||
|
|
||||||
# configure debug build defaults
|
# configure debug build defaults
|
||||||
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
|
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
|
||||||
@ -124,6 +109,9 @@ else
|
|||||||
MESON_BUILD_TYPE="plain"
|
MESON_BUILD_TYPE="plain"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CMAKE_GENERATOR_NINJA="-GNinja \
|
||||||
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
||||||
|
|
||||||
# configure TARGET build defaults
|
# configure TARGET build defaults
|
||||||
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
||||||
--build=$HOST_NAME \
|
--build=$HOST_NAME \
|
||||||
@ -137,9 +125,6 @@ TARGET_CONFIGURE_OPTS="--host=$TARGET_NAME \
|
|||||||
--disable-static \
|
--disable-static \
|
||||||
--enable-shared"
|
--enable-shared"
|
||||||
|
|
||||||
CMAKE_GENERATOR_NINJA="-GNinja \
|
|
||||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
|
||||||
|
|
||||||
TARGET_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
TARGET_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"
|
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE"
|
||||||
@ -188,62 +173,10 @@ BOOTSTRAP_CONFIGURE_OPTS="$HOST_CONFIGURE_OPTS"
|
|||||||
BOOTSTRAP_CMAKE_OPTS="$HOST_CMAKE_OPTS"
|
BOOTSTRAP_CMAKE_OPTS="$HOST_CMAKE_OPTS"
|
||||||
BOOTSTRAP_MESON_OPTS="$HOST_MESON_OPTS"
|
BOOTSTRAP_MESON_OPTS="$HOST_MESON_OPTS"
|
||||||
|
|
||||||
# include buildfile
|
|
||||||
. $PKG_DIR/package.mk
|
|
||||||
|
|
||||||
# finalise package configuration
|
|
||||||
pkg_call_optional configure_package
|
|
||||||
|
|
||||||
# build dependencies, only when PKG_DEPENDS_? is filled
|
|
||||||
unset _pkg_depends
|
|
||||||
case "$TARGET" in
|
|
||||||
"target") _pkg_depends="$PKG_DEPENDS_TARGET";;
|
|
||||||
"host") _pkg_depends="$PKG_DEPENDS_HOST";;
|
|
||||||
"init") _pkg_depends="$PKG_DEPENDS_INIT";;
|
|
||||||
"bootstrap") _pkg_depends="$PKG_DEPENDS_BOOTSTRAP";;
|
|
||||||
esac
|
|
||||||
for p in $_pkg_depends; do
|
|
||||||
$SCRIPTS/build $p
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
|
|
||||||
build_msg "CLR_BUILD" "BUILD" "${PACKAGE_NAME} $(print_color "CLR_TARGET" "(${TARGET})") [DEBUG]" "indent"
|
|
||||||
else
|
|
||||||
build_msg "CLR_BUILD" "BUILD" "${PACKAGE_NAME} $(print_color "CLR_TARGET" "(${TARGET})")" "indent"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
|
||||||
if [ "$PKG_SECTION" = "virtual" ]; then
|
|
||||||
PKG_DEEPHASH=$(calculate_stamp)
|
|
||||||
for i in PKG_NAME PKG_DEEPHASH BUILD_WITH_DEBUG; do
|
|
||||||
echo "STAMP_$i=\"${!i}\"" >> $STAMP
|
|
||||||
done
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# configure other variables
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
|
||||||
INSTALL="$PKG_BUILD/.install_pkg"
|
|
||||||
elif [ "$TARGET" = "init" ]; then
|
|
||||||
INSTALL="$PKG_BUILD/.install_init"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# clear previous image files
|
|
||||||
if [ -n "$INSTALL" -a -d "$INSTALL" ]; then
|
|
||||||
rm -rf "$INSTALL"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# setup configure scripts
|
# setup configure scripts
|
||||||
if [ -z "$PKG_CONFIGURE_SCRIPT" ]; then
|
PKG_CONFIGURE_SCRIPT="${PKG_CONFIGURE_SCRIPT:-${PKG_BUILD}/configure}"
|
||||||
PKG_CONFIGURE_SCRIPT="$PKG_BUILD/configure"
|
PKG_CMAKE_SCRIPT="${PKG_CMAKE_SCRIPT:-${PKG_BUILD}/CMakeLists.txt}"
|
||||||
else
|
PKG_MESON_SCRIPT="${PKG_MESON_SCRIPT:-${PKG_BUILD}/meson.build}"
|
||||||
PKG_CONFIGURE_SCRIPT="$PKG_BUILD/$PKG_CONFIGURE_SCRIPT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_CMAKE_SCRIPT="${PKG_CMAKE_SCRIPT:-$PKG_BUILD/CMakeLists.txt}"
|
|
||||||
|
|
||||||
PKG_MESON_SCRIPT="${PKG_MESON_SCRIPT:-$PKG_BUILD/meson.build}"
|
|
||||||
|
|
||||||
# auto detect toolchain
|
# auto detect toolchain
|
||||||
_auto_toolchain=""
|
_auto_toolchain=""
|
||||||
@ -516,7 +449,6 @@ PKG_DEEPHASH=$(calculate_stamp)
|
|||||||
for i in PKG_NAME PKG_DEEPHASH BUILD_WITH_DEBUG; do
|
for i in PKG_NAME PKG_DEEPHASH BUILD_WITH_DEBUG; do
|
||||||
echo "STAMP_$i=\"${!i}\"" >> $STAMP
|
echo "STAMP_$i=\"${!i}\"" >> $STAMP
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$1" = "u-boot" ]; then
|
if [ "$1" = "u-boot" ]; then
|
||||||
echo "STAMP_UBOOT_SYSTEM=\"${UBOOT_SYSTEM}\"" >> $STAMP
|
echo "STAMP_UBOOT_SYSTEM=\"${UBOOT_SYSTEM}\"" >> $STAMP
|
||||||
fi
|
fi
|
||||||
|
@ -5,16 +5,25 @@
|
|||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
. config/options $1
|
. config/options "$1"
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
die "usage: $0 package_name"
|
die "usage: $0 package_name"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "${PKG_NAME}" ]; then
|
||||||
|
die "$(print_color CLR_ERROR "${1}: no package.mk file found")"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "$INSTALL" ] ; then
|
if [ -z "$INSTALL" ] ; then
|
||||||
die "error: '\$INSTALL' not set! this script is not intended to be run manually"
|
die "error: '\$INSTALL' not set! this script is not intended to be run manually"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PKG_ARCH" ]; then
|
||||||
|
listcontains "$PKG_ARCH" "!$TARGET_ARCH" && exit 0
|
||||||
|
listcontains "$PKG_ARCH" "$TARGET_ARCH" || listcontains "$PKG_ARCH" "any" || exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# set defaults
|
# set defaults
|
||||||
if [ "${1//:/}" != "${1}" ]; then
|
if [ "${1//:/}" != "${1}" ]; then
|
||||||
PACKAGE_NAME="${1%:*}"
|
PACKAGE_NAME="${1%:*}"
|
||||||
@ -26,23 +35,12 @@ fi
|
|||||||
[ -z "$TARGET" ] && TARGET="target"
|
[ -z "$TARGET" ] && TARGET="target"
|
||||||
|
|
||||||
STAMP=$STAMPS_INSTALL/$PACKAGE_NAME/install_$TARGET
|
STAMP=$STAMPS_INSTALL/$PACKAGE_NAME/install_$TARGET
|
||||||
mkdir -p $STAMPS_INSTALL/$PACKAGE_NAME
|
|
||||||
|
|
||||||
[ -f $STAMP ] && exit 0
|
[ -f $STAMP ] && exit 0
|
||||||
|
|
||||||
if [ -n "$PKG_ARCH" ]; then
|
mkdir -p $STAMPS_INSTALL/$PACKAGE_NAME
|
||||||
listcontains "$PKG_ARCH" "!$TARGET_ARCH" && exit 0
|
|
||||||
listcontains "$PKG_ARCH" "$TARGET_ARCH" || listcontains "$PKG_ARCH" "any" || exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f $PKG_DIR/package.mk ]; then
|
|
||||||
die "$(print_color CLR_ERROR "${PACKAGE_NAME}: no package.mk file found")"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$SCRIPTS/build $@
|
$SCRIPTS/build $@
|
||||||
|
|
||||||
build_msg "CLR_INSTALL" "INSTALL" "${PACKAGE_NAME} $(print_color CLR_TARGET "(${TARGET})")" "indent"
|
|
||||||
|
|
||||||
if [ "$TARGET" = target ] ; then
|
if [ "$TARGET" = target ] ; then
|
||||||
for p in $PKG_DEPENDS_TARGET; do
|
for p in $PKG_DEPENDS_TARGET; do
|
||||||
$SCRIPTS/install $p
|
$SCRIPTS/install $p
|
||||||
@ -54,6 +52,8 @@ elif [ "$TARGET" = init ] ; then
|
|||||||
INSTALL=$BUILD/initramfs
|
INSTALL=$BUILD/initramfs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
build_msg "CLR_INSTALL" "INSTALL" "${PACKAGE_NAME} $(print_color CLR_TARGET "(${TARGET})")" "indent"
|
||||||
|
|
||||||
mkdir -p $INSTALL
|
mkdir -p $INSTALL
|
||||||
|
|
||||||
if [ "$TARGET" = target ] ; then
|
if [ "$TARGET" = target ] ; then
|
||||||
@ -121,23 +121,14 @@ if [ "$TARGET" = target ] ; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# unset functions
|
|
||||||
unset -f pre_install
|
|
||||||
unset -f post_install
|
|
||||||
|
|
||||||
# include buildfile
|
|
||||||
. $PKG_DIR/package.mk
|
|
||||||
|
|
||||||
# install
|
# install
|
||||||
if [ "$TARGET" = target ] ; then
|
if [ "$TARGET" = target ] ; then
|
||||||
pkg_call_optional pre_install
|
pkg_call_optional pre_install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then
|
if [ "$TARGET" = "target" -a -d $PKG_BUILD/.install_pkg ]; then
|
||||||
mkdir -p $INSTALL
|
|
||||||
cp -PR $PKG_BUILD/.install_pkg/* $INSTALL
|
cp -PR $PKG_BUILD/.install_pkg/* $INSTALL
|
||||||
elif [ "$TARGET" = "init" -a -d $PKG_BUILD/.install_init ]; then
|
elif [ "$TARGET" = "init" -a -d $PKG_BUILD/.install_init ]; then
|
||||||
mkdir -p $INSTALL
|
|
||||||
cp -PR $PKG_BUILD/.install_init/* $INSTALL
|
cp -PR $PKG_BUILD/.install_init/* $INSTALL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,93 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
|
||||||
|
|
||||||
. config/options $1
|
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
echo "usage: $0 package_name[:<host|target|init|bootstrap>]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${1//:/}" != "${1}" ]; then
|
|
||||||
PACKAGE_NAME="${1%:*}"
|
|
||||||
TARGET="${1#*:}"
|
|
||||||
else
|
|
||||||
PACKAGE_NAME=$1
|
|
||||||
TARGET=
|
|
||||||
fi
|
|
||||||
[ -z "$TARGET" ] && TARGET="target"
|
|
||||||
|
|
||||||
if [ -n "$PKG_ARCH" ]; then
|
|
||||||
listcontains "$PKG_ARCH" "!$TARGET_ARCH" && exit 0
|
|
||||||
listcontains "$PKG_ARCH" "$TARGET_ARCH" || listcontains "$PKG_ARCH" "any" || exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
STAMP=$STAMPS/$PACKAGE_NAME/build_$TARGET
|
|
||||||
|
|
||||||
if [ -f $STAMP ]; then
|
|
||||||
|
|
||||||
# include buildfile
|
|
||||||
. $PKG_DIR/package.mk
|
|
||||||
|
|
||||||
# virtual packages dont must be build, they only contains dependencies, so dont go further here
|
|
||||||
if [ ! "$PKG_SECTION" = "virtual" ]; then
|
|
||||||
|
|
||||||
# setup configure script
|
|
||||||
if [ -z "$PKG_CONFIGURE_SCRIPT" ]; then
|
|
||||||
PKG_CONFIGURE_SCRIPT="$PKG_BUILD/configure"
|
|
||||||
else
|
|
||||||
PKG_CONFIGURE_SCRIPT="$PKG_BUILD/$PKG_CONFIGURE_SCRIPT"
|
|
||||||
fi
|
|
||||||
if [ -z "$PKG_CMAKE_SCRIPT" ]; then
|
|
||||||
PKG_CMAKE_SCRIPT="$PKG_BUILD/CMakeLists.txt"
|
|
||||||
else
|
|
||||||
PKG_CMAKE_SCRIPT="$PKG_BUILD/$PKG_CMAKE_SCRIPT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ensure $PKG_BUILD is there. (installer? PKG_URL="")
|
|
||||||
if [ ! -d $PKG_BUILD ] ; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $PKG_BUILD
|
|
||||||
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
|
||||||
cd .$TARGET_NAME
|
|
||||||
fi
|
|
||||||
elif [ "$TARGET" = "host" ]; then
|
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
|
||||||
cd .$HOST_NAME
|
|
||||||
fi
|
|
||||||
elif [ "$TARGET" = "init" ]; then
|
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
|
||||||
cd .$TARGET_NAME-init
|
|
||||||
fi
|
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
|
||||||
if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" ]; then
|
|
||||||
cd .$TARGET_NAME-bootstrap
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
MAKEUNINSTALL="$TOOLCHAIN/bin/make -j1 DESTDIR=$SYSROOT_PREFIX uninstall"
|
|
||||||
|
|
||||||
if [ "$TARGET" = "target" ]; then
|
|
||||||
$MAKEUNINSTALL $PKG_MAKEINSTALL_OPTS_TARGET
|
|
||||||
elif [ "$TARGET" = "host" ]; then
|
|
||||||
make uninstall $PKG_MAKEINSTALL_OPTS_HOST
|
|
||||||
elif [ "$TARGET" = "init" ]; then
|
|
||||||
make uninstall DESTDIR=$INSTALL $PKG_MAKEINSTALL_OPTS_INIT
|
|
||||||
elif [ "$TARGET" = "bootstrap" ]; then
|
|
||||||
$MAKEUNINSTALL $PKG_MAKEINSTALL_OPTS_BOOTSTRAP
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $ROOT
|
|
||||||
fi # ! "$PKG_SECTION" = "virtual"
|
|
||||||
|
|
||||||
if [ -f "$STAMP" ]; then
|
|
||||||
rm -f $STAMP
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
@ -4,14 +4,14 @@
|
|||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
. config/options $1
|
. config/options "$1"
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
die "usage: $0 package_name"
|
die "usage: $0 package_name"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f $PKG_DIR/package.mk ]; then
|
if [ -z "${PKG_NAME}" ]; then
|
||||||
die "$(print_color CLR_ERROR "$1: no package.mk file found")"
|
die "$(print_color CLR_ERROR "${1}: no package.mk file found")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$SCRIPTS/get $1
|
$SCRIPTS/get $1
|
||||||
@ -44,15 +44,6 @@ fi
|
|||||||
if [ -d "$SOURCES/$1" -o -d "$PKG_DIR/sources" ]; then
|
if [ -d "$SOURCES/$1" -o -d "$PKG_DIR/sources" ]; then
|
||||||
build_msg "CLR_UNPACK" "UNPACK" "${1}" "indent"
|
build_msg "CLR_UNPACK" "UNPACK" "${1}" "indent"
|
||||||
|
|
||||||
# unset functions
|
|
||||||
unset -f pre_unpack
|
|
||||||
unset -f unpack
|
|
||||||
unset -f post_unpack
|
|
||||||
unset -f pre_patch
|
|
||||||
unset -f post_patch
|
|
||||||
|
|
||||||
. $PKG_DIR/package.mk
|
|
||||||
|
|
||||||
pkg_call_optional pre_unpack
|
pkg_call_optional pre_unpack
|
||||||
|
|
||||||
if ! pkg_call unpack; then
|
if ! pkg_call unpack; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user