Updates: integrate all dev branch changes

This commit is contained in:
Alex P 2025-10-01 15:50:39 +03:00
parent bdcac6a468
commit ef5c25efcf
4 changed files with 38 additions and 9 deletions

View File

@ -5,7 +5,7 @@ function sudo() {
if [ "$UID" -eq 0 ]; then
"$@"
else
${SUDO_PATH} "$@"
${SUDO_PATH} -E "$@"
fi
}
@ -42,8 +42,15 @@ AUDIO_DEPS_SCRIPT="${PROJECT_ROOT}/install_audio_deps.sh"
if [ -f "${AUDIO_DEPS_SCRIPT}" ]; then
echo "Running audio dependencies installation..."
bash "${AUDIO_DEPS_SCRIPT}"
sudo bash "${AUDIO_DEPS_SCRIPT}"
echo "Audio dependencies installation completed."
if [ -d "/opt/jetkvm-audio-libs" ]; then
echo "Audio libraries installed in /opt/jetkvm-audio-libs"
sudo chmod -R o+rw /opt/jetkvm-audio-libs
else
echo "Error: /opt/jetkvm-audio-libs directory not found after installation."
exit 1
fi
else
echo "Warning: Audio dependencies script not found at ${AUDIO_DEPS_SCRIPT}"
echo "Skipping audio dependencies installation."

View File

@ -40,8 +40,8 @@ export GOARCH := arm
export GOARM := 7
export CC := $(BUILDKIT_PATH)/bin/$(BUILDKIT_FLAVOR)-gcc
export CGO_ENABLED := 1
export CGO_CFLAGS := $(OPTIM_CFLAGS) -I$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/celt
export CGO_LDFLAGS := -L$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/src/.libs -lasound -L$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/.libs -lopus -lm -ldl -static
export CGO_CFLAGS := $(OPTIM_CFLAGS) -I$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/include -I$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/sysroot/usr/include -I$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/include -I$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/celt
export CGO_LDFLAGS := -L$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/lib -L$(BUILDKIT_PATH)/$(BUILDKIT_FLAVOR)/sysroot/usr/lib -lrockit -lrockchip_mpp -lrga -lpthread -L$(AUDIO_LIBS_DIR)/alsa-lib-$(ALSA_VERSION)/src/.libs -lasound -L$(AUDIO_LIBS_DIR)/opus-$(OPUS_VERSION)/.libs -lopus -lm -ldl
PROMETHEUS_TAG := github.com/prometheus/common/version
KVM_PKG_NAME := github.com/jetkvm/kvm

View File

@ -17,9 +17,6 @@ import (
)
/*
#cgo CFLAGS: -I/opt/jetkvm-audio-libs/alsa-lib-$ALSA_VERSION/include -I/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/include -I/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/celt
#cgo LDFLAGS: -L/opt/jetkvm-audio-libs/alsa-lib-$ALSA_VERSION/src/.libs -lasound -L/opt/jetkvm-audio-libs/opus-$OPUS_VERSION/.libs -lopus -lm -ldl -static
#include "c/audio.c"
*/
import "C"

View File

@ -15,27 +15,52 @@ if [ "$CLEAN_ALL" -eq 1 ]; then
fi
TMP_DIR=$(mktemp -d)
# Ensure temp directory persists and is cleaned up properly
# Also handle SIGINT (CTRL+C) and SIGTERM - kill all child processes
trap 'pkill -P $$; rm -rf "${TMP_DIR}"; exit 1' INT TERM
pushd "${CGO_PATH}" > /dev/null
msg_info "▶ Generating UI index"
./ui_index.gen.sh
msg_info "▶ Building native library"
# Fix clock skew issues by resetting file timestamps
find "${CGO_PATH}" -type f -exec touch {} +
# Only clean CMake cache if the build configuration files don't exist
# This prevents re-running expensive compiler detection on every build
if [ ! -f "${BUILD_DIR}/CMakeCache.txt" ]; then
msg_info "First build - CMake will configure the project"
fi
VERBOSE=1 cmake -B "${BUILD_DIR}" \
-DCMAKE_SYSTEM_PROCESSOR=armv7l \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_CROSSCOMPILING=1 \
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE \
-DCMAKE_C_COMPILER_WORKS=1 \
-DCMAKE_CXX_COMPILER_WORKS=1 \
-DCMAKE_C_ABI_COMPILED=1 \
-DCMAKE_CXX_ABI_COMPILED=1 \
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY \
-DLV_BUILD_USE_KCONFIG=ON \
-DLV_BUILD_DEFCONFIG_PATH=${CGO_PATH}/lvgl_defconfig \
-DCONFIG_LV_BUILD_EXAMPLES=OFF \
-DCONFIG_LV_BUILD_DEMOS=OFF \
-DSKIP_GLIBC_NAMES=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${TMP_DIR}"
msg_info "▶ Copying built library and header files"
cmake --build "${BUILD_DIR}" --target install
# Clock skew can cause make to return 1 even when build succeeds
# We verify success by checking if the output file exists
cmake --build "${BUILD_DIR}" --target install || true
if [ ! -f "${TMP_DIR}/lib/libjknative.a" ]; then
msg_err "Build failed - libjknative.a not found"
exit 1
fi
cp -r "${TMP_DIR}/include" "${CGO_PATH}"
cp -r "${TMP_DIR}/lib" "${CGO_PATH}"
rm -rf "${TMP_DIR}"