From 3655ff1aa76b5277e368353e966f2791742e52be Mon Sep 17 00:00:00 2001 From: Christian Hewitt Date: Sat, 21 Oct 2023 09:26:56 +0000 Subject: [PATCH] flirc_util: add initial add-on package Signed-off-by: Christian Hewitt --- licenses/FLIRC.txt | 32 ++++++++++++++++ .../addons/addon-depends/hidapi/package.mk | 2 +- .../addons/tools/flirc_util/changelog.txt | 1 + .../addons/tools/flirc_util/icon/icon.png | Bin 0 -> 52272 bytes packages/addons/tools/flirc_util/package.mk | 36 ++++++++++++++++++ .../addons/tools/flirc_util/source/default.py | 8 ++++ 6 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 licenses/FLIRC.txt create mode 100644 packages/addons/tools/flirc_util/changelog.txt create mode 100644 packages/addons/tools/flirc_util/icon/icon.png create mode 100644 packages/addons/tools/flirc_util/package.mk create mode 100644 packages/addons/tools/flirc_util/source/default.py diff --git a/licenses/FLIRC.txt b/licenses/FLIRC.txt new file mode 100644 index 0000000000..d135582636 --- /dev/null +++ b/licenses/FLIRC.txt @@ -0,0 +1,32 @@ +/* + * Copyright 2023 Flirc 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. + * + * THIS SOFTWARE IS PROVIDED BY FLIRC INC. \`\`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 ${AUTHOR_UPPER} 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. + * + * The views and conclusions contained in the software and documentation + * are those of the authors and should not be interpreted as representing + * official policies, either expressed or implied, of Flirc Inc. + */ diff --git a/packages/addons/addon-depends/hidapi/package.mk b/packages/addons/addon-depends/hidapi/package.mk index 55025d6e5e..bee13ef94b 100644 --- a/packages/addons/addon-depends/hidapi/package.mk +++ b/packages/addons/addon-depends/hidapi/package.mk @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0-or-later +# SPDX-License-Identifier: GPL-2.0-only # Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) PKG_NAME="hidapi" diff --git a/packages/addons/tools/flirc_util/changelog.txt b/packages/addons/tools/flirc_util/changelog.txt new file mode 100644 index 0000000000..927b2407d4 --- /dev/null +++ b/packages/addons/tools/flirc_util/changelog.txt @@ -0,0 +1 @@ +initial release diff --git a/packages/addons/tools/flirc_util/icon/icon.png b/packages/addons/tools/flirc_util/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8976d44345bcf1990ec797e5284a4ed9a766a78c GIT binary patch literal 52272 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 literal 0 HcmV?d00001 diff --git a/packages/addons/tools/flirc_util/package.mk b/packages/addons/tools/flirc_util/package.mk new file mode 100644 index 0000000000..7b3febddf9 --- /dev/null +++ b/packages/addons/tools/flirc_util/package.mk @@ -0,0 +1,36 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="flirc_util" +PKG_VERSION="8d3c86e8bb419ad44297c1b186f0cdc7dfcac915" # 30/10/2023 +PKG_SHA256="fc460e6ce5477cb6b83c90a5f8b2ebb9876ed23cdd813a6a4a0fdc3730052a2b" +PKG_LICENSE="FLIRC" +PKG_SITE="http://www.flirc.tv" +PKG_URL="https://github.com/flirc/sdk/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain hidapi libusb" +PKG_SECTION="tools" +PKG_SHORTDESC="CLI utility for flirc IR receivers" +PKG_LONGDESC="Command-Line utility for configuring flirc IR receivers" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="flirc_util" +PKG_ADDON_TYPE="xbmc.python.script" + +make_target() { + cd cli + make VERBOSE="1" \ + CONFIG="release" \ + HOSTOS="LIBREELEC" \ + MACHINE="Linux_${TARGET_ARCH}" \ + BUILDDIR_ROOT="${PKG_BUILD}/build" \ + BUILDDIR="${PKG_BUILD}/build" \ + LSEARCH+=" -L../libs/Linux_${TARGET_ARCH}" \ + flirc_util +} + +addon() { + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/{bin,lib} + cp -P ${PKG_BUILD}/build/flirc_util ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/ + cp -P $(get_install_dir hidapi)/usr/lib/libhidapi-hidraw.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib +} diff --git a/packages/addons/tools/flirc_util/source/default.py b/packages/addons/tools/flirc_util/source/default.py new file mode 100644 index 0000000000..e833d8f43e --- /dev/null +++ b/packages/addons/tools/flirc_util/source/default.py @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) + +import xbmcgui +import subprocess + +xbmcgui.Dialog().ok('', 'This is a console-only addon') +