mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
237 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c0f328c00 | ||
|
|
ef95fe9106 | ||
|
|
37a8f07501 | ||
|
|
db0a5be3a6 | ||
|
|
ddac75d8e7 | ||
|
|
db6b24feeb | ||
|
|
03fcd2342b | ||
|
|
0fc918e372 | ||
|
|
9aad4cc35e | ||
|
|
94a9046921 | ||
|
|
814a092cb7 | ||
|
|
96f772a52b | ||
|
|
21cc0880e7 | ||
|
|
d743a8e459 | ||
|
|
269c420391 | ||
|
|
9d0503f305 | ||
|
|
efcc111781 | ||
|
|
e1c7827bd0 | ||
|
|
1495e0e3f9 | ||
|
|
43fee3d59f | ||
|
|
f84330d3b8 | ||
|
|
1eb92b5a04 | ||
|
|
5e36b5811c | ||
|
|
4fdf516a72 | ||
|
|
c7d6653ca0 | ||
|
|
c6b090968e | ||
|
|
2749e24a06 | ||
|
|
210beb3550 | ||
|
|
361ad6dc98 | ||
|
|
6835642af0 | ||
|
|
13f300cb0c | ||
|
|
c174ff6af6 | ||
|
|
d0d10afbd1 | ||
|
|
cfe5b35af9 | ||
|
|
552c9438b8 | ||
|
|
2ae26f3b0c | ||
|
|
9239bee5f0 | ||
|
|
afc57c5e09 | ||
|
|
707a64f3ce | ||
|
|
295cedae8f | ||
|
|
81670c8df7 | ||
|
|
a92c92cfa2 | ||
|
|
715514348d | ||
|
|
eea5891db7 | ||
|
|
7f13c80bf2 | ||
|
|
6c9d0093d0 | ||
|
|
b96cfe165b | ||
|
|
2bcc43cf01 | ||
|
|
40125b6aff | ||
|
|
bfb8e98f9d | ||
|
|
548bf300d0 | ||
|
|
77cbc6f460 | ||
|
|
e485480152 | ||
|
|
c51d42e7a6 | ||
|
|
96c6949552 | ||
|
|
0d00a193d9 | ||
|
|
811df0d667 | ||
|
|
d4f2286c55 | ||
|
|
fc24a8d628 | ||
|
|
02efdf97f2 | ||
|
|
00f42d2054 | ||
|
|
92420e05a9 | ||
|
|
cdfcae4504 | ||
|
|
43968483fa | ||
|
|
b68736ab8e | ||
|
|
8794e6fa2d | ||
|
|
7c7c4fbd6c | ||
|
|
9cd57b7784 | ||
|
|
312e5b59a3 | ||
|
|
3531a27f55 | ||
|
|
84a66d9937 | ||
|
|
6001c2ba0f | ||
|
|
c26eca3b7c | ||
|
|
ccfccf5448 | ||
|
|
b6a121af8f | ||
|
|
31700310ee | ||
|
|
84ab80c645 | ||
|
|
503952bed4 | ||
|
|
8f28d4db46 | ||
|
|
142b53b043 | ||
|
|
b7cf8f263e | ||
|
|
e01d494543 | ||
|
|
9763e6e570 | ||
|
|
e71138dc79 | ||
|
|
3ea668f407 | ||
|
|
3949b34560 | ||
|
|
f7921f1182 | ||
|
|
6233abadb8 | ||
|
|
b419cbfff9 | ||
|
|
bfbc6f4e0e | ||
|
|
9dede22950 | ||
|
|
9998475277 | ||
|
|
3b88d9a36a | ||
|
|
5e538af6e9 | ||
|
|
e5685c5d4d | ||
|
|
654542e76e | ||
|
|
8d77121c6f | ||
|
|
035f8cdaf2 | ||
|
|
89575a58f6 | ||
|
|
10d429fc02 | ||
|
|
d9c85b6e2a | ||
|
|
45ffa6c893 | ||
|
|
fd8eb9e0d8 | ||
|
|
cecf46eb3e | ||
|
|
581226c9f1 | ||
|
|
a007ccabcc | ||
|
|
5c00033be2 | ||
|
|
f868be0fa2 | ||
|
|
267147a666 | ||
|
|
befd77c818 | ||
|
|
7b83c1eee5 | ||
|
|
e910308f24 | ||
|
|
3221502820 | ||
|
|
248accda8c | ||
|
|
ea441bd4c3 | ||
|
|
d6ba70f526 | ||
|
|
1e9b1fe740 | ||
|
|
993b36b152 | ||
|
|
120aafd282 | ||
|
|
7a20467088 | ||
|
|
f5b3caace1 | ||
|
|
38fff19e02 | ||
|
|
fe693871c5 | ||
|
|
be8b823e65 | ||
|
|
02749120c9 | ||
|
|
05c7cb738a | ||
|
|
0e4415bb93 | ||
|
|
614f972f91 | ||
|
|
8bb3765d74 | ||
|
|
c95f166075 | ||
|
|
6a1b8e2a86 | ||
|
|
73ad4ea695 | ||
|
|
7ff83ef418 | ||
|
|
f389d61d11 | ||
|
|
620ceaa39d | ||
|
|
6fb25cbb73 | ||
|
|
d768be3e92 | ||
|
|
4c3b38c68e | ||
|
|
aca1e468a8 | ||
|
|
35a105da91 | ||
|
|
4a92a19422 | ||
|
|
9174632a19 | ||
|
|
3d6bbb5ae4 | ||
|
|
965221c3a6 | ||
|
|
9e4d9f89eb | ||
|
|
4ce197fa2c | ||
|
|
ef9ca26bb1 | ||
|
|
b9bcda6987 | ||
|
|
d661c840a4 | ||
|
|
6513b79dfc | ||
|
|
82a24c8e3c | ||
|
|
564dd3d70b | ||
|
|
941f2eb9a9 | ||
|
|
8cd56b5e97 | ||
|
|
a029a9b8ae | ||
|
|
59a2d60230 | ||
|
|
542ec1667f | ||
|
|
fe3e530950 | ||
|
|
a9321275b3 | ||
|
|
9d1d5ca127 | ||
|
|
f21a9cede9 | ||
|
|
5fb97cb227 | ||
|
|
ec47c1d798 | ||
|
|
356b0d811a | ||
|
|
67abdb827f | ||
|
|
2d59fb29d1 | ||
|
|
d4e51735ff | ||
|
|
80d14d3daf | ||
|
|
a2ec8af719 | ||
|
|
0648d30fa2 | ||
|
|
b5e4de9d18 | ||
|
|
895a356552 | ||
|
|
c91d4d44e5 | ||
|
|
e8143ec475 | ||
|
|
3d8e1af09a | ||
|
|
3b69d8e615 | ||
|
|
6d4ceaf381 | ||
|
|
5591d61027 | ||
|
|
8b3e95c5e5 | ||
|
|
f371015afd | ||
|
|
0a492e0ccc | ||
|
|
7708407cce | ||
|
|
67ac35dabb | ||
|
|
536a90c9da | ||
|
|
f73c12aa78 | ||
|
|
c9e6c042b5 | ||
|
|
8d5cbe6425 | ||
|
|
0e803310ac | ||
|
|
c0249b095a | ||
|
|
33bf467e25 | ||
|
|
5ee39dfdf0 | ||
|
|
f8c32276d6 | ||
|
|
d9254726ab | ||
|
|
fc93580331 | ||
|
|
c1845af5a6 | ||
|
|
9642d7592d | ||
|
|
7a0e9bc605 | ||
|
|
e3b604f818 | ||
|
|
375a3ba892 | ||
|
|
8c15c27a46 | ||
|
|
d9a80e649f | ||
|
|
3e6179534e | ||
|
|
38bdeb0532 | ||
|
|
4503a311e5 | ||
|
|
118af6be70 | ||
|
|
7cb84b4a6a | ||
|
|
f4b58022a0 | ||
|
|
92add05a48 | ||
|
|
b0b5a0c3e6 | ||
|
|
2388d9191b | ||
|
|
dc08cad942 | ||
|
|
2f140dd7e8 | ||
|
|
ce9e3b3fd5 | ||
|
|
70d8dfa57a | ||
|
|
54544d6474 | ||
|
|
0b9c252774 | ||
|
|
d2e1a72c9f | ||
|
|
146a268aca | ||
|
|
1d0652b715 | ||
|
|
b236afa4e9 | ||
|
|
d307f4a802 | ||
|
|
67b632b327 | ||
|
|
ff8b66772b | ||
|
|
3cdf4cc068 | ||
|
|
8763317528 | ||
|
|
b13e99c7e1 | ||
|
|
27d9d892dd | ||
|
|
97b1d79318 | ||
|
|
06e76fbe28 | ||
|
|
31f7f8e7cb | ||
|
|
2548500ee7 | ||
|
|
71351d2b0b | ||
|
|
470a741d30 | ||
|
|
ff8827d62e | ||
|
|
a2ae094193 | ||
|
|
dfbf6487cd | ||
|
|
b9b9c89202 |
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1 +0,0 @@
|
||||
open_collective: libreelec
|
||||
6
Makefile
6
Makefile
@@ -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
|
||||
|
||||
@@ -8,7 +8,7 @@ Please ask questions in the [LibreELEC forum: Help & Support](https://forum.libr
|
||||
|
||||
**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**
|
||||
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
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
|
||||
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
|
||||
@@ -20,6 +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
|
||||
TARGET_ABI=eabi
|
||||
TARGET_FEATURES+=" neon"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -30,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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
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}"
|
||||
else
|
||||
TARGET_FEATURES+=" UNKNOWN_ADDITIONAL_CPU_SPECIFIC_FEATURES"
|
||||
fi
|
||||
TARGET_FEATURES="$(echo ${TARGET_FEATURES} | xargs -n1 | sort -u | xargs)"
|
||||
# build with SIMD support ( yes / no )
|
||||
TARGET_FEATURES+=" mmx sse sse2"
|
||||
|
||||
299
config/functions
299
config/functions
@@ -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,50 +226,8 @@ 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-parallel" "no"; then
|
||||
TARGET_CFLAGS+=" $FLAGS_OPTIM_LTO_PARALLEL $FLAGS_OPTIM_LTO_NO_FAT"
|
||||
@@ -320,14 +250,15 @@ setup_toolchain() {
|
||||
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"
|
||||
@@ -457,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
|
||||
@@ -482,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"
|
||||
@@ -528,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
|
||||
@@ -549,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
|
||||
}
|
||||
@@ -581,29 +473,21 @@ cpp = '$CXX'
|
||||
ar = '$AR'
|
||||
strip = '$STRIP'
|
||||
pkgconfig = '$PKG_CONFIG'
|
||||
llvm-config = '$TOOLCHAIN/bin/llvm-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}'
|
||||
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]
|
||||
root = '$TOOLCHAIN'
|
||||
${!properties}
|
||||
EOF
|
||||
}
|
||||
@@ -619,30 +503,21 @@ cpp = '$TARGET_CXX'
|
||||
ar = '$TARGET_AR'
|
||||
strip = '$TARGET_STRIP'
|
||||
pkgconfig = '$PKG_CONFIG'
|
||||
llvm-config = '$SYSROOT_PREFIX/usr/bin/llvm-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 = '$TARGET_ARCH'
|
||||
cpu = '$TARGET_SUBARCH'
|
||||
endian = 'little'
|
||||
|
||||
[built-in options]
|
||||
[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]
|
||||
needs_exe_wrapper = true
|
||||
root = '$SYSROOT_PREFIX/usr'
|
||||
${!properties}
|
||||
EOF
|
||||
}
|
||||
@@ -744,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
|
||||
@@ -786,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
|
||||
@@ -824,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
|
||||
@@ -837,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
|
||||
@@ -852,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
|
||||
@@ -866,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
|
||||
@@ -895,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_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="${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
|
||||
@@ -954,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
|
||||
@@ -979,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).
|
||||
@@ -1257,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"
|
||||
|
||||
@@ -1309,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)
|
||||
@@ -1332,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"
|
||||
@@ -1471,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() {
|
||||
@@ -1554,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
|
||||
|
||||
@@ -1621,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
|
||||
@@ -1854,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
|
||||
|
||||
@@ -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,14 +23,7 @@ get_graphicdrivers() {
|
||||
V4L2_SUPPORT="no"
|
||||
|
||||
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
|
||||
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi nvidia nvidia-legacy 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
|
||||
@@ -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,7 +57,6 @@ 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
|
||||
@@ -84,7 +72,6 @@ get_graphicdrivers() {
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "nvidia"; then
|
||||
XORG_DRIVERS+=" nvidia"
|
||||
VULKAN_DRIVERS_CONFIG+=" nvidia"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
@@ -93,17 +80,17 @@ get_graphicdrivers() {
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
|
||||
VULKAN_DRIVERS_CONFIG+=" nvidia-ng"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
|
||||
GALLIUM_DRIVERS+=" kmsro panfrost"
|
||||
VULKAN_DRIVERS_MESA+=" 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"
|
||||
@@ -124,7 +111,6 @@ get_graphicdrivers() {
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "radeonsi"; then
|
||||
GALLIUM_DRIVERS+=" radeonsi"
|
||||
XORG_DRIVERS+=" ati amdgpu"
|
||||
VULKAN_DRIVERS_MESA+=" amd"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
@@ -133,7 +119,6 @@ get_graphicdrivers() {
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
|
||||
GALLIUM_DRIVERS+=" vc4 v3d kmsro"
|
||||
VULKAN_DRIVERS_MESA+=" broadcom"
|
||||
V4L2_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="no"
|
||||
VDPAU_SUPPORT="no"
|
||||
@@ -149,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)"
|
||||
}
|
||||
|
||||
@@ -27,29 +27,26 @@ 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"
|
||||
@@ -69,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
|
||||
|
||||
@@ -26,11 +26,6 @@ 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}"
|
||||
@@ -48,26 +43,21 @@ fi
|
||||
# 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}"
|
||||
|
||||
@@ -103,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
|
||||
@@ -134,18 +115,6 @@ 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}"
|
||||
|
||||
28
config/path
28
config/path
@@ -13,6 +13,11 @@ 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}
|
||||
|
||||
@@ -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
|
||||
|
||||
155
config/show_config
Normal file → Executable file
155
config/show_config
Normal file → Executable file
@@ -5,130 +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 - 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 - 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
|
||||
|
||||
# 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 - Install HFS Tools:\t\t\t ${HFSTOOLS}"
|
||||
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
|
||||
@@ -143,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
|
||||
|
||||
@@ -4,26 +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_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_TARGET_MASQUERADE=m
|
||||
|
||||
# packages/network/iwd
|
||||
CONFIG_CRYPTO_USER_API_HASH=y
|
||||
@@ -45,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,13 +40,13 @@ 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
|
||||
@@ -86,87 +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
|
||||
|
||||
@@ -32,21 +32,12 @@
|
||||
# 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 ###
|
||||
|
||||
@@ -57,7 +48,7 @@
|
||||
# for a list of additional drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192DU RTL8812AU"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
|
||||
|
||||
# Default size of system partition, in MB, eg. 512
|
||||
SYSTEM_SIZE=512
|
||||
@@ -96,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="no"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
@@ -147,14 +132,6 @@
|
||||
# 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 ###
|
||||
|
||||
@@ -184,10 +161,10 @@
|
||||
DEBUG_GROUP_YES="kodi+"
|
||||
|
||||
# wireless daemon to use (wpa_supplicant/iwd)
|
||||
WIRELESS_DAEMON="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"
|
||||
@@ -216,6 +193,9 @@
|
||||
# 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"
|
||||
|
||||
@@ -228,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"
|
||||
|
||||
@@ -246,9 +234,6 @@
|
||||
# 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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
LIBREELEC_VERSION="devel"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="11.0"
|
||||
OS_VERSION="10.0"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="11.0.0"
|
||||
ADDON_VERSION="10.0.0"
|
||||
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="ccid"
|
||||
PKG_VERSION="1.5.2"
|
||||
PKG_SHA256="13934487e6f8b48f699a16d367cc7a1af7a3ca874de721ac6e9633beb86e7219"
|
||||
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.bz2"
|
||||
@@ -14,10 +14,6 @@ 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
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="at-spi2-core"
|
||||
PKG_VERSION="2.47.1"
|
||||
PKG_SHA256="c6ba7c160434edebf09d2936933569c936f6ec972301766f2bdac5a4d418153c"
|
||||
PKG_VERSION="2.40.3"
|
||||
PKG_SHA256="e49837c2ad30d71e1f29ca8e0968a54b95030272f7ff40b89b48968653f37a5c"
|
||||
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_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."
|
||||
|
||||
PKG_MESON_OPTS_TARGET="-Ddocs=false \
|
||||
-Dintrospection=disabled \
|
||||
PKG_MESON_OPTS_TARGET="-Denable_docs=false \
|
||||
-Denable-introspection=no \
|
||||
-Ddbus_daemon=/usr/bin/dbus-daemon"
|
||||
|
||||
pre_configure_target() {
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# 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"
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ 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.xz -C ${PKG_BUILD}
|
||||
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,21 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="cups"
|
||||
PKG_VERSION="2.4.2"
|
||||
PKG_SHA256="7095b2977bb728ded5566a5c802866062840d6541fd027836865949a407c3682"
|
||||
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() {
|
||||
|
||||
@@ -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.6"
|
||||
PKG_SHA256="c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f"
|
||||
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"
|
||||
@@ -3,14 +3,15 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="gtk3"
|
||||
PKG_VERSION="3.24.36"
|
||||
PKG_SHA256="27a6ef157743350c807ffea59baa1d70226dbede82a5e953ffd58ea6059fe691"
|
||||
PKG_VERSION="3.24.30"
|
||||
PKG_SHA256="ba75bfff320ad1f4cfbee92ba813ec336322cc3c660d406aad014b07087a3ba9"
|
||||
PKG_LICENSE="LGPL"
|
||||
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 libxkbcommon"
|
||||
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 \
|
||||
|
||||
@@ -15,6 +15,7 @@ PKG_BUILD_FLAGS="-sysroot"
|
||||
PKG_MESON_OPTS_TARGET="-Dbenchmark=disabled \
|
||||
-Dcairo=enabled \
|
||||
-Ddocs=disabled \
|
||||
-Dfontconfig=enabled \
|
||||
-Dfreetype=enabled \
|
||||
-Dglib=enabled \
|
||||
-Dgobject=disabled \
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -3,15 +3,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libXcursor"
|
||||
PKG_VERSION="1.2.1"
|
||||
PKG_SHA256="46c143731610bafd2070159a844571b287ac26192537d047a39df06155492104"
|
||||
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
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libXft"
|
||||
PKG_VERSION="2.3.7"
|
||||
PKG_SHA256="79f0b37c45007381c371a790c2754644ad955166dbf2a48e3625032e9bdd4f71"
|
||||
PKG_VERSION="2.3.4"
|
||||
PKG_SHA256="57dedaab20914002146bdae0cb0c769ba3f75214c4c91bd2613d6ef79fc9abdd"
|
||||
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"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -3,25 +3,16 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="pango"
|
||||
PKG_VERSION="1.50.12"
|
||||
PKG_SHA256="caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3"
|
||||
PKG_VERSION="1.49.1"
|
||||
PKG_SHA256="c4266dc06c01bf0133d3815502426d209de5ea7abd895899e73e7edebaf48f6f"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.pango.org/"
|
||||
PKG_URL="https://download.gnome.org/sources/pango/${PKG_VERSION:0:4}/pango-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain cairo freetype fontconfig fribidi glib json-glib harfbuzz"
|
||||
PKG_DEPENDS_CONFIG="cairo"
|
||||
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"
|
||||
|
||||
configure_package() {
|
||||
# Build with X11 support
|
||||
if [ ${DISPLAYSERVER} = "x11" ]; then
|
||||
PKG_DEPENDS_TARGET+=" libX11 libXft"
|
||||
PKG_DEPENDS_CONFIG+=" libXft"
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
fi
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
PKG_MESON_OPTS_TARGET="-Dgtk_doc=false \
|
||||
-Dintrospection=disabled"
|
||||
}
|
||||
PKG_MESON_OPTS_TARGET="-Denable_docs=false \
|
||||
-Dgir=false"
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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."
|
||||
@@ -3,25 +3,25 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="containerd"
|
||||
PKG_VERSION="1.7.1"
|
||||
PKG_SHA256="fd844af82afda7242d8eba5e0086c5a0d54ddc3041c1bbdd4d3c62bfee844e3a"
|
||||
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
|
||||
PKG_GIT_COMMIT="78f51771157abb6c9ed224c22013cdf09962315d"
|
||||
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"
|
||||
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
|
||||
|
||||
@@ -35,7 +35,6 @@ pre_make_target() {
|
||||
|
||||
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 -a -tags "static_build no_btrfs" -ldflags "${LDFLAGS}" ./cmd/containerd-shim
|
||||
${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
|
||||
}
|
||||
@@ -3,13 +3,13 @@
|
||||
# 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"
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -12,9 +12,9 @@ diff -Naur cxxtools-2.2/configure cxxtools-2.2.patch/configure
|
||||
|
||||
|
||||
|
||||
diff -Naur cxxtools-2.2/configure.ac cxxtools-2.2.patch/configure.ac
|
||||
--- cxxtools-2.2/configure.ac 2013-04-20 23:31:50.000000000 +0200
|
||||
+++ cxxtools-2.2.patch/configure.ac 2014-01-03 20:26:32.064005192 +0100
|
||||
diff -Naur cxxtools-2.2/configure.in cxxtools-2.2.patch/configure.in
|
||||
--- cxxtools-2.2/configure.in 2013-04-20 23:31:50.000000000 +0200
|
||||
+++ cxxtools-2.2.patch/configure.in 2014-01-03 20:26:32.064005192 +0100
|
||||
@@ -106,8 +106,8 @@
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="cli"
|
||||
PKG_VERSION="$(get_pkg_version moby)"
|
||||
PKG_SHA256="b31eb0343e8bb587e921a7630baa659896602072a77ad97720e5f2a8e48005e9"
|
||||
PKG_LICENSE="ASL"
|
||||
PKG_SITE="https://github.com/docker/cli"
|
||||
PKG_URL="https://github.com/docker/cli/archive/v${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain go:host"
|
||||
PKG_LONGDESC="The Docker CLI"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
# Git commit of the matching release https://github.com/docker/cli/releases
|
||||
export PKG_GIT_COMMIT="ef23cbc4315ae76c744e02d687c09548ede461bd"
|
||||
|
||||
configure_target() {
|
||||
go_configure
|
||||
|
||||
export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld ${CC}"
|
||||
|
||||
# used for docker version
|
||||
export GITCOMMIT=${PKG_GIT_COMMIT}
|
||||
export VERSION=${PKG_VERSION}
|
||||
export BUILDTIME="$(date --utc)"
|
||||
|
||||
cat > "${PKG_BUILD}/go.mod" << EOF
|
||||
module github.com/docker/cli
|
||||
|
||||
go 1.18
|
||||
EOF
|
||||
|
||||
GO111MODULE=auto ${GOLANG} mod tidy -modfile 'vendor.mod' -compat 1.18
|
||||
GO111MODULE=auto ${GOLANG} mod vendor -modfile vendor.mod
|
||||
}
|
||||
|
||||
make_target() {
|
||||
mkdir -p bin
|
||||
PKG_CLI_FLAGS="-X 'github.com/docker/cli/cli/version.Version=${VERSION}'"
|
||||
PKG_CLI_FLAGS+=" -X 'github.com/docker/cli/cli/version.GitCommit=${GITCOMMIT}'"
|
||||
PKG_CLI_FLAGS+=" -X 'github.com/docker/cli/cli/version.BuildTime=${BUILDTIME}'"
|
||||
${GOLANG} build -mod=mod -modfile=vendor.mod -v -o bin/docker -a -tags "${PKG_DOCKER_BUILDTAGS}" -ldflags "${LDFLAGS} ${PKG_CLI_FLAGS}" ./cmd/docker
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/cli-plugins/manager/manager_unix.go 2023-02-03 11:54:16.746399916 +0000
|
||||
+++ b/cli-plugins/manager/manager_unix.go 2023-02-03 11:59:04.528175595 +0000
|
||||
@@ -4,6 +4,6 @@
|
||||
package manager
|
||||
|
||||
var defaultSystemPluginDirs = []string{
|
||||
- "/usr/local/lib/docker/cli-plugins", "/usr/local/libexec/docker/cli-plugins",
|
||||
- "/usr/lib/docker/cli-plugins", "/usr/libexec/docker/cli-plugins",
|
||||
+ "/storage/.kodi/addons/service.system.docker/cli-plugins",
|
||||
+ "/storage/.kodi/userdata/addon_data/service.system.docker/docker/cli-plugins",
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="ctop"
|
||||
PKG_VERSION="0.7.7"
|
||||
PKG_SHA256="0db439f2030af73ad5345884b08a33a762c3b41b30604223dd0ebddde72d2741"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://ctop.sh"
|
||||
PKG_URL="https://github.com/bcicen/ctop/archive/v${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain go:host"
|
||||
PKG_LONGDESC="Top-like interface for container metrics"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
# Git commit of the matching release https://github.com/bcicen/ctop/releases
|
||||
PKG_GIT_COMMIT="11a1cb10f416b4ca5e36c22c1acc2d11dbb24fb4"
|
||||
|
||||
pre_make_target() {
|
||||
go_configure
|
||||
|
||||
export CTOP_VERSION="${PKG_VERSION}"
|
||||
export CTOP_REVISION="${PKG_GIT_COMMIT}"
|
||||
export CTOP_PKG="github.com/bcicen/ctop"
|
||||
export LDFLAGS="-w -extldflags -static -X main.version=${CTOP_VERSION} -X main.build=${CTOP_REVISION} -extld ${CC}"
|
||||
|
||||
mkdir -p ${GOPATH}/src/github.com/bcicen
|
||||
ln -fs ${PKG_BUILD} ${GOPATH}/src/${CTOP_PKG}
|
||||
}
|
||||
|
||||
make_target() {
|
||||
mkdir -p bin
|
||||
${GOLANG} build -v -o bin/ctop -a -tags "static_build release" -ldflags "${LDFLAGS}"
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="moby"
|
||||
PKG_VERSION="23.0.6"
|
||||
PKG_SHA256="3bbd32f401f652cc15084d3c09bd7acd381571802beac9333fd63d803dc66c3e"
|
||||
PKG_LICENSE="ASL"
|
||||
PKG_SITE="https://mobyproject.org/"
|
||||
PKG_URL="https://github.com/moby/moby/archive/v${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain go:host systemd"
|
||||
PKG_LONGDESC="Moby is an open-source project created by Docker to enable and accelerate software containerization."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
# Git commit of the matching release https://github.com/moby/moby
|
||||
export PKG_GIT_COMMIT="9dbdbd4b6d7681bd18c897a6ba0376073c2a72ff"
|
||||
|
||||
PKG_MOBY_BUILDTAGS="daemon \
|
||||
autogen \
|
||||
exclude_graphdriver_devicemapper \
|
||||
exclude_graphdriver_aufs \
|
||||
exclude_graphdriver_btrfs \
|
||||
journald"
|
||||
|
||||
configure_target() {
|
||||
go_configure
|
||||
|
||||
export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld ${CC}"
|
||||
|
||||
# used for docker version
|
||||
export GITCOMMIT=${PKG_GIT_COMMIT}
|
||||
export VERSION=${PKG_VERSION}
|
||||
export BUILDTIME="$(date --utc)"
|
||||
|
||||
cat > "${PKG_BUILD}/go.mod" << EOF
|
||||
module github.com/docker/docker
|
||||
|
||||
go 1.18
|
||||
EOF
|
||||
|
||||
GO111MODULE=auto ${GOLANG} mod tidy -modfile 'vendor.mod' -compat 1.18
|
||||
GO111MODULE=auto ${GOLANG} mod vendor -modfile vendor.mod
|
||||
|
||||
bash hack/make/.go-autogen
|
||||
}
|
||||
|
||||
make_target() {
|
||||
mkdir -p bin
|
||||
${GOLANG} build -mod=mod -modfile=vendor.mod -v -o bin/docker-proxy -a -ldflags "${LDFLAGS}" ./cmd/docker-proxy
|
||||
${GOLANG} build -mod=mod -modfile=vendor.mod -v -o bin/dockerd -a -tags "${PKG_MOBY_BUILDTAGS}" -ldflags "${LDFLAGS}" ./cmd/dockerd
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
@@ -1,239 +0,0 @@
|
||||
# when updating this patch just create it from scratch using this command
|
||||
#
|
||||
# find . -name "*.go" -print | xargs sed -i 's/\/etc\/docker/\/storage\/.kodi\/userdata\/addon_data\/service.system.docker\/config/g'
|
||||
#
|
||||
#
|
||||
diff -Naur a/cmd/dockerd/daemon_unix.go b/cmd/dockerd/daemon_unix.go
|
||||
--- a/cmd/dockerd/daemon_unix.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/cmd/dockerd/daemon_unix.go 2022-06-07 14:28:05.510327911 -0700
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
func getDefaultDaemonConfigDir() (string, error) {
|
||||
if !honorXDG {
|
||||
- return "/etc/docker", nil
|
||||
+ return "/storage/.kodi/userdata/addon_data/service.system.docker/config", nil
|
||||
}
|
||||
// NOTE: CLI uses ~/.docker while the daemon uses ~/.config/docker, because
|
||||
// ~/.docker was not designed to store daemon configurations.
|
||||
diff -Naur a/integration/plugin/authz/authz_plugin_test.go b/integration/plugin/authz/authz_plugin_test.go
|
||||
--- a/integration/plugin/authz/authz_plugin_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/integration/plugin/authz/authz_plugin_test.go 2022-06-07 14:28:05.570328822 -0700
|
||||
@@ -56,15 +56,15 @@
|
||||
ctrl = &authorizationController{}
|
||||
teardown := setupTest(t)
|
||||
|
||||
- err := os.MkdirAll("/etc/docker/plugins", 0755)
|
||||
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
|
||||
assert.NilError(t, err)
|
||||
|
||||
- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", testAuthZPlugin)
|
||||
+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", testAuthZPlugin)
|
||||
err = os.WriteFile(fileName, []byte(server.URL), 0644)
|
||||
assert.NilError(t, err)
|
||||
|
||||
return func() {
|
||||
- err := os.RemoveAll("/etc/docker/plugins")
|
||||
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
|
||||
assert.NilError(t, err)
|
||||
|
||||
teardown()
|
||||
diff -Naur a/integration/plugin/graphdriver/external_test.go b/integration/plugin/graphdriver/external_test.go
|
||||
--- a/integration/plugin/graphdriver/external_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/integration/plugin/graphdriver/external_test.go 2022-06-07 14:28:05.570328822 -0700
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
sserver.Close()
|
||||
jserver.Close()
|
||||
- err := os.RemoveAll("/etc/docker/plugins")
|
||||
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
|
||||
@@ -345,10 +345,10 @@
|
||||
respond(w, &graphDriverResponse{Size: size})
|
||||
})
|
||||
|
||||
- err = os.MkdirAll("/etc/docker/plugins", 0755)
|
||||
+ err = os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
|
||||
assert.NilError(t, err)
|
||||
|
||||
- specFile := "/etc/docker/plugins/" + name + "." + ext
|
||||
+ specFile := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/" + name + "." + ext
|
||||
err = os.WriteFile(specFile, b, 0644)
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
diff -Naur a/integration-cli/docker_cli_external_volume_driver_test.go b/integration-cli/docker_cli_external_volume_driver_test.go
|
||||
--- a/integration-cli/docker_cli_external_volume_driver_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/integration-cli/docker_cli_external_volume_driver_test.go 2022-06-07 14:28:05.556328610 -0700
|
||||
@@ -258,10 +258,10 @@
|
||||
send(w, `{"Capabilities": { "Scope": "global" }}`)
|
||||
})
|
||||
|
||||
- err := os.MkdirAll("/etc/docker/plugins", 0755)
|
||||
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
|
||||
assert.NilError(c, err)
|
||||
|
||||
- err = os.WriteFile("/etc/docker/plugins/"+name+".spec", []byte(s.Server.URL), 0644)
|
||||
+ err = os.WriteFile("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/"+name+".spec", []byte(s.Server.URL), 0644)
|
||||
assert.NilError(c, err)
|
||||
return s
|
||||
}
|
||||
@@ -269,7 +269,7 @@
|
||||
func (s *DockerExternalVolumeSuite) TearDownSuite(c *testing.T) {
|
||||
s.volumePlugin.Close()
|
||||
|
||||
- err := os.RemoveAll("/etc/docker/plugins")
|
||||
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
|
||||
assert.NilError(c, err)
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@
|
||||
|
||||
// Make sure a request to use a down driver doesn't block other requests
|
||||
func (s *DockerExternalVolumeSuite) TestExternalVolumeDriverLookupNotBlocked(c *testing.T) {
|
||||
- specPath := "/etc/docker/plugins/down-driver.spec"
|
||||
+ specPath := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/down-driver.spec"
|
||||
err := os.WriteFile(specPath, []byte("tcp://127.0.0.7:9999"), 0644)
|
||||
assert.NilError(c, err)
|
||||
defer os.RemoveAll(specPath)
|
||||
diff -Naur a/integration-cli/docker_cli_network_unix_test.go b/integration-cli/docker_cli_network_unix_test.go
|
||||
--- a/integration-cli/docker_cli_network_unix_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/integration-cli/docker_cli_network_unix_test.go 2022-06-07 14:28:05.558328640 -0700
|
||||
@@ -196,14 +196,14 @@
|
||||
}
|
||||
})
|
||||
|
||||
- err := os.MkdirAll("/etc/docker/plugins", 0755)
|
||||
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
|
||||
assert.NilError(c, err)
|
||||
|
||||
- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", netDrv)
|
||||
+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", netDrv)
|
||||
err = os.WriteFile(fileName, []byte(url), 0644)
|
||||
assert.NilError(c, err)
|
||||
|
||||
- ipamFileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", ipamDrv)
|
||||
+ ipamFileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", ipamDrv)
|
||||
err = os.WriteFile(ipamFileName, []byte(url), 0644)
|
||||
assert.NilError(c, err)
|
||||
}
|
||||
@@ -215,7 +215,7 @@
|
||||
|
||||
s.server.Close()
|
||||
|
||||
- err := os.RemoveAll("/etc/docker/plugins")
|
||||
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
|
||||
assert.NilError(c, err)
|
||||
}
|
||||
|
||||
diff -Naur a/integration-cli/docker_cli_swarm_test.go b/integration-cli/docker_cli_swarm_test.go
|
||||
--- a/integration-cli/docker_cli_swarm_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/integration-cli/docker_cli_swarm_test.go 2022-06-07 14:28:05.561328685 -0700
|
||||
@@ -770,14 +770,14 @@
|
||||
}
|
||||
})
|
||||
|
||||
- err := os.MkdirAll("/etc/docker/plugins", 0755)
|
||||
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
|
||||
assert.NilError(c, err)
|
||||
|
||||
- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", netDrv)
|
||||
+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", netDrv)
|
||||
err = os.WriteFile(fileName, []byte(url), 0644)
|
||||
assert.NilError(c, err)
|
||||
|
||||
- ipamFileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", ipamDrv)
|
||||
+ ipamFileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", ipamDrv)
|
||||
err = os.WriteFile(ipamFileName, []byte(url), 0644)
|
||||
assert.NilError(c, err)
|
||||
}
|
||||
@@ -789,7 +789,7 @@
|
||||
setupRemoteGlobalNetworkPlugin(c, mux, s.server.URL, globalNetworkPlugin, globalIPAMPlugin)
|
||||
defer func() {
|
||||
s.server.Close()
|
||||
- err := os.RemoveAll("/etc/docker/plugins")
|
||||
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
|
||||
assert.NilError(c, err)
|
||||
}()
|
||||
|
||||
diff -Naur a/libnetwork/drivers/remote/driver_test.go b/libnetwork/drivers/remote/driver_test.go
|
||||
--- a/libnetwork/drivers/remote/driver_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/libnetwork/drivers/remote/driver_test.go 2022-06-07 14:28:05.586329065 -0700
|
||||
@@ -41,7 +41,7 @@
|
||||
}
|
||||
|
||||
func setupPlugin(t *testing.T, name string, mux *http.ServeMux) func() {
|
||||
- specPath := "/etc/docker/plugins"
|
||||
+ specPath := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins"
|
||||
if runtime.GOOS == "windows" {
|
||||
specPath = filepath.Join(os.Getenv("programdata"), "docker", "plugins")
|
||||
}
|
||||
diff -Naur a/libnetwork/ipams/remote/remote_test.go b/libnetwork/ipams/remote/remote_test.go
|
||||
--- a/libnetwork/ipams/remote/remote_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/libnetwork/ipams/remote/remote_test.go 2022-06-07 14:28:05.591329141 -0700
|
||||
@@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
func setupPlugin(t *testing.T, name string, mux *http.ServeMux) func() {
|
||||
- specPath := "/etc/docker/plugins"
|
||||
+ specPath := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins"
|
||||
if runtime.GOOS == "windows" {
|
||||
specPath = filepath.Join(os.Getenv("programdata"), "docker", "plugins")
|
||||
}
|
||||
diff -Naur a/libnetwork/libnetwork_unix_test.go b/libnetwork/libnetwork_unix_test.go
|
||||
--- a/libnetwork/libnetwork_unix_test.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/libnetwork/libnetwork_unix_test.go 2022-06-07 14:28:05.592329156 -0700
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
package libnetwork_test
|
||||
|
||||
-var specPath = "/etc/docker/plugins"
|
||||
+var specPath = "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins"
|
||||
diff -Naur a/pkg/plugins/discovery_unix.go b/pkg/plugins/discovery_unix.go
|
||||
--- a/pkg/plugins/discovery_unix.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/pkg/plugins/discovery_unix.go 2022-06-07 14:28:05.615329505 -0700
|
||||
@@ -9,7 +9,7 @@
|
||||
"github.com/docker/docker/pkg/rootless"
|
||||
)
|
||||
|
||||
-const globalConfigPluginsPath = "/etc/docker/plugins"
|
||||
+const globalConfigPluginsPath = "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins"
|
||||
const globalLibPluginsPath = "/usr/lib/docker/plugins"
|
||||
|
||||
var globalSpecsPaths = []string{globalConfigPluginsPath, globalLibPluginsPath}
|
||||
diff -Naur a/pkg/plugins/plugins.go b/pkg/plugins/plugins.go
|
||||
--- a/pkg/plugins/plugins.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/pkg/plugins/plugins.go 2022-06-07 14:28:05.616329521 -0700
|
||||
@@ -4,7 +4,7 @@
|
||||
// Docker discovers plugins by looking for them in the plugin directory whenever
|
||||
// a user or container tries to use one by name. UNIX domain socket files must
|
||||
// be located under /run/docker/plugins, whereas spec files can be located
|
||||
-// either under /etc/docker/plugins or /usr/lib/docker/plugins. This is handled
|
||||
+// either under /storage/.kodi/userdata/addon_data/service.system.docker/config/plugins or /usr/lib/docker/plugins. This is handled
|
||||
// by the Registry interface, which lets you list all plugins or get a plugin by
|
||||
// its name if it exists.
|
||||
//
|
||||
diff -Naur a/registry/config_unix.go b/registry/config_unix.go
|
||||
--- a/registry/config_unix.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/registry/config_unix.go 2022-06-07 14:28:05.626329672 -0700
|
||||
@@ -6,7 +6,7 @@
|
||||
// defaultCertsDir is the platform-specific default directory where certificates
|
||||
// are stored. On Linux, it may be overridden through certsDir, for example, when
|
||||
// running in rootless mode.
|
||||
-const defaultCertsDir = "/etc/docker/certs.d"
|
||||
+const defaultCertsDir = "/storage/.kodi/userdata/addon_data/service.system.docker/config/certs.d"
|
||||
|
||||
// cleanPath is used to ensure that a directory name is valid on the target
|
||||
// platform. It will be passed in something *similar* to a URL such as
|
||||
diff -Naur a/registry/endpoint_v1.go b/registry/endpoint_v1.go
|
||||
--- a/registry/endpoint_v1.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/registry/endpoint_v1.go 2022-06-07 14:28:05.627329688 -0700
|
||||
@@ -63,7 +63,7 @@
|
||||
if endpoint.IsSecure {
|
||||
// If registry is secure and HTTPS failed, show user the error and tell them about `--insecure-registry`
|
||||
// in case that's what they need. DO NOT accept unknown CA certificates, and DO NOT fallback to HTTP.
|
||||
- return invalidParamf("invalid registry endpoint %s: %v. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry %s` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/%s/ca.crt", endpoint, err, endpoint.URL.Host, endpoint.URL.Host)
|
||||
+ return invalidParamf("invalid registry endpoint %s: %v. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry %s` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /storage/.kodi/userdata/addon_data/service.system.docker/config/certs.d/%s/ca.crt", endpoint, err, endpoint.URL.Host, endpoint.URL.Host)
|
||||
}
|
||||
|
||||
// If registry is insecure and HTTPS failed, fallback to HTTP.
|
||||
@@ -1,22 +0,0 @@
|
||||
--- a/daemon/config/config.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/daemon/config/config.go 2022-06-07 14:29:36.755713207 -0700
|
||||
@@ -59,7 +59,7 @@
|
||||
LinuxV2RuntimeName = "io.containerd.runc.v2"
|
||||
|
||||
// SeccompProfileDefault is the built-in default seccomp profile.
|
||||
- SeccompProfileDefault = "builtin"
|
||||
+ SeccompProfileDefault = "unconfined"
|
||||
// SeccompProfileUnconfined is a special profile name for seccomp to use an
|
||||
// "unconfined" seccomp profile.
|
||||
SeccompProfileUnconfined = "unconfined"
|
||||
--- a/daemon/daemon_unix.go 2022-06-03 10:30:24.000000000 -0700
|
||||
+++ b/daemon/daemon_unix.go 2022-06-07 14:34:55.315558083 -0700
|
||||
@@ -1711,8 +1711,6 @@
|
||||
|
||||
func (daemon *Daemon) setupSeccompProfile() error {
|
||||
switch profile := daemon.configStore.SeccompProfile; profile {
|
||||
- case "", config.SeccompProfileDefault:
|
||||
- daemon.seccompProfilePath = config.SeccompProfileDefault
|
||||
case config.SeccompProfileUnconfined:
|
||||
daemon.seccompProfilePath = config.SeccompProfileUnconfined
|
||||
default:
|
||||
@@ -0,0 +1,26 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="aspnet5-runtime"
|
||||
PKG_VERSION="5.0.7"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://dotnet.microsoft.com/"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="ASP.NET Core Runtime enables you to run existing web/server applications."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
case "${ARCH}" in
|
||||
"aarch64")
|
||||
PKG_SHA256="219f233d4e23e2381d93dc99a7cbdbe55c55e45da2e025b5d139d1338d11d62a"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/d0a22fa3-b916-49ce-8284-97131b424cb3/cb884163ad34b83f1ae1dbd33e09d77a/aspnetcore-runtime-5.0.7-linux-arm64.tar.gz"
|
||||
;;
|
||||
"arm")
|
||||
PKG_SHA256="c14e64527f2bf7356d1de154132a07b86de4a30c62129e138f3ca95a43c2dd54"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/2f690848-1342-4768-a7d7-45fa476a4a22/50dd1c50ed7864140b04fec057bb8bd6/aspnetcore-runtime-5.0.7-linux-arm.tar.gz"
|
||||
;;
|
||||
"x86_64")
|
||||
PKG_SHA256="22f9f93b4d6a00e76980918b721f7f62654421d7582d486e830ec478c365707c"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/d6be94b3-458f-43c4-8bb5-9ba261de8c9c/bbe13b54208d088b5fdf428759b5bc0a/aspnetcore-runtime-5.0.7-linux-x64.tar.gz"
|
||||
;;
|
||||
esac
|
||||
PKG_SOURCE_NAME="aspnetcore-runtime_${PKG_VERSION}_${ARCH}.tar.gz"
|
||||
@@ -1,26 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="aspnet6-runtime"
|
||||
PKG_VERSION="6.0.19"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://dotnet.microsoft.com/"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="ASP.NET Core Runtime enables you to run existing web/server applications."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
case "${ARCH}" in
|
||||
"aarch64")
|
||||
PKG_SHA256="fb4d55dd30f3956595c398477436322819fd1cf7d273a559db5e43a14435c9bb"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/86b5e7ea-d316-4b44-a543-95cbfeafadd9/7e7b8ed4c007d9290c2099b5bcd144af/aspnetcore-runtime-6.0.19-linux-arm64.tar.gz"
|
||||
;;
|
||||
"arm")
|
||||
PKG_SHA256="d9ac8112187666535e2940daa90c55606d2f62a3a267ae471c92859e25a87b60"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/f33d9dc8-1f77-48dc-89f5-8f691038d629/90926d8575953228ee5271530e08b595/aspnetcore-runtime-6.0.19-linux-arm.tar.gz"
|
||||
;;
|
||||
"x86_64")
|
||||
PKG_SHA256="217e4dfb3c9469580559f5714daa3c505f36156d2bd97a15238d240c6bcc54bf"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/fb0913f6-79a8-40b6-b604-bda42b60d0c2/eb98e78d3d75c16326a54cd0277b5406/aspnetcore-runtime-6.0.19-linux-x64.tar.gz"
|
||||
;;
|
||||
esac
|
||||
PKG_SOURCE_NAME="aspnetcore-runtime_${PKG_VERSION}_${ARCH}.tar.gz"
|
||||
@@ -0,0 +1,26 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="dotnet3-runtime"
|
||||
PKG_VERSION="3.1.16"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://dotnet.microsoft.com/"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="ASP.NET Core Runtime runs applications built with .NET Core, a cross-platform .NET implementation."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
case "${ARCH}" in
|
||||
"aarch64")
|
||||
PKG_SHA256="b76c049484efd86466d2e1cd88994521633c399d090adb1c6804128603816abe"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/64353333-3080-45f7-a3d5-33e391e4596c/e9d5d53cb318628485e8d1fbd26ec30d/aspnetcore-runtime-3.1.16-linux-arm64.tar.gz"
|
||||
;;
|
||||
"arm")
|
||||
PKG_SHA256="a0163cd5c5ceae228bfffb40053f3509e155a110c23e81c38705757a870e24cc"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/bd734390-3b5f-402a-826f-e0eae538b8ba/5914dd937ede96cb9297e6e7a80f46f3/aspnetcore-runtime-3.1.16-linux-arm.tar.gz"
|
||||
;;
|
||||
"x86_64")
|
||||
PKG_SHA256="b1a2f61d8a49e2a3ca5eb9daa103b83eb49ea1bcf14914560e601222e94a3022"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/c20a5ac5-5174-46b8-a875-b916a416050d/b2ddd212a183260569178d880899bd94/aspnetcore-runtime-3.1.16-linux-x64.tar.gz"
|
||||
;;
|
||||
esac
|
||||
PKG_SOURCE_NAME="aspnetcore3-runtime_${PKG_VERSION}_${ARCH}.tar.gz"
|
||||
@@ -0,0 +1,26 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="dotnet5-runtime"
|
||||
PKG_VERSION="5.0.7"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://dotnet.microsoft.com/"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC=".NET Runtime runs applications built with .NET Core, a cross-platform .NET implementation."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
case "${ARCH}" in
|
||||
"aarch64")
|
||||
PKG_SHA256="375956c3d326f5030a1eff2cafdba8b994ed0e1b87db2dd812ce17e0bca5fb27"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/a9a37d9f-6158-43a4-a610-f0f9e8c2cb73/c69c6d22c668cb09b2d00bea8209335b/dotnet-runtime-5.0.7-linux-arm64.tar.gz"
|
||||
;;
|
||||
"arm")
|
||||
PKG_SHA256="fcc811f37cb6914bf3aa1c96040b1a46fad42939e6b1e1e7e0f513a9be1de680"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/09a24e9f-0096-454a-b761-70cdf9504775/eafe9578bbedd15c9319b7580d5a20d9/dotnet-runtime-5.0.7-linux-arm.tar.gz"
|
||||
;;
|
||||
"x86_64")
|
||||
PKG_SHA256="ed864299f0e736f9d284b655e62d8a29aee97c14741ef8baf13d5ff493f83a47"
|
||||
PKG_URL="https://download.visualstudio.microsoft.com/download/pr/f229fc63-747e-46c8-89ac-88563c2e0b7d/8e59115deda958a26e1546f603cbad9a/dotnet-runtime-5.0.7-linux-x64.tar.gz"
|
||||
;;
|
||||
esac
|
||||
PKG_SOURCE_NAME="dotnet-runtime_${PKG_VERSION}_${ARCH}.tar.gz"
|
||||
@@ -1,11 +0,0 @@
|
||||
diff -ru a/Makefile b/Makefile
|
||||
--- a/Makefile 2014-03-21 20:26:36.000000000 +0100
|
||||
+++ b/Makefile 2022-12-04 20:52:52.827027541 +0100
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
all clean install:
|
||||
$(MAKE) -C lib $@
|
||||
- $(MAKE) -C test $@
|
||||
$(MAKE) -C util $@
|
||||
|
||||
update:
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="enet"
|
||||
PKG_VERSION="8d69c5abe4b699e7077395e01927bd102b3ba597" # 12 Jun 2021
|
||||
PKG_SHA256="4da28dc923828f2241f9086009c87d9679cb52bb3085305754cbcac33a06f312"
|
||||
PKG_VERSION="d9e561938fd9360cdbbd67d78b105ccbe4af0a65" # 10 Jan 2021 # 1.3.17+vita
|
||||
PKG_SHA256="ff52ea54edb71662d5933b165c073f079c90ed9adcf98bcb7b2e74d4ddf3dc6b"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/cgutman/enet/"
|
||||
PKG_URL="https://github.com/cgutman/enet/archive/${PKG_VERSION}.tar.gz"
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="faad2"
|
||||
PKG_VERSION="2.10.1"
|
||||
PKG_SHA256="4c16c71295ca0cbf7c3dfe98eb11d8fa8d0ac3042e41604cfd6cc11a408cf264"
|
||||
PKG_VERSION="2.10.0"
|
||||
PKG_SHA256="0c6d9636c96f95c7d736f097d418829ced8ec6dbd899cc6cc82b728480a84bfb"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/knik0/faad2/"
|
||||
PKG_URL="https://github.com/knik0/faad2/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="https://github.com/knik0/faad2/archive/${PKG_VERSION//./_}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="An MPEG-4 AAC decoder."
|
||||
PKG_TOOLCHAIN="configure"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libvpx"
|
||||
PKG_VERSION="1.12.0"
|
||||
PKG_SHA256="f1acc15d0fd0cb431f4bf6eac32d5e932e40ea1186fe78e074254d6d003957bb"
|
||||
PKG_VERSION="1.10.0"
|
||||
PKG_SHA256="85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="https://www.webmproject.org"
|
||||
PKG_URL="https://github.com/webmproject/libvpx/archive/v${PKG_VERSION}.tar.gz"
|
||||
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="x264"
|
||||
PKG_VERSION="baee400fa9ced6f5481a728138fed6e867b0ff7f" # r3095 stable 2022-06-01
|
||||
PKG_SHA256="ce6623b8b289765daee04a297c2fd1a293cb2565a1749c76d66c8d72c7ddc1ab"
|
||||
PKG_VERSION="20191217"
|
||||
PKG_SHA256="0bb67d095513391e637b3b47e8efc3ba4603c3844f1b4c2690f4d36da7763055"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.videolan.org/developers/x264.html"
|
||||
PKG_URL="https://code.videolan.org/videolan/x264/-/archive/${PKG_VERSION}/x264-${PKG_VERSION}.tar.bz2"
|
||||
PKG_URL="https://download.videolan.org/x264/snapshots/x264-snapshot-${PKG_VERSION}-2245.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="x264 codec"
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="ffmpegx"
|
||||
PKG_VERSION="4.4.3"
|
||||
PKG_SHA256="6c5b6c195e61534766a0b5fe16acc919170c883362612816d0a1c7f4f947006e"
|
||||
PKG_VERSION="4.4"
|
||||
PKG_SHA256="06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909"
|
||||
PKG_LICENSE="LGPLv2.1+"
|
||||
PKG_SITE="https://ffmpeg.org"
|
||||
PKG_URL="https://ffmpeg.org/releases/ffmpeg-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain aom bzip2 openssl lame libvorbis opus x264 zlib"
|
||||
PKG_DEPENDS_TARGET="toolchain aom bzip2 gnutls lame libvorbis opus x264 x265 zlib"
|
||||
PKG_LONGDESC="FFmpegx is an complete FFmpeg build to support encoding and decoding."
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
PKG_BUILD_FLAGS="-gold -sysroot"
|
||||
|
||||
# Dependencies
|
||||
get_graphicdrivers
|
||||
@@ -17,7 +17,7 @@ get_graphicdrivers
|
||||
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
||||
PKG_DEPENDS_TARGET+=" nasm:host x265"
|
||||
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "(crocus|i915|iris)"; then
|
||||
if listcontains "${GRAPHIC_DRIVERS}" "(iris|i915|i965)"; then
|
||||
PKG_DEPENDS_TARGET+=" intel-vaapi-driver"
|
||||
fi
|
||||
fi
|
||||
@@ -99,12 +99,6 @@ pre_configure_target() {
|
||||
--enable-libxcb-shm \
|
||||
--enable-libxcb-xfixes \
|
||||
--enable-libxcb-shape"
|
||||
else
|
||||
PKG_FFMPEG_X11_GRAB="\
|
||||
--disable-libxcb \
|
||||
--disable-libxcb-shm \
|
||||
--disable-libxcb-xfixes \
|
||||
--disable-libxcb-shape"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -123,7 +117,6 @@ configure_target() {
|
||||
\
|
||||
`#Licensing options` \
|
||||
--enable-gpl \
|
||||
--enable-version3 \
|
||||
\
|
||||
`#Documentation options` \
|
||||
--disable-doc \
|
||||
@@ -161,8 +154,8 @@ configure_target() {
|
||||
--extra-ldflags="${LDFLAGS}" \
|
||||
--extra-libs="${PKG_FFMPEG_LIBS}" \
|
||||
--enable-pic \
|
||||
--disable-gnutls \
|
||||
--enable-openssl \
|
||||
--enable-gnutls \
|
||||
--disable-openssl \
|
||||
\
|
||||
`#Advanced options` \
|
||||
--disable-hardcoded-tables \
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
From 1d23e125b6f76e74b754560c3b6931507cacddce Mon Sep 17 00:00:00 2001
|
||||
From: Timo Rothenpieler <timo@rothenpieler.org>
|
||||
Date: Tue, 7 Sep 2021 19:35:31 +0200
|
||||
Subject: [PATCH] configure: account for openssl3 license change
|
||||
|
||||
---
|
||||
configure | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index c87a010387..ed7345b2c1 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -1765,7 +1765,6 @@ EXTERNAL_LIBRARY_GPL_LIST="
|
||||
EXTERNAL_LIBRARY_NONFREE_LIST="
|
||||
decklink
|
||||
libfdk_aac
|
||||
- openssl
|
||||
libtls
|
||||
"
|
||||
|
||||
@@ -1857,6 +1856,7 @@ EXTERNAL_LIBRARY_LIST="
|
||||
mediacodec
|
||||
openal
|
||||
opengl
|
||||
+ openssl
|
||||
pocketsphinx
|
||||
vapoursynth
|
||||
"
|
||||
@@ -6572,7 +6572,10 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR
|
||||
die "ERROR: OpenMAX IL headers from raspberrypi/firmware not found"; } &&
|
||||
enable omx
|
||||
enabled omx && require_headers OMX_Core.h
|
||||
-enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
|
||||
+enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0" openssl/ssl.h OPENSSL_init_ssl &&
|
||||
+ { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } ||
|
||||
+ { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } ||
|
||||
+ check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
|
||||
check_pkg_config openssl openssl openssl/ssl.h SSL_library_init ||
|
||||
check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="linuxconsoletools"
|
||||
PKG_VERSION="1.8.1"
|
||||
PKG_SHA256="4da29745c782b7db18f5f37c49e77bf163121dd3761e2fc7636fa0cbf35c2456"
|
||||
PKG_VERSION="1.7.1"
|
||||
PKG_SHA256="bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sourceforge.net/projects/linuxconsole/"
|
||||
PKG_URL="http://prdownloads.sourceforge.net/linuxconsole/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff -Naur a/utils/Makefile b/utils/Makefile
|
||||
--- a/utils/Makefile 2022-05-21 09:44:47.000000000 +0000
|
||||
+++ b/utils/Makefile 2022-05-21 18:58:51.363206817 +0000
|
||||
@@ -37,7 +37,7 @@
|
||||
endif
|
||||
--- a/utils/Makefile 2016-04-19 13:20:50.000000000 -0700
|
||||
+++ b/utils/Makefile 2016-10-20 00:31:34.238941511 -0700
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
ifndef DISABLE_FORCEFEEDBACK
|
||||
-PROGRAMS += fftest ffmvforce ffset ffcfstress
|
||||
+PROGRAMS += fftest ffset ffcfstress
|
||||
endif
|
||||
CFLAGS ?= -g -O2 -Wall
|
||||
|
||||
-PROGRAMS = inputattach jstest jscal fftest ffmvforce ffset \
|
||||
+PROGRAMS = inputattach jstest jscal fftest ffset \
|
||||
ffcfstress jscal-restore jscal-store evdev-joystick
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="go"
|
||||
PKG_VERSION="1.20.3"
|
||||
PKG_SHA256="991a67cecebb7b9b1237fdbca76c4754a9f5e1669d5d49b58a9931813047e905"
|
||||
PKG_VERSION="1.16.6"
|
||||
PKG_SHA256="498cd89c5c965ea2f2e23eef589e0a2dcb4b94f31c3f7dac575d4c35ae89caf7"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="https://golang.org"
|
||||
PKG_URL="https://github.com/golang/go/archive/${PKG_NAME}${PKG_VERSION}.tar.gz"
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="icu"
|
||||
PKG_VERSION="72.1"
|
||||
PKG_SHA256="43cbad628d98f37a3f95f6c34579f9144ef4bde60248fa6004a4f006d7487e69"
|
||||
PKG_VERSION="69.1"
|
||||
PKG_SHA256="39ce83dd5d15c7539dde261733e106a391923f82caf1ce52ecaebb72d93b4579"
|
||||
PKG_LICENSE="Custom"
|
||||
PKG_SITE="https://icu.unicode.org"
|
||||
PKG_SITE="http://www.icu-project.org"
|
||||
PKG_URL="https://github.com/unicode-org/icu/archive/release-${PKG_VERSION//./-}.tar.gz"
|
||||
PKG_DEPENDS_HOST="toolchain:host"
|
||||
PKG_DEPENDS_TARGET="toolchain icu:host"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="jasper"
|
||||
PKG_VERSION="4.0.0"
|
||||
PKG_SHA256="977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1"
|
||||
PKG_VERSION="2.0.33"
|
||||
PKG_SHA256="38b8f74565ee9e7fec44657e69adb5c9b2a966ca5947ced5717cde18a7d2eca6"
|
||||
PKG_LICENSE="OpenSource"
|
||||
PKG_SITE="http://www.ece.uvic.ca/~mdadams/jasper/"
|
||||
PKG_URL="https://github.com/jasper-software/jasper/archive/refs/tags/version-${PKG_VERSION}.tar.gz"
|
||||
@@ -14,9 +14,4 @@ PKG_BUILD_FLAGS="+pic"
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="-DJAS_ENABLE_DOC=false \
|
||||
-DJAS_ENABLE_PROGRAMS=false \
|
||||
-DJAS_ENABLE_SHARED=false \
|
||||
-DJAS_STDC_VERSION=201710L"
|
||||
|
||||
pre_configure_target() {
|
||||
export CFLAGS="${CFLAGS} -std=gnu17"
|
||||
}
|
||||
-DJAS_ENABLE_SHARED=false"
|
||||
@@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="apache-ant"
|
||||
PKG_VERSION="1.10.12"
|
||||
PKG_SHA256="6115c940367e50755cf806de5816f20a1db1321b1cb734e2c34ab20ef6682b9b"
|
||||
PKG_VERSION="1.10.11"
|
||||
PKG_SHA256="baa049855cdecbefa62539555824058e52412e5ebe8f102e1db944cb762e06d9"
|
||||
PKG_LICENSE="Apache License 2.0"
|
||||
PKG_SITE="https://ant.apache.org/"
|
||||
PKG_URL="https://downloads.apache.org/ant/binaries/${PKG_NAME}-${PKG_VERSION}-bin.tar.xz"
|
||||
|
||||
@@ -13,5 +13,5 @@ PKG_CONFIGURE_OPTS_TARGET+=" --disable-static --enable-shared"
|
||||
|
||||
unpack() {
|
||||
mkdir -p ${PKG_BUILD}
|
||||
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:4}/${PKG_NAME:4}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD}
|
||||
tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME:4}/${PKG_NAME:4}-${PKG_VERSION}.tar.bz2 -C ${PKG_BUILD}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libexif"
|
||||
PKG_VERSION="0.6.24"
|
||||
PKG_SHA256="d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae"
|
||||
PKG_VERSION="0.6.22"
|
||||
PKG_SHA256="5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="https://libexif.github.io"
|
||||
PKG_URL="https://github.com/libexif/libexif/releases/download/v${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_URL="https://github.com/libexif/libexif/releases/download/libexif-${PKG_VERSION//./_}-release/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A library to parse an EXIF file and read the data from those tags."
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,16 +1,17 @@
|
||||
|
||||
-LIBSRCS += hdhomerun_channels.c
|
||||
-LIBSRCS += hdhomerun_channelscan.c
|
||||
-LIBSRCS += hdhomerun_control.c
|
||||
-LIBSRCS += hdhomerun_debug.c
|
||||
-LIBSRCS += hdhomerun_device.c
|
||||
-LIBSRCS += hdhomerun_device_selector.c
|
||||
-LIBSRCS += hdhomerun_discover.c
|
||||
-LIBSRCS += hdhomerun_os_posix.c
|
||||
-LIBSRCS += hdhomerun_pkt.c
|
||||
-LIBSRCS += hdhomerun_sock_posix.c
|
||||
-LIBSRCS += hdhomerun_video.c
|
||||
+LIBSRCS += hdhomerun_channels.o
|
||||
+LIBSRCS += hdhomerun_channelscan.o
|
||||
+LIBSRCS += hdhomerun_control.o
|
||||
+LIBSRCS += hdhomerun_debug.o
|
||||
+LIBSRCS += hdhomerun_device.o
|
||||
+LIBSRCS += hdhomerun_device_selector.o
|
||||
+LIBSRCS += hdhomerun_discover.o
|
||||
+LIBSRCS += hdhomerun_os_posix.o
|
||||
+LIBSRCS += hdhomerun_pkt.o
|
||||
+LIBSRCS += hdhomerun_sock_posix.o
|
||||
+LIBSRCS += hdhomerun_video.o
|
||||
|
||||
+AR := $(CROSS_COMPILE)ar
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
STRIP := $(CROSS_COMPILE)strip
|
||||
|
||||
@@ -38,14 +39,17 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
-all : hdhomerun_config$(BINEXT) libhdhomerun$(LIBEXT)
|
||||
+all : hdhomerun_config$(BINEXT) libhdhomerun.a
|
||||
+
|
||||
+%.o: %.c
|
||||
+ $(CC) $(CFLAGS) -fPIC -c -o $@ $<
|
||||
|
||||
hdhomerun_config$(BINEXT) : hdhomerun_config.c $(LIBSRCS)
|
||||
$(CC) $(CFLAGS) $+ $(LDFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
-libhdhomerun$(LIBEXT) : $(LIBSRCS)
|
||||
- $(CC) $(CFLAGS) -fPIC -DDLL_EXPORT $(SHARED) $+ $(LDFLAGS) -o $@
|
||||
+libhdhomerun.a : $(LIBSRCS)
|
||||
+ $(AR) rcs libhdhomerun.a $(LIBSRCS)
|
||||
|
||||
clean :
|
||||
-rm -f hdhomerun_config$(BINEXT)
|
||||
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libiconv"
|
||||
PKG_VERSION="1.17"
|
||||
PKG_SHA256="8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313"
|
||||
PKG_VERSION="1.16"
|
||||
PKG_SHA256="e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://savannah.gnu.org/projects/libiconv/"
|
||||
PKG_URL="https://ftp.gnu.org/pub/gnu/libiconv/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="http://ftp.gnu.org/pub/gnu/libiconv/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A tool that converts from one character encoding to another through Unicode conversion."
|
||||
PKG_BUILD_FLAGS="+pic"
|
||||
|
||||
@@ -16,10 +16,6 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static \
|
||||
--without-cython \
|
||||
--disable-largefile"
|
||||
|
||||
post_configure_target() {
|
||||
libtool_remove_rpath libtool
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
mkdir -p "${SYSROOT_PREFIX}/usr/include/lib/libimobiledevice"
|
||||
cp ${PKG_BUILD}/common/utils.h "${SYSROOT_PREFIX}/usr/include/libimobiledevice"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libmpdclient"
|
||||
PKG_VERSION="2.20"
|
||||
PKG_SHA256="18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d"
|
||||
PKG_VERSION="2.19"
|
||||
PKG_SHA256="158aad4c2278ab08e76a3f2b0166c99b39fae00ee17231bd225c5a36e977a189"
|
||||
PKG_LICENSE="BSD-3c"
|
||||
PKG_SITE="https://www.musicpd.org"
|
||||
PKG_URL="https://www.musicpd.org/download/libmpdclient/2/libmpdclient-${PKG_VERSION}.tar.xz"
|
||||
|
||||
33
packages/addons/addon-depends/libnetwork/package.mk
Normal file
33
packages/addons/addon-depends/libnetwork/package.mk
Normal file
@@ -0,0 +1,33 @@
|
||||
# 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="libnetwork"
|
||||
PKG_VERSION="a543cbc4871f904b0efe205708eb45d72e65fd8b"
|
||||
PKG_SHA256="3e3b0048aa468de0fe33ad2c08bf3891ac1a72fca434f92620312da51f344488"
|
||||
PKG_LICENSE="APL"
|
||||
PKG_SITE="https://github.com/docker/libnetwork"
|
||||
PKG_URL="https://github.com/docker/libnetwork/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain go:host"
|
||||
PKG_LONGDESC="A native Go implementation for connecting containers."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
go_configure
|
||||
|
||||
export CGO_ENABLED=0
|
||||
export LDFLAGS="-extld ${CC}"
|
||||
export GO111MODULE=off
|
||||
|
||||
mkdir -p ${GOPATH}
|
||||
if [ -d ${PKG_BUILD}/vendor ]; then
|
||||
mv ${PKG_BUILD}/vendor ${GOPATH}/src
|
||||
fi
|
||||
|
||||
ln -fs ${PKG_BUILD} ${GOPATH}/src/github.com/docker/libnetwork
|
||||
}
|
||||
|
||||
make_target() {
|
||||
mkdir -p bin
|
||||
${GOLANG} build -v -o bin/docker-proxy -a -ldflags "${LDFLAGS}" ./cmd/proxy
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="rust"
|
||||
PKG_VERSION="1.54.0"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://www.rust-lang.org"
|
||||
PKG_DEPENDS_TARGET="toolchain rustup.rs"
|
||||
PKG_LONGDESC="A systems programming language that prevents segfaults, and guarantees thread safety."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
make_target() {
|
||||
export CARGO_HOME="${PKG_BUILD}/cargo"
|
||||
export RUSTUP_HOME="${CARGO_HOME}"
|
||||
export PATH="${CARGO_HOME}/bin:${PATH}"
|
||||
case "${TARGET_ARCH}" in
|
||||
aarch64)
|
||||
RUST_TARGET_TRIPLE="aarch64-unknown-linux-gnu"
|
||||
;;
|
||||
arm)
|
||||
RUST_TARGET_TRIPLE="arm-unknown-linux-gnueabihf"
|
||||
;;
|
||||
x86_64)
|
||||
RUST_TARGET_TRIPLE="x86_64-unknown-linux-gnu"
|
||||
;;
|
||||
esac
|
||||
"$(get_build_dir rustup.rs)/rustup-init.sh" \
|
||||
--default-toolchain none \
|
||||
--no-modify-path \
|
||||
--profile minimal \
|
||||
--target "${RUST_TARGET_TRIPLE}" \
|
||||
-y
|
||||
cargo/bin/rustup toolchain install ${PKG_VERSION} --allow-downgrade --profile minimal --component clippy
|
||||
cargo/bin/rustup target add ${RUST_TARGET_TRIPLE}
|
||||
|
||||
cat <<EOF >"${CARGO_HOME}/config"
|
||||
[build]
|
||||
target = "${RUST_TARGET_TRIPLE}"
|
||||
|
||||
[target.${RUST_TARGET_TRIPLE}]
|
||||
ar = "${AR}"
|
||||
linker = "${CC}"
|
||||
EOF
|
||||
|
||||
cat <<EOF >"${CARGO_HOME}/env"
|
||||
export CARGO_HOME="${CARGO_HOME}"
|
||||
export CARGO_TARGET_DIR="\${PKG_BUILD}/.\${TARGET_NAME}"
|
||||
if [ "${HOSTTYPE}" = "${TARGET_ARCH}" ]; then
|
||||
# Until target-applies-to-host is incorporated into stable this
|
||||
# option is required for a matching host-target triple to be compiled
|
||||
# by the cross compiler. Read more here.
|
||||
# https://doc.rust-lang.org/cargo/reference/unstable.html#target-applies-to-host
|
||||
export __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly"
|
||||
export CARGO_TARGET_APPLIES_TO_HOST="false"
|
||||
export CARGO_Z_TARGET_APPLIES_TO_HOST="-Z target-applies-to-host"
|
||||
fi
|
||||
export PATH="${CARGO_HOME}/bin:${PATH}"
|
||||
export PKG_CONFIG_ALLOW_CROSS="1"
|
||||
export PKG_CONFIG_PATH="${PKG_CONFIG_LIBDIR}"
|
||||
export RUSTUP_HOME="${CARGO_HOME}"
|
||||
unset CFLAGS
|
||||
EOF
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="rustup.rs"
|
||||
PKG_VERSION="1.25.1"
|
||||
PKG_SHA256="4d062c77b08309bd212f22dd7da1957c1882509c478e57762f34ec4fb2884c9a"
|
||||
PKG_VERSION="1.23.1"
|
||||
PKG_SHA256="0203231bfe405ee1c7d5e7e1c013b9b8a2dc87fbd8474e77f500331d8c26365f"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://www.rust-lang.org"
|
||||
PKG_URL="https://github.com/rust-lang-nursery/rustup.rs/archive/${PKG_VERSION}.tar.gz"
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libseccomp"
|
||||
PKG_VERSION="2.5.4"
|
||||
PKG_SHA256="d82902400405cf0068574ef3dc1fe5f5926207543ba1ae6f8e7a1576351dcbdb"
|
||||
PKG_LICENSE="LGPLv2.1"
|
||||
PKG_SITE="https://github.com/seccomp/libseccomp"
|
||||
PKG_URL="https://github.com/seccomp/libseccomp/releases/download/v${PKG_VERSION}/libseccomp-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="An easy to use, platform independent, interface to the Linux Kernel syscall filtering mechanism"
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --enable-static --enable-shared"
|
||||
@@ -14,7 +14,3 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_malloc_0_nonnull=yes \
|
||||
ac_cv_func_realloc_0_nonnull=yes \
|
||||
--enable-static \
|
||||
--disable-shared"
|
||||
|
||||
post_configure_target() {
|
||||
libtool_remove_rpath libtool
|
||||
}
|
||||
|
||||
@@ -2,14 +2,16 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libvncserver"
|
||||
PKG_VERSION="0.9.14"
|
||||
PKG_SHA256="83104e4f7e28b02f8bf6b010d69b626fae591f887e949816305daebae527c9a5"
|
||||
PKG_VERSION="0.9.13"
|
||||
PKG_SHA256="0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://libvnc.github.io/"
|
||||
PKG_URL="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo libpng openssl systemd"
|
||||
PKG_LONGDESC="A C library that allow you to easily implement VNC server or client functionality."
|
||||
|
||||
PKG_MAINTAINER="Lukas Rusak (lrusak at irc.freenode.net)"
|
||||
|
||||
PKG_CMAKE_OPTS_TARGET="-DWITH_GCRYPT=0 \
|
||||
-DWITH_GNUTLS=0 \
|
||||
-DWITH_GTK=0 \
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libzip"
|
||||
PKG_VERSION="1.9.2"
|
||||
PKG_SHA256="c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937"
|
||||
PKG_VERSION="1.7.3"
|
||||
PKG_SHA256="a60473ffdb7b4260c08bfa19c2ccea0438edac11193c3afbbb1f17fbcf6c6132"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://libzip.org/"
|
||||
PKG_URL="https://libzip.org/download/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mpd-mpc"
|
||||
PKG_VERSION="0.34"
|
||||
PKG_SHA256="691e3f3654bc10d022bb0310234d0bc2d8c075a698f09924d9ebed8f506fda20"
|
||||
PKG_VERSION="0.33"
|
||||
PKG_SHA256="4f40ccbe18f5095437283cfc525a97815e983cbfd3a29e48ff610fa4f1bf1296"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://www.musicpd.org"
|
||||
PKG_URL="https://www.musicpd.org/download/mpc/0/mpc-${PKG_VERSION}.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain libiconv libmpdclient"
|
||||
PKG_LONGDESC="Command-line client for MPD."
|
||||
PKG_TOOLCHAIN="meson"
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libmediainfo"
|
||||
PKG_VERSION="22.12"
|
||||
PKG_SHA256="0fc6d32f06d6ce5e144074d2e57e0db8dfa4e38e752d3123ada27ccaf89634bc"
|
||||
PKG_VERSION="21.03"
|
||||
PKG_SHA256="56b7e9abf80cba48032165cd7a46fd8d43dd63e3af35765f66c3f134caaca4ca"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source"
|
||||
PKG_URL="https://mediaarea.net/download/source/libmediainfo/${PKG_VERSION}/libmediainfo_${PKG_VERSION}.tar.xz"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libzen"
|
||||
PKG_VERSION="0.4.40"
|
||||
PKG_SHA256="0c2e1c7302b3ee260d34b52e4b16ab655bdf021db8c14653e418aced46eb24a7"
|
||||
PKG_VERSION="0.4.39"
|
||||
PKG_SHA256="cded5d7774294e7d5b42768ceb285243709b6e99eec6e980a3cf7f0890dbb622"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://mediaarea.net/en/MediaInfo/"
|
||||
PKG_URL="https://mediaarea.net/download/source/libzen/${PKG_VERSION}/libzen_${PKG_VERSION}.tar.xz"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mediainfo"
|
||||
PKG_VERSION="22.12"
|
||||
PKG_SHA256="932b82739f738e7db603cf5bb170720731a9e7c61d145c2a54aabb3cd0b753bc"
|
||||
PKG_VERSION="21.03"
|
||||
PKG_SHA256="de50ca0b2c607b8999d3c9e542d27c97030a59f31859b612335315be6850021e"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://mediaarea.net/en/MediaInfo/Download/Source"
|
||||
PKG_URL="https://mediaarea.net/download/source/mediainfo/${PKG_VERSION}/mediainfo_${PKG_VERSION}.tar.xz"
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mpg123"
|
||||
PKG_VERSION="1.31.3"
|
||||
PKG_SHA256="1ca77d3a69a5ff845b7a0536f783fee554e1041139a6b978f6afe14f5814ad1a"
|
||||
PKG_VERSION="1.27.2"
|
||||
PKG_SHA256="52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04"
|
||||
PKG_LICENSE="LGPLv2"
|
||||
PKG_SITE="https://www.mpg123.org/"
|
||||
PKG_URL="https://downloads.sourceforge.net/sourceforge/mpg123/mpg123-${PKG_VERSION}.tar.bz2"
|
||||
PKG_SITE="http://www.mpg123.org/"
|
||||
PKG_URL="http://downloads.sourceforge.net/sourceforge/mpg123/mpg123-${PKG_VERSION}.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain alsa-lib"
|
||||
PKG_LONGDESC="A console based real time MPEG Audio Player for Layer 1, 2 and 3."
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
@@ -2,32 +2,32 @@
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mpv-drmprime"
|
||||
PKG_VERSION="0.35.1"
|
||||
PKG_SHA256="41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9"
|
||||
PKG_VERSION="0.33.1"
|
||||
PKG_SHA256="100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://mpv.io/"
|
||||
PKG_URL="https://github.com/mpv-player/mpv/archive/v${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain waf:host alsa ffmpeg libass libdrm lua52"
|
||||
PKG_DEPENDS_TARGET="toolchain waf:host alsa ffmpeg libass libdrm"
|
||||
PKG_LONGDESC="A media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
PKG_MANUAL_OPTS_TARGET="--prefix=/usr \
|
||||
--disable-libarchive \
|
||||
--enable-lua \
|
||||
--disable-javascript \
|
||||
--disable-uchardet \
|
||||
--disable-rubberband \
|
||||
--disable-lcms2 \
|
||||
--disable-vapoursynth \
|
||||
--disable-jack \
|
||||
--disable-wayland \
|
||||
--disable-x11 \
|
||||
--disable-vulkan \
|
||||
--disable-caca \
|
||||
--enable-drm \
|
||||
--enable-gbm \
|
||||
--enable-egl-drm"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||
--disable-libarchive \
|
||||
--disable-lua \
|
||||
--disable-javascript \
|
||||
--disable-uchardet \
|
||||
--disable-rubberband \
|
||||
--disable-lcms2 \
|
||||
--disable-vapoursynth \
|
||||
--disable-jack \
|
||||
--disable-wayland \
|
||||
--disable-x11 \
|
||||
--disable-vulkan \
|
||||
--disable-caca \
|
||||
--enable-drm \
|
||||
--enable-gbm \
|
||||
--enable-egl-drm"
|
||||
|
||||
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
|
||||
@@ -39,33 +39,27 @@ fi
|
||||
|
||||
if [ "${VAAPI_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" libva"
|
||||
PKG_MANUAL_OPTS_TARGET+=" --enable-vaapi --enable-vaapi-drm"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --enable-vaapi --enable-vaapi-drm"
|
||||
else
|
||||
PKG_MANUAL_OPTS_TARGET+=" --disable-vaapi"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --disable-vaapi"
|
||||
fi
|
||||
|
||||
if [ "${PULSEAUDIO_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" pulseaudio"
|
||||
PKG_MANUAL_OPTS_TARGET+=" --enable-pulse"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --enable-pulse"
|
||||
else
|
||||
PKG_MANUAL_OPTS_TARGET+=" --disable-pulse"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --disable-pulse"
|
||||
fi
|
||||
|
||||
if [ "${KODI_BLURAY_SUPPORT}" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET+=" libbluray"
|
||||
PKG_MANUAL_OPTS_TARGET+=" --enable-libbluray"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --enable-libbluray"
|
||||
else
|
||||
PKG_MANUAL_OPTS_TARGET+=" --disable-libbluray"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --disable-libbluray"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
#mpv does not build in the .TARGET_NAME
|
||||
cd ${PKG_BUILD}
|
||||
rm -rf .${TARGET_NAME}
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
waf configure ${PKG_MANUAL_OPTS_TARGET}
|
||||
waf configure ${PKG_CONFIGURE_OPTS_TARGET}
|
||||
}
|
||||
|
||||
make_target() {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="squeezelite"
|
||||
PKG_VERSION="bc72c0de3fff771540a2a45aaafafed539387b3c" # 2022-04-10 # 1.9.9.1403
|
||||
PKG_SHA256="5aa312d678a593b9a08f79e080a6ebe329d8fc40e6507e28b6705807c408bf7a"
|
||||
PKG_VERSION="556de5689d27b4440adbfeb3c3012da02dbf438e" # 2021-05-14 # 1.9.9.1386
|
||||
PKG_SHA256="8de5348b0ee23f4a24371dad589c887d083194e24a0e526585417edcd34a4d86"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://github.com/ralph-irving/squeezelite"
|
||||
PKG_URL="https://github.com/ralph-irving/squeezelite/archive/${PKG_VERSION}.tar.gz"
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libpcap"
|
||||
PKG_VERSION="1.10.3"
|
||||
PKG_SHA256="2a8885c403516cf7b0933ed4b14d6caa30e02052489ebd414dc75ac52e7559e6"
|
||||
PKG_VERSION="1.10.1"
|
||||
PKG_SHA256="ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://www.tcpdump.org/"
|
||||
PKG_URL="https://www.tcpdump.org/release/libpcap-${PKG_VERSION}.tar.gz"
|
||||
PKG_SITE="http://www.tcpdump.org/"
|
||||
PKG_URL="http://www.tcpdump.org/release/libpcap-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A portable framework for low-level network monitoring."
|
||||
# use configure, not cmake. review cmake in future release.
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libstatgrab"
|
||||
PKG_VERSION="0.92.1"
|
||||
PKG_SHA256="5688aa4a685547d7174a8a373ea9d8ee927e766e3cc302bdee34523c2c5d6c11"
|
||||
PKG_SITE="https://libstatgrab.org"
|
||||
PKG_URL="https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_${PKG_VERSION//./_}/libstatgrab-${PKG_VERSION}.tar.gz"
|
||||
PKG_VERSION="0.92"
|
||||
PKG_SHA256="5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
|
||||
PKG_SITE="http://www.i-scream.org/libstatgrab/"
|
||||
PKG_URL="http://ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION=libs
|
||||
PKG_LONGDESC="A library that provides cross platform access to statistics about the system on which it's run."
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="iperf"
|
||||
PKG_VERSION="3.13"
|
||||
PKG_SHA256="a49d23fe0d3b1482047ad7f3b9e384c69657a63b486c4e3f0ce512a077d94434"
|
||||
PKG_VERSION="3.9"
|
||||
PKG_SHA256="c6d8076b800f2b51f92dc941b0a9b77fbf2a867f623b5cb3cbf4754dabc40899"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://software.es.net/iperf/"
|
||||
PKG_URL="https://github.com/esnet/iperf/archive/${PKG_VERSION}.tar.gz"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="irssi"
|
||||
PKG_VERSION="1.4.3"
|
||||
PKG_SHA256="b93f715223a322e67f42b61a08a512ae29e34bd4a53d7f223766660aaa5a0434"
|
||||
PKG_VERSION="1.2.3"
|
||||
PKG_SHA256="a647bfefed14d2221fa77b6edac594934dc672c4a560417b1abcbbc6b88d769f"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.irssi.org/"
|
||||
PKG_URL="https://github.com/irssi/irssi/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||
@@ -11,7 +11,14 @@ PKG_DEPENDS_TARGET="toolchain glib ncurses openssl"
|
||||
PKG_LONGDESC="Irssi is a terminal based IRC client for UNIX systems."
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
PKG_MESON_OPTS_TARGET="-Dwithout-textui=no \
|
||||
-Dwith-bot=no \
|
||||
-Dwith-proxy=no \
|
||||
-Dwith-perl=no"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=${SYSROOT_PREFIX} \
|
||||
--disable-glibtest \
|
||||
--without-socks \
|
||||
--with-textui \
|
||||
--without-bot \
|
||||
--without-proxy \
|
||||
--without-perl"
|
||||
|
||||
pre_configure_target() {
|
||||
export CFLAGS="${CFLAGS} -I${PKG_BUILD}"
|
||||
}
|
||||
|
||||
@@ -12,12 +12,7 @@ PKG_LONGDESC="A sophisticated ftp/http client, and a file transfer program suppo
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-nls \
|
||||
--disable-rpath \
|
||||
--without-gnutls \
|
||||
--with-openssl \
|
||||
--with-readline=${SYSROOT_PREFIX}/usr \
|
||||
--with-zlib=${SYSROOT_PREFIX}/usr"
|
||||
|
||||
post_configure_target() {
|
||||
libtool_remove_rpath libtool
|
||||
}
|
||||
|
||||
@@ -7,14 +7,13 @@ PKG_SHA256="500c29914dd26f5aa6df07446388d49b60249622c9b0fd1f266f62a5706f056c"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/jpr5/ngrep"
|
||||
PKG_URL="https://github.com/jpr5/ngrep/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libpcap pcre2"
|
||||
PKG_DEPENDS_TARGET="toolchain libpcap"
|
||||
PKG_LONGDESC="A tool like GNU grep applied to the network layer."
|
||||
PKG_TOOLCHAIN="autotools"
|
||||
PKG_BUILD_FLAGS="-sysroot -parallel"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--with-pcap-includes=${SYSROOT_PREFIX}/usr/include \
|
||||
--enable-ipv6 \
|
||||
--enable-pcre2 \
|
||||
--disable-dropprivs"
|
||||
|
||||
pre_build_target() {
|
||||
|
||||
@@ -1,252 +0,0 @@
|
||||
From cfcf1e6e9c4f8a2404810d8d1d90e6d1eaa0abdd Mon Sep 17 00:00:00 2001
|
||||
From: Romain Francoise <romain@rfr.io>
|
||||
Date: Sat, 20 Nov 2021 23:28:15 +0100
|
||||
Subject: [PATCH] Port to PCRE2 API and enable JIT compilation
|
||||
|
||||
The original PCRE API provided on most systems by libpcre3 is no longer
|
||||
maintained upstream and is superseded by the new PCRE2 API, which was
|
||||
first released in 2015. pcre3 will be removed from Debian in 2023, as
|
||||
noted in this bug report: https://bugs.debian.org/1000080
|
||||
|
||||
This commit replaces the existing PCRE implementation with a new one
|
||||
using PCRE2, which is quite similar. One benefit is that PCRE2 provides
|
||||
a JIT compiler which can replace the interpretive regular expression
|
||||
evaluation code with native machine code on most modern platforms:
|
||||
https://pcre.org/current/doc/html/pcre2jit.html
|
||||
|
||||
Depending on the length and complexity of the pattern used, enabling JIT
|
||||
compilation makes Ngrep 50x to 150x faster, testing in quiet mode on a
|
||||
multi-gigabyte PCAP file stored on tmpfs.
|
||||
---
|
||||
configure.in | 24 ++++++------
|
||||
ngrep.c | 106 ++++++++++++++++++++++++++++++++++-----------------
|
||||
2 files changed, 82 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index dbef39b..0806a62 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -141,16 +141,16 @@ dnl
|
||||
REGEX_DIR=''
|
||||
REGEX_OBJS=''
|
||||
|
||||
-AC_ARG_ENABLE(pcre,
|
||||
-[ --enable-pcre use PCRE instead of GNU regex (default GNU)],
|
||||
-[ use_pcre="$enableval" ],
|
||||
-[ use_pcre="no" ])
|
||||
-
|
||||
-if test $use_pcre = yes; then
|
||||
- USE_PCRE="1"
|
||||
- EXTRA_LIBS="$EXTRA_LIBS -lpcre"
|
||||
+AC_ARG_ENABLE(pcre2,
|
||||
+[ --enable-pcre2 use PCRE2 instead of GNU regex (default GNU)],
|
||||
+[ use_pcre2="$enableval" ],
|
||||
+[ use_pcre2="no" ])
|
||||
+
|
||||
+if test $use_pcre2 = yes; then
|
||||
+ USE_PCRE2="1"
|
||||
+ EXTRA_LIBS="$EXTRA_LIBS -lpcre2-8"
|
||||
else
|
||||
- USE_PCRE="0"
|
||||
+ USE_PCRE2="0"
|
||||
|
||||
AC_MSG_RESULT
|
||||
AC_MSG_RESULT(Configuring GNU Regular Expression library ...)
|
||||
@@ -476,7 +476,7 @@ dnl
|
||||
AC_DEFINE_UNQUOTED(USE_PCAP_RESTART, $USE_PCAP_RESTART, [whether to call the BPF lexer restart function between multiple BPF filter compilation attempts (default no)])
|
||||
AC_DEFINE_UNQUOTED(PCAP_RESTART_FUNC, $PCAP_RESTART_FUNC, [routine used for restarting the BPF lexer])
|
||||
|
||||
-AC_DEFINE_UNQUOTED(USE_PCRE, $USE_PCRE, [whether to use PCRE (default GNU Regex)])
|
||||
+AC_DEFINE_UNQUOTED(USE_PCRE2, $USE_PCRE2, [whether to use PCRE2 (default GNU Regex)])
|
||||
AC_DEFINE_UNQUOTED(USE_IPv6, $USE_IPv6, [whether to use IPv6 (default off)])
|
||||
AC_DEFINE_UNQUOTED(USE_TCPKILL, $USE_TCPKILL, [whether to enable tcpkill functionality (default off)])
|
||||
AC_DEFINE_UNQUOTED(USE_VLAN_HACK, $USE_VLAN_HACK, [whether to automatically include VLAN frames (default on)])
|
||||
@@ -524,8 +524,8 @@ else
|
||||
AC_MSG_RESULT(CONFIG: privilege dropping DISABLED)
|
||||
fi
|
||||
|
||||
-if test "$USE_PCRE" = "1"; then
|
||||
- AC_MSG_RESULT(CONFIG: using PCRE regex library)
|
||||
+if test "$USE_PCRE2" = "1"; then
|
||||
+ AC_MSG_RESULT(CONFIG: using PCRE2 regex library)
|
||||
else
|
||||
AC_MSG_RESULT(CONFIG: using GNU regex library)
|
||||
fi
|
||||
diff --git a/ngrep.c b/ngrep.c
|
||||
index 3df9389..dcf0555 100644
|
||||
--- a/ngrep.c
|
||||
+++ b/ngrep.c
|
||||
@@ -91,8 +91,9 @@
|
||||
#include <netinet/icmp6.h>
|
||||
#endif
|
||||
|
||||
-#if USE_PCRE
|
||||
-#include <pcre.h>
|
||||
+#if USE_PCRE2
|
||||
+#define PCRE2_CODE_UNIT_WIDTH 8
|
||||
+#include <pcre2.h>
|
||||
#else
|
||||
#include <regex.h>
|
||||
#endif
|
||||
@@ -128,12 +129,14 @@ char nonprint_char = '.';
|
||||
* GNU Regex/PCRE
|
||||
*/
|
||||
|
||||
-#if USE_PCRE
|
||||
-int32_t err_offset;
|
||||
-char *re_err = NULL;
|
||||
+#if USE_PCRE2
|
||||
+PCRE2_SIZE err_offset;
|
||||
+int re_err;
|
||||
|
||||
-pcre *pattern = NULL;
|
||||
-pcre_extra *pattern_extra = NULL;
|
||||
+pcre2_code *re;
|
||||
+pcre2_match_data *pcre2_md;
|
||||
+PCRE2_SPTR pattern;
|
||||
+uint32_t pcre2_jit_on = 0;
|
||||
#else
|
||||
const char *re_err = NULL;
|
||||
|
||||
@@ -189,6 +192,7 @@ uint32_t ws_row, ws_col = 80, ws_col_forced = 0;
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int32_t c;
|
||||
+ const char *extra = "";
|
||||
|
||||
signal(SIGINT, clean_exit);
|
||||
signal(SIGABRT, clean_exit);
|
||||
@@ -394,8 +398,12 @@ int main(int argc, char **argv) {
|
||||
if (setup_matcher())
|
||||
clean_exit(2);
|
||||
|
||||
+#if USE_PCRE2
|
||||
+ if (pcre2_jit_on)
|
||||
+ extra = " (JIT)";
|
||||
+#endif
|
||||
if (quiet < 2 && strlen(match_data))
|
||||
- printf("%smatch: %s%s\n", invert_match?"don't ":"",
|
||||
+ printf("%smatch%s: %s%s\n", invert_match?"don't ":"", extra,
|
||||
(bin_data && !strchr(match_data, 'x'))?"0x":"", match_data);
|
||||
|
||||
if (re_match_word) free(match_data);
|
||||
@@ -631,14 +639,14 @@ int setup_matcher(void) {
|
||||
|
||||
} else {
|
||||
|
||||
-#if USE_PCRE
|
||||
- uint32_t pcre_options = PCRE_UNGREEDY;
|
||||
+#if USE_PCRE2
|
||||
+ uint32_t pcre_options = PCRE2_UNGREEDY;
|
||||
|
||||
if (re_ignore_case)
|
||||
- pcre_options |= PCRE_CASELESS;
|
||||
+ pcre_options |= PCRE2_CASELESS;
|
||||
|
||||
if (re_multiline_match)
|
||||
- pcre_options |= PCRE_DOTALL;
|
||||
+ pcre_options |= PCRE2_DOTALL;
|
||||
#else
|
||||
re_syntax_options = RE_CHAR_CLASSES | RE_NO_BK_PARENS | RE_NO_BK_VBAR |
|
||||
RE_CONTEXT_INDEP_ANCHORS | RE_CONTEXT_INDEP_OPS;
|
||||
@@ -673,15 +681,36 @@ int setup_matcher(void) {
|
||||
match_data = word_regex;
|
||||
}
|
||||
|
||||
-#if USE_PCRE
|
||||
- pattern = pcre_compile(match_data, pcre_options, (const char **)&re_err, &err_offset, 0);
|
||||
+#if USE_PCRE2
|
||||
+ re = pcre2_compile((PCRE2_SPTR8)match_data, PCRE2_ZERO_TERMINATED,
|
||||
+ pcre_options, &re_err, &err_offset, NULL);
|
||||
+ if (!re) {
|
||||
+ PCRE2_UCHAR buffer[256];
|
||||
+ pcre2_get_error_message(re_err, buffer, sizeof(buffer));
|
||||
+ fprintf(stderr, "regex compile failed: %s (offset: %zd)\n", buffer,
|
||||
+ err_offset);
|
||||
+ return 1;
|
||||
+ }
|
||||
|
||||
- if (!pattern) {
|
||||
- fprintf(stderr, "compile failed: %s\n", re_err);
|
||||
+ pcre2_md = pcre2_match_data_create_from_pattern(re, NULL);
|
||||
+ if (!pcre2_md) {
|
||||
+ fprintf(stderr, "unable to alloc pcre2 match data\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
- pattern_extra = pcre_study(pattern, 0, (const char **)&re_err);
|
||||
+ pcre2_config(PCRE2_CONFIG_JIT, &pcre2_jit_on);
|
||||
+ if (pcre2_jit_on) {
|
||||
+ int rc;
|
||||
+ size_t jitsz;
|
||||
+
|
||||
+ if (pcre2_jit_compile(re, PCRE2_JIT_COMPLETE) != 0) {
|
||||
+ fprintf(stderr, "unable to JIT-compile pcre2 regular expression\n");
|
||||
+ return 1;
|
||||
+ }
|
||||
+ rc = pcre2_pattern_info(re, PCRE2_INFO_JITSIZE, &jitsz);
|
||||
+ if (rc || jitsz == 0)
|
||||
+ pcre2_jit_on = 0;
|
||||
+ }
|
||||
#else
|
||||
re_err = re_compile_pattern(match_data, strlen(match_data), &pattern);
|
||||
if (re_err) {
|
||||
@@ -990,24 +1019,29 @@ void dump_packet(struct pcap_pkthdr *h, u_char *p, uint8_t proto, unsigned char
|
||||
}
|
||||
|
||||
int8_t re_match_func(unsigned char *data, uint32_t len, uint16_t *mindex, uint16_t *msize) {
|
||||
-#if USE_PCRE
|
||||
-
|
||||
- static int sub[2];
|
||||
- switch(pcre_exec(pattern, 0, (char const *)data, (int32_t)len, 0, 0, 0, 0)) {
|
||||
- case PCRE_ERROR_NULL:
|
||||
- case PCRE_ERROR_BADOPTION:
|
||||
- case PCRE_ERROR_BADMAGIC:
|
||||
- case PCRE_ERROR_UNKNOWN_NODE:
|
||||
- case PCRE_ERROR_NOMEMORY:
|
||||
- perror("she's dead, jim\n");
|
||||
- clean_exit(2);
|
||||
+#if USE_PCRE2
|
||||
+ int rc;
|
||||
+ PCRE2_SIZE *ovector;
|
||||
+ PCRE2_UCHAR errbuf[256];
|
||||
|
||||
- case PCRE_ERROR_NOMATCH:
|
||||
- return 0;
|
||||
+ if (pcre2_jit_on)
|
||||
+ rc = pcre2_jit_match(re, data, len, 0, 0, pcre2_md, NULL);
|
||||
+ else
|
||||
+ rc = pcre2_match(re, data, len, 0, 0, pcre2_md, NULL);
|
||||
|
||||
- default:
|
||||
- *mindex = sub[0];
|
||||
- *msize = sub[1] - sub[0];
|
||||
+ if (rc < 0) {
|
||||
+ switch (rc) {
|
||||
+ case PCRE2_ERROR_NOMATCH:
|
||||
+ return 0;
|
||||
+ default:
|
||||
+ pcre2_get_error_message(rc, errbuf, sizeof(errbuf));
|
||||
+ fprintf(stderr, "she's dead, jim: %s (error %d)\n", errbuf, rc);
|
||||
+ clean_exit(2);
|
||||
+ }
|
||||
+ } else {
|
||||
+ ovector = pcre2_get_ovector_pointer(pcre2_md);
|
||||
+ *mindex = ovector[0];
|
||||
+ *msize = ovector[1] - ovector[0];
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -1479,9 +1513,9 @@ void clean_exit(int32_t sig) {
|
||||
if (quiet < 1 && sig >= 0)
|
||||
printf("exit\n");
|
||||
|
||||
-#if USE_PCRE
|
||||
- if (pattern) pcre_free(pattern);
|
||||
- if (pattern_extra) pcre_free(pattern_extra);
|
||||
+#if USE_PCRE2
|
||||
+ if (re) pcre2_code_free(re);
|
||||
+ if (pcre2_md) pcre2_match_data_free(pcre2_md);
|
||||
#else
|
||||
if (pattern.translate) free(pattern.translate);
|
||||
if (pattern.fastmap) free(pattern.fastmap);
|
||||
@@ -2,11 +2,11 @@
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="nmap"
|
||||
PKG_VERSION="7.93"
|
||||
PKG_SHA256="55bcfe4793e25acc96ba4274d8c4228db550b8e8efd72004b38ec55a2dd16651"
|
||||
PKG_VERSION="7.91"
|
||||
PKG_SHA256="18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://nmap.org/"
|
||||
PKG_URL="https://nmap.org/dist/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_SITE="http://nmap.org/"
|
||||
PKG_URL="http://nmap.org/dist/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain openssl"
|
||||
PKG_LONGDESC="Free Security Scanned for Network."
|
||||
PKG_BUILD_FLAGS="-sysroot"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="rar2fs"
|
||||
PKG_VERSION="1.29.6"
|
||||
PKG_SHA256="ba3a0b649f2322498d54168f03d2e8bca9b1c96d70d0d97d83ea336a7525d4cb"
|
||||
PKG_VERSION="1.29.5"
|
||||
PKG_SHA256="a56e9f2fd3d5037087b8405cff85ce7ffb74a904176f33f55b7bd15117cff2be"
|
||||
PKG_LICENSE="GPL3"
|
||||
PKG_SITE="https://github.com/hasse69/rar2fs"
|
||||
PKG_URL="https://github.com/hasse69/rar2fs/releases/download/v${PKG_VERSION}/rar2fs-${PKG_VERSION}.tar.gz"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user