Add fsuae and mame2014

This commit is contained in:
Jean-André Santoni 2017-01-17 23:29:52 +01:00
parent fccfcf9fd2
commit ab77910f59
8 changed files with 348 additions and 0 deletions

View File

@ -0,0 +1,46 @@
################################################################################
# This file is part of LibreELEC - http://www.libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="openal-soft"
PKG_VERSION="1.17.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.openal.org/"
PKG_URL="http://kcat.strangesoft.net/openal-releases/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain alsa-lib"
PKG_SECTION="emulators/depends"
PKG_SHORTDESC="openal: Open Audio Library"
PKG_LONGDESC="OpenAL, the Open Audio Library, is a joint effort to create an open, vendor- neutral, cross-platform API for interactive, primarily spatialized audio. OpenAL's primary audience are application developers and desktop users that rely on portable standards like OpenGL, for games and other multimedia applications. OpenAL is already supported by a number of hardware vendors and developers."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CMAKE_OPTS_TARGET="-DALSOFT_EXAMPLES=off \
-DALSOFT_TESTS=off \
-DALSOFT_UTILS=off \
-DALSOFT_BACKEND_OSS=off \
-DALSOFT_BACKEND_WAVE=off \
-DALSOFT_BACKEND_PORTAUDIO=off \
-DALSOFT_BACKEND_PULSEAUDIO=off"
post_makeinstall_target() {
mkdir -p $INSTALL/etc/openal
sed s/^#drivers.*/drivers=alsa/ $INSTALL/usr/share/openal/alsoftrc.sample > $INSTALL/etc/openal/alsoft.conf
rm -rf $INSTALL/usr/share/openal
}

View File

@ -0,0 +1,56 @@
################################################################################
# This file is part of LibreELEC - http://www.libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="fsuae"
PKG_VERSION="18c9817"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/libretro-fsuae"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain libmpeg2 openal-soft glib"
PKG_SECTION="emulation"
PKG_SHORTDESC="FS-UAE amiga emulator libretro core."
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
case $PROJECT in
RPi*)
PKG_CONFIGURE_OPTS_TARGET="--disable-jit --enable-neon"
;;
esac
pre_configure_target() {
cd $ROOT/$BUILD/$PKG_NAME-$PKG_VERSION
rm -rf .$TARGET_NAME
export ac_cv_func_realloc_0_nonnull=yes
strip_lto
}
make_target() {
make CC=$HOST_CC CFLAGS= gen
make CC=$CC
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp fsuae_libretro.so $INSTALL/usr/lib/libretro/
mkdir -p $INSTALL/usr/share/fs-uae
cp fs-uae.dat $INSTALL/usr/share/fs-uae/
}

View File

@ -0,0 +1,11 @@
--- a/Makefile.in 2016-09-16 14:46:15.352407556 +0000
+++ b/Makefile.in 2016-09-16 14:46:31.459074122 +0000
@@ -33,7 +33,7 @@
CC = gcc
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
- LDFLAGS := -lz -lpthread
+ LDFLAGS := -lz -lpthread -lglib-2.0
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/libretro/link.T
ifeq ($(USE_JIT), 1)
ifeq ($(TARGET_ARCH), x86_64) # JIT => address space 32 bits

View File

@ -0,0 +1,65 @@
################################################################################
# This file is part of LibreELEC - http://www.libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="mame2014"
PKG_VERSION="7dc561f"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mame2014-libretro"
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="libretro"
PKG_SHORTDESC="Late 2014 version of MAME (0.159-ish) for libretro and MAME 0.159 romsets"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_make_target() {
export REALCC=$CC
export CC=$CXX
export LD=$CXX
strip_lto
}
make_target() {
case $PROJECT in
RPi)
make platform=armv6-hardfloat-arm1176jzf-s
;;
RPi2)
make platform=armv7-neon-hardfloat-cortex-a7
;;
imx6)
make platform=armv7-neon-hardfloat-cortex-a9
;;
WeTek_Play)
make platform=armv7-neon-hardfloat-cortex-a9
;;
Odroid_C2|WeTek_Hub|WeTek_Play_2)
make platform=aarch64
;;
Generic)
make
;;
esac
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp mame2014_libretro.so $INSTALL/usr/lib/libretro/
}

View File

