hass-core/script/build_libcec
Michaël Arnauts d4eabaf844 Remove build dirs from docker image to keep the layers small (#5243)
* 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
2017-01-14 07:41:41 -08:00

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
)