* Remove build dirs from docker image to keep the layers small * Create setup_docker_prereqs script to prepare docker env * Add documentation for required packages, drop colorlog and cython in first step of Dockerfile since it will be installed later on anyway. Drop libglib2.0-dev and libbluetooth-dev * Also remove early install of colorlog and cython in Dockerfile.dev * Re-add libglib2.0-dev and libbluetooth-dev for Bluetooth LE
55 lines
1.6 KiB
Bash
Executable file
55 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
# Sets up and builds libcec to be used with Home Assistant.
|
|
# Dependencies that need to be installed:
|
|
# apt-get install cmake libudev-dev libxrandr-dev swig
|
|
|
|
# Stop on errors
|
|
set -e
|
|
|
|
# Load required information about the current python environment
|
|
PYTHON_LIBDIR=$(python -c 'from distutils import sysconfig; print(sysconfig.get_config_var("LIBDIR"))')
|
|
PYTHON_LDLIBRARY=$(python -c 'from distutils import sysconfig; print(sysconfig.get_config_var("LDLIBRARY"))')
|
|
PYTHON_LIBRARY="${PYTHON_LIBDIR}/${PYTHON_LDLIBRARY}"
|
|
PYTHON_INCLUDE_DIR=$(python -c 'from distutils import sysconfig; print(sysconfig.get_python_inc())')
|
|
PYTHON_SITE_DIR=$(python -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(prefix=""))')
|
|
|
|
cd "$(dirname "$0")/.."
|
|
mkdir -p build && cd build
|
|
|
|
if [ ! -d libcec ]; then
|
|
git clone --branch release --depth 1 https://github.com/Pulse-Eight/libcec.git
|
|
fi
|
|
|
|
cd libcec
|
|
git checkout release
|
|
git pull
|
|
git submodule update --init src/platform
|
|
|
|
# Build libcec platform libs
|
|
(
|
|
mkdir -p src/platform/build
|
|
cd src/platform/build
|
|
cmake ..
|
|
make
|
|
make install
|
|
)
|
|
|
|
# Fix upstream install hardcoded Debian path.
|
|
# See: https://github.com/Pulse-Eight/libcec/issues/288
|
|
sed -i \
|
|
-e '/DESTINATION/s:lib/python${PYTHON_VERSION}/dist-packages:${PYTHON_SITE_DIR}:' \
|
|
src/libcec/cmake/CheckPlatformSupport.cmake
|
|
|
|
# Build libcec
|
|
(
|
|
mkdir -p build && cd build
|
|
|
|
cmake \
|
|
-DPYTHON_LIBRARY="${PYTHON_LIBRARY}" \
|
|
-DPYTHON_INCLUDE_DIR="${PYTHON_INCLUDE_DIR}" \
|
|
-DPYTHON_SITE_DIR="${PYTHON_SITE_DIR}" \
|
|
..
|
|
make
|
|
make install
|
|
ldconfig
|
|
)
|