diff --git a/packages/emulation/libretro-4do/package.mk b/packages/emulation/libretro-4do/package.mk deleted file mode 100644 index 2098a7bead..0000000000 --- a/packages/emulation/libretro-4do/package.mk +++ /dev/null @@ -1,21 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-4do" -PKG_VERSION="da814a868c41fb47f265e04e5f95756cda62e5c2" -PKG_SHA256="6a3ec326d35ae55fa4e749c600d9eb538fb7c1c3b9ffd1fa1ac6064f4bf5e7b4" -PKG_LICENSE="LGPL" -PKG_SITE="https://github.com/libretro/4do-libretro" -PKG_URL="https://github.com/libretro/4do-libretro/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain" -PKG_LONGDESC="Port of 4DO/libfreedo to libretro." - -PKG_LIBNAME="4do_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" -PKG_LIBVAR="4DO_LIB" - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/emulation/libretro-4do/patches/libretro-4do-0001-fix-makefile.patch b/packages/emulation/libretro-4do/patches/libretro-4do-0001-fix-makefile.patch deleted file mode 100644 index 85ddba078c..0000000000 --- a/packages/emulation/libretro-4do/patches/libretro-4do-0001-fix-makefile.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur a/Makefile b/Makefile ---- a/Makefile 2017-07-01 22:16:40.000000000 -0700 -+++ b/Makefile 2017-07-14 09:55:45.714816515 -0700 -@@ -37,8 +37,6 @@ - endif - - ifneq (,$(findstring unix,$(platform))) -- AR = ${CC_PREFIX}ar -- CC = ${CC_PREFIX}gcc - - TARGET := $(TARGET_NAME)_libretro.so - fpic := -fPIC diff --git a/packages/emulation/libretro-fbalpha/package.mk b/packages/emulation/libretro-fbalpha/package.mk deleted file mode 100644 index a6d5460926..0000000000 --- a/packages/emulation/libretro-fbalpha/package.mk +++ /dev/null @@ -1,42 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-fbalpha" -PKG_VERSION="84eb9d928be2925c20d2577110f44e890d72532d" -PKG_SHA256="c913ffd4df88bde6bfe6792f9b4fc82cce74af343b3e7cab50eaed1d7a9a0ee7" -PKG_LICENSE="GPLv3" -PKG_SITE="https://github.com/libretro/fbalpha" -PKG_URL="https://github.com/libretro/fbalpha/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform" -PKG_LONGDESC="game.libretro.fba: fba for Kodi" -PKG_TOOLCHAIN="make" - -PKG_LIBNAME="fbalpha_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" -PKG_LIBVAR="FBALPHA_LIB" - -pre_make_target() { - PKG_MAKE_OPTS_TARGET="-f makefile.libretro CC=$CC CXX=$CXX GIT_VERSION=${PKG_VERSION:0:7}" - - if [ "$PROJECT" = "RPi" ]; then - case $DEVICE in - RPi) - PKG_MAKE_OPTS_TARGET+=" platform=armv" - ;; - RPi2) - PKG_MAKE_OPTS_TARGET+=" platform=rpi2" - ;; - esac - else - # NEON Support ? - if target_has_feature neon; then - PKG_MAKE_OPTS_TARGET+=" HAVE_NEON=1" - fi - fi -} - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/emulation/libretro-fbneo/package.mk b/packages/emulation/libretro-fbneo/package.mk new file mode 100644 index 0000000000..523325844d --- /dev/null +++ b/packages/emulation/libretro-fbneo/package.mk @@ -0,0 +1,36 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="libretro-fbneo" +PKG_VERSION="67f87d5e58ac4bbc88c61d263ecb2af7faea49f3" +PKG_SHA256="cc3b588d18dcf207e0e6bba258e9dfc602a3e1c7602f7db752ec34d5d36414ed" +PKG_LICENSE="OSS" +PKG_SITE="https://github.com/libretro/FBNeo" +PKG_URL="https://github.com/libretro/FBNeo/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain kodi-platform" +PKG_LONGDESC="game.libretro.fbneo: FinalBurn Neo GameClient for Kodi" +PKG_TOOLCHAIN="make" +PKG_BUILD_FLAGS="+lto" + +PKG_LIBNAME="fbneo_libretro.so" +PKG_LIBPATH="src/burner/libretro/${PKG_LIBNAME}" +PKG_LIBVAR="FBNEO_LIB" + +PKG_MAKE_OPTS_TARGET="-C src/burner/libretro/ GIT_VERSION=${PKG_VERSION:0:7}" + +pre_configure_target() { + if [ "${ARCH}" = "arm" ]; then + PKG_MAKE_OPTS_TARGET+=" platform=armv" + + # NEON Support + if target_has_feature neon; then + PKG_MAKE_OPTS_TARGET+="-neon" + fi + fi +} + +makeinstall_target() { + mkdir -p ${SYSROOT_PREFIX}/usr/lib/cmake/${PKG_NAME} + cp ${PKG_LIBPATH} ${SYSROOT_PREFIX}/usr/lib/${PKG_LIBNAME} + echo "set(${PKG_LIBVAR} ${SYSROOT_PREFIX}/usr/lib/${PKG_LIBNAME})" > ${SYSROOT_PREFIX}/usr/lib/cmake/${PKG_NAME}/${PKG_NAME}-config.cmake +} diff --git a/packages/emulation/libretro-mame/package.mk b/packages/emulation/libretro-mame/package.mk deleted file mode 100644 index 2ce42d41db..0000000000 --- a/packages/emulation/libretro-mame/package.mk +++ /dev/null @@ -1,45 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-mame" -PKG_VERSION="cdff081ffdd0f4b599874d9f8e18b0fe008b75a7" -PKG_SHA256="cac90f3d9876f44a9e377cf60ccb06c1bb6a11425ec07cdedb9473fc8adb988d" -PKG_ARCH="x86_64 arm" -PKG_LICENSE="GPLv2" -PKG_SITE="https://github.com/libretro/mame" -PKG_URL="https://github.com/libretro/mame/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform" -PKG_LONGDESC="game.libretro.mame: MAME for Kodi" -PKG_BUILD_FLAGS="-gold -lto" -PKG_TOOLCHAIN="make" - -PKG_LIBNAME="mame_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" -PKG_LIBVAR="MAME_LIB" - -make_target() { - PTR64="0" - NOASM="0" - - if [ "$ARCH" == "arm" ]; then - NOASM="1" - elif [ "$ARCH" == "x86_64" ]; then - PTR64="1" - fi - - make REGENIE=1 VERBOSE=1 NOWERROR=1 PYTHON_EXECUTABLE=python2 CONFIG=libretro \ - LIBRETRO_OS="unix" ARCH="" PROJECT="" LIBRETRO_CPU="$ARCH" DISTRO="debian-stable" \ - CROSS_BUILD="1" OVERRIDE_CC="$CC" OVERRIDE_CXX="$CXX" \ - PTR64="$PTR64" TARGET="mame" \ - SUBTARGET="arcade" PLATFORM="$ARCH" RETRO=1 OSD="retro" -} - -post_make_target() { - mv $PKG_BUILD/mamearcade_libretro.so $PKG_BUILD/mame_libretro.so -} - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/emulation/libretro-mupen64plus/package.mk b/packages/emulation/libretro-mupen64plus/package.mk deleted file mode 100644 index 59fae24bb6..0000000000 --- a/packages/emulation/libretro-mupen64plus/package.mk +++ /dev/null @@ -1,52 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-mupen64plus" -PKG_VERSION="b21e3292e6ff7afb954d4871362ab6e6473d680f" -PKG_SHA256="2bc4424ac80ee03d248d261908a857dc1e0ae919704830e1629cd111a9acc91e" -PKG_LICENSE="GPLv2" -PKG_SITE="https://github.com/libretro/mupen64plus-libretro" -PKG_URL="https://github.com/libretro/mupen64plus-libretro/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform" -PKG_LONGDESC="game.libretro.mupen64plus: Mupen64Plus for Kodi" - -PKG_LIBNAME="mupen64plus_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" -PKG_LIBVAR="MUPEN64PLUS_LIB" - -make_target() { - - if target_has_feature neon; then - export HAVE_NEON=1 - fi - - if [ -z "$DEVICE" ]; then - PKG_DEVICE_NAME=$PROJECT - else - PKG_DEVICE_NAME=$DEVICE - fi - - case $PKG_DEVICE_NAME in - RPi|RPi2) - make platform=${PKG_DEVICE_NAME,,} - ;; - Generic) - make WITH_DYNAREC=x86_64 - ;; - *) - if [[ "$TARGET_CPU" = "cortex-a9" ]] || [[ "$TARGET_CPU" = *"cortex-a53" ]] || [[ "$TARGET_CPU" = "cortex-a17" ]]; then - if [ "$TARGET_ARCH" = "aarch64" ]; then - make platform=aarch64 - else - make platform=linux-gles FORCE_GLES=1 WITH_DYNAREC=arm - fi - fi - ;; - esac -} - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0003-revert-47e12a3.patch b/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0003-revert-47e12a3.patch deleted file mode 100644 index f0550571ad..0000000000 --- a/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0003-revert-47e12a3.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff -Naur a/libretro-common/libco/amd64.c b/libretro-common/libco/amd64.c ---- a/libretro-common/libco/amd64.c 2016-05-08 08:20:29.000000000 -0700 -+++ b/libretro-common/libco/amd64.c 2016-05-10 14:58:50.221637488 -0700 -@@ -5,7 +5,7 @@ - */ - - #define LIBCO_C --#include -+#include "libco.h" - #include - #include - -@@ -21,6 +21,8 @@ - static thread_local cothread_t co_active_handle = 0; - #ifndef CO_USE_INLINE_ASM - static void (*co_swap)(cothread_t, cothread_t) = 0; -+#else -+void co_swap(cothread_t, cothread_t); - #endif - - #ifdef _WIN32 -@@ -81,7 +83,7 @@ - sizeof(co_swap_function), PAGE_EXECUTE_READWRITE, &old_privileges); - } - #else --/* ABI: SystemV */ -+//ABI: SystemV - #ifndef CO_USE_INLINE_ASM - static unsigned char co_swap_function[] = { - 0x48, 0x89, 0x26, /* mov [rsi],rsp */ -@@ -113,7 +115,29 @@ - mprotect((void*)base, size, PROT_READ | PROT_WRITE | PROT_EXEC); - } - #else --void co_init(void) {} -+__asm__( -+".intel_syntax noprefix\n" -+".globl co_swap \n" -+"co_swap: \n" -+".globl _co_swap \n" /* OSX ABI is different from Linux. */ -+"_co_swap: \n" -+"mov [rsi],rsp \n" -+"mov [rsi+0x08],rbp \n" -+"mov [rsi+0x10],rbx \n" -+"mov [rsi+0x18],r12 \n" -+"mov [rsi+0x20],r13 \n" -+"mov [rsi+0x28],r14 \n" -+"mov [rsi+0x30],r15 \n" -+"mov rsp,[rdi] \n" -+"mov rbp,[rdi+0x08] \n" -+"mov rbx,[rdi+0x10] \n" -+"mov r12,[rdi+0x18] \n" -+"mov r13,[rdi+0x20] \n" -+"mov r14,[rdi+0x28] \n" -+"mov r15,[rdi+0x30] \n" -+"ret \n" -+".att_syntax \n" -+); - #endif - #endif - -@@ -162,42 +186,11 @@ - free(handle); - } - --#ifndef CO_USE_INLINE_ASM - void co_switch(cothread_t handle) - { - register cothread_t co_previous_handle = co_active_handle; - co_swap(co_active_handle = handle, co_previous_handle); - } --#else --#ifdef __APPLE__ --#define ASM_PREFIX "_" --#else --#define ASM_PREFIX "" --#endif --__asm__( --".intel_syntax noprefix \n" --".globl " ASM_PREFIX "co_switch \n" --ASM_PREFIX "co_switch: \n" --"mov rsi, [rip+" ASM_PREFIX "co_active_handle]\n" --"mov [rsi],rsp \n" --"mov [rsi+0x08],rbp \n" --"mov [rsi+0x10],rbx \n" --"mov [rsi+0x18],r12 \n" --"mov [rsi+0x20],r13 \n" --"mov [rsi+0x28],r14 \n" --"mov [rsi+0x30],r15 \n" --"mov [rip+" ASM_PREFIX "co_active_handle], rdi\n" --"mov rsp,[rdi] \n" --"mov rbp,[rdi+0x08] \n" --"mov rbx,[rdi+0x10] \n" --"mov r12,[rdi+0x18] \n" --"mov r13,[rdi+0x20] \n" --"mov r14,[rdi+0x28] \n" --"mov r15,[rdi+0x30] \n" --"ret \n" --".att_syntax \n" --); --#endif - - #ifdef __cplusplus - } diff --git a/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0004-aarch64-support.patch b/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0004-aarch64-support.patch deleted file mode 100644 index 3ad7299d8f..0000000000 --- a/packages/emulation/libretro-mupen64plus/patches/libretro-mupen64plus-0004-aarch64-support.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur a/Makefile b/Makefile ---- a/Makefile 2016-05-08 08:20:29.000000000 -0700 -+++ b/Makefile 2016-05-10 15:08:05.548597094 -0700 -@@ -304,6 +304,17 @@ - CPUFLAGS += -mfloat-abi=hard - endif - -+# aarch64 -+else ifneq (,$(findstring aarch64,$(platform))) -+ TARGET := $(TARGET_NAME)_libretro.so -+ LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined -+ fpic := -fPIC -+# CPUFLAGS += -DNO_ASM -DARM -D__arm__ -DARM_ASM -DNOSSE -+ WITH_DYNAREC=arm64 -+# PLATCFLAGS += -DARM -+ GLES = 1 -+ GL_LIB := -lGLESv2 -+ - # emscripten - else ifeq ($(platform), emscripten) - TARGET := $(TARGET_NAME)_libretro_emscripten.bc diff --git a/packages/emulation/libretro-opera/package.mk b/packages/emulation/libretro-opera/package.mk new file mode 100644 index 0000000000..244137a0b6 --- /dev/null +++ b/packages/emulation/libretro-opera/package.mk @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="libretro-opera" +PKG_VERSION="539dc447b536ba52eb3485f11d9bf1c06e30cf75" +PKG_SHA256="5552025528d8e9100b2f6729ab511f7708f36a687d2d07c379a0087ae7b81021" +PKG_LICENSE="GPL-2.0-or-later" +PKG_SITE="https://github.com/libretro/opera-libretro" +PKG_URL="https://github.com/libretro/opera-libretro/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain kodi-platform" +PKG_LONGDESC="game.libretro.opera: Port of 4DO/libfreedo for Kodi." +PKG_TOOLCHAIN="make" +PKG_BUILD_FLAGS="+lto" + +PKG_LIBNAME="opera_libretro.so" +PKG_LIBPATH="${PKG_LIBNAME}" +PKG_LIBVAR="OPERA_LIB" + +PKG_MAKE_OPTS_TARGET="GIT_VERSION=${PKG_VERSION:0:7}" + +makeinstall_target() { + mkdir -p ${SYSROOT_PREFIX}/usr/lib/cmake/${PKG_NAME} + cp ${PKG_LIBPATH} ${SYSROOT_PREFIX}/usr/lib/${PKG_LIBNAME} + echo "set(${PKG_LIBVAR} ${SYSROOT_PREFIX}/usr/lib/${PKG_LIBNAME})" > ${SYSROOT_PREFIX}/usr/lib/cmake/${PKG_NAME}/${PKG_NAME}-config.cmake +} diff --git a/packages/emulation/libretro-opera/patches/libretro-opera-995.01-crosscompile.patch b/packages/emulation/libretro-opera/patches/libretro-opera-995.01-crosscompile.patch new file mode 100644 index 0000000000..65848dbf88 --- /dev/null +++ b/packages/emulation/libretro-opera/patches/libretro-opera-995.01-crosscompile.patch @@ -0,0 +1,148 @@ +From a845c2c44e2bed070b1f6db5b0fda5a7a84485e6 Mon Sep 17 00:00:00 2001 +From: SupervisedThinking +Date: Thu, 18 Feb 2021 13:21:30 +0100 +Subject: [PATCH] Makefile: only define cc, cxx, ar, ld if not predefined + +--- + Makefile | 52 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 26 insertions(+), 26 deletions(-) + +diff --git a/Makefile b/Makefile +index f588a3c..27c5461 100644 +--- a/Makefile ++++ b/Makefile +@@ -49,8 +49,8 @@ unixpath = $(subst \,/,$1) + unixcygpath = /$(subst :,,$(call unixpath,$1)) + + ifneq (,$(findstring unix,$(platform))) +- AR = ${CC_PREFIX}ar +- CC = ${CC_PREFIX}gcc ++ AR ?= ${CC_PREFIX}ar ++ CC ?= ${CC_PREFIX}gcc + + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC +@@ -138,8 +138,8 @@ else ifeq ($(platform), classic_armv7_a7) + + # ARM + else ifneq (,$(findstring armv,$(platform))) +- AR = ${CC_PREFIX}ar +- CC = ${CC_PREFIX}gcc ++ AR ?= ${CC_PREFIX}ar ++ CC ?= ${CC_PREFIX}gcc + + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC +@@ -180,9 +180,9 @@ ifeq ($(IOSSDK),) + IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path) + endif + ifeq ($(platform),ios-arm64) +- CC = cc -arch arm64 -isysroot $(IOSSDK) ++ CC ?= cc -arch arm64 -isysroot $(IOSSDK) + else +- CC = cc -arch armv7 -isysroot $(IOSSDK) ++ CC ?= cc -arch armv7 -isysroot $(IOSSDK) + endif + ifeq ($(platform),$(filter $(platform),ios9 ios-arm64)) + SHARED += -miphoneos-version-min=8.0 +@@ -213,18 +213,18 @@ else ifeq ($(platform), qnx) + TARGET := $(TARGET_NAME)_libretro_$(platform).so + fpic := -fPIC + SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T +- CC = qcc -Vgcc_ntoarmv7le ++ CC ?= qcc -Vgcc_ntoarmv7le + else ifeq ($(platform), ps3) + TARGET := $(TARGET_NAME)_libretro_$(platform).a +- CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe +- AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe ++ CC ?= $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe ++ AR ?= $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe + STATIC_LINKING = 1 + FLAGS += -DMSB_FIRST -D__CELLOS_LV2__ + OLD_GCC = 1 + else ifeq ($(platform), sncps3) + TARGET := $(TARGET_NAME)_libretro_ps3.a +- CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe +- AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe ++ CC ?= $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe ++ AR ?= $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe + STATIC_LINKING = 1 + FLAGS += -DMSB_FIRST + NO_GCC = 1 +@@ -232,25 +232,25 @@ else ifeq ($(platform), sncps3) + # PSP1 + else ifeq ($(platform), psp1) + TARGET := $(TARGET_NAME)_libretro_$(platform).a +- CC = psp-gcc$(EXE_EXT) +- AR = psp-ar$(EXE_EXT) ++ CC ?= psp-gcc$(EXE_EXT) ++ AR ?= psp-ar$(EXE_EXT) + STATIC_LINKING = 1 + FLAGS += -G0 + + # Vita + else ifeq ($(platform), vita) + TARGET := $(TARGET_NAME)_libretro_$(platform).a +- CC = arm-vita-eabi-gcc$(EXE_EXT) +- AR = arm-vita-eabi-ar$(EXE_EXT) ++ CC ?= arm-vita-eabi-gcc$(EXE_EXT) ++ AR ?= arm-vita-eabi-ar$(EXE_EXT) + STATIC_LINKING = 1 + FLAGS += -DVITA + + # CTR (3DS) + else ifeq ($(platform), ctr) + TARGET := $(TARGET_NAME)_libretro_$(platform).a +- CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT) +- CXX = $(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT) +- AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT) ++ CC ?= $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT) ++ CXX ?=$(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT) ++ AR ?= $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT) + FLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard + FLAGS += -Wall -mword-relocations + FLAGS += -fomit-frame-pointer -ffast-math +@@ -308,8 +308,8 @@ else ifeq ($(platform), emscripten) + # Windows MSVC 2003 Xbox 1 + else ifeq ($(platform), xbox1_msvc2003) + TARGET := $(TARGET_NAME)_libretro_xdk1.lib +-CC = CL.exe +-LD = lib.exe ++CC ?= CL.exe ++LD ?= lib.exe + + export INCLUDE := $(XDK)/xbox/include + export LIB := $(XDK)/xbox/lib +@@ -322,8 +322,8 @@ HAS_GCC := 0 + else ifeq ($(platform), xbox360_msvc2010) + TARGET := $(TARGET_NAME)_libretro_xdk360.lib + MSVCBINDIRPREFIX = $(XEDK)/bin/win32 +-CC = "$(MSVCBINDIRPREFIX)/cl.exe" +-LD = "$(MSVCBINDIRPREFIX)/lib.exe" ++CC ?= "$(MSVCBINDIRPREFIX)/cl.exe" ++LD ?= "$(MSVCBINDIRPREFIX)/lib.exe" + + export INCLUDE := $(XEDK)/include/xbox + export LIB := $(XEDK)/lib/xbox +@@ -456,9 +456,9 @@ else ifneq (,$(findstring windows_msvc2017,$(platform))) + + TargetArchMoniker = $(subst $(WinPartition)_,,$(PlatformSuffix)) + +- CC = cl.exe +- CXX = cl.exe +- LD = link.exe ++ CC ?= cl.exe ++ CXX ?= cl.exe ++ LD ?= link.exe + + reg_query = $(call filter_out2,$(subst $2,,$(shell reg query "$2" -v "$1" 2>nul))) + fix_path = $(subst $(SPACE),\ ,$(subst \,/,$1)) +@@ -612,7 +612,7 @@ ifeq ($(STATIC_LINKING),1) + LD ?= lib.exe + STATIC_LINKING=0 + else +- LD = link.exe ++ LD ?= link.exe + endif + else + LD = $(CC) diff --git a/packages/emulation/libretro-reicast/package.mk b/packages/emulation/libretro-reicast/package.mk deleted file mode 100644 index d13ddd6b60..0000000000 --- a/packages/emulation/libretro-reicast/package.mk +++ /dev/null @@ -1,39 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-reicast" -PKG_VERSION="cd53e401a67ce573941dab3e297b76e438e53e42" -PKG_SHA256="a6b015073c31879092e34726c98a14148c1d0d077797d9374218e920dbcdde50" -PKG_LICENSE="GPLv2" -PKG_SITE="https://github.com/libretro/reicast-emulator" -PKG_URL="https://github.com/libretro/reicast-emulator/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform" -PKG_LONGDESC="Reicast is a multiplatform Sega Dreamcast emulator" - -PKG_LIBNAME="reicast_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" -PKG_LIBVAR="REICAST_LIB" - -make_target() { - if [ "$DEVICE" = "RPi2" ]; then - make platform=${DEVICE,,} - else - case $TARGET_CPU in - arm1176jzf-s) - make platform=arm FORCE_GLES=1 - ;; - cortex-a7|cortex-a9) - make platform=armv7-neon-hardfloat-$TARGET_CPU FORCE_GLES=1 - ;; - x86-64) - make - ;; - esac - fi -} - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/emulation/libretro-vram-test/package.mk b/packages/emulation/libretro-vram-test/package.mk deleted file mode 100644 index c6b54f8e99..0000000000 --- a/packages/emulation/libretro-vram-test/package.mk +++ /dev/null @@ -1,30 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libretro-vram-test" -PKG_VERSION="6b90ce9" -PKG_SHA256="2bd1b3af783a028355eb4b4c416f09802313a9a69759e716377b55012f7bb4ae" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/libretro/libretro-samples" -PKG_URL="https://github.com/libretro/libretro-samples/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain" -PKG_LONGDESC="VRAM Test from libretro" -PKG_TOOLCHAIN="manual" - -PKG_LIBNAME="testsw_vram_libretro.so" -PKG_LIBVAR="VRAM-TEST_LIB" - -configure_package() { - PKG_LIBPATH="$PKG_BUILD/video/software/rendering_direct_to_vram/$PKG_LIBNAME" -} - -make_target() { - cd $PKG_BUILD/video/software/rendering_direct_to_vram - make -} - -makeinstall_target() { - mkdir -p $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME - cp $PKG_LIBPATH $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME - echo "set($PKG_LIBVAR $SYSROOT_PREFIX/usr/lib/$PKG_LIBNAME)" > $SYSROOT_PREFIX/usr/lib/cmake/$PKG_NAME/$PKG_NAME-config.cmake -} diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.4do/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.4do/package.mk deleted file mode 100644 index 9ee8776de4..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.4do/package.mk +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.4do" -PKG_VERSION="1.3.2.8-Leia" -PKG_SHA256="b5f847e6809f686c9cfdaeb5f7636da36111c98a74a8abbf58d20ea16d33aa31" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.4do" -PKG_URL="https://github.com/kodi-game/game.libretro.4do/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-4do" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.4do: 4DO for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.fbalpha/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.fbalpha/package.mk deleted file mode 100644 index aed20d1eb4..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.fbalpha/package.mk +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.fbalpha" -PKG_VERSION="0.2.97.13-Leia" -PKG_SHA256="e6f2fadb341554937800016e08d87e5a2864106ea7b39485b5dad4faa4d5b7c8" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.fbalpha" -PKG_URL="https://github.com/kodi-game/game.libretro.fbalpha/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-fbalpha" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.fbalpha: fba for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.fbneo/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.fbneo/package.mk new file mode 100644 index 0000000000..c519b110e4 --- /dev/null +++ b/packages/mediacenter/kodi-binary-addons/game.libretro.fbneo/package.mk @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="game.libretro.fbneo" +PKG_VERSION="1.0.0.32-Leia" +PKG_SHA256="36eaa102dc8300eac934907350bbb798fae68b19e791acb58d6ec86cfa9877f9" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/kodi-game/game.libretro.fbneo" +PKG_URL="https://github.com/kodi-game/game.libretro.fbneo/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-fbneo" +PKG_SECTION="" +PKG_LONGDESC="game.libretro.fbneo: FinalBurn Neo GameClient for Kodi" + +PKG_IS_ADDON="yes" +PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.mame/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.mame/package.mk deleted file mode 100644 index 933d771f8d..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.mame/package.mk +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.mame" -PKG_VERSION="0.219.0.5-Leia" -PKG_SHA256="664e4aa4e734524ae25fcf13257ca7e30c35c8265c1abfb137cfd40a105fbf54" -PKG_REV="1" -PKG_ARCH="x86_64" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.mame" -PKG_URL="https://github.com/kodi-game/game.libretro.mame/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-mame" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.mame: MAME emulator for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.mame2014/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.mame2014/package.mk deleted file mode 100644 index 4a3db820a9..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.mame2014/package.mk +++ /dev/null @@ -1,24 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.mame2014" -PKG_VERSION="1.0" -PKG_REV="106" -PKG_ARCH="any" -PKG_LICENSE="GPLv2" -PKG_SITE="" -PKG_URL="" -PKG_DEPENDS_TARGET="toolchain" -PKG_SECTION="" -PKG_SHORTDESC="Arcade (MAME 2014): Add-on removed" -PKG_LONGDESC="Arcade (MAME 2014) Add-on removed" -PKG_TOOLCHAIN="manual" - -PKG_ADDON_BROKEN="Arcade (MAME 2014) is superseeded by Arcade (MAME 2015)" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="xbmc.broken" - -addon() { - : -} diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.mupen64plus/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.mupen64plus/package.mk deleted file mode 100644 index 26e0520460..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.mupen64plus/package.mk +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.mupen64plus" -PKG_VERSION="2.5.0.6-Leia" -PKG_SHA256="bad6dd3e677ac1fa897bbad2508e3e3c1b90f0ac390fadac6cd967863557e8ad" -PKG_REV="115" -# no openGL suport in retroplayer yet -PKG_ARCH="none" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.mupen64plus" -PKG_URL="https://github.com/kodi-game/game.libretro.mupen64plus/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-mupen64plus" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.mupen64plus: Mupen 64 Plus emulator for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.opera/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.opera/package.mk new file mode 100644 index 0000000000..7298de9616 --- /dev/null +++ b/packages/mediacenter/kodi-binary-addons/game.libretro.opera/package.mk @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="game.libretro.opera" +PKG_VERSION="1.0.0.16-Leia" +PKG_SHA256="fdc0e2dbd945579fc76a1e29d1ee70eadf46bb2b6b28b50c6db1dd4be61bd691" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/kodi-game/game.libretro.opera" +PKG_URL="https://github.com/kodi-game/game.libretro.opera/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-opera" +PKG_SECTION="" +PKG_LONGDESC="game.libretro.opera: Port of 4DO/libfreedo for Kodi." + +PKG_IS_ADDON="yes" +PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.reicast/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.reicast/package.mk deleted file mode 100644 index d79e0feadc..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.reicast/package.mk +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.reicast" -PKG_VERSION="0.1.0.14-Leia" -PKG_SHA256="dd3375187813284ce2c4b34636cf08583b96cfa77b7f785d1c861125926bbec0" -PKG_REV="1" -# no openGL suport in retroplayer yet -PKG_ARCH="none" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.reicast" -PKG_URL="https://github.com/kodi-game/game.libretro.reicast/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-reicast" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.reicast: reicast for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/packages/mediacenter/kodi-binary-addons/game.libretro.vram-test/package.mk b/packages/mediacenter/kodi-binary-addons/game.libretro.vram-test/package.mk deleted file mode 100644 index 57c99a5328..0000000000 --- a/packages/mediacenter/kodi-binary-addons/game.libretro.vram-test/package.mk +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="game.libretro.vram-test" -PKG_VERSION="92e1146" -PKG_SHA256="ab866d1cc455c4fdba6f67b44dff850cd6e713c964ef0afd366d3ee526504288" -PKG_REV="101" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/kodi-game/game.libretro.vram-test" -PKG_URL="https://github.com/kodi-game/game.libretro.vram-test/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain kodi-platform libretro-vram-test" -PKG_SECTION="" -PKG_LONGDESC="game.libretro.vram-test: vram-test emulator for Kodi" - -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="kodi.gameclient" diff --git a/tools/mkpkg/update_common_functions b/tools/mkpkg/update_common_functions index 3f59569ee2..41ac0708c7 100644 --- a/tools/mkpkg/update_common_functions +++ b/tools/mkpkg/update_common_functions @@ -61,8 +61,16 @@ resolve_hash_in_branch() { } resolve_tag_in_branch() { + local tag if [ -d "$1" ] ; then cd "$1" + if [ $# -eq 3 ] ; then + tag=$(git describe --abbrev=0 --tags --match "$3" origin/$2 2>/dev/null) + if [ -n "$tag" ] ; then + echo "$tag" + return + fi + fi git describe --abbrev=0 --tags origin/$2 2>/dev/null fi } diff --git a/tools/mkpkg/update_retroplayer-addons b/tools/mkpkg/update_retroplayer-addons index 71db0d28af..428f08c273 100755 --- a/tools/mkpkg/update_retroplayer-addons +++ b/tools/mkpkg/update_retroplayer-addons @@ -115,7 +115,7 @@ for addon in ${ADDONS_DIR}/*.*/ ; do CHECK_RETRO="" git_clone "${GAME_GIT_REPO}" "${GAME_GIT_DIR}" - GAME_NEW_VERSION=$(resolve_tag_in_branch "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}") + GAME_NEW_VERSION=$(resolve_tag_in_branch "${GAME_GIT_DIR}" "${GAME_GIT_BRANCH}" "*-${KODI_BRANCH}") if [ -z "${GAME_NEW_VERSION}" ]; then NO_TAG="yes" echo "========================================================================" @@ -193,5 +193,13 @@ for addon in ${ADDONS_DIR}/*.*/ ; do cleanup_pkg_tmp done +msg_info "Checking for orphaned addon packages in LE" +for addon in ${ROOT}/packages/mediacenter/kodi-binary-addons/game.libretro.* ; do + GAME_ADDON=$(basename ${addon}) + if [ ! -d "${ADDONS_DIR}/${GAME_ADDON}" ] ; then + msg_warn "ORHPANED ${GAME_ADDON}, not present in kodi game repo" + fi +done + rm -rf "${TMPDIR}"