Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions packages/addons/addon-depends/qt5/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)

PKG_NAME="qt5"
PKG_VERSION="5.15.18"
PKG_SHA256="cea1fbabf02455f3f0e8eaa839f5d6f45cdb56b62c8a83af5c1d00ac05f912ea"
PKG_VERSION="5.15.19"
PKG_SHA256="173c2326dae138bbb0d98921e9d911e55c00163d93a6db29f294b5e19ff306ae"
PKG_LICENSE="LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
PKG_SITE="https://qt-project.org"
PKG_URL="https://download.qt.io/archive/qt/${PKG_VERSION%.*}/${PKG_VERSION}/single/qt-everywhere-opensource-src-${PKG_VERSION}.tar.xz"
Expand All @@ -12,8 +12,7 @@ PKG_LONGDESC="A cross-platform application and UI framework."
PKG_BUILD_FLAGS="-sysroot"

PKG_CONFIGURE_OPTS_TARGET="-prefix /usr
-sysroot "${SYSROOT_PREFIX}"
-hostprefix "${TOOLCHAIN}"
-hostprefix /usr/host
-device linux-libreelec-g++
-opensource -confirm-license
-release
Expand Down Expand Up @@ -140,3 +139,7 @@ EOF
unset CC CXX LD RANLIB AR AS CPPFLAGS CFLAGS LDFLAGS CXXFLAGS
./configure ${PKG_CONFIGURE_OPTS_TARGET}
}

makeinstall_target() {
make install INSTALL_ROOT="${INSTALL}"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
From ac77fbe9b43c7d5656b521735cc9ab3d3ccc8325 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Thu, 11 Jun 2026 20:48:08 +1000
Subject: [PATCH] CMakeLists: rename version to VERSION to avoid shadowing
C++20 <version>

Problem
-------
The file named `version` in the repository root contains the plain-text
project version string ("1.1.0") and is read by CMakeLists.txt at
configure time:

file(READ version PROJECT_VERSION)

When rpi_ws281x is used as a CMake subdirectory of a C++20 project, the
subdirectory's source path is typically added to the compiler include
search path so that the library headers (ws2811.h, rpihw.h, etc.) can be
found with angle-bracket includes. On any compiler that implements C++20,
the `<version>` feature-test header is part of the standard library. When
a translation unit (directly, or through a transitively included header)
does:

#include <version>

the preprocessor searches the include path in order. If the rpi_ws281x
source directory appears on that path before the toolchain's system include
directory, the compiler opens the plain-text `version` file instead of the
C++20 standard library header. Attempting to parse "1.1.0" as C++ source
is a hard error:

error: stray '.' in program

Fix
---
Rename `version` to `VERSION`. On Linux (and all other case-sensitive
filesystems) `VERSION` and `version` are distinct names; the compiler
looking for `<version>` will no longer find the version data file.

Update the single `file(READ ...)` call in CMakeLists.txt accordingly.
No other file in this repository references the plain name `version` as a
path: `version.h.in` and `version.py` are separate files with different
names and are unaffected.

Impact
------
Behaviour is identical for all existing build methods (CMake, SCons). The
only observable change is the filename on disk; the content and the
PROJECT_VERSION variable it populates are unchanged.
---
CMakeLists.txt | 4 ++--
version => VERSION | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename version => VERSION (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba5dd90..19bb717 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.0.0)

-# read and parse version file
-file(READ version PROJECT_VERSION)
+# read and parse VERSION file
+file(READ VERSION PROJECT_VERSION)
string(STRIP ${PROJECT_VERSION} PROJECT_VERSION)
string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" VERSION_MAJOR ${PROJECT_VERSION})
string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" VERSION_MINOR ${PROJECT_VERSION})
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..9084fa2
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.1.0
diff --git a/version b/version
deleted file mode 100644
index 9084fa2..0000000
--- a/version
+++ /dev/null
@@ -1 +0,0 @@
-1.1.0
--
2.53.0

7 changes: 6 additions & 1 deletion packages/addons/service/hyperhdr/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
PKG_NAME="hyperhdr"
PKG_VERSION="21.0.0.0"
PKG_SHA256="fde381b8ae701c93b57b23cfa95c56dcbbecee7e5e7b2cce5d8b5f97ed86a676"
PKG_REV="1"
PKG_REV="2"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/awawa-dev/HyperHDR"
PKG_URL="https://github.com/awawa-dev/HyperHDR/archive/v${PKG_VERSION}.tar.gz"
Expand Down Expand Up @@ -49,6 +49,11 @@ PKG_CMAKE_OPTS_TARGET="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-Wno-dev"

pre_configure_target() {
cat > "${PKG_BUILD}/toolchain-qt5.cmake" <<EOF
include("${CMAKE_CONF}")
list(APPEND CMAKE_FIND_ROOT_PATH "$(get_install_dir qt5)/usr")
EOF
PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_TOOLCHAIN_FILE=${PKG_BUILD}/toolchain-qt5.cmake"
pkg_flatbuffers_version=$(get_pkg_version flatbuffers)
tar --strip-components=1 -xf "${SOURCES}/flatbuffers/flatbuffers-${pkg_flatbuffers_version}.tar.gz" -C "${PKG_BUILD}/external/flatbuffers"
cp -a $(get_build_dir rpi_ws281x)/* ${PKG_BUILD}/external/rpi_ws281x
Expand Down
8 changes: 7 additions & 1 deletion packages/addons/service/hyperion/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ PKG_NAME="hyperion"
PKG_VERSION="fb413cd7e8825ffc26925013f57ac93a774f12bc"
PKG_SHA256="fafa4eeddacb15a8fd96b0e69fac400faa735c6e1ccd78673c9d96b0ac84d7a3"
PKG_VERSION_DATE="2019-08-19"
PKG_REV="1"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/hyperion-project/hyperion"
Expand Down Expand Up @@ -53,6 +53,12 @@ pre_build_target() {

pre_configure_target() {
echo "" >../cmake/FindGitVersion.cmake

cat > "${PKG_BUILD}/toolchain-qt5.cmake" <<EOF
include("${CMAKE_CONF}")
list(APPEND CMAKE_FIND_ROOT_PATH "$(get_install_dir qt5)/usr")
EOF
PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_TOOLCHAIN_FILE=${PKG_BUILD}/toolchain-qt5.cmake"
}

addon() {
Expand Down