@ -0,0 +1,49 @@
diff -Naur a/Makefile b/Makefile
--- a/Makefile 2016-01-14 22:44:37.000000000 +0100
+++ b/Makefile 2016-01-18 20:53:35.439383675 +0100
@@ -130,27 +130,25 @@
LIBS += -lGL
endif
LDFLAGS += $(fpic) $(SHARED)
- REALCC = gcc
- NATIVECC = g++
- NATIVECFLAGS = -std=gnu99
+ REALCC ?= gcc
BASELIBS += -lpthread
- CC = g++
- AR = @ar
- LD = g++
+ CC ?= g++
+ AR ?= @ar
+ LD ?= g++
LIBS += -lstdc++ -lpthread -ldl
- ifeq ($(firstword $(filter x86_64,$(UNAME))),x86_64)
+ ifeq ($(firstword $(filter x86_64,$(ARCH))),x86_64)
PTR64 = 1
endif
- ifeq ($(firstword $(filter amd64,$(UNAME))),amd64)
+ ifeq ($(firstword $(filter amd64,$(ARCH))),amd64)
PTR64 = 1
endif
- ifeq ($(firstword $(filter ppc64,$(UNAME))),ppc64)
+ ifeq ($(firstword $(filter ppc64,$(ARCH))),ppc64)
PTR64 = 1
endif
- ifneq (,$(findstring ppc,$(UNAME)))
+ ifneq (,$(findstring ppc,$(ARCH)))
BIGENDIAN=1
endif
- ifneq (,$(findstring armv,$(UNAME) $(platform)))
+ ifneq (,$(findstring armv,$(ARCH) $(platform)))
CCOMFLAGS += -mstructure-size-boundary=32
PLATCFLAGS += -DSDLMAME_NO64BITIO -DSDLMAME_ARM -DRETRO_SETJMP_HACK -DARM
LDFLAGS += -Wl,--fix-cortex-a8 -Wl,--no-as-needed
@@ -482,7 +478,7 @@
# utilities
MD = -mkdir$(EXE_EXT)
RM = @rm -f
-OBJDUMP = @objdump
+OBJDUMP ?= @objdump
PYTHON ?= @python2
#-------------------------------------------------

View File

@ -0,0 +1,33 @@
diff -Naur a/Makefile b/Makefile
--- a/Makefile 2016-05-10 12:18:51.824846056 -0700
+++ b/Makefile 2016-05-10 13:12:56.463629991 -0700
@@ -344,6 +344,29 @@
PLATCFLAGS += -DARM
LIBS += -lstdc++ -lpthread -ldl
+# aarch64
+else ifneq (,$(findstring aarch64,$(platform)))
+ armplatform := 1
+ TARGETLIB := $(TARGET_NAME)_libretro.so
+ TARGETOS=linux
+ fpic := -fPIC
+ SHARED := -shared -Wl,--version-script=src/osd/retro/link.T -Wl,--no-undefined
+ CCOMFLAGS += $(fpic)
+# PLATCFLAGS += -march=armv7-a -DALIGN_INTS -DALIGN_SHORTS -DLSB_FIRST -fstrict-aliasing -fno-merge-constants -DSDLMAME_NO64BITIO -DSDLMAME_ARM -DRETRO_SETJMP_HACK
+ LDFLAGS += -Wl,--no-as-needed $(fpic) $(SHARED)
+ REALCC ?= gcc
+ CC ?= g++
+ AR ?= @ar
+ LD ?= g++
+ CCOMFLAGS += $(PLATCFLAGS)
+ PTR64 = 1
+
+# PLATCFLAGS += -DHAVE_GL
+ LIBS += -lGLESv2
+ GLES = 1
+
+ LIBS += -lstdc++ -lpthread -ldl
+
# Windows cross compiler
else ifeq ($(platform), wincross)
TARGETLIB := $(TARGET_NAME)_libretro.dll

44
tools/mkpkg/mkpkg_fsuae Executable file
View File

@ -0,0 +1,44 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
echo "getting sources..."
if [ ! -d fsuae.git ]; then
git clone https://github.com/libretro/libretro-fsuae.git -b libretro-fsuae fsuae.git
fi
cd fsuae.git
git pull
GIT_REV=`git log -n1 --format=%h`
cd ..
echo "copying sources..."
rm -rf fsuae-$GIT_REV
cp -R fsuae.git fsuae-$GIT_REV
echo "cleaning sources..."
rm -rf fsuae-$GIT_REV/.git
rm fsuae-$GIT_REV/.gitignore
echo "packing sources..."
tar cvJf fsuae-$GIT_REV.tar.xz fsuae-$GIT_REV
echo "remove temporary sourcedir..."
rm -rf fsuae-$GIT_REV

44
tools/mkpkg/mkpkg_mame2014 Executable file
View File

@ -0,0 +1,44 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
echo "getting sources..."
if [ ! -d mame2014.git ]; then
git clone https://github.com/libretro/mame2014-libretro.git -b master mame2014.git
fi
cd mame2014.git
git pull
GIT_REV=`git log -n1 --format=%h`
cd ..
echo "copying sources..."
rm -rf mame2014-$GIT_REV
cp -R mame2014.git mame2014-$GIT_REV
echo "cleaning sources..."
rm -rf mame2014-$GIT_REV/.git
rm mame2014-$GIT_REV/.gitignore
echo "packing sources..."
tar cvJf mame2014-$GIT_REV.tar.xz mame2014-$GIT_REV
echo "remove temporary sourcedir..."
rm -rf mame2014-$GIT_REV