Compare commits

..

No commits in common. "master" and "9.95.3" have entirely different histories.

2540 changed files with 168039 additions and 137441 deletions

1
.github/FUNDING.yml vendored
View File

@ -1 +0,0 @@
open_collective: libreelec

View File

@ -1,5 +1,5 @@
---
name: Bug Report
name: Bug report
about: Describe this issue
title: "[BUG]"
labels: ISSUE NEEDS REVIEW
@ -7,30 +7,22 @@ assignees: ''
---
<!-- Before making a bug report please visit https//forum.libreelec.tv where -->
<!-- a large community exists to help and support you. -->
<!-- Opening a bug report without triaging the issue in the forum first will -->
<!-- probably result in the report being closed, with an instruction to visit -->
<!-- the forum for support. -->
### Describe the bug
<!-- A clear description of what the bug is. -->
<!--- A clear description of what the bug is. -->
### How to reproduce
### To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Play '....'
3. See error
### Information
- LibreELEC Version: [e.g. 12.0.2]
- Hardware Platform: [e.g. RPi4]
- Forum Thread: [URL]
### Informations
- LE Version: [e.g. 9.2.1]
- Hardware Platform: [e.g. RPi3]
### Log file
<!-- Add debug log files (https://libreelec.wiki/how_to/provide_logfile) that we can search for errors. -->
<!-- Add log files (https://libreelec.wiki/how_to/provide_logfile) that we can search for errors. -->
### Context
<!-- Add any context about the problem here. -->
### Additional context
<!--- Add any other context about the problem here. -->

View File

@ -1,8 +1 @@
blank_issues_enabled: false
contact_links:
- name: Help and Support
url: https://forum.libreelec.tv
about: Please ask for help and post questions in the forum
- name: Feature Requests
url: https://forum.libreelec.tv/board/18-feature-requests/
about: Please make feature requests via the forum

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
# build directories
# build directorys
/build.*/
/builds
/.fakeroot.*

View File

@ -1,7 +1,7 @@
### Questions about LibreELEC?
To get your questions answered, please ask in the LibreELEC [Forum], on IRC:
\#libreelec on Libera.Chat.
\#libreelec on freenode.net.
Do not open an issue.
@ -20,7 +20,7 @@ and try to answer the following questions:
- What did you expect to happen?
- What happened instead?
**It is also important to provide logs for debugging.
**It is also importent to provide logs for debugging.
A zip file can be found in the [logfiles] samba share, this will contain all the logs needed.**
Make sure to specify which version of LibreELEC you are using.

View File

@ -1,3 +1,5 @@
BUILD_DIRS=build.*
all: release
system:
@ -13,10 +15,10 @@ noobs:
./scripts/image noobs
clean:
./scripts/makefile_helper --clean
rm -rf $(BUILD_DIRS)/* $(BUILD_DIRS)/.stamps
distclean:
./scripts/makefile_helper --distclean
rm -rf ./.ccache ./$(BUILD_DIRS)
src-pkg:
tar cvJf sources.tar.xz sources

View File

@ -4,11 +4,11 @@ LibreELEC is a 'Just enough OS' Linux distribution for the award-winning [Kodi](
**Issues & Support**
Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libreelec.tv/forum-3.html) or ask a member of project staff in the #libreelec IRC channel on Libera.Chat. Please report bugs via [GitHub Issues](https://github.com/LibreELEC/LibreELEC.tv/issues).
Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libreelec.tv/forum-3.html) or ask a member of project staff in the #libreelec IRC channel on Freenode. Please report bugs via [GitHub Issues](https://github.com/LibreELEC/LibreELEC.tv/issues).
**Donations**
Contributions towards current project funding goals can be made via [OpenCollective](https://opencollective.com/libreelec/donate).
Contributions towards current project funding goals can be sent via PayPal to donations@libreelec.tv
**License**

View File

@ -3,15 +3,8 @@
TARGET_CPU=cortex-a53
fi
# 64bit userland and neon required by armv8
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="64bit neon"
else
TARGET_FEATURES+=" 64bit neon"
fi
# TARGET_CPU:
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72 cortex-a76
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
# cortex-a72.cortex-a53
@ -20,10 +13,8 @@
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a73.cortex-a53)
TARGET_SUBARCH=aarch64
TARGET_VARIANT=armv8-a
;;
cortex-a76)
TARGET_SUBARCH=aarch64
TARGET_VARIANT=armv8.2-a
TARGET_ABI=eabi
TARGET_FEATURES+=" neon"
;;
esac
@ -34,5 +25,5 @@
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi -mtune=$TARGET_CPU"
# Disable runtime checking support of ARMv8.0's optional LSE feature. Breaks gdb and mesa compile.
TARGET_CFLAGS="${TARGET_CFLAGS} -mno-outline-atomics"
TARGET_LDFLAGS=""
TARGET_ARCH_GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"

View File

@ -3,13 +3,6 @@
TARGET_CPU=cortex-a8
fi
# 32bit userland
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="32bit"
else
TARGET_FEATURES+=" 32bit"
fi
# TARGET_CPU:
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
@ -64,12 +57,8 @@
TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
TARGET_KERNEL_ARCH=${TARGET_KERNEL_ARCH:-arm}
if [ "${TARGET_KERNEL_ARCH}" = "arm64" ]; then
TARGET_KERNEL_PATCH_ARCH="aarch64"
fi
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
TARGET_LDFLAGS=""
TARGET_ARCH_GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"

View File

@ -1,30 +1,17 @@
# determines TARGET_CPU, if not forced by user
if [ -z "${TARGET_CPU}" ]; then
TARGET_CPU="x86-64"
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=core2
fi
# determine architecture's family
TARGET_SUBARCH="x86_64"
TARGET_SUBARCH=x86_64
TARGET_GCC_ARCH="${TARGET_SUBARCH/-/}"
TARGET_KERNEL_ARCH="x86"
TARGET_KERNEL_ARCH=x86
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=${TARGET_CPU}"
TARGET_LDFLAGS=""
TARGET_CFLAGS="-march=$TARGET_CPU -m64 -mmmx -msse -msse2 -mfpmath=sse"
TARGET_LDFLAGS="-march=$TARGET_CPU -m64"
# build with microarchitecture feature support defined by the TARGET_CPU value
# see https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/home for further details
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="64bit cmov cx8 fpu fxsr mmx osfxsr sce sse sse2"
TARGET_FEATURES_X86_64_V2="cmpxchg16b lahf-sahf popcnt sse3 sse4_1 sse4_2 ssse3"
TARGET_FEATURES_X86_64_V3="avx avx2 bmi1 bmi2 f16c fma lzcnt movbe osxsave"
if [ "${TARGET_CPU}" = "x86-64" ]; then
TARGET_FEATURES+=" no_sahf"
elif [ "${TARGET_CPU}" = "x86-64-v2" ]; then
TARGET_FEATURES+=" ${TARGET_FEATURES_X86_64_V2}"
elif [ "${TARGET_CPU}" = "x86-64-v3" ]; then
TARGET_FEATURES+=" ${TARGET_FEATURES_X86_64_V2} ${TARGET_FEATURES_X86_64_V3}"
fi
fi
TARGET_FEATURES="$(echo ${TARGET_FEATURES} | xargs -n1 | sort -u | xargs)"
# build with SIMD support ( yes / no )
TARGET_FEATURES+=" mmx sse sse2"

View File

@ -8,4 +8,4 @@ name="$(basename $0)"
oe_setup_addon "$name"
docker rm "$name" 2>/dev/null
docker run --name="$name"
docker run --name="$name" \

View File

@ -150,33 +150,6 @@ build_msg() {
fi
}
print_qa_checks() {
if [ -n "${PKG_NAME}" ]; then
if [ -d "${PKG_QA_CHECKS}" ]; then
for qa_check in ${PKG_QA_CHECKS}/*; do
print_color CLR_WARNING "[QA CHECK] [${PKG_NAME}] [$(basename ${qa_check})]:\n$(cat ${qa_check})\n\n"
done
fi
fi
}
log_qa_check() {
local qa_check_title="${1}"
local qa_check_message="${2}"
if [ -n "${qa_check_title}" -a -n "${qa_check_message}" ]; then
if [ -n "${PKG_NAME}" ]; then
print_color CLR_WARNING "[QA CHECK] [${PKG_NAME}] [${qa_check_title}]:\n${qa_check_message}\n"
mkdir -p "${PKG_QA_CHECKS}"
echo -e "${qa_check_message}" >> ${PKG_QA_CHECKS}/${qa_check_title}
else
print_color CLR_WARNING "[QA CHECK] [general] [${qa_check_title}]:\n${qa_check_message}\n"
mkdir -p "${BUILD}/qa_checks/general"
echo -e "${qa_check_message}" >> ${BUILD}/qa_checks/general/${qa_check_title}
fi
fi
}
# prints a warning if the file slated for removal doesn't exist
# this allows us to continue instead of bailing out with just "rm"
safe_remove() {
@ -185,8 +158,10 @@ safe_remove() {
for path in "$@" ; do
if [ -e "${path}" -o -L "${path}" ]; then
rm -r "${path}"
elif [ -n "${PKG_NAME}" ]; then
print_color CLR_WARNING "safe_remove: path does not exist: [${PKG_NAME}]: ${path}\n"
else
log_qa_check "safe_remove" "path does not exist: ${path}"
print_color CLR_WARNING "safe_remove: path does not exist: ${path}\n"
fi
done
}
@ -239,11 +214,8 @@ check_toolchain_config() {
if [ "${toolchain}" == "AUTOTOOLS" ]; then
toolchain="CONFIGURE"
fi
if [ "${toolchain}" == "CMAKE-MAKE" ]; then
toolchain="CMAKE"
fi
for var in "${!PKG_@}"; do
if [[ "${var}" =~ INSTALL_OPTS_ || "${var}" =~ _MAKE_OPTS || "${var}" =~ _TAR_COPY_OPTS ]]; then
if [[ "${var}" =~ INSTALL_OPTS_ || "${var}" =~ _MAKE_OPTS ]]; then
continue
fi
if [[ "${var}" =~ _OPTS_${target}$ \
@ -254,73 +226,39 @@ check_toolchain_config() {
done
}
# args: linker, default availability yes/no
linker_allowed() {
if flag_enabled "$1" "$2"; then
# bfd is always available, others need to be enabled with <LINKER>_SUPPORT="yes"
local linker_support="${1^^}_SUPPORT"
if [ "$1" = "bfd" ] || [ "${!linker_support}" = "yes" ]; then
return 0
fi
fi
return 1
}
# return target linker to use for a package
get_target_linker() {
# all known linkers, in descending order of priority
# those are candidates for explicit opt-in via PKG_BUILD_FLAGS
local all_linkers="mold gold bfd"
# linkers to choose from unless disabled via PKG_BUILD_FLAGS
local linker_candidates="${DEFAULT_LINKER:-bfd} ${all_linkers}"
local linker
# check if package prefers a specific linker
for linker in ${all_linkers}; do
if linker_allowed "${linker}" "no"; then
echo "${linker}"
return
fi
done
# select linker which isn't disabled by PKG_BUILD_FLAGS
for linker in ${linker_candidates}; do
if linker_allowed "${linker}" "yes"; then
echo "${linker}"
return
fi
done
# none of our linkers matched, use the compiler's default linker
echo "compiler_default"
}
setup_toolchain() {
local have_gold="no"
if [ "$LTO_SUPPORT" = "yes" ]; then
if flag_enabled "lto-fat" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO $FLAGS_OPTIM_LTO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO $FLAGS_OPTIM_LTO_FAT"
if flag_enabled "lto-parallel" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_PARALLEL"
elif flag_enabled "lto-fat" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
elif flag_enabled "lto" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_NO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_LTO_COMMON $FLAGS_OPTIM_LTO_NO_PARALLEL"
fi
fi
if flag_enabled "lto-off" "no"; then
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
TARGET_CXXFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
TARGET_LDFLAGS+=" $FLAGS_OPTIM_LTO_OFF"
fi
local linker="$(get_target_linker)"
local linker_opts="LDFLAGS_OPTIM_LINKER_${linker^^}"
TARGET_LDFLAGS+=" ${!linker_opts}"
# gold flag
if flag_enabled "gold" "$GOLD_SUPPORT" "only-disable"; then
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_GOLD"
have_gold="yes"
fi
# compiler optimization, descending priority: speed, size, default
if [ "${BUILD_WITH_DEBUG}" = "yes" ]; then
if [ "${SPLIT_DEBUG_INFO}" = "yes" -a "${linker}" = "gold" ]; then
if [ "${SPLIT_DEBUG_INFO}" = "yes" -a "${have_gold}" = "yes" ]; then
TARGET_CFLAGS+=" $CFLAGS_OPTIM_DEBUG_SPLIT"
TARGET_CXXFLAGS+=" $CXXFLAGS_OPTIM_DEBUG_SPLIT"
TARGET_LDFLAGS+=" $LDFLAGS_OPTIM_DEBUG_SPLIT"
@ -450,9 +388,6 @@ setup_toolchain() {
echo "SET(CMAKE_C_COMPILER $CC)" >> $CMAKE_CONF
echo "SET(CMAKE_CXX_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_CPP_COMPILER $CPP)" >> $CMAKE_CONF
echo "SET(CMAKE_ASM_FLAGS_MINSIZEREL -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_CXX_FLAGS_MINSIZEREL -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_C_FLAGS_MINSIZEREL -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH $SYSROOT_PREFIX)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $CMAKE_CONF
@ -475,28 +410,12 @@ setup_toolchain() {
export _python_sysroot="$SYSROOT_PREFIX"
export _python_prefix=/usr
export _python_exec_prefix=/usr
# rust
export CARGO_TARGET_DIR="${PKG_BUILD}/.${TARGET_NAME}/target"
export CARGO_HOME="$(get_build_dir rust)/cargo_home"
export RUST_TARGET_PATH="${TOOLCHAIN}/lib/rustlib/"
;;
host:*|bootstrap:*)
export DESTIMAGE="host"
export AWK="gawk"
if [ "$1" = "host" ] && flag_enabled "local-cc" "no"; then
export CC="${LOCAL_CC}"
export CXX="${LOCAL_CXX}"
if [ -n "${LOCAL_CCACHE}" ]; then
export CCACHE_DIR="${LOCAL_CCACHE_DIR}"
export CC="${LOCAL_CCACHE} ${CC}";
export CXX="${LOCAL_CCACHE} ${CXX}";
fi
else
export CC="$TOOLCHAIN/bin/host-gcc"
export CXX="$TOOLCHAIN/bin/host-g++"
fi
export CC="$TOOLCHAIN/bin/host-gcc"
export CXX="$TOOLCHAIN/bin/host-g++"
export CPP="cpp"
export LD="ld"
export AS="as"
@ -521,9 +440,6 @@ setup_toolchain() {
echo "SET(CMAKE_C_COMPILER $CC)" >> $CMAKE_CONF
echo "SET(CMAKE_CXX_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_CPP_COMPILER $CXX)" >> $CMAKE_CONF
echo "SET(CMAKE_ASM_FLAGS_RELEASE -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_CXX_FLAGS_RELEASE -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_C_FLAGS_RELEASE -DDUMMYOPT)" >> $CMAKE_CONF
echo "SET(CMAKE_AR $AR CACHE FILEPATH "Archiver")" >> $CMAKE_CONF # hum?
echo "SET(CMAKE_FIND_ROOT_PATH $TOOLCHAIN)" >> $CMAKE_CONF
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)" >> $CMAKE_CONF
@ -542,23 +458,6 @@ setup_toolchain() {
export _python_sysroot="$TOOLCHAIN"
export _python_prefix=/
export _python_exec_prefix=/
# rust
case "${MACHINE_HARDWARE_NAME}" in
"arm")
RUST_HOST="arm-unknown-linux-gnueabihf"
;;
"aarch64")
RUST_HOST="aarch64-unknown-linux-gnu"
;;
"x86_64")
RUST_HOST="x86_64-unknown-linux-gnu"
;;
esac
export CARGO_TARGET_DIR="${PKG_BUILD}/.${RUST_HOST}/target"
export CARGO_HOME="$(get_build_dir rust)/cargo_home"
export RUST_TARGET_PATH="${TOOLCHAIN}/lib/rustlib/"
;;
esac
}
@ -573,74 +472,52 @@ c = '$CC'
cpp = '$CXX'
ar = '$AR'
strip = '$STRIP'
pkg-config = '$PKG_CONFIG'
llvm-config = '$TOOLCHAIN/bin/llvm-config'
pkgconfig = '$PKG_CONFIG'
llvm-config = '$TOOLCHAIN/bin/llvm-config-host'
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
[build_machine]
system = 'linux'
cpu_family = '${MACHINE_HARDWARE_NAME}'
cpu = '${MACHINE_HARDWARE_NAME}'
endian = 'little'
[host_machine]
system = 'linux'
cpu_family = '${MACHINE_HARDWARE_NAME}'
cpu = '${MACHINE_HARDWARE_NAME}'
endian = 'little'
[built-in options]
$(python3 -c "import os; print('c_args = {}'.format([x for x in os.getenv('CFLAGS').split()]))")
$(python3 -c "import os; print('c_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
$(python3 -c "import os; print('cpp_args = {}'.format([x for x in os.getenv('CXXFLAGS').split()]))")
$(python3 -c "import os; print('cpp_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
[properties]
root = '$TOOLCHAIN'
${!properties}
EOF
}
create_meson_conf_target() {
local linker="$(get_target_linker)"
local properties
properties="PKG_MESON_PROPERTIES_${1^^}"
cat > $2 <<EOF
[binaries]
c = '$TARGET_CC'
c_ld = '$linker'
cpp = '$TARGET_CXX'
cpp_ld = '$linker'
ar = '$TARGET_AR'
strip = '$TARGET_STRIP'
pkg-config = '$PKG_CONFIG'
llvm-config = '$SYSROOT_PREFIX/usr/bin/llvm-config'
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
rust = '$TOOLCHAIN/bin/rustc'
[build_machine]
system = 'linux'
cpu_family = '${MACHINE_HARDWARE_NAME}'
cpu = '${MACHINE_HARDWARE_NAME}'
endian = 'little'
[host_machine]
system = 'linux'
cpu_family = '$TARGET_ARCH'
cpu = '$TARGET_SUBARCH'
endian = 'little'
[built-in options]
[properties]
root = '$TOOLCHAIN'
$(python3 -c "import os; print('c_args = {}'.format([x for x in os.getenv('CFLAGS').split()]))")
$(python3 -c "import os; print('c_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
$(python3 -c "import os; print('cpp_args = {}'.format([x for x in os.getenv('CXXFLAGS').split()]))")
$(python3 -c "import os; print('cpp_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
${!properties}
EOF
}
create_meson_conf_target() {
local properties
properties="PKG_MESON_PROPERTIES_${1^^}"
cat > $2 <<EOF
[binaries]
c = '$TARGET_CC'
cpp = '$TARGET_CXX'
ar = '$TARGET_AR'
strip = '$TARGET_STRIP'
pkgconfig = '$PKG_CONFIG'
llvm-config = '$TOOLCHAIN/bin/llvm-config-host'
libgcrypt-config = '$SYSROOT_PREFIX/usr/bin/libgcrypt-config'
[host_machine]
system = 'linux'
cpu_family = '$TARGET_ARCH'
cpu = '$TARGET_SUBARCH'
endian = 'little'
[properties]
root = '$SYSROOT_PREFIX/usr'
$(python3 -c "import os; print('c_args = {}'.format([x for x in os.getenv('TARGET_CFLAGS').split()]))")
$(python3 -c "import os; print('c_link_args = {}'.format([x for x in os.getenv('TARGET_LDFLAGS').split()]))")
$(python3 -c "import os; print('cpp_args = {}'.format([x for x in os.getenv('TARGET_CXXFLAGS').split()]))")
$(python3 -c "import os; print('cpp_link_args = {}'.format([x for x in os.getenv('TARGET_LDFLAGS').split()]))")
[properties]
ipc_rmid_deferred_release = true
needs_exe_wrapper = true
root = '$SYSROOT_PREFIX/usr'
${!properties}
EOF
}
@ -742,7 +619,7 @@ build_with_debug() {
[ "${PKG_IS_KERNEL_PKG}" = "yes" ] && listcontains "${_DEBUG_DEPENDS_LIST}" "linux\+" && return 0
# Build this package with debug if it's a resolved dependency
listcontains "${_DEBUG_DEPENDS_LIST}" "${PKG_NAME}[+]?" && return 0
listcontains "${_DEBUG_DEPENDS_LIST}" "${PKG_NAME}" && return 0
fi
return 1
@ -784,7 +661,7 @@ init_package_cache() {
export _CACHE_PACKAGE_LOCAL _CACHE_PACKAGE_GLOBAL
# overwrite existing cache files only when they are invalid, or not yet created
mkdir -p "${_CACHE_PACKAGE_GLOBAL%/*}"
mkdir -p "$(dirname "${_CACHE_PACKAGE_GLOBAL}")"
if [ -f "${_CACHE_PACKAGE_LOCAL}" ] && cmp -s "${temp_local}" "${_CACHE_PACKAGE_LOCAL}"; then
rm "${temp_local}"
else
@ -822,11 +699,11 @@ save_build_config() {
check_path() {
local dashes="===========================" path_err_msg
if [ "${PWD##/usr}" != "${PWD}" ]; then
path_err_msg="\n ${dashes}${dashes}${dashes}"
path_err_msg+="\n ERROR: Detected building inside /usr"
path_err_msg+="\n ${dashes}${dashes}${dashes}"
path_err_msg+="\n This is not supported by the buildsystem."
path_err_msg+="\n Please use another directory (for example your \$HOME) to build ${DISTRONAME}"
path_err_msg="\n $dashes$dashes$dashes"
path_err_msg="${path_err_msg}\n ERROR: Detected building inside /usr"
path_err_msg="${path_err_msg}\n $dashes$dashes$dashes"
path_err_msg="${path_err_msg}\n This is not supported with our buildsystem."
path_err_msg="${path_err_msg}\n Please use another dir (for example your \$HOME) to build ${DISTRONAME}"
die "${path_err_msg}"
fi
@ -835,13 +712,13 @@ check_path() {
check_distro() {
local dashes="===========================" distro_err_msg
if [ -z "${DISTRO}" -o ! -d "${DISTRO_DIR}/${DISTRO}" ]; then
distro_err_msg="\n ${dashes}${dashes}${dashes}"
distro_err_msg+="\n ERROR: Distro not found, use a valid distro or create a new config"
distro_err_msg+="\n ${dashes}${dashes}${dashes}"
distro_err_msg+="\n\n Valid distros:"
distro_err_msg="\n $dashes$dashes$dashes"
distro_err_msg="${distro_err_msg}\n ERROR: Distro not found, use a valid distro or create a new config"
distro_err_msg="${distro_err_msg}\n $dashes$dashes$dashes"
distro_err_msg="${distro_err_msg}\n\n Valid distros:"
for distros in ${DISTRO_DIR}/*; do
distro_err_msg+="\n - ${distros##*/}"
distro_err_msg="${distro_err_msg}\n - ${distros##*/}"
done
die "${distro_err_msg}"
fi
@ -850,13 +727,13 @@ check_distro() {
check_project() {
local dashes="===========================" project_err_msg
if [ -z "${PROJECT}" -o ! -d "${PROJECT_DIR}/${PROJECT}" ]; then
project_err_msg="\n ${dashes}${dashes}${dashes}"
project_err_msg+="\n ERROR: Project not found. Use a valid project or create a new config"
project_err_msg+="\n ${dashes}${dashes}${dashes}"
project_err_msg+="\n\n Valid projects:"
project_err_msg="\n $dashes$dashes$dashes"
project_err_msg="${project_err_msg}\n ERROR: Project not found, use a valid project or create a new config"
project_err_msg="${project_err_msg}\n $dashes$dashes$dashes"
project_err_msg="${project_err_msg}\n\n Valid projects:"
for projects in ${PROJECT_DIR}/*; do
project_err_msg+="\n - ${projects##*/}"
project_err_msg="${project_err_msg}\n - ${projects##*/}"
done
die "${project_err_msg}"
fi
@ -864,22 +741,15 @@ check_project() {
check_device() {
local dashes="===========================" device_err_msg
if [ -n "${DEVICE}" -a ! -d "${PROJECT_DIR}/${PROJECT}/devices" ]; then
if [ \( -z "${DEVICE}" -a -d "${PROJECT_DIR}/${PROJECT}/devices" \) -o \
\( -n "${DEVICE}" -a ! -d "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}" \) ]; then
device_err_msg="\n $dashes$dashes$dashes"
device_err_msg+="\n ERROR: You must not specify DEVICE for the $PROJECT project"
device_err_msg+="\n $dashes$dashes$dashes"
device_err_msg+="\n\n There are no devices for project: ${PROJECT}"
die "${device_err_msg}"
elif [ \( -z "${DEVICE}" -a -d "${PROJECT_DIR}/${PROJECT}/devices" \) -o \
\( -n "${DEVICE}" -a ! -d "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}" \) ]; then
device_err_msg="\n ${dashes}${dashes}${dashes}"
device_err_msg+="\n ERROR: Specify a valid device for the ${PROJECT} project"
device_err_msg+="\n ${dashes}${dashes}${dashes}"
device_err_msg+="\n\n Valid devices for project: ${PROJECT}"
device_err_msg="${device_err_msg}\n ERROR: You need to specify a valid device for the $PROJECT project"
device_err_msg="${device_err_msg}\n $dashes$dashes$dashes"
device_err_msg="${device_err_msg}\n\n Valid devices for project: ${PROJECT}"
for device in ${PROJECT_DIR}/${PROJECT}/devices/*; do
device_err_msg+="\n - ${device##*/}"
device_err_msg="${device_err_msg}\n - ${device##*/}"
done
die "${device_err_msg}"
fi
@ -893,17 +763,17 @@ check_arch() {
linux_config_dir="${PROJECT_DIR}/${PROJECT}/linux"
fi
if [ ! -e "${linux_config_dir}/linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf" ] &&
! ls "${linux_config_dir}/"*/linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf &>/dev/null; then
arch_err_msg="\n ${dashes}${dashes}${dashes}"
arch_err_msg+="\n ERROR: Architecture not found. Use a valid Architecture"
arch_err_msg+="\n for your project or create a new config"
arch_err_msg+="\n ${dashes}${dashes}${dashes}"
arch_err_msg+="\n\n Valid Architectures for project: ${PROJECT}"
if [ ! -e "$linux_config_dir/linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf" ] &&
! ls "$linux_config_dir/"*/linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf &>/dev/null; then
arch_err_msg="\n $dashes$dashes$dashes"
arch_err_msg="${arch_err_msg}\n ERROR: Architecture not found, use a valid Architecture"
arch_err_msg="${arch_err_msg}\n for your project or create a new config"
arch_err_msg="${arch_err_msg}\n $dashes$dashes$dashes"
arch_err_msg="${arch_err_msg}\n\n Valid Architectures for your project: ${PROJECT}"
for arch in ${linux_config_dir}/*.conf ${linux_config_dir}/*/linux.${TARGET_ARCH}.conf; do
for arch in $linux_config_dir/*.conf $linux_config_dir/*/linux.$TARGET_ARCH.conf; do
[[ ${arch} =~ .*\*.* ]] && continue #ignore unexpanded wildcard
arch_err_msg+="\n - $(echo ${arch##*/} | cut -f2 -d".")"
arch_err_msg="${arch_err_msg}\n - $(basename $arch | cut -f2 -d".")"
done
die "${arch_err_msg}"
fi
@ -952,15 +822,6 @@ do_autoreconf() {
export LIBTOOL=$TOOLCHAIN/bin/libtool
fi
# >autoconf-2.69 will call gtkdocize when used in macros
# when called with --install parameter.
# use "true" unless gtkdocsize is in the toolchain.
if [ -e "$TOOLCHAIN/bin/gtkdocize" ]; then
export GTKDOCIZE=$TOOLCHAIN/bin/gtkdocize
else
export GTKDOCIZE=true
fi
if [ -e "$TOOLCHAIN/bin/autoreconf" -a -e "$INTLTOOLIZE" ]; then
mkdir -p $ACLOCAL_DIR
if [ -e "$LIBTOOLIZE" ]; then
@ -977,11 +838,6 @@ is_sequential_build() {
[ "${MTWITHLOCKS}" != "yes" ] && return 0 || return 1
}
# arg1: filename (libtool) to remove hardcode rpath when --disable-rpath is not supported by configure
libtool_remove_rpath() {
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${1}
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${1}
}
### PACKAGE HELPERS ###
# get variable ($2) for package ($1).
@ -1011,10 +867,6 @@ get_pkg_version() {
get_pkg_variable "$1" PKG_VERSION
}
get_pkg_sha256() {
get_pkg_variable "$1" PKG_SHA256
}
get_pkg_version_maj_min() {
local pkg_version
@ -1259,7 +1111,7 @@ source_package() {
unset_functions
if [ -n "${1}" ]; then
[ -f "${1}" ] && PKG_DIR="${1%/*}" || PKG_DIR="$(get_pkg_directory "${1}")"
[ -f "${1}" ] && PKG_DIR="$(dirname "${1}")" || 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"
@ -1311,10 +1163,10 @@ source_package() {
${PKG_NAME}-${PKG_VERSION}.*)
PKG_SOURCE_NAME=$PKG_SOURCE_NAME
;;
*.tar | *.tbz | *.tgz | *.txz | *.tzst | *.7z | *.zip)
*.tar | *.tbz | *.tgz | *.txz | *.7z | *.zip)
PKG_SOURCE_NAME=${PKG_NAME}-${PKG_VERSION}.${PKG_SOURCE_NAME##*\.}
;;
*.tar.bz2 | *.tar.gz | *.tar.xz | *.tar.zst )
*.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)
@ -1334,8 +1186,6 @@ source_package() {
elif [[ "${1}" =~ :init$ ]]; then
PKG_INSTALL="$BUILD/install_init/${PKG_NAME}-${PKG_VERSION}"
fi
PKG_QA_CHECKS="${BUILD}/qa_checks/${PKG_NAME}-${PKG_VERSION}"
fi
build_with_debug && BUILD_WITH_DEBUG="yes" || BUILD_WITH_DEBUG="no"
@ -1381,15 +1231,6 @@ python_fix_abi() {
done
}
# arg1: python command for target
python_target_env() {
_PYTHON_HOST_PLATFORM="linux-${TARGET_ARCH}" \
_PYTHON_PROJECT_BASE="$(get_install_dir Python3)" \
_PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata__linux_${TARGET_ARCH}-linux-gnu${TARGET_ABI}" \
PYTHONPATH="$(get_install_dir Python3)/usr/lib/${PKG_PYTHON_VERSION}" \
PYTHONNOUSERSITE=1 $@
}
### KERNEL HELPERS ###
kernel_path() {
get_build_dir linux
@ -1405,7 +1246,7 @@ kernel_config_path() {
pkg_linux_version="$(get_pkg_version linux)"
pkg_linux_dir="$(get_pkg_directory linux)"
config_name="linux.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf"
config_name="linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf"
for cfg in $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$pkg_linux_version/$config_name \
$PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$LINUX/$config_name \
@ -1427,7 +1268,7 @@ kernel_config_path() {
kernel_initramfs_confs() {
local config_name cfg confs
config_name="initramfs.${TARGET_KERNEL_PATCH_ARCH:-$TARGET_ARCH}.conf"
config_name="initramfs.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf"
confs="$(get_pkg_directory initramfs)/config/initramfs.conf"
for cfg in $PROJECT_DIR/$PROJECT/packages/initramfs/config/$config_name \
@ -1482,6 +1323,23 @@ get_full_firmware_dir() {
echo "$(get_kernel_overlay_dir $1)/lib/firmware"
}
fix_module_depends() {
# modify .modinfo section in kernel module to depends on other required modules
local MODULE="$1"
local DEPENDS="$2"
local OLD_DEPENDS=""
cp ${MODULE} ${MODULE}_orig
$OBJDUMP -s -j .modinfo ${MODULE}_orig | awk 'BEGIN{v=0;} /Contents/ {v=1; next;} {if (v==1) print $0;}' >new.modinfo1
cat new.modinfo1 | cut -c7-41 | awk '{printf($0);}' | sed 's/ //g;s/../\\\x&/g;' >new.modinfo2
/bin/echo -ne `cat new.modinfo2` | tr '\000' '\n' >new.modinfo3
cat new.modinfo3 | awk '/^depends=/ {next;} {print $0;}' | tr '\n' '\000' >new.modinfo
OLD_DEPENDS=$(awk '{FS="="} /depends=/ {print $2}' new.modinfo3)
[ -n "$OLD_DEPENDS" ] && DEPENDS="$OLD_DEPENDS,$DEPENDS"
/bin/echo -ne "depends=$DEPENDS\0" >>new.modinfo
$OBJCOPY --remove-section=.modinfo --add-section=.modinfo=new.modinfo --set-section-flags .modinfo=contents,alloc,load,readonly,data ${MODULE}_orig ${MODULE}
rm new.modinfo*
}
### ADDON HELPERS ###
install_binary_addon() {
@ -1565,7 +1423,7 @@ done
for f in $PKG_DIR/source/resources/screenshot-*.{jpg,png}; do
if [ -f "$f" ]; then
screenshots+="<screenshot>resources/${f##*/}</screenshot>\n"
screenshots+="<screenshot>resources/$(basename $f)</screenshot>\n"
fi
done
@ -1632,8 +1490,6 @@ add_user() {
PASSWORD="$2"
if [ "$PASSWORD" = "x" ]; then
PASSWORD="*"
else
PASSWORD=$(openssl passwd -6 "${PASSWORD}")
fi
if ! grep -q "^$1:" ${INSTALL}/usr/cache/shadow; then
echo "$1:$PASSWORD:::::::" >> ${INSTALL}/usr/cache/shadow
@ -1865,24 +1721,6 @@ release_update_lock() {
flock --unlock 97 2>/dev/null
}
# store current timestamp in TIMESTAMP_xxx variable (xxx set by arg)
# timestamps are seconds.milliseconds since epoch
record_timestamp() {
if [ -n "${TRACE_BUILD_TIMING}" ]; then
typeset -g "TIMESTAMP_$1=$(date +%s.%3N)"
fi
}
# args: text, start timestamp, end timestamp
show_timestamp_diff() {
if [ -n "${TRACE_BUILD_TIMING}" ]; then
local start="TIMESTAMP_$2"
local end="TIMESTAMP_$3"
local timediff=$(echo "${!end}-${!start}" | bc)
printf '%20s: %10.3f\n' "$1" "${timediff}"
fi
}
# Use distribution functions if any
if [ -f "distributions/$DISTRO/config/functions" ]; then
. distributions/$DISTRO/config/functions

View File

@ -1,32 +1,21 @@
[ -z "${OPENGL}" ] && OPENGL="no"
[ -z "${OPENGLES}" ] && OPENGLES="no"
[ -z "${VULKAN}" ] && VULKAN="no"
if [ "${OPENGL}" = "no" ]; then
if [ "${OPENGL}" = no ]; then
OPENGL_SUPPORT="no"
else
OPENGL_SUPPORT="yes"
fi
if [ "${OPENGLES}" = "no" ]; then
if [ "${OPENGLES}" = no ]; then
OPENGLES_SUPPORT="no"
else
OPENGLES_SUPPORT="yes"
fi
if [ "${VULKAN}" = "no" ]; then
VULKAN_SUPPORT="no"
else
VULKAN_SUPPORT="yes"
fi
get_graphicdrivers() {
# set defaults
GALLIUM_DRIVERS=""
DRI_DRIVERS=""
XORG_DRIVERS=""
VULKAN_DRIVERS_CONFIG=""
VULKAN_DRIVERS_MESA=""
LLVM_SUPPORT="no"
COMPOSITE_SUPPORT="no"
VDPAU_SUPPORT="no"
@ -34,18 +23,11 @@ get_graphicdrivers() {
V4L2_SUPPORT="no"
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi nvidia nvidia-ng vmware virtio vc4"
fi
if listcontains "${GRAPHIC_DRIVERS}" "crocus"; then
GALLIUM_DRIVERS+=" crocus"
XORG_DRIVERS+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
GRAPHIC_DRIVERS="iris i915 i965 r200 r300 r600 radeonsi nvidia nvidia-legacy vmware virtio vc4"
fi
if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then
GALLIUM_DRIVERS+=" etnaviv"
GALLIUM_DRIVERS+=" etnaviv kmsro"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
@ -59,7 +41,14 @@ get_graphicdrivers() {
fi
if listcontains "${GRAPHIC_DRIVERS}" "i915"; then
GALLIUM_DRIVERS+=" i915"
DRI_DRIVERS+=" i915"
XORG_DRIVERS+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "i965"; then
DRI_DRIVERS+=" i965"
XORG_DRIVERS+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
@ -68,52 +57,60 @@ get_graphicdrivers() {
if listcontains "${GRAPHIC_DRIVERS}" "iris"; then
GALLIUM_DRIVERS+=" iris"
XORG_DRIVERS+=" intel"
VULKAN_DRIVERS_MESA+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "lima"; then
GALLIUM_DRIVERS+=" lima"
GALLIUM_DRIVERS+=" kmsro lima"
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "mali"; then
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "nvidia"; then
XORG_DRIVERS+=" nvidia"
VULKAN_DRIVERS_CONFIG+=" nvidia"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
VULKAN_DRIVERS_CONFIG+=" nvidia-ng"
VAAPI_SUPPORT="yes"
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-legacy"; then
XORG_DRIVERS+=" nvidia-legacy"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
GALLIUM_DRIVERS+=" panfrost"
VULKAN_DRIVERS_MESA+=" panfrost"
GALLIUM_DRIVERS+=" kmsro panfrost"
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "r200"; then
DRI_DRIVERS+=" r200"
XORG_DRIVERS+=" ati"
COMPOSITE_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "r300"; then
GALLIUM_DRIVERS+=" r300"
XORG_DRIVERS+=" ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="no"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "r600"; then
GALLIUM_DRIVERS+=" r600"
XORG_DRIVERS+=" ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="no"
VDPAU_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "radeonsi"; then
GALLIUM_DRIVERS+=" radeonsi"
XORG_DRIVERS+=" amdgpu"
VULKAN_DRIVERS_MESA+=" amd"
XORG_DRIVERS+=" ati amdgpu"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
@ -121,8 +118,7 @@ get_graphicdrivers() {
fi
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
GALLIUM_DRIVERS+=" vc4 v3d"
VULKAN_DRIVERS_MESA+=" broadcom"
GALLIUM_DRIVERS+=" vc4 v3d kmsro"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
@ -138,16 +134,8 @@ get_graphicdrivers() {
COMPOSITE_SUPPORT="yes"
fi
# VDPAU Support depends on X11
if [ ! "${DISPLAYSERVER}" = "x11" ]; then
VDPAU_SUPPORT="no"
fi
# remove duplicate entries
GALLIUM_DRIVERS="$(echo ${GALLIUM_DRIVERS} | xargs -n1 | sort -u | xargs)"
GRAPHIC_DRIVERS="$(echo ${GRAPHIC_DRIVERS} | xargs -n1 | sort -u | xargs)"
XORG_DRIVERS="$(echo ${XORG_DRIVERS} | xargs -n1 | sort -u | xargs)"
VULKAN_DRIVERS_MESA="$(echo ${VULKAN_DRIVERS_MESA} | xargs -n1 | sort -u | xargs)"
VULKAN_DRIVERS_CONFIG+=" ${VULKAN_DRIVERS_MESA}"
VULKAN_DRIVERS_CONFIG="$(echo ${VULKAN_DRIVERS_CONFIG} | xargs -n1 | sort -u | xargs)"
DRI_DRIVERS="$(echo ${DRI_DRIVERS} | xargs -n1 | sort -u | xargs)"
}

View File

@ -1,6 +1,6 @@
{
"name": "@DISTRONAME@_@PROJECT@",
"version": "@DISTRO_VERSION@",
"version": "@LIBREELEC_VERSION@",
"release_date": "@RELEASE_DATE@",
"kernel": "@KERNEL_VERSION@",
"description": "@DESCRIPTION@",

View File

@ -6,8 +6,7 @@
MOUNTPOINT="/tmp/LibreELEC-System"
md5sumCheck() {
(
cd $MOUNTPOINT
( cd $MOUNTPOINT
echo "checking MD5: $1"
md5sum -c $1.md5
if [ "$?" = "1" ]; then
@ -36,19 +35,19 @@ if [ -z $part1 -o -z $part2 -o -z $id1 -o -z $id2 ]; then
fi
# create mountpoint
mkdir -p $MOUNTPOINT
mkdir -p $MOUNTPOINT
# mount needed partition
mount $part1 $MOUNTPOINT
mount $part1 $MOUNTPOINT
# check md5sum
md5sumCheck kernel.img
md5sumCheck SYSTEM
md5sumCheck kernel.img
md5sumCheck SYSTEM
# create bootloader configuration
echo "creating bootloader configuration..."
echo "boot=$id1 disk=$id2 quiet @EXTRA_CMDLINE@" >$MOUNTPOINT/cmdline.txt
echo "creating bootloader configuration..."
echo "boot=$id1 disk=$id2 quiet" > $MOUNTPOINT/cmdline.txt
# cleanup mountpoint
umount $MOUNTPOINT
rmdir $MOUNTPOINT
umount $MOUNTPOINT
rmdir $MOUNTPOINT

View File

@ -20,34 +20,33 @@ HOST_CFLAGS="$HOST_CFLAGS -Wno-format-security"
HOST_CXXFLAGS="$HOST_CXXFLAGS -Wno-format-security"
# lto flags
FLAGS_OPTIM_LTO="-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
FLAGS_OPTIM_LTO_NO_PARALLEL="-flto"
FLAGS_OPTIM_LTO_PARALLEL="-flto=${CONCURRENCY_MAKE_LEVEL}"
FLAGS_OPTIM_LTO_NO_FAT="-fno-fat-lto-objects"
FLAGS_OPTIM_LTO_FAT="-ffat-lto-objects"
FLAGS_OPTIM_LTO_OFF="-fno-lto"
LDFLAGS_OPTIM_LTO_COMMON="-fuse-linker-plugin"
# linker specific flags
LDFLAGS_OPTIM_LINKER_COMPILER_DEFAULT=""
LDFLAGS_OPTIM_LINKER_BFD="-fuse-ld=bfd"
LDFLAGS_OPTIM_LINKER_GOLD="-fuse-ld=gold"
LDFLAGS_OPTIM_LINKER_MOLD="-fuse-ld=mold"
# gold flags
LDFLAGS_OPTIM_GOLD="-fuse-ld=gold"
# default compiler optimization
CFLAGS_OPTIM_DEFAULT="-O2 -fomit-frame-pointer -DNDEBUG"
CFLAGS_OPTIM_DEFAULT="-O2 -fomit-frame-pointer"
CXXFLAGS_OPTIM_DEFAULT="$CFLAGS_OPTIM_DEFAULT"
# speed flag
CFLAGS_OPTIM_SPEED="-O3 -fomit-frame-pointer -DNDEBUG"
CFLAGS_OPTIM_SPEED="-O3 -fomit-frame-pointer"
CXXFLAGS_OPTIM_SPEED="$CFLAGS_OPTIM_SPEED"
# size flag
CFLAGS_OPTIM_SIZE="-Os -fomit-frame-pointer -DNDEBUG"
CFLAGS_OPTIM_SIZE="-Os -fomit-frame-pointer"
CXXFLAGS_OPTIM_SIZE="$CFLAGS_OPTIM_SIZE"
# debug settings
CFLAGS_OPTIM_DEBUG="-ggdb -Og"
CFLAGS_OPTIM_DEBUG="-ggdb -Os"
CXXFLAGS_OPTIM_DEBUG="$CFLAGS_OPTIM_DEBUG"
LDFLAGS_OPTIM_DEBUG="-ggdb"
# split debug settings (requires gold)
CFLAGS_OPTIM_DEBUG_SPLIT="-gdwarf-4 -gsplit-dwarf -Og"
CFLAGS_OPTIM_DEBUG_SPLIT="-gsplit-dwarf -Os"
CXXFLAGS_OPTIM_DEBUG_SPLIT="$CFLAGS_OPTIM_DEBUG_SPLIT"
LDFLAGS_OPTIM_DEBUG_SPLIT="-gdwarf-4 -Wl,--gdb-index"
LDFLAGS_OPTIM_DEBUG_SPLIT="-Wl,--gdb-index"
# position-independent code
CFLAGS_OPTIM_PIC="-fPIC -DPIC"
@ -67,14 +66,13 @@ if [ -z "$HOST_LIBDIR" ]; then
# ubuntu/debian specific "multiarch support"
export MACHINE_HARDWARE_NAME="$(uname -m)"
FAMILY_TRIPLET=$($LOCAL_CC -print-multiarch)
if [ -n "$FAMILY_TRIPLET" ]; then
if [ -d /lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
fi
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
fi
export MACHINE_HARDWARE_PLATFORM="$(uname -i)"
FAMILY_TRIPLET=${HOST_NAME/${MACHINE_HARDWARE_NAME}/${MACHINE_HARDWARE_PLATFORM}}
if [ -d /lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /lib/$FAMILY_TRIPLET"
fi
if [ -d /usr/lib/$FAMILY_TRIPLET ]; then
HOST_LIBDIR="$HOST_LIBDIR /usr/lib/$FAMILY_TRIPLET"
fi
# default multiarch support

View File

@ -26,41 +26,38 @@ DISTRO="${DISTRO:-LibreELEC}"
# determines PROJECT, if not forced by user
export PROJECT="${PROJECT:-Generic}"
# default to Generic device if building Generic project without device set
if [ "${PROJECT}" = "Generic" -a -z "${DEVICE}" ]; then
export DEVICE="Generic"
fi
# determines TARGET_ARCH, if not forced by user
export ARCH="${ARCH:-x86_64}"
TARGET_ARCH="${ARCH}"
# include arm-mem package on arm
if [ "${TARGET_ARCH}" = "arm" ]; then
ARM_MEM_SUPPORT="yes"
else
ARM_MEM_SUPPORT="no"
fi
# include helper functions
. config/functions
# read DISTRO version information
. "${DISTRO_DIR}/${DISTRO}/version" || die "\nERROR: No distro version present\n"
# read DISTRO options
# read DISTRO options if available
if [ -f "${DISTRO_DIR}/${DISTRO}/options" ]; then
. "${DISTRO_DIR}/${DISTRO}/options"
fi
# read PROJECT options
# read PROJECT options if available
if [ -f "${PROJECT_DIR}/${PROJECT}/options" ]; then
. "${PROJECT_DIR}/${PROJECT}/options"
fi
# read DEVICE options
# read DEVICE options if available
if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options" ]; then
. "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options"
fi
# read architecture defaults
if [ -f "config/arch.${TARGET_ARCH}" ]; then
. "config/arch.${TARGET_ARCH}"
fi
# projects can set KERNEL_NAME (kernel.img)
KERNEL_NAME="${KERNEL_NAME:-KERNEL}"
@ -96,15 +93,6 @@ VERBOSE="${VERBOSE:-yes}"
# directory.
CCACHE_CACHE_SIZE="10G"
# compression level for ccache
# This option determines the level at which ccache will compress object files
# using the real-time compression algorithm Zstandard. It only has effect if
# compression is enabled (which it is by default). Zstandard is extremely fast
# for decompression and very fast for compression for lower compression
# levels. The default is 0. The value 0 means that ccache will choose a
# suitable zstd level, currently 1.
CCACHE_COMPRESSLEVEL="0"
# set addon paths
if [ -z "$ADDON_PATH" ]; then
if [ -n "$ADDON_PROJECT" ]; then
@ -127,28 +115,11 @@ if [ -f "${HOME}/.libreelec/options" ]; then
. "${HOME}/.libreelec/options"
fi
if [ "${LOCAL_CCACHE_SUPPORT}" = "yes" ] && [ -z "${CCACHE_DISABLE}" ]; then
# like LOCAL_CC check for local ccache only on the very first
# call to config/options, before toolchain has been added to the path,
# otherwise we might pick up ccache from toolchain/bin here
if [ -z "${LOCAL_CCACHE}" ] && [ "${LOCAL_CCACHE_CHECKED}" != "yes" ]; then
export LOCAL_CCACHE="$(command -v ccache)"
export LOCAL_CCACHE_CHECKED="yes"
fi
else
export LOCAL_CCACHE=""
fi
# overwrite OEM_SUPPORT via commandline
if [ "${OEM}" = "yes" -o "${OEM}" = "no" ]; then
OEM_SUPPORT="${OEM}"
fi
# use /bin/dash as config shell if installed on the build host
if [ -z "${CONFIG_SHELL}" ] && [ -x "/bin/dash" ]; then
export CONFIG_SHELL="/bin/dash"
fi
check_config
. config/graphic

View File

@ -3,7 +3,7 @@
set -e
# setup initial directories (relative to root)
# setup initial directorys (relative to root)
CONFIG=config
SCRIPTS=scripts
PACKAGES=packages
@ -13,12 +13,17 @@ set -e
TARGET_IMG=${TARGET_DIR:-$ROOT/target}
ADDONS=addons
# include ARCH specific options
if [ -f config/arch.$TARGET_ARCH ]; then
. config/arch.$TARGET_ARCH
fi
[ -z "${HOST_NAME}" ] && export HOST_NAME="$($LOCAL_CC -dumpmachine)"
TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI}
BUILD=${BUILD_ROOT}/${BUILD_BASE}.${DISTRONAME}-${DEVICE:-$PROJECT}.${TARGET_ARCH}-${DISTRO_VERSION}
if [ "${DISTRO_VERSION}" = "devel" ] ; then
BUILD=${BUILD_ROOT}/${BUILD_BASE}.${DISTRONAME}-${DEVICE:-$PROJECT}.${TARGET_ARCH}-${OS_VERSION}-${DISTRO_VERSION}
BUILD=${BUILD_ROOT}/${BUILD_BASE}.${DISTRONAME}-${DEVICE:-$PROJECT}.${TARGET_ARCH}-${LIBREELEC_VERSION}
if [ "${LIBREELEC_VERSION}" = "devel" ] ; then
BUILD=${BUILD_ROOT}/${BUILD_BASE}.${DISTRONAME}-${DEVICE:-$PROJECT}.${TARGET_ARCH}-${OS_VERSION}-${LIBREELEC_VERSION}
fi
if [ -n "$BUILD_SUFFIX" ]; then
@ -56,12 +61,18 @@ XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
. config/optimize
# use different toolchain for 64/32 split builds
# use ARM toolchain on 64/32 split builds
if [ -z "$KERNEL_TOOLCHAIN" -a "$TARGET_KERNEL_ARCH" = "arm64" -a "$TARGET_ARCH" = "arm" ]; then
KERNEL_TOOLCHAIN="aarch64"
if [ "${MACHINE_HARDWARE_NAME}" = "x86_64" ]; then
KERNEL_TOOLCHAIN="aarch64-none-linux-gnu"
elif [ "${MACHINE_HARDWARE_NAME}" = "aarch64" ]; then
KERNEL_TOOLCHAIN="aarch64-none-elf"
else
die "No known toolchain available for ${MACHINE_HARDWARE_NAME}."
fi
fi
if [ -n "$KERNEL_TOOLCHAIN" ]; then
TARGET_KERNEL_PREFIX=$KERNEL_TOOLCHAIN-none-elf-
TARGET_KERNEL_PREFIX=$TOOLCHAIN/lib/gcc-arm-$KERNEL_TOOLCHAIN/bin/$KERNEL_TOOLCHAIN-
else
TARGET_KERNEL_PREFIX=$TARGET_PREFIX
fi
@ -70,14 +81,6 @@ if [ -z "$CCACHE_DIR" ]; then
export CCACHE_DIR=$BUILD/.ccache
fi
# keep a copy of ccache dir used for toolchain ccache
export BUILD_CCACHE_DIR="${CCACHE_DIR}"
# local ccache dir in case we build early packages with local ccache
if [ -z "${LOCAL_CCACHE_DIR}" ]; then
export LOCAL_CCACHE_DIR="${BUILD}/.ccache-local"
fi
if [[ -z "$PATH" || ( "$PATH" != "$TOOLCHAIN/bin:$TOOLCHAIN/sbin" && "$PATH" = "${PATH#$TOOLCHAIN/bin:$TOOLCHAIN/sbin:}" ) ]]; then
export PATH="$TOOLCHAIN/bin:$TOOLCHAIN/sbin${PATH:+":$PATH"}"
fi
@ -103,6 +106,3 @@ unset CONFIG_SITE
# Ignore custom python installs...
unset PYTHONHOME PYTHONPATH PYTHONSTARTUP
export PYTHONNOUSERSITE=yes #disable PEP 370
# Fix #4737
unset PYTHONDONTWRITEBYTECODE

167
config/show_config Normal file → Executable file
View File

@ -5,142 +5,101 @@ show_config() {
get_graphicdrivers
dashes="==========================="
config_message="\n ${dashes}${dashes}${dashes}"
config_message+="\n Configuration for ${DISTRONAME} "
if [ "${OFFICIAL}" = "yes" ]; then
config_message+="(official)"
else
config_message+="(community)"
fi
config_message+="\n ${dashes}${dashes}${dashes}"
config_message="\n $dashes$dashes$dashes"
config_message+="\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community"))"
config_message+="\n $dashes$dashes$dashes"
# Build options
config_message+="\n\n Buildsystem configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - CPU:\t\t\t\t\t ${TARGET_CPU}"
config_message+="\n - Kernel Architecture:\t\t\t ${TARGET_KERNEL_ARCH}"
config_message+="\n - Userland Architecture:\t\t ${TARGET_ARCH}"
if [ -n "${TARGET_FLOAT}" ]; then
config_message+="\n - FLOAT:\t\t\t\t ${TARGET_FLOAT}"
fi
if [ -n "${TARGET_FPU}" ]; then
config_message+="\n - FPU:\t\t\t\t\t ${TARGET_FPU}"
fi
config_message+="\n - CPU features:\t\t\t ${TARGET_FEATURES}"
config_message+="\n - LTO (Link Time Optimization) support: ${LTO_SUPPORT}"
config_message+="\n - GOLD (Google Linker) Support:\t ${GOLD_SUPPORT}"
config_message+="\n - MOLD (Modern Linker) Support:\t ${MOLD_SUPPORT}"
config_message+="\n - Default Linker:\t\t\t ${DEFAULT_LINKER}"
config_message+="\n - Accelerated arm libc functions:\t ${ARM_MEM_SUPPORT}"
config_message+="\n - LLVM support:\t\t\t ${LLVM_SUPPORT}"
config_message+="\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)"
config_message+="\n - FLOAT:\t\t\t\t $TARGET_FLOAT"
config_message+="\n - FPU:\t\t\t\t\t $TARGET_FPU"
config_message+="\n - CPU features:\t\t\t $TARGET_FEATURES"
config_message+="\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"
config_message+="\n - GOLD (Google Linker) Support:\t $GOLD_SUPPORT"
config_message+="\n - LLVM support:\t\t\t $LLVM_SUPPORT"
config_message+="\n - DEBUG:\t\t\t\t ${DEBUG:-no}"
config_message+="\n - CFLAGS:\t\t\t\t ${TARGET_CFLAGS}"
config_message+="\n - LDFLAGS:\t\t\t\t $(sed 's/^ *//' <<<${TARGET_LDFLAGS})"
config_message+="\n - Local Ccache:\t\t\t ${LOCAL_CCACHE:-no}"
config_message+="\n - CONFIG_SHELL:\t\t\t ${CONFIG_SHELL:-auto}"
config_message+="\n - CFLAGS:\t $TARGET_CFLAGS"
config_message+="\n - LDFLAGS:\t $TARGET_LDFLAGS"
# Misc. hardware configuration
config_message+="\n\n Misc. hardware configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - ALSA support:\t\t\t ${ALSA_SUPPORT}"
config_message+="\n - Pulseaudio support:\t\t\t ${PULSEAUDIO_SUPPORT}"
config_message+="\n - Bluetooth support:\t\t\t ${BLUETOOTH_SUPPORT}"
config_message+="\n - ALSA support:\t\t\t $ALSA_SUPPORT"
config_message+="\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
config_message+="\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
for config_driver in ${ADDITIONAL_DRIVERS}; do
config_message+="\n - Include driver:\t\t\t ${config_driver}"
for config_driver in $ADDITIONAL_DRIVERS; do
config_message+="\n - Include driver:\t\t\t $config_driver"
done
if [ "${DRIVER_ADDONS_SUPPORT}" = "yes" ]; then
for config_driver_addons in ${DRIVER_ADDONS}; do
config_message+="\n - Include driver add-ons:\t\t ${config_driver_addons}"
if [ "$DRIVER_ADDONS_SUPPORT" = "yes" ]; then
for config_driver_addons in $DRIVER_ADDONS; do
config_message+="\n - Include driver add-ons:\t\t $config_driver_addons"
done
fi
for config_firmware in ${FIRMWARE}; do
config_message+="\n - Include firmware:\t\t\t ${config_firmware}"
for config_firmware in $FIRMWARE; do
config_message+="\n - Include firmware:\t\t\t $config_firmware"
done
# Image Filesystem
config_message+="\n\n Image Filesystems:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n - Flash Size (MiB): \t\t\t ${SYSTEM_SIZE}"
config_message+="\n - Storage Size (MiB): \t\t\t ${STORAGE_SIZE}"
config_message+="\n - SquashFS Compression Method: \t ${SQUASHFS_COMPRESSION}"
if [ -n "${SQUASHFS_COMPRESSION_OPTION}" ]; then
config_message+="\n - SquashFS Compression Options: \t ${SQUASHFS_COMPRESSION_OPTION}"
fi
# Misc. Filesystems
config_message+="\n\n Misc. Filesystems:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - Swap Support:\t\t\t ${SWAP_SUPPORT}"
if [ "${SWAP_SUPPORT}" = "yes" ]; then
config_message+="\n - Swapfile default size:\t\t ${SWAPFILESIZE}"
config_message+="\n - Swap Support:\t\t\t $SWAP_SUPPORT"
if [ "$SWAP_SUPPORT" = "yes" ]; then
config_message+="\n - Swapfile default size:\t\t $SWAPFILESIZE"
fi
config_message+="\n - NTFS Support (via Fuse):\t\t $NTFS3G"
config_message+="\n - Install HFS Tools:\t\t\t $HFSTOOLS"
# Network service configuration
config_message+="\n\n Network service configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - Avahi (Zeroconf) support:\t\t ${AVAHI_DAEMON}"
config_message+="\n - NFS mounting support:\t\t ${NFS_SUPPORT}"
config_message+="\n - SAMBA mounting support:\t\t ${SAMBA_SUPPORT}"
config_message+="\n - SAMBA server support:\t\t ${SAMBA_SERVER}"
config_message+="\n - SFTP server support:\t\t\t ${SFTP_SERVER}"
config_message+="\n - OpenVPN support:\t\t\t ${OPENVPN_SUPPORT}"
config_message+="\n - WireGuard support:\t\t\t ${WIREGUARD_SUPPORT}"
config_message+="\n - Avahi (Zeroconf) support:\t\t $AVAHI_DAEMON"
config_message+="\n - NFS mounting support:\t\t $NFS_SUPPORT"
config_message+="\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
config_message+="\n - SAMBA server support:\t\t $SAMBA_SERVER"
config_message+="\n - SFTP server support:\t\t\t $SFTP_SERVER"
config_message+="\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
config_message+="\n - WireGuard support:\t\t\t $WIREGUARD_SUPPORT"
# Graphic configuration
config_message+="\n\n Graphic configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n - Graphic Drivers:\t\t\t ${GRAPHIC_DRIVERS}"
config_message+="\n - Display Server:\t\t\t ${DISPLAYSERVER}"
if [ "${DISPLAYSERVER}" = "x11" ]; then
for drv in ${XORG_DRIVERS}; do
XORG_DRIVERS_CONFIG+="xf86-video-${drv} "
done
config_message+="\n - X.Org Graphic Drivers:\t\t ${XORG_DRIVERS_CONFIG}"
config_message+="\n - X.Org Composite support:\t\t ${COMPOSITE_SUPPORT}"
fi
config_message+="\n - Window Manager / Compositor:\t\t ${WINDOWMANAGER}"
config_message+="\n - OpenGL (GLX) support (provider):\t ${OPENGL_SUPPORT}"
[ "${OPENGL}" != "no" ] && config_message+=" (${OPENGL})"
config_message+="\n - OpenGL ES support (provider):\t ${OPENGLES_SUPPORT}"
[ "${OPENGLES}" != "no" ] && config_message+=" (${OPENGLES})"
config_message+="\n - Vulkan API support (provider):\t ${VULKAN_SUPPORT}"
[ "${VULKAN}" != "no" ] && config_message+=" (${VULKAN})"
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
config_message+="\n - Vulkan Graphic Drivers:\t\t ${VULKAN_DRIVERS_CONFIG}"
fi
config_message+="\n $dashes$dashes"
# Video Acceleration configuration
config_message+="\n\n Video Acceleration configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n - VA-API Support:\t\t\t ${VAAPI_SUPPORT}"
config_message+="\n - VDPAU Support:\t\t\t ${VDPAU_SUPPORT}"
if [ "$DISPLAYSERVER" = "x11" ] ; then
config_message+="\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
config_message+="\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
config_message+="\n - WindowManager:\t\t\t $WINDOWMANAGER"
fi
config_message+="\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
config_message+="\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
config_message+="\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
config_message+="\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
# OS configuration
config_message+="\n\n OS configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - OEM Support:\t\t\t\t ${OEM_SUPPORT}"
config_message+="\n - Default ROOT Password:\t\t ${ROOT_PASSWORD}"
config_message+="\n - Bootloader:\t\t\t\t ${BOOTLOADER}"
config_message+="\n - UDevil support:\t\t\t ${UDEVIL}"
config_message+="\n - Installer support:\t\t\t ${INSTALLER_SUPPORT}"
for config_package in ${ADDITIONAL_PACKAGES}; do
config_message+="\n - Include package:\t\t\t ${config_package}"
config_message+="\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
config_message+="\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
config_message+="\n - Bootloader:\t\t\t\t $BOOTLOADER"
config_message+="\n - UDevil support:\t\t\t $UDEVIL"
config_message+="\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
for config_package in $ADDITIONAL_PACKAGES; do
config_message+="\n - Include package:\t\t\t $config_package"
done
# Distribution specific configuration
@ -155,10 +114,16 @@ show_config() {
show_distro_config
fi
config_message+="\n\n ${dashes}${dashes}${dashes}"
config_message+="\n End Configuration for ${DISTRONAME}"
config_message+="\n ${dashes}${dashes}${dashes}"
config_message+="\n\n $dashes$dashes$dashes"
config_message+="\n End Configuration for $DISTRONAME"
config_message+="\n $dashes$dashes$dashes"
config_message+="\n\n\n"
echo -e "${config_message}"
echo -e "$config_message"
}
if [ "${FUNCNAME[0]}" = "main" ]; then
. config/options ""
show_config
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 919 B

View File

@ -1 +0,0 @@
distributions/LibreELEC/kernel_options

View File

@ -1,272 +0,0 @@
### DISTRO INFORMATION ###
# Distro name (full name, without special characters)
DISTRONAME="LEIoT"
# Short distro description
DESCRIPTION="LibreELEC for IoT (LEIoT) is a simple appliance OS for containers."
# Distribution Source location
DISTRO_MIRROR="https://src.leiot.org/mirror"
DISTRO_SRC="https://src.leiot.org/$DISTRO_VERSION"
# Distribution Home URL
DISTRO_HOME_URL="https://leiot.org"
# Welcome Message for SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# LEIoT #"
GREETING2="# https://leiot.org #"
GREETING3="##############################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="libreelec"
# Partition labels for USB/SD installation media
DISTRO_BOOTLABEL="LEIOT"
DISTRO_DISKLABEL="STORAGE"
### BUILDSYSTEM SETTINGS ####
# LTO (Link Time Optimization) support
LTO_SUPPORT="yes"
# GOLD (Google Linker) support
GOLD_SUPPORT="yes"
# MOLD (Modern Linker) support
MOLD_SUPPORT="no"
# default linker (bfd / gold / mold)
DEFAULT_LINKER="gold"
# HARDENING (security relevant linker and compiler flags) support
HARDENING_SUPPORT="no"
# Default supported get handlers (archive, git, file etc.)
GET_HANDLER_SUPPORT="archive"
# use local ccache on build host, if available, for early package
# builds before ccache has been built
LOCAL_CCACHE_SUPPORT="yes"
### OS CONFIGURATION ###
# Install glibc locales to the build (yes / no)
GLIBC_LOCALES="yes"
# Install arm-mem package on ARM32 (yes / no)
if [ "${TARGET_ARCH}" = "arm" ]; then
ARM_MEM_SUPPORT="yes"
else
ARM_MEM_SUPPORT="no"
fi
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS=""
# Default size of system partition, in MB, eg. 512
SYSTEM_SIZE=1024
# Default system partition offset, in sectors, eg. 2048
SYSTEM_PART_START=8192
# Size of storage partition, in MB. Must be >=32
STORAGE_SIZE=32
# build with swap support (yes / no)
SWAP_SUPPORT="yes"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="yes"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="2048"
# debug tty path
DEBUG_TTY="/dev/tty3"
# local console login prompt (yes / no)
LOCAL_LOGIN="yes"
# Enable SSH on boot (yes / no)
SSH_ENABLED_DEFAULT="yes"
### KODI SETTINGS ###
# Mediacenter to use (kodi / no)
MEDIACENTER="no"
# Skins to install (Estuary)
# Space separated list is supported,
# e.g. SKINS="Estuary"
SKINS=""
# Default Skin (Estuary)
SKIN_DEFAULT=""
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="no"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="no"
# build and install pipewire support (yes / no)
PIPEWIRE_SUPPORT="no"
# build and install eSpeak-NG support (yes / no)
ESPEAK_SUPPORT="no"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="no"
# build and install with BD+ support
# (BD+ decryption support in KODI) (yes / no)
BLURAY_BDPLUS_SUPPORT="no"
# build and install with AACS support
# (BD decryption support in KODI) (yes / no)
BLURAY_AACS_SUPPORT="no"
# build and install with DVDCSS support
# (DVD decryption support in KODI) (yes / no)
KODI_DVDCSS_SUPPORT="no"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="no"
# build and install with KODI webfrontend (yes / no)
KODI_WEBSERVER_SUPPORT="no"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="yes"
# build with UPnP support (yes / no)
KODI_UPNP_SUPPORT="yes"
# build with MySQL support (mariadb / none)
KODI_MYSQL_SUPPORT="mariadb"
# build Kodi with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
KODI_AIRTUNES_SUPPORT="yes"
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build kodi with alsa support (yes/no)
KODI_ALSA_SUPPORT="yes"
# build kodi with pulseaudio support (yes/no)
KODI_PULSEAUDIO_SUPPORT="yes"
# build kodi with pipewire support (yes/no)
KODI_PIPEWIRE_SUPPORT="no"
### KODI ADDONS ###
# Addon Server Url
ADDON_SERVER_URL="https://addons.libreelec.tv"
# set the default addon project
ADDON_PROJECT="${DEVICE:-$PROJECT}"
# Settings package name - blank if not required
DISTRO_PKG_SETTINGS=""
DISTRO_PKG_SETTINGS_ID=""
### ADDITIONAL PROGRAMS / FUNCTIONS ###
# Testpackages for development (yes / no)
TESTING="no"
# Configure debug groups (space delimited key=value pairs, with each value comma-delimited) and default group when DEBUG=yes
# Use ! or - prefix to prevent a dependent package from being built with debug. Add + suffix to build dependenencies with debug.
DEBUG_GROUPS=""
DEBUG_GROUP_YES=""
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="no"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="no"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="no"
# build and install Samba Server (yes / no)
SAMBA_SERVER="no"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="yes"
# build and install WireGuard support (yes / no)
WIREGUARD_SUPPORT="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# Support for partitioning and formatting disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
# cron support (yes / no)
CRON_SUPPORT="yes"
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# build and install remote support (yes / no)
REMOTE_SUPPORT="no"
# IR remote keymaps supported in default config
IR_REMOTE_KEYMAPS="rc6_mce xbox_360 xbox_one"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="no"
# build and install CEC adapter support (yes / no)
CEC_SUPPORT="no"
# build and install CEC framework support (yes / no)
CEC_FRAMEWORK_SUPPORT="no"
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="no"
# build and install ALSA Audio support (yes / no)
ALSA_SUPPORT="no"
# additional packages to install:
# Space separated list is supported,
# e.g. ADDITIONAL_PACKAGES="PACKAGE1 PACKAGE2"
ADDITIONAL_PACKAGES="avahi curl docker htop Python3"
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
# driver addons to install:
# for a list of additional drivers see packages/linux-driver-addons
# Space separated list is supported,
DRIVER_ADDONS=""

View File

@ -1,3 +0,0 @@
show_distro_config() {
: no-op
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1,5 +0,0 @@
# VERSION: set full version, use "devel" for development version
DISTRO_VERSION="devel"
# OS_VERSION: OS Version
OS_VERSION="13.0"

View File

@ -4,30 +4,6 @@ CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_VFAT_FS=y
CONFIG_EXT4_FS=y
CONFIG_HUGETLBFS=n
# netfilter
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
# packages/network/iwd
CONFIG_CRYPTO_USER_API_HASH=y
@ -49,14 +25,10 @@ CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_NLMON=m
CONFIG_RFKILL=m
# packages/network/wireguard
CONFIG_NET=y
CONFIG_INET=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_NET_UDP_TUNNEL=m
CONFIG_CRYPTO_ALGAPI=y
CONFIG_WIREGUARD=m
@ -64,23 +36,22 @@ CONFIG_WIREGUARD=m
# packages/sysutils/systemd
CONFIG_DEVTMPFS=y
CONFIG_CGROUPS=y
CONFIG_FB_DEVICE=y
CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EPOLL=y
# CONFIG_NET=y # already set in packages/network/wireguard
CONFIG_NET=y
CONFIG_SYSFS=y
CONFIG_PROC_FS=y
CONFIG_FHANDLE=y
# CONFIG_CRYPTO_USER_API_HASH=y # already set in packages/network/iwd
# CONFIG_CRYPTO_HMAC=y # already set in packages/network/iwd
# CONFIG_CRYPTO_SHA256=y # already set in packages/network/iwd
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_SHA256=y
CONFIG_SYSFS_DEPRECATED=n
CONFIG_UEVENT_HELPER=n
CONFIG_FW_LOADER_USER_HELPER=n
CONFIG_IPV6=y
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_EXT4_FS_POSIX_ACL=y
@ -91,91 +62,3 @@ CONFIG_KCMP=y
CONFIG_RT_GROUP_SCHED=n
CONFIG_CGROUP_BPF=y
CONFIG_BPF_SYSCALL=y
# Native language support
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
# Human Interface Device (HID)
CONFIG_HID_NINTENDO=m
CONFIG_NINTENDO_FF=y
# Docker
CONFIG_NAMESPACES=y
CONFIG_NET_NS=y
CONFIG_PID_NS=y
CONFIG_IPC_NS=y
CONFIG_UTS_NS=y
# CONFIG_CGROUPS=y # already set in packages/sysutils/systemd
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CPUSETS=y
CONFIG_MEMCG=y
# CONFIG_KEYS=y # already set in packages/network/iwd
CONFIG_VETH=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_NETFILTER=m
# CONFIG_IP_NF_FILTER=m # already set in netfilter
# CONFIG_IP_NF_TARGET_MASQUERADE=m # already set in netfilter
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MARK=m
# CONFIG_IP_NF_NAT=m # already set in netfilter
CONFIG_NF_NAT=m
CONFIG_POSIX_MQUEUE=y
# CONFIG_CGROUP_BPF=y # already set in packages/sysutils/systemd
CONFIG_USER_NS=y
# CONFIG_SECCOMP=y # already set in packages/sysutils/systemd
# CONFIG_SECCOMP_FILTER=y # already set in packages/sysutils/systemd
CONFIG_CGROUP_PIDS=y
CONFIG_BLK_CGROUP=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_CGROUP_PERF=y
CONFIG_NET_SCHED=y
CONFIG_NET_CLS_CGROUP=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_VS=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=m
# CONFIG_EXT4_FS=y # already set in general
# CONFIG_EXT4_FS_POSIX_ACL=y # already set in packages/sysutils/systemd
CONFIG_EXT4_FS_SECURITY=y
CONFIG_VXLAN=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_GHASH=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_ALGO=y
CONFIG_INET_ESP=y
CONFIG_IPVLAN=m
CONFIG_MACVLAN=m
CONFIG_DUMMY=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_MD=y
CONFIG_BLK_DEV_DM=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_OVERLAY_FS=m
# new options since 28.0.0
CONFIG_IP_SET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_NETFILTER_XT_SET=m

View File

@ -1,19 +1,15 @@
### DISTRO INFORMATION ###
# Distro name (full name, without special characters)
# Name of the Distro to build (full name, without special characters)
DISTRONAME="LibreELEC"
# Short distro description
# short project description
DESCRIPTION="LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution."
# Distribution Source location
DISTRO_MIRROR="https://sources.libreelec.tv/mirror"
DISTRO_SRC="https://sources.libreelec.tv/$DISTRO_VERSION"
# Distribution Home URL
DISTRO_HOME_URL="https://libreelec.tv"
### USER INTERFACE SETTINGS ###
# Welcome Message for SSH Server (up to 5 Lines)
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# LibreELEC #"
GREETING2="# https://libreelec.tv #"
@ -36,39 +32,23 @@
# GOLD (Google Linker) support
GOLD_SUPPORT="yes"
# MOLD (Modern Linker) support
MOLD_SUPPORT="no"
# default linker (bfd / gold / mold)
DEFAULT_LINKER="gold"
# HARDENING (security relevant linker and compiler flags) support
HARDENING_SUPPORT="no"
# Default supported get handlers (archive, git, file etc.)
GET_HANDLER_SUPPORT="archive"
# use local ccache on build host, if available, for early package
# builds before ccache has been built
LOCAL_CCACHE_SUPPORT="yes"
### OS CONFIGURATION ###
# Install glibc locales to the build (yes / no)
GLIBC_LOCALES="yes"
# Install arm-mem package on ARM32 (yes / no)
if [ "${TARGET_ARCH}" = "arm" ]; then
ARM_MEM_SUPPORT="yes"
else
ARM_MEM_SUPPORT="no"
fi
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS=""
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
# Default size of system partition, in MB, eg. 512
SYSTEM_SIZE=512
@ -76,9 +56,6 @@
# Default system partition offset, in sectors, eg. 2048
SYSTEM_PART_START=8192
# Size of storage partition, in MB. Must be >=32
STORAGE_SIZE=32
# build with swap support (yes / no)
SWAP_SUPPORT="yes"
@ -91,11 +68,6 @@
# debug tty path
DEBUG_TTY="/dev/tty3"
# local console login prompt (yes / no)
LOCAL_LOGIN="no"
# Enable SSH on boot (yes / no)
SSH_ENABLED_DEFAULT="no"
### KODI SETTINGS ###
# Mediacenter to use (kodi / no)
@ -115,12 +87,6 @@
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="yes"
# build and install pipewire support (yes / no)
PIPEWIRE_SUPPORT="no"
# build and install eSpeak-NG support (yes / no)
ESPEAK_SUPPORT="yes"
# build and install with BluRay support (yes / no)
KODI_BLURAY_SUPPORT="yes"
@ -151,7 +117,7 @@
# build with MySQL support (mariadb / none)
KODI_MYSQL_SUPPORT="mariadb"
# build Kodi with optical drive support (yes / no)
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
@ -166,17 +132,13 @@
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
# build kodi with alsa support (yes/no)
KODI_ALSA_SUPPORT="yes"
# build kodi with pulseaudio support (yes/no)
KODI_PULSEAUDIO_SUPPORT="yes"
# build kodi with pipewire support (yes/no)
KODI_PIPEWIRE_SUPPORT="no"
### KODI ADDONS ###
# Distribution Specific source location
DISTRO_MIRROR="http://sources.libreelec.tv/mirror"
DISTRO_SRC="http://sources.libreelec.tv/$LIBREELEC_VERSION"
# Addon Server Url
ADDON_SERVER_URL="https://addons.libreelec.tv"
@ -198,8 +160,11 @@
DEBUG_GROUPS="kodi+=kodi+,kodi-platform+,p8-platform+,!mesa"
DEBUG_GROUP_YES="kodi+"
# wireless daemon to use (wpa_supplicant/iwd)
WIRELESS_DAEMON="wpa_supplicant"
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="no"
ISCSI_SUPPORT="yes"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="yes"
@ -224,10 +189,16 @@
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# Support for partitioning and formatting disks in initramfs (yes / no)
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="yes"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="yes"
# build and install nano text editor (yes / no)
NANO_EDITOR="yes"
@ -237,6 +208,14 @@
# build with installer (yes / no)
INSTALLER_SUPPORT="yes"
# Windowmanager to use (fluxbox / none)
WINDOWMANAGER="fluxbox"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia"
GRAPHIC_DRIVERS="r300 r600 radeonsi iris i915 i965 nvidia nvidia-legacy vmware virtio"
# build and install remote support (yes / no)
REMOTE_SUPPORT="yes"
@ -255,29 +234,7 @@
# OEM packages for OEM's (yes / no)
OEM_SUPPORT="no"
# build and install ALSA Audio support (yes / no)
ALSA_SUPPORT="yes"
# additional packages to install:
# Space separated list is supported,
# e.g. ADDITIONAL_PACKAGES="PACKAGE1 PACKAGE2"
ADDITIONAL_PACKAGES=""
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
# driver addons to install:
# for a list of additional drivers see packages/linux-driver-addons
# Space separated list is supported,
DRIVER_ADDONS="crazycat digital_devices dvb-latest"
# should reusable host tools be built:
# Space separated list is supported,
# list of options are:
# - all (for all host tools to be built)
# - mesa:host
# - save-local (saves a copy in sources/reusable/<package>
BUILD_REUSABLE=""
# should reusable host tools be used (yes / no)
USE_REUSABLE="no"

View File

@ -2,41 +2,41 @@ show_distro_config() {
# Hardware decoder support
config_message+="\n\n Kodi Hardware configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - Video Acceleration provider:\t\t ${KODIPLAYER_DRIVER}"
config_message+="\n - Video Acceleration provider:\t\t $KODIPLAYER_DRIVER"
# Input device configuration
config_message+="\n - Remote support:\t\t\t ${REMOTE_SUPPORT}"
config_message+="\n - CEC Adapter support:\t\t\t ${CEC_SUPPORT}"
config_message+="\n - CEC Framework support:\t\t ${CEC_FRAMEWORK_SUPPORT}"
config_message+="\n - Kodi Joystick support:\t\t ${JOYSTICK_SUPPORT}"
config_message+="\n - Remote support:\t\t\t $REMOTE_SUPPORT"
config_message+="\n - CEC Adapter support:\t\t\t $CEC_SUPPORT"
config_message+="\n - CEC Framework support:\t\t $CEC_FRAMEWORK_SUPPORT"
config_message+="\n - Kodi Joystick support:\t\t $JOYSTICK_SUPPORT"
# Kodi configuration
config_message+="\n\n Kodi Software configuration:"
config_message+="\n ${dashes}${dashes}"
config_message+="\n $dashes$dashes"
config_message+="\n - Kodi Blu-ray support:\t\t ${KODI_BLURAY_SUPPORT}"
if [ "${KODI_BLURAY_SUPPORT}" = "yes" ] ; then
config_message+="\n - Blu-ray BD+ support:\t\t ${BLURAY_BDPLUS_SUPPORT}"
config_message+="\n - Blu-ray AACS support:\t\t ${BLURAY_AACS_SUPPORT}"
config_message+="\n - Kodi Blu-ray support:\t\t $KODI_BLURAY_SUPPORT"
if [ "$KODI_BLURAY_SUPPORT" = "yes" ] ; then
config_message+="\n - Blu-ray BD+ support:\t\t $BLURAY_BDPLUS_SUPPORT"
config_message+="\n - Blu-ray AACS support:\t\t $BLURAY_AACS_SUPPORT"
fi
config_message+="\n - Kodi DVDCSS support:\t\t\t ${KODI_DVDCSS_SUPPORT}"
config_message+="\n - Kodi Airplay support:\t\t ${KODI_AIRPLAY_SUPPORT}"
config_message+="\n - Kodi Airtunes support:\t\t ${KODI_AIRTUNES_SUPPORT}"
config_message+="\n - Kodi NFS support:\t\t\t ${KODI_NFS_SUPPORT}"
config_message+="\n - Kodi MySQL support:\t\t\t ${KODI_MYSQL_SUPPORT}"
config_message+="\n - Kodi Optical Drive support:\t\t ${KODI_OPTICAL_SUPPORT}"
config_message+="\n - Kodi SAMBA client support:\t\t ${KODI_SAMBA_SUPPORT}"
config_message+="\n - Kodi UPNP support:\t\t\t ${KODI_UPNP_SUPPORT}"
config_message+="\n - Kodi Webserver support:\t\t ${KODI_WEBSERVER_SUPPORT}"
config_message+="\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
config_message+="\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
config_message+="\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
config_message+="\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
config_message+="\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
config_message+="\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
config_message+="\n - Kodi SAMBA client support:\t\t $KODI_SAMBA_SUPPORT"
config_message+="\n - Kodi UPNP support:\t\t\t $KODI_UPNP_SUPPORT"
config_message+="\n - Kodi Webserver support:\t\t $KODI_WEBSERVER_SUPPORT"
for config_skin in ${SKINS}; do
config_message+="\n - Include Skin:\t\t\t ${config_skin}"
for config_skin in $SKINS; do
config_message+="\n - Include Skin:\t\t\t $config_skin"
done
config_message+="\n - Default Skin:\t\t\t ${SKIN_DEFAULT}"
config_message+="\n - Include extra fonts:\t\t\t ${KODI_EXTRA_FONTS}"
config_message+="\n - Default Skin:\t\t\t $SKIN_DEFAULT"
config_message+="\n - Include extra fonts:\t\t\t $KODI_EXTRA_FONTS"
}

View File

@ -1,8 +1,8 @@
# VERSION: set full version, use "devel" for development version
DISTRO_VERSION="devel"
LIBREELEC_VERSION="devel"
# OS_VERSION: OS Version
OS_VERSION="13.0"
OS_VERSION="10.0"
# ADDON_VERSION: Addon version
ADDON_VERSION="12.80.3"
ADDON_VERSION="9.80.11"

View File

@ -1,11 +0,0 @@
Permission to use, copy, modify, and/or distribute this
software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -1,90 +0,0 @@
7-Zip source code
~~~~~~~~~~~~~~~~~
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2020 Igor Pavlov.
The licenses for files are:
1) CPP/7zip/Compress/Rar* files: the "GNU LGPL" with "unRAR license restriction"
2) CPP/7zip/Compress/LzfseDecoder.cpp: the "BSD 3-clause License"
3) Some files are "public domain" files, if "public domain" status is stated in source file.
4) the "GNU LGPL" for all other files. If there is no license information in
some source file, that file is under the "GNU LGPL".
The "GNU LGPL" with "unRAR license restriction" means that you must follow both
"GNU LGPL" rules and "unRAR license restriction" rules.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
BSD 3-clause License
--------------------
The "BSD 3-clause License" is used for the code in LzfseDecoder.cpp that implements LZFSE data decompression.
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
that also uses the "BSD 3-clause License":
----
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
----
unRAR license restriction
-------------------------
The decompression engine for RAR archives was developed using source
code of unRAR program.
All copyrights to original unRAR code are owned by Alexander Roshal.
The license for original unRAR code has the following restriction:
The unRAR sources cannot be used to re-create the RAR compression algorithm,
which is proprietary. Distribution of modified unRAR sources in separate form
or as a part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.
--
Igor Pavlov

View File

@ -1,88 +0,0 @@
Eclipse Public License - v 1.0
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

View File

@ -1,32 +0,0 @@
/*
* Copyright 2023 Flirc Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY FLIRC INC. \`\`AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ${AUTHOR_UPPER} OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
* The views and conclusions contained in the software and documentation
* are those of the authors and should not be interpreted as representing
* official policies, either expressed or implied, of Flirc Inc.
*/

View File

@ -1,9 +0,0 @@
HIDAPI - Multi-Platform library for
communication with HID devices.
Copyright 2009, Alan Ott, Signal 11 Software.
All Rights Reserved.
This software may be used by anyone for any reason so
long as the copyright notice in the source files
remains intact.

View File

@ -1,70 +0,0 @@
==============================================================================
LLVM Release License
==============================================================================
University of Illinois/NCSA
Open Source License
Copyright (c) 2003-2014 University of Illinois at Urbana-Champaign.
All rights reserved.
Developed by:
LLVM Team
University of Illinois at Urbana-Champaign
http://llvm.org
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal with
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimers in the
documentation and/or other materials provided with the distribution.
* Neither the names of the LLVM Team, University of Illinois at
Urbana-Champaign, nor the names of its contributors may be used to
endorse or promote products derived from this Software without specific
prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
SOFTWARE.
==============================================================================
Copyrights and Licenses for Third Party Software Distributed with LLVM:
==============================================================================
The LLVM software contains code written by third parties. Such software will
have its own individual LICENSE.TXT file in the directory in which it appears.
This file will describe the copyrights, license, and restrictions which apply
to that code.
The disclaimer of warranty in the University of Illinois Open Source License
applies to all code in the LLVM Distribution, and nothing in any of the
other licenses gives permission to use the names of the LLVM Team or the
University of Illinois to endorse or promote products derived from this
Software.
The following pieces of software have additional or alternate copyrights,
licenses, and/or restrictions:
Program Directory
------- ---------
Autoconf llvm/autoconf
llvm/projects/ModuleMaker/autoconf
Google Test llvm/utils/unittest/googletest
OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h

View File

@ -1,17 +0,0 @@
Software License Agreement for NextPVR
IMPORTANT- PLEASE READ CAREFULLY BEFORE USING THIS SOFTWARE: THIS LICENSE AGREEMENT FOR NextPVR ("LICENSE AGREEMENT") IS A LEGAL AGREEMENT BETWEEN YOU (EITHER ON BEHALF OF YOURSELF AS AN INDIVIDUAL OR ON BEHALF OF AN ENTITY AS ITS AUTHORIZED REPRESENTATIVE) AND PINSTRIPE LIMITED. FOR THE NextPVR SOFTWARE ("SOFTWARE"). THIS LICENSE AGREEMENT FOR NextPVR SUPERSEDES PREVIOUS VERSIONS. BY INSTALLING THE SOFTWARE (AS DEFINED BELOW), COPYING OR OTHERWISE USING THE SOFTWARE YOU AGREE TO BE BOUND BY ALL OF THE TERMS OF THIS END USER LICENSE AGREEMENT REGARDING YOUR USE OF THE SOFTWARE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE AGREEMENT, UNINSTALL THE SOFTWARE, AND DO NOT COPY OR OTHERWISE USE THE SOFTWARE.
GRANT OF LICENSE: Subject to the following terms, PINSTRIPE LIMITED hereby grants you a non-exclusive, perpetual, non-transferable license to install and to use the NextPVR software ("Software") for personal, non-commercial use. You may copy the Software for back-up or archival purposes.
LICENSE RESTRICTIONS: You may not: (i) reverse engineer, decompile, or disassemble the Software; (ii) modify, or create derivative works based upon, the Software in whole or in part; (iii) distribute copies of the Software; (iv) remove any proprietary notices or labels on the Software; or (v) resell, lease, rent, transfer, sublicense, or otherwise transfer rights to the Software. You agree that the NextPVR software will not be used for commercial purposes without full written permission. Any such forbidden use shall immediately terminate your license to the software.
TITLE: You agree that no title to the intellectual property in the Software is transferred to you. Title, ownership, rights, and intellectual property rights in and to the Software shall remain in PINSTRIPE LIMITED.
UPDATES: From time to time, PINSTRIPE LIMITED may make updates to the Software generally available. You may download and install these software updates released by PINSTRIPE LIMITED. All updates to the Software shall be governed by this Agreement, unless other license terms are provided with the update. Under the Software's default configuration, if you are connected to the Internet, the Software is enabled by default to query latest version of Software and display if updates are available. You may choose to switch this version check off and not use it.
TECHNICAL SUPPORT: Technical support for the software, as made available by PINSTRIPE LIMITED, is available on the web site at: http://www.nextpvr.com
DISCLAIMER OF WARRANTY: The Software is provided to you at minimal charge. ACCORDINGLY, YOU AGREE THAT PINSTRIPE LIMITED HAS MADE NO EXPRESS WARRANTIES, ORAL OR WRITTEN, TO YOU REGARDING THE SOFTWARE AND THAT THE SOFTWARE IS BEING PROVIDED TO YOU "AS IS" WITHOUT WARRANTY OF ANY KIND. PINSTRIPE LIMITED DISCLAIMS ANY AND ALL OTHER WARRANTIES, WHETHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF NONINFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. PINSTRIPE LIMITED SHALL NOT BE LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, COVER, RELIANCE, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF ANTICIPATED PROFIT) ARISING FROM ANY CAUSE UNDER OR RELATED TO THIS AGREEMENT.
LIMITATION OF LIABILITY: You must assume the entire risk of using the program. IN NO EVENT SHALL PINSTRIPE LIMITED BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND ARISING OUT OF THE USE OF THE PINSTRIPE LIMITED SOFTWARE, EVEN IF PINSTRIPE LIMITED HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL PINSTRIPE LIMITED'S LIABILITY FOR ANY CLAIM, WHETHER IN CONTRACT, TORT, OR ANY OTHER THEORY OF LIABILITY, EXCEED THE LICENSE FEE PAID BY YOU, PROVIDED, HOWEVER, IF THE RELEVANT SOFTWARE WAS PROVIDED TO YOU AT NO CHARGE YOU AGREE PINSTRIPE LIMITED SHALL NOT BE LIABLE TO YOU FOR ANY DAMAGES. THIS LIMITATION SHALL APPLY TO CLAIMS OF PERSONAL INJURY TO THE EXTENT PERMITTED BY LAW.

View File

@ -1,25 +0,0 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>

View File

@ -1,92 +0,0 @@
Software License for The Fraunhofer FDK AAC Codec Library for Android
© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software
that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding
scheme for digital audio. This FDK AAC Codec software is intended to be used on
a wide variety of Android devices.
AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient
general perceptual audio codecs. AAC-ELD is considered the best-performing
full-bandwidth communications codec by independent studies and is widely
deployed. AAC has been standardized by ISO and IEC as part of the MPEG
specifications.
Patent licenses for necessary patent claims for the FDK AAC Codec (including
those of Fraunhofer) may be obtained through Via Licensing
(www.vialicensing.com) or through the respective patent owners individually for
the purpose of encoding or decoding bit streams in products that are compliant
with the ISO/IEC MPEG audio standards. Please note that most manufacturers of
Android devices already license these patent claims through Via Licensing or
directly from the patent owners, and therefore FDK AAC Codec software may
already be covered under those patent licenses when it is used for those
licensed purposes only.
Commercially-licensed AAC software libraries, including floating-point versions
with enhanced sound quality, are also available from Fraunhofer. Users are
encouraged to check the Fraunhofer website for additional applications
information and documentation.
2. COPYRIGHT LICENSE
Redistribution and use in source and binary forms, with or without modification,
are permitted without payment of copyright license fees provided that you
satisfy the following conditions:
You must retain the complete text of this software license in redistributions of
the FDK AAC Codec or your modifications thereto in source code form.
You must retain the complete text of this software license in the documentation
and/or other materials provided with redistributions of the FDK AAC Codec or
your modifications thereto in binary form. You must make available free of
charge copies of the complete source code of the FDK AAC Codec and your
modifications thereto to recipients of copies in binary form.
The name of Fraunhofer may not be used to endorse or promote products derived
from this library without prior written permission.
You may not charge copyright license fees for anyone to use, copy or distribute
the FDK AAC Codec software or your modifications thereto.
Your modified versions of the FDK AAC Codec must carry prominent notices stating
that you changed the software and the date of any change. For modified versions
of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android"
must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK
AAC Codec Library for Android."
3. NO PATENT LICENSE
NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without
limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE.
Fraunhofer provides no warranty of patent non-infringement with respect to this
software.
You may use this FDK AAC Codec software or modifications thereto only for
purposes that are authorized by appropriate patent licenses.
4. DISCLAIMER
This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright
holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
including but not limited to the implied warranties of merchantability and
fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary,
or consequential damages, including but not limited to procurement of substitute
goods or services; loss of use, data, or profits, or business interruption,
however caused and on any theory of liability, whether in contract, strict
liability, or tort (including negligence), arising in any way out of the use of
this software, even if advised of the possibility of such damage.
5. CONTACT INFORMATION
Fraunhofer Institute for Integrated Circuits IIS
Attention: Audio and Multimedia Departments - FDK AAC LL
Am Wolfsmantel 33
91058 Erlangen, Germany
www.iis.fraunhofer.de/amm
amm-info@iis.fraunhofer.de

View File

@ -1,38 +0,0 @@
Additional license notices for GPGME. -*- org -*-
This file contains the copying permission notices for various files in
the GPGME distribution which are not covered by the GNU Lesser
General Public License (LGPL) or the GNU General Public License (GPL).
These notices all require that a copy of the notice be included
in the accompanying documentation and be distributed with binary
distributions of the code, so be sure to include this file along
with any binary distributions derived from the GNU C Library.
* MIT License
For files:
- cJSON.c, cJSON.h
#+begin_quote
Copyright (c) 2009 Dave Gamble
Permission is hereby granted, free of charge, to any person obtaining
a opy of this software and associated documentation files (the
"Software"), to eal in the Software without restriction, including
without limitation the ights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING ROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#+end_quote

View File

@ -0,0 +1,13 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_ADS1x15"
PKG_VERSION="a963cc0ee83e2ba6d671b02df5febf7250f626aa"
PKG_SHA256="2f81a9a6b7b7f46b79faa5b01df0c25fa5f16af80842d74e35b5fbf01ab0c619"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the ADS1015 and ADS1115 analog to digital converters with a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_ADXL345"
PKG_VERSION="dca3d90b5477a304fa130f5cc90ea59e3968ce6f"
PKG_SHA256="22ec0fc6679cc3e9b5f0aff5cfeef34cbbf13e59aecfb829c2f0dc2d90b5fb8b"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the ADXL345 triple-axis accelerometer over I2C with a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_BMP"
PKG_VERSION="e8521e969afae3321d9789353d7e92ea9a5e9a56"
PKG_SHA256="e5e140c34e312f6a00c62b1bd47ebe3f1857009b1c202c18c7b092ebb2e1eb9c"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python library for accessing the BMP series pressure and temperature sensors like the BMP085/BMP180 on a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_CharLCD"
PKG_VERSION="bc75cad284766240424f29dc8e7b84d0caceb72e"
PKG_SHA256="eae4b446162feb533a469a9dacf6e750250f925561c9f7983a11d340e1dd98d4"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python library for accessing Adafruit character LCDs from a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,32 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_DHT"
PKG_VERSION="18846deec6a96572b3f2c4a9edfb5bac55b46f5b"
PKG_SHA256="9125f8f42b4874db257a45184b866e8b424aa67230d2ffbc734b53686da7817f"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi."
PKG_TOOLCHAIN="manual"
pre_make_target() {
export PYTHONXCPREFIX="${SYSROOT_PREFIX}/usr"
export LDSHARED="${CC} -shared"
}
make_target() {
case "${PROJECT}:${DEVICE}" in
"RPi:RPi")
PKG_RPI_VERSION="--force-pi"
;;
"RPi:RPi2")
PKG_RPI_VERSION="--force-pi2"
;;
*)
PKG_RPI_VERSION=""
esac
python3 setup.py build ${PKG_RPI_VERSION} --cross-compile
}

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_GPIO"
PKG_VERSION="c543d1df9c0a71bafb9f0a1f9dceecd79a920e74"
PKG_SHA256="d3cb74fd033ebe5aea1786a584d64ef5eb8082ef2bf0a568b01691612cd04e88"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Library to provide a cross-platform GPIO interface on the Raspberry Pi ."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_LED_Backpack"
PKG_VERSION="e34b9548e86e63747563a94f02b65b2980fdefff"
PKG_SHA256="244d2625cdaebdc68e299fedde276efa5c9f7c143681c4ee056fb8350a4f7167"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python library for controlling LED backpack displays."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_LSM303"
PKG_VERSION="37d288844515d7bb62a2329982eb033e92dceceb"
PKG_SHA256="609591f2add15e849d3bba320417c705a50a3ed077632baf20c12c8b740d5331"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the LSM303 accelerometer & magnetometer with Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_MCP3008"
PKG_VERSION="e721d26e650c99b0f6d3efd4ec30444e1adf5ccd"
PKG_SHA256="f5e4c847a87716c16f0209df95c281b5071549644a79a143a77b212f25c464dc"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the MCP3008 analog to digital converter with a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_MCP4725"
PKG_VERSION="4d028bbcf58b011a8f14c5d95057b7e1dcc1064e"
PKG_SHA256="6ebbd1f76807b01dc2b723064e52b0c82fc45388265b8ec867e0a42a46a6e926"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the MCP4725 digital to analog converter with a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_PCA9685"
PKG_VERSION="f86db2ca5de379748afd71e379ce2155f47d21e7"
PKG_SHA256="46e11dcfbfaab5756ddeb6ab31740cf8c7419ec1d32be2519f19882e7d86e426"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the PCA9685 PWM servo/LED controller with a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_PureIO"
PKG_VERSION="6f4976d91c52d70b67b28bba75a429b5328a52c1"
PKG_SHA256="891a4d077fe6610de6aa4b0dc5b9933a6c7db3492072df60c0383662f28c2ae9"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Pure python access to Linux IO including I2C and SPI."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_SI1145"
PKG_VERSION="18c400643b39dbf29ab7ff8e74ab0c5c36ef5cf1"
PKG_SHA256="0238b2c01cfbb2890ae78468d2fc19c815748fc94860a4eb92b649d074476264"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/THP-JOE/Python_SI1145"
PKG_URL="https://github.com/THP-JOE/Python_SI1145/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python library for accessing the SI1145 temperature sensor on a Raspberry Pi"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_SSD1306"
PKG_VERSION="8819e2d203df49f2843059d981b7347d9881c82b"
PKG_SHA256="ed1163dee2fe6c0c2065a429e1d93cff7397a309071ff83714c84566739680a2"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="SSD1306 oled driver library for 'monochrome' 128x64 and 128x32 OLEDs."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_TCS34725"
PKG_VERSION="6306f90b4601237a852acef89eeecc1261ce38b3"
PKG_SHA256="f2c3218551da55d7fdbe2499a6ffa3a0b8ed1709e4402c6b0e0f37b17d4aa81f"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the TCS34725 color sensor with the Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_VCNL40xx"
PKG_VERSION="5c72575b7390fbedfae0b5fb2a881ca9efe9ca22"
PKG_SHA256="78346836965562720248138203a4af9dc6aa18815bda2a5b7842e3b9af9d1ea8"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to use the VCNL4000 & VCNL4010 proximity sensors with the Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Adafruit_Python_WS2801"
PKG_VERSION="d0c190715ffef1b00e5ffa2d7b7560e7f8ed4263"
PKG_SHA256="6219edb5c1d767ff950f5020bacdfb5ba608b4995eb14d6073fdec2f17f584cb"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="Python code to control WS2801 and similar SPI interface addressable RGB LED strips on a Raspberry Pi."
PKG_TOOLCHAIN="manual"

View File

@ -9,7 +9,7 @@ PKG_SITE="http://argtable.sourceforge.net/"
PKG_URL="https://downloads.sourceforge.net/project/argtable/argtable/argtable-${PKG_VERSION}/argtable2-${PKG_VERSION:2:4}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Argtable is an open source ANSI C library that parses GNU-style command-line options."
PKG_TOOLCHAIN="autotools"
PKG_TOOLCHAIN="configure"
PKG_BUILD_FLAGS="-sysroot"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"

View File

@ -1,22 +0,0 @@
From 812680199b0e474c83cdc8bd331178afcaaad862 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Sat, 4 May 2024 12:07:33 +0000
Subject: [PATCH] fix build with gcc-14
add missing header
---
src/arg_int.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/arg_int.c b/src/arg_int.c
index 29c20e5..bc5ab06 100644
--- a/src/arg_int.c
+++ b/src/arg_int.c
@@ -27,6 +27,7 @@ USA.
/* #ifdef HAVE_STDLIB_H */
#include <stdlib.h>
/* #endif */
+#include <ctype.h>
#include "argtable2.h"
#include <limits.h>

View File

@ -3,21 +3,17 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="ccid"
PKG_VERSION="1.6.2"
PKG_SHA256="41958410950157e622f9d91c9e78c7b708db74e22f71190c581d24d20564d449"
PKG_VERSION="1.4.34"
PKG_SHA256="e6f7645b59a9a2844eb4b1a7eff512960d7f04a4654af02f7fd2f8aded5db40a"
PKG_LICENSE="LGPL"
PKG_SITE="https://ccid.apdu.fr"
PKG_URL="https://ccid.apdu.fr/files/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_URL="https://ccid.apdu.fr/files/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain pcsc-lite"
PKG_LONGDESC="A generic USB Chip/Smart Card Interface Devices driver."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --enable-twinserial"
post_configure_target() {
libtool_remove_rpath libtool
}
make_target() {
make
make -C src/ Info.plist

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2017 Escalade
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-atk"
PKG_VERSION="2.38.0"
PKG_SHA256="cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/${PKG_VERSION:0:4}/at-spi2-atk-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain at-spi2-core atk libX11 libxml2"
PKG_LONGDESC="A GTK+ module that bridges ATK to D-Bus at-spi."

View File

@ -3,30 +3,18 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-core"
PKG_VERSION="2.57.0"
PKG_SHA256="942070eff19155b7d6ce5557f1a020015287b840048536e9ef9a28c4e9ce428c"
PKG_VERSION="2.40.0"
PKG_SHA256="4196a7d30a0051e52a67b8ce4283fe79ae5e4e14a725719934565adf1d333429"
PKG_LICENSE="OSS"
PKG_SITE="https://www.gnome.org/"
PKG_URL="https://download.gnome.org/sources/at-spi2-core/${PKG_VERSION:0:4}/at-spi2-core-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain atk dbus glib libxml2"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/${PKG_VERSION:0:4}/at-spi2-core-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain atk dbus glib libXtst"
PKG_LONGDESC="Protocol definitions and daemon for D-Bus at-spi."
configure_package() {
# Build with x11 support
if [ ${DISPLAYSERVER} = "x11" ]; then
PKG_DEPENDS_TARGET+=" libXtst"
fi
}
PKG_MESON_OPTS_TARGET="-Denable_docs=false \
-Denable-introspection=no \
-Ddbus_daemon=/usr/bin/dbus-daemon"
pre_configure_target() {
PKG_MESON_OPTS_TARGET="-Ddocs=false \
-Dintrospection=disabled \
-Ddbus_daemon=/usr/bin/dbus-daemon"
if [ ${DISPLAYSERVER} = "x11" ]; then
PKG_MESON_OPTS_TARGET+="-Dx11=true"
TARGET_LDFLAGS="${LDFLAGS} -lXext"
else
PKG_MESON_OPTS_TARGET+="-Dx11=false"
fi
TARGET_LDFLAGS="${LDFLAGS} -lXext"
}

View File

@ -3,12 +3,12 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="atk"
PKG_VERSION="2.38.0"
PKG_SHA256="ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36"
PKG_VERSION="2.36.0"
PKG_SHA256="fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"
PKG_LICENSE="GPL"
PKG_SITE="http://library.gnome.org/devel/atk/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/atk/${PKG_VERSION:0:4}/atk-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain glib"
PKG_DEPENDS_TARGET="toolchain glib glib:host"
PKG_LONGDESC="Provides the set of accessibility interfaces that are implemented by other applications."
PKG_BUILD_FLAGS="+pic"

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -9,7 +9,11 @@ PKG_URL=""
PKG_DEPENDS_UNPACK+=" libxkbcommon"
PKG_BUILD_FLAGS="-sysroot"
PKG_MESON_OPTS_TARGET="${PKG_MESON_OPTS_TARGET} \
-Denable-static=false \
-Denable-shared=true"
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.gz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
}

View File

@ -15,5 +15,5 @@ PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET} \
unpack() {
mkdir -p ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:7}/${PKG_NAME:7}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
}

View File

@ -3,19 +3,21 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="cups"
PKG_VERSION="2.4.12"
PKG_SHA256="7a4d32822b320aa2999b18fdfc4ce5ca9ad204fe6302ff69e6c24b21f8d0eaa0"
PKG_VERSION="2.3.3"
PKG_SHA256="fe298713aad0cbb861de24760f140851122caae9f34d480dbfff0bd9211d961a"
PKG_LICENSE="GPL"
PKG_SITE="http://www.cups.org"
PKG_URL="https://github.com/openprinting/cups/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain gnutls zlib"
PKG_URL="https://github.com/apple/cups/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain openssl zlib"
PKG_LONGDESC="CUPS printing system."
PKG_BUILD_FLAGS="+pic -sysroot"
PKG_CONFIGURE_OPTS_TARGET="--libdir=/usr/lib \
--disable-gssapi \
--with-dnssd=no \
--with-tls=gnutls
--disable-avahi \
--disable-dnssd \
--disable-systemd \
--disable-launchd \
--disable-unit-tests"
pre_configure_target() {

View File

@ -0,0 +1,18 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gdk-pixbuf"
PKG_VERSION="2.42.4"
PKG_SHA256="fe9c5dd88f486194ea2bc09b8814c1ed895bb6c530f37cbbf259757c4e482e4d"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff libX11"
PKG_DEPENDS_CONFIG="shared-mime-info"
PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation."
PKG_MESON_OPTS_TARGET="-Ddocs=false \
-Dgir=false \
-Dman=false \
-Drelocatable=false"

View File

@ -3,14 +3,15 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gtk3"
PKG_VERSION="3.24.49"
PKG_SHA256="5ea52c6a28f0e5ecf2e9a3c2facbb30d040b73871fcd5f33cd1317e9018a146e"
PKG_VERSION="3.24.28"
PKG_SHA256="b04e09763367f1ce932cd2ee3a359d4de150e1c38e7bef7d29aa72557a6b47c6"
PKG_LICENSE="LGPL"
PKG_SITE="https://www.gtk.org/"
PKG_URL="https://download.gnome.org/sources/gtk/${PKG_VERSION:0:4}/gtk-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain at-spi2-core atk cairo gdk-pixbuf glib libX11 libXi libXrandr libepoxy pango libxkbcommon"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gtk+/${PKG_VERSION:0:4}/gtk+-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain at-spi2-atk atk cairo gdk-pixbuf glib libX11 libXi libXrandr libepoxy pango"
PKG_DEPENDS_CONFIG="libXft pango gdk-pixbuf shared-mime-info"
PKG_LONGDESC="A library for creating graphical user interfaces for the X Window System."
PKG_TOOLCHAIN="meson"
PKG_BUILD_FLAGS="-sysroot"
PKG_MESON_OPTS_TARGET="-Dbroadway_backend=false \

View File

@ -12,15 +12,14 @@ PKG_DEPENDS_CONFIG="icu"
PKG_DEPENDS_UNPACK+=" harfbuzz"
PKG_BUILD_FLAGS="-sysroot"
PKG_MESON_OPTS_TARGET="-Dbenchmark=disabled \
-Dcairo=enabled \
PKG_MESON_OPTS_TARGET="-Dcairo=enabled \
-Ddocs=disabled \
-Dfontconfig=enabled \
-Dfreetype=enabled \
-Dglib=enabled \
-Dgobject=disabled \
-Dgraphite=disabled \
-Dicu=enabled \
-Dtests=disabled"
-Dicu=enabled"
unpack() {
mkdir -p ${PKG_BUILD}

View File

@ -2,12 +2,10 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="itstool"
PKG_VERSION="2.0.7"
PKG_SHA256="6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca"
PKG_VERSION="2.0.6"
PKG_SHA256="6233cc22726a9a5a83664bf67d1af79549a298c23185d926c3677afa917b92a9"
PKG_LICENSE="GPLv3"
PKG_SITE="http://itstool.org"
PKG_URL="http://files.itstool.org/itstool/itstool-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="toolchain libxml2:host"
PKG_LONGDESC="ITS Tool allows you to translate your XML documents with PO files."
PKG_BUILD_FLAGS="-cfg-libs:host"
PKG_TOOLCHAIN="autotools"

View File

@ -3,12 +3,12 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libXScrnSaver"
PKG_VERSION="1.2.4"
PKG_SHA256="75cd2859f38e207a090cac980d76bc71e9da99d48d09703584e00585abc920fe"
PKG_VERSION="1.2.3"
PKG_SHA256="f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8"
PKG_LICENSE="GPL"
PKG_SITE="https://xorg.freedesktop.org/"
PKG_URL="https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain libXext scrnsaverproto"
PKG_SITE="http://xorg.freedesktop.org/"
PKG_URL="https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain scrnsaverproto"
PKG_LONGDESC="X11 Screen Saver extension client library."
PKG_BUILD_FLAGS="-sysroot"

View File

@ -3,15 +3,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libXcursor"
PKG_VERSION="1.2.3"
PKG_SHA256="fde9402dd4cfe79da71e2d96bb980afc5e6ff4f8a7d74c159e1966afb2b2c2c0"
PKG_VERSION="1.2.0"
PKG_SHA256="3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782"
PKG_LICENSE="OSS"
PKG_SITE="http://www.X.org"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXcursor-${PKG_VERSION}.tar.xz"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXcursor-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libX11 libXfixes libXrender"
PKG_LONGDESC="X11 Cursor management library.s"
PKG_BUILD_FLAGS="+pic -sysroot"
post_configure_target() {
libtool_remove_rpath libtool
}

View File

@ -3,13 +3,14 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libXft"
PKG_VERSION="2.3.9"
PKG_SHA256="60a25b78945ed6932635b3bb1899a517d31df7456e69867ffba27f89ff3976f5"
PKG_VERSION="2.3.3"
PKG_SHA256="225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216"
PKG_LICENSE="OSS"
PKG_SITE="https://www.X.org"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXft-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.X.org"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXft-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain fontconfig freetype libXrender util-macros xorgproto"
PKG_LONGDESC="X FreeType library."
PKG_BUILD_FLAGS="+pic -sysroot"
PKG_MESON_OPTS_TARGET="-Ddefault_library=static"
PKG_CONFIGURE_OPTS_TARGET="--enable-static \
--disable-shared"

View File

@ -2,17 +2,13 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libxss"
PKG_VERSION="1.2.4"
PKG_SHA256="75cd2859f38e207a090cac980d76bc71e9da99d48d09703584e00585abc920fe"
PKG_VERSION="1.2.3"
PKG_SHA256="f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8"
PKG_LICENSE="OSS"
PKG_SITE="https://www.X.org"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXScrnSaver-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.X.org"
PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/libXScrnSaver-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain util-macros libXext scrnsaverproto"
PKG_LONGDESC="X11 Screen Saver extension library."
PKG_BUILD_FLAGS="+pic -sysroot"
PKG_CONFIGURE_OPTS_TARGET="--enable-malloc0returnsnull"
post_configure_target() {
libtool_remove_rpath libtool
}

View File

@ -0,0 +1,18 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pango"
PKG_VERSION="1.48.4"
PKG_SHA256="418913fb062071a075846244989d4a67aa5c80bf0eae8ee4555a092fd566a37a"
PKG_LICENSE="GPL"
PKG_SITE="http://www.pango.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/pango/${PKG_VERSION:0:4}/pango-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib harfbuzz libX11 libXft"
PKG_DEPENDS_CONFIG="libXft cairo"
PKG_LONGDESC="The Pango library for layout and rendering of internationalized text."
PKG_TOOLCHAIN="meson"
PKG_BUILD_FLAGS="-sysroot"
PKG_MESON_OPTS_TARGET="-Denable_docs=false \
-Dgir=false"

View File

@ -0,0 +1,14 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="shared-mime-info"
PKG_VERSION="2.1"
PKG_SHA256="37df6475da31a8b5fc63a54ba0770a3eefa0a708b778cb6366dccee96393cb60"
PKG_LICENSE="GPL2"
PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/"
PKG_URL="https://gitlab.freedesktop.org/xdg/${PKG_NAME}/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain glib libxml2 gettext itstool:host"
PKG_LONGDESC="The shared-mime-info package contains the core database of common types."
PKG_BUILD_FLAGS="-parallel -sysroot"
PKG_MESON_OPTS_TARGET="-Dupdate-mimedb=false"

View File

@ -0,0 +1,37 @@
diff -Nur shared-mime-info-2.1.orig/data/meson.build shared-mime-info-2.1/data/meson.build
--- shared-mime-info-2.1.orig/data/meson.build 2021-01-01 06:12:16.000000000 +1100
+++ shared-mime-info-2.1/data/meson.build 2021-01-14 00:25:58.299790452 +1100
@@ -1,6 +1,4 @@
-install_man('update-mime-database.1')
-
freedesktop_org_xml = custom_target('freedesktop.org.xml',
input : files(
'freedesktop.org.xml.in',
@@ -21,15 +19,3 @@
[ 'its/shared-mime-info.loc', 'its/shared-mime-info.its', ],
install_dir : get_option('datadir') / 'gettext/its'
)
-
-custom_target('shared-mime-info-spec-html',
- input : 'shared-mime-info-spec.xml',
- output: 'shared-mime-info-spec-html',
- command: [
- xmlto,
- '-o', '@OUTPUT@',
- 'html-nochunks',
- '@INPUT@',
- ],
- build_by_default: true,
-)
diff -Nur shared-mime-info-2.1.orig/meson.build shared-mime-info-2.1/meson.build
--- shared-mime-info-2.1.orig/meson.build 2021-01-01 06:12:16.000000000 +1100
+++ shared-mime-info-2.1/meson.build 2021-01-14 00:24:18.552142696 +1100
@@ -22,7 +22,6 @@
itstool = find_program('itstool')
xmllint = find_program('xmllint')
-xmlto = find_program('xmlto')
###############################################################################
# Find xdgmime

View File

@ -1,74 +0,0 @@
--- a/unclutter.c 2007-02-05 23:13:12.000000000 +0000
+++ b/unclutter.c 2024-05-23 07:41:37.115416042 +0000
@@ -37,14 +37,15 @@
#include <X11/Xutil.h>
#include <X11/Xproto.h>
#include <stdio.h>
+#include <stdlib.h>
#include "vroot.h"
char *progname;
-pexit(str)char *str;{
+int pexit(str)char *str;{
fprintf(stderr,"%s: %s\n",progname,str);
exit(1);
}
-usage(){
+void usage(){
pexit("usage:\n\
-display <display>\n\
-idle <seconds> time between polls to detect idleness.\n\
@@ -79,6 +80,7 @@
{
if(error->error_code!=BadWindow)
(*defaulthandler)(display,error);
+ return 0;
}
char **names; /* -> argv list of names to avoid */
@@ -87,7 +89,7 @@
* return true if window has a wm_name and the start of it matches
* one of the given names to avoid
*/
-nameinlist(display,window)
+int nameinlist(display,window)
Display *display;
Window window;
{
@@ -109,7 +111,7 @@
* return true if window has a wm_name and one of the given names to avoid
* matches anywhere in that string
*/
-matchinlist(display,window)
+int matchinlist(display,window)
Display *display;
Window window;
{
@@ -131,7 +133,7 @@
/*
* create a small 1x1 cursor with all pixels masked out on the given screen.
*/
-createnullcursor(display,root)
+Cursor createnullcursor(display,root)
Display *display;
Window root;
{
@@ -155,7 +157,7 @@
return cursor;
}
-main(argc,argv)char **argv;{
+int main(argc,argv)int argc;char **argv;{
Display *display;
int screen,oldx = -99,oldy = -99,numscreens;
int doroot = 0, jitter = 0, idletime = 5, usegrabmethod = 0, waitagain = 0,
--- a/vroot.h 2007-02-05 22:52:40.000000000 +0000
+++ b/vroot.h 2024-05-23 07:59:50.811488716 +0000
@@ -40,6 +40,7 @@
static Window
VirtualRootWindow(dpy, screen)
Display *dpy;
+int screen;
{
static Display *save_dpy = (Display *)0;
static int save_screen = -1;

View File

@ -1,11 +0,0 @@
--- a/unclutter.c 2025-05-17 23:11:53.709868560 +0000
+++ b/unclutter.c 2025-05-17 23:11:12.811903184 +0000
@@ -73,7 +73,7 @@
* window can disappear while we are trying to create the child. Trap and
* ignore these errors.
*/
-int (*defaulthandler)();
+int (*defaulthandler)(Display *display, XErrorEvent *error);
int errorhandler(display,error)
Display *display;
XErrorEvent *error;

View File

@ -1,11 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="unix_ar"
PKG_VERSION="0.2.1"
PKG_SHA256="4e1c6e8fe5255b7babe93b9af51532ba09c6946eee413c5db00cab3878d7ed2f"
PKG_LICENSE="BSD 3-Clause"
PKG_SITE="https://github.com/getninjas/unix_ar"
PKG_URL="https://github.com/getninjas/unix_ar/archive/refs/tags/${PKG_VERSION}.tar.gz"
PKG_TOOLCHAIN="manual"
PKG_LONGDESC="Python: This packages allows the reading and writing of AR archive files."

View File

@ -1,17 +1,17 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="comskip"
PKG_VERSION="0.83"
PKG_SHA256="bd90d7922916e0b04ea9f3426ea7747d347f218f3f915fb4d251961d0730876e"
PKG_VERSION="84fcd7388394c95fc8a7e558642bbadb43134507"
PKG_SHA256="4d45d30335ce1c28fb4de8865ada57f81de18d83a77950e9ab7c3ea26d24a883"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kaashoek.com/comskip/"
PKG_URL="https://github.com/erikkaashoek/Comskip/archive/V${PKG_VERSION}.tar.gz"
PKG_URL="https://github.com/erikkaashoek/Comskip/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain argtable2 ffmpegx"
PKG_DEPENDS_CONFIG="argtable2 ffmpegx"
PKG_LONGDESC="Comskip detects commercial breaks from a video stream. It can be used for post-processing recordings."
PKG_TOOLCHAIN="autotools"
PKG_BUILD_FLAGS="-sysroot -cfg-libs"
PKG_BUILD_FLAGS="-sysroot"
pre_configure_target() {
# pass ffmpegx to build

View File

@ -0,0 +1,12 @@
diff --git a/mpeg2dec.c b/mpeg2dec.c
index 3013dc1..5b79227 100755
--- a/mpeg2dec.c
+++ b/mpeg2dec.c
@@ -161,7 +161,6 @@ int64_t pev_best_effort_timestamp = 0;
int video_stream_index = -1;
int audio_stream_index = -1;
-int width, height;
int have_frame_rate ;
int stream_index;

View File

@ -1,11 +0,0 @@
--- a/comskip.c 2024-12-09 13:06:15.051318034 +0000
+++ b/comskip.c 2024-12-09 13:07:54.348640394 +0000
@@ -976,7 +976,7 @@
int FindUniformThreshold(double percentile);
void OutputFrameArray(bool screenOnly);
void OutputBlackArray();
-void OutputFrame();
+void OutputFrame(int frame_number);
void OpenOutputFiles();
void InitializeFrameArray(long i);
void InitializeBlackArray(long i);

View File

@ -1,41 +1,39 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="containerd"
PKG_VERSION="2.1.4"
PKG_SHA256="8c409f8a0ba6015cb365a95e039a0fc9f3663c891a26eb52c0fb8cd291ba75d4"
PKG_VERSION="1.3.9"
PKG_SHA256="9244212589c84b12262769dca6fb985c0c680cb5259c8904b29c511d81fd62d0"
PKG_LICENSE="APL"
PKG_SITE="https://containerd.io"
PKG_SITE="https://containerd.tools/"
PKG_URL="https://github.com/containerd/containerd/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain go:host"
PKG_LONGDESC="A daemon to control runC, built for performance and density."
PKG_TOOLCHAIN="manual"
# Git commit of the matching release https://github.com/containerd/containerd/releases
export PKG_GIT_COMMIT="75cb2b7193e4e490e9fbdc236c0e811ccaba3376"
PKG_GIT_COMMIT="8fba4e9a7d01810a393d5d25a3621dc101981175"
pre_make_target() {
go_configure
export CONTAINERD_VERSION="${PKG_VERSION}"
export CONTAINERD_REVISION="${PKG_GIT_COMMIT}"
export CONTAINERD_PKG="github.com/containerd/containerd/v2"
export CONTAINERD_VERSION=${PKG_VERSION}
export CONTAINERD_REVISION=${PKG_GIT_COMMIT}
export CONTAINERD_PKG=github.com/containerd/containerd
export LDFLAGS="-w -extldflags -static -X ${CONTAINERD_PKG}/version.Version=${CONTAINERD_VERSION} -X ${CONTAINERD_PKG}/version.Revision=${CONTAINERD_REVISION} -X ${CONTAINERD_PKG}/version.Package=${CONTAINERD_PKG} -extld ${CC}"
export GO111MODULE=off
mkdir -p ${GOPATH}
if [ -d ${PKG_BUILD}/vendor ]; then
mv ${PKG_BUILD}/vendor ${GOPATH}/src
fi
mv ${GOPATH}/src/github.com/containerd/containerd/api ${PKG_BUILD}/api-vendor-duplicate
ln -fs ${PKG_BUILD} ${GOPATH}/src/github.com/containerd/containerd/v2
ln -fs ${PKG_BUILD}/api ${GOPATH}/src/github.com/containerd/containerd/api
ln -fs ${PKG_BUILD} ${GOPATH}/src/github.com/containerd/containerd
}
make_target() {
mkdir -p bin
${GOLANG} build -v -o bin/containerd -a -tags "static_build no_btrfs" -ldflags "${LDFLAGS}" ./cmd/containerd
${GOLANG} build -v -o bin/containerd-shim-runc-v2 -a -tags "static_build no_btrfs" -ldflags "${LDFLAGS}" ./cmd/containerd-shim-runc-v2
${GOLANG} build -v -o bin/containerd -a -tags "static_build no_btrfs" -ldflags "${LDFLAGS}" ./cmd/containerd
${GOLANG} build -v -o bin/containerd-shim -a -tags "static_build no_btrfs" -ldflags "${LDFLAGS}" ./cmd/containerd-shim
}

View File

@ -3,27 +3,25 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="cxxtools"
PKG_VERSION="3.0"
PKG_SHA256="07b18037fb0983f6292f5c8d53e2369e9e7a9711df2c9ad50838aacbc8c62f7c"
PKG_VERSION="2.2.1"
PKG_SHA256="8cebb6d6cda7c93cc4f7c0d552a68d50dd5530b699cf87916bb3b708fdc4e342"
PKG_LICENSE="GPL-2"
PKG_SITE="http://www.tntnet.org/cxxtools.html"
PKG_URL="http://www.tntnet.org/download/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="toolchain:host openssl:host"
PKG_DEPENDS_TARGET="toolchain cxxtools:host openssl"
PKG_DEPENDS_HOST="toolchain:host"
PKG_DEPENDS_TARGET="toolchain cxxtools:host"
PKG_LONGDESC="Cxxtools is a collection of general-purpose C++ classes."
PKG_BUILD_FLAGS="+pic"
PKG_CONFIGURE_OPTS_HOST="--disable-demos --disable-unittest"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --disable-demos --disable-unittest"
PKG_CONFIGURE_OPTS_HOST="--disable-demos --with-atomictype=pthread --disable-unittest"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --disable-demos --with-atomictype=pthread --disable-unittest"
post_makeinstall_host() {
rm -rf ${TOOLCHAIN}/bin/cxxtools-config
}
post_makeinstall_target() {
cp ${PKG_NAME}-config ${TOOLCHAIN}/bin
sed -e "s:\(['= ]\)/usr:\\1${PKG_ORIG_SYSROOT_PREFIX}/usr:g" -i ${TOOLCHAIN}/bin/${PKG_NAME}-config
chmod +x ${TOOLCHAIN}/bin/${PKG_NAME}-config
sed -e "s:\(['= ]\)/usr:\\1${SYSROOT_PREFIX}/usr:g" -i ${SYSROOT_PREFIX}/usr/bin/cxxtools-config
rm -rf ${INSTALL}/usr/bin
}

View File

@ -1,25 +0,0 @@
From b773c01fc13d2ae67abc0839888e383be23562fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tommi=20M=C3=A4kitalo?= <tommi@tntnet.org>
Date: Sun, 24 Jan 2021 17:20:24 +0100
Subject: [PATCH] make cxxtools::Char a trivial class by definining the default
constructor as default
---
include/cxxtools/char.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/include/cxxtools/char.h b/include/cxxtools/char.h
index 1e637317..3a4ed62a 100644
--- a/include/cxxtools/char.h
+++ b/include/cxxtools/char.h
@@ -68,9 +68,7 @@ namespace cxxtools
typedef int32_t value_type;
//! Constructs a character with a value of 0.
- Char()
- : _value(0)
- {}
+ Char() = default;
//! Constructs a character using the given value as base for the character value.
Char(value_type ch)

View File

@ -1,11 +0,0 @@
https://bugs.gentoo.org/851837
--- a/src/timer.cpp
+++ b/src/timer.cpp
@@ -27,6 +27,7 @@
#include "cxxtools/clock.h"
#include "cxxtools/selector.h"
#include "cxxtools/datetime.h"
+#include <ctime>
#include <stdexcept>
namespace cxxtools

View File

@ -1,11 +0,0 @@
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -173,7 +173,7 @@ libcxxtools_la_LIBADD = $(LIBICONV)
libcxxtools_la_LDFLAGS = -version-info @sonumber@ @SHARED_LIB_FLAG@
if MAKE_OPENSSL
-libcxxtools_la_LDFLAGS += -lssl
+libcxxtools_la_LIBADD += -lssl -lcrypto
libcxxtools_la_SOURCES += \
sslcertificateimpl.cpp
endif

Some files were not shown because too many files have changed in this diff Show More