From 0a475b7b83b0d205e2795594b4bb7f7e8e1e5c46 Mon Sep 17 00:00:00 2001 From: Timothy Beyer Date: Mon, 16 May 2022 20:53:46 -0700 Subject: [PATCH] fix build of emulators/libretro-reicast in poudriere --- /dev/null => emulators/libretro-reicast/Makefile | 46 ++++++++++++++++++++++ /dev/null => emulators/libretro-reicast/distinfo | 3 ++ .../libretro-reicast/files/patch-CMakeLists.txt | 11 ++++++ .../patch-libswirl_gui_gui__settings__about.cpp | 25 ++++++++++++ .../files/patch-libswirl_linux-dist_main.cpp | 10 +++++ .../files/patch-libswirl_linux_common.cpp | 42 ++++++++++++++++++++ .../files/patch-reicast_cmake_config.cmake | 16 ++++++++ /dev/null => emulators/libretro-reicast/pkg-descr | 3 ++ .../null => emulators/libretro-reicast/pkg-message | 37 +++++++++++++++++ 9 files changed, 193 insertions(+) create mode 100644 emulators/libretro-reicast/Makefile create mode 100644 emulators/libretro-reicast/distinfo create mode 100644 emulators/libretro-reicast/files/patch-CMakeLists.txt create mode 100644 emulators/libretro-reicast/files/patch-libswirl_gui_gui__settings__about.cpp create mode 100644 emulators/libretro-reicast/files/patch-libswirl_linux-dist_main.cpp create mode 100644 emulators/libretro-reicast/files/patch-libswirl_linux_common.cpp create mode 100644 emulators/libretro-reicast/files/patch-reicast_cmake_config.cmake create mode 100644 emulators/libretro-reicast/pkg-descr create mode 100644 emulators/libretro-reicast/pkg-message diff --git a/emulators/libretro-reicast/Makefile b/emulators/libretro-reicast/Makefile new file mode 100644 index 0000000..0285e38 --- /dev/null +++ b/emulators/libretro-reicast/Makefile @@ -0,0 +1,46 @@ +# Created by: Timothy Beyer + +PORTNAME= libretro-reicast +PORTVERSION= 0.20201231 +CATEGORIES= emulators games + +MAINTAINER= beyert@cs.ucr.edu +COMMENT= Standalone port of reicast to libretro + +LICENSE= BSD3CLAUSE LGPL21 GPLv2 +LICENSE_COMB= multi +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libcurl.so:ftp/curl \ + libasound.so:audio/alsa-lib \ + libao.so:audio/libao \ + libevdev.so:devel/libevdev \ + libpulse.so:audio/pulseaudio \ + libudev.so:devel/libudev-devd + +USES= compiler cmake gl xorg +USE_GCC= yes + +USE_LDCONFIG= yes +CMAKE_ARGS= -DLIBRETRO_CORE=ON \ + -DOPENGL_EGL_INCLUDE_DIR:PATH=${LOCALBASE}/include/EGL \ + -DOPENGL_GLX_INCLUDE_DIR:PATH=${LOCALBASE}/include/GL \ + -DOPENGL_INCLUDE_DIR:PATH=${LOCALBASE}/include/GL \ + -DOPENGL_opengl_LIBRARY:PATH=${LOCALBASE}/lib/libGL.so + +CXXFLAGS+= -Wno-c++11-extensions +USE_GITHUB= yes +GH_ACCOUNT= reicast +GH_PROJECT= reicast-emulator +GH_TAGNAME= 0bd6ea3 + +USE_GL= gl egl gbm + +PLIST_FILES= lib/libretro/reicast_libretro.so + +do-install: + ${MKDIR} ${STAGEDIR}/${PREFIX}/lib/libretro; + ${INSTALL_LIB} ${WRKDIR}/.build/libreicast.so \ + ${STAGEDIR}/${PREFIX}/lib/libretro/reicast_libretro.so; + +.include diff --git a/emulators/libretro-reicast/distinfo b/emulators/libretro-reicast/distinfo new file mode 100644 index 0000000..9ade18a --- /dev/null +++ b/emulators/libretro-reicast/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1623465538 +SHA256 (reicast-reicast-emulator-0.20201231-0bd6ea3_GH0.tar.gz) = a30e67754c28029e16cf2eb3d3878906888178e308800139e64e8e29533bc679 +SIZE (reicast-reicast-emulator-0.20201231-0bd6ea3_GH0.tar.gz) = 6467649 diff --git a/emulators/libretro-reicast/files/patch-CMakeLists.txt b/emulators/libretro-reicast/files/patch-CMakeLists.txt new file mode 100644 index 0000000..f44da85 --- /dev/null +++ b/emulators/libretro-reicast/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2020-10-18 11:22:48 UTC ++++ CMakeLists.txt +@@ -431,6 +431,8 @@ if(${HOST_OS} EQUAL ${OS_DARWIN}) + + endif() + ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1") + + if(DEBUG_CMAKE) + message(" ------------------------------------------------") diff --git a/emulators/libretro-reicast/files/patch-libswirl_gui_gui__settings__about.cpp b/emulators/libretro-reicast/files/patch-libswirl_gui_gui__settings__about.cpp new file mode 100644 index 0000000..52f1703 --- /dev/null +++ b/emulators/libretro-reicast/files/patch-libswirl_gui_gui__settings__about.cpp @@ -0,0 +1,25 @@ +--- libswirl/gui/gui_settings_about.cpp.orig 2020-10-18 11:22:48 UTC ++++ libswirl/gui/gui_settings_about.cpp +@@ -40,13 +40,13 @@ void gui_settings_about() + { + ImGui::Text("CPU: %s", + #if HOST_CPU == CPU_X86 +- "x86" ++ "i386" + #elif HOST_CPU == CPU_ARM + "ARM" + #elif HOST_CPU == CPU_MIPS + "MIPS" + #elif HOST_CPU == CPU_X64 +- "x86/64" ++ "amd64" + #elif HOST_CPU == CPU_GENERIC + "Generic" + #elif HOST_CPU == CPU_ARM64 +@@ -88,4 +88,4 @@ void gui_settings_about() + ImGui::PopStyleVar(); + ImGui::EndTabItem(); + } +-} +\ No newline at end of file ++} diff --git a/emulators/libretro-reicast/files/patch-libswirl_linux-dist_main.cpp b/emulators/libretro-reicast/files/patch-libswirl_linux-dist_main.cpp new file mode 100644 index 0000000..95db907 --- /dev/null +++ b/emulators/libretro-reicast/files/patch-libswirl_linux-dist_main.cpp @@ -0,0 +1,10 @@ +--- libswirl/linux-dist/main.cpp.orig 2020-10-18 11:22:48 UTC ++++ libswirl/linux-dist/main.cpp +@@ -22,7 +22,6 @@ + #include "hw/sh4/dyna/blockmanager.h" + #include "hw/maple/maple_cfg.h" + #include +-#include + + #include "libswirl.h" + #include "hw/pvr/Renderer_if.h" diff --git a/emulators/libretro-reicast/files/patch-libswirl_linux_common.cpp b/emulators/libretro-reicast/files/patch-libswirl_linux_common.cpp new file mode 100644 index 0000000..72732d2 --- /dev/null +++ b/emulators/libretro-reicast/files/patch-libswirl_linux_common.cpp @@ -0,0 +1,42 @@ +--- libswirl/linux/common.cpp.orig 2020-10-18 11:22:48 UTC ++++ libswirl/linux/common.cpp +@@ -22,6 +22,12 @@ + #include + #if HOST_OS == OS_DARWIN + #import ++ #elif defined(__FreeBSD__) ++ #include ++ #include ++ #include ++ #include ++ #include + #else + #include + #endif +@@ -33,7 +39,7 @@ + #include + #include + #include +-#if !defined(TARGET_BSD) && !defined(TARGET_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && !defined(TARGET_OSX) && !defined(TARGET_OSX_X64) ++#if !defined(__FreeBSD__) && !defined(TARGET_BSD) && !defined(TARGET_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && !defined(TARGET_OSX) && !defined(TARGET_OSX_X64) + #include + #include + #endif +@@ -294,7 +300,7 @@ void enable_runfast() + } + + void linux_fix_personality() { +- #if !defined(TARGET_BSD) && !defined(_ANDROID) && !defined(TARGET_OS_MAC) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) ++ #if !defined(__FreeBSD__) && !defined(TARGET_BSD) && !defined(_ANDROID) && !defined(TARGET_OS_MAC) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) + printf("Personality: %08X\n", personality(0xFFFFFFFF)); + personality(~READ_IMPLIES_EXEC & personality(0xFFFFFFFF)); + printf("Updated personality: %08X\n", personality(0xFFFFFFFF)); +@@ -302,7 +308,7 @@ void linux_fix_personality() { + } + + void linux_rpi2_init() { +-#if !defined(TARGET_BSD) && !defined(_ANDROID) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && defined(TARGET_VIDEOCORE) ++#if !defined(__FreeBSD__) && !defined(TARGET_BSD) && !defined(_ANDROID) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && defined(TARGET_VIDEOCORE) + void* handle; + void (*rpi_bcm_init)(void); + diff --git a/emulators/libretro-reicast/files/patch-reicast_cmake_config.cmake b/emulators/libretro-reicast/files/patch-reicast_cmake_config.cmake new file mode 100644 index 0000000..adb9b8f --- /dev/null +++ b/emulators/libretro-reicast/files/patch-reicast_cmake_config.cmake @@ -0,0 +1,16 @@ +--- reicast/cmake/config.cmake.orig 2020-10-18 11:22:48 UTC ++++ reicast/cmake/config.cmake +@@ -106,11 +106,13 @@ endif() + # AMD64/x86_64:x64, i*86:x86, ppc/powerpc[64][b|l]e:ppc[64] etc + # + if(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686") OR ++ ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") OR + ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "X86")) # todo: check MATCHES "i.86" ? + set(host_arch "x86") + set(HOST_CPU ${CPU_X86}) + # + elseif(("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64") OR ++ ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64") OR + ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") OR + ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x64")) + set(host_arch "x64") diff --git a/emulators/libretro-reicast/pkg-descr b/emulators/libretro-reicast/pkg-descr new file mode 100644 index 0000000..dda6a56 --- /dev/null +++ b/emulators/libretro-reicast/pkg-descr @@ -0,0 +1,3 @@ +Standalone port of reicast to libretro. + +WWW: https://github.com/reicast/reicast-emulator diff --git a/emulators/libretro-reicast/pkg-message b/emulators/libretro-reicast/pkg-message new file mode 100644 index 0000000..95c4011 --- /dev/null +++ b/emulators/libretro-reicast/pkg-message @@ -0,0 +1,37 @@ +[ +{ type: install + message: <