pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/emulators/libretro-reicast libretro-reicast: Update to...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b2a199a9a46f
branches:  trunk
changeset: 323403:b2a199a9a46f
user:      nia <nia%pkgsrc.org@localhost>
date:      Thu May 09 23:24:17 2019 +0000

description:
libretro-reicast: Update to 20190508

pkgsrc changes:

* Attempt to detect supported OpenGL versions. Enable OIT support on
MesaLib>=12.
* Support aarch64 dynamic recompiler.

Changes:

*  lightgun crosshair for GLES mode
*  Twin Stick support (+ Saturn Twin-Stick helper mode)
*  Custom textures loading and dumping
*  Check CDI version to avoid loading any crap as a CDI image and crashing
*  Get rid of /data/ folder in custom textures path. Flip images up/down
*  arm64 dynarec
*  x64 dynarec optimization
*  OSX: build fix
*  revert a change not intended for anything but osx
*  android x64 build fix
*  arm64: direct mem access and crash fix
*  x64 dynarec: only use AVX/SSE3/FMA extensions when available
*  arm64: new AICA dynarec and improvement to the sh4 one
*  arm64 DSP dynarec
*  Pad dsp_t to keep savestates compatibility
*  Fix render to texture buffer alpha channel for 1555
*  generic dynarec was always used if compiled in
*  Support for redump.org CUE file format
*  Makefile change for cue file format
*  x64 dynarec: loss of precision with RSQRTSS and other fixes
*  missing #include
*  arm64: fix DSP dynarec crash
*  New core option: frame skipping
*  Enable RTT to buffer for Flag to Flag
*  naomi: avoid crash on exit if m4 cart fails to load
*  Implement CH2 DMA to 32-bit vram
*  OIT: reset scale param to 640x480 for final quad
*  GL: Ignore RTT upscale params when rendering to buffer
*  implement disk eject/open state
*  Implement soft reset. Fix Atomiswave flash sector size. TAWriteSQ 32bits
*  Aica: fix adpcm decoding
*  include TCW in HD texture hash
*  gdrom: stop playing cdda when switching disk
*  maple: reconnect devices after 100ms to allow the game to detect it
*  gl: performance optimizations for slow devices
*  fix race condition when loading custom/HD textures
*  fix scissor test and vertical scaling when using the Y scaler
*  Ignore scalefactor if < 0x400
*  Fix crash at startup when purupuru pack is disabled
*  Clang buildix
*  Introduce HAVE_CLANG option
*  Add m3u playlist support.
*  Added DLOW_END to enable better performance OOTB on classics/rpi and added a8a35 platform
*  Fixed LOW_END DEFINES
*  Remove dupe res from LOW_END
*  Fixed broadact and forced threaded rendering by default. Added LOW RES mode and added to classics only ATM.
*  NAOMI: Add sambaa & set parent for samba clones
*  Sync naomi roms with mame 0.206
*  (NAOMI) Check parent folder for gdrom
*  (NAOMI) Oops
*  (NAOMI) Fix folder detected as file
*  (NAOMI) Update romsets
*  Fix doa2 romsets
*  (libretro) Rework input init
*  Merge pull request #520 from libretro/bdm/input-init-rework
*  Add eeprom dumps
*  Handle auto-rotate
*  Implement some eeproms (vertical, pstone2, alpilot)
*  Update naomi_roms.h
*  Custom tex: Use retro_stat for path handling. Fix deadlock on exit (win32)
*  x64 dynarec: fix windows crash

diffstat:

 emulators/libretro-reicast/MESSAGE                |   5 ++-
 emulators/libretro-reicast/Makefile               |  32 +++++++++--------
 emulators/libretro-reicast/distinfo               |  12 +++---
 emulators/libretro-reicast/options.mk             |  17 ++++++++-
 emulators/libretro-reicast/patches/patch-Makefile |  42 +++++++++++++++++-----
 5 files changed, 74 insertions(+), 34 deletions(-)

diffs (215 lines):

diff -r ccdce642085b -r b2a199a9a46f emulators/libretro-reicast/MESSAGE
--- a/emulators/libretro-reicast/MESSAGE        Thu May 09 16:28:04 2019 +0000
+++ b/emulators/libretro-reicast/MESSAGE        Thu May 09 23:24:17 2019 +0000
@@ -1,5 +1,5 @@
 ===========================================================================
-$NetBSD: MESSAGE,v 1.2 2018/10/15 17:53:23 nia Exp $
+$NetBSD: MESSAGE,v 1.3 2019/05/09 23:24:17 nia Exp $
 
 Reicast requires the following BIOS files in order to work:
 
@@ -14,4 +14,7 @@
 Alternatively, you can place them in your Content Directory next to the
 software you are going to run.
 
+RetroArch's "glcore" video driver seems to not work. Make sure you're
+using "gl" instead.
+
 ===========================================================================
diff -r ccdce642085b -r b2a199a9a46f emulators/libretro-reicast/Makefile
--- a/emulators/libretro-reicast/Makefile       Thu May 09 16:28:04 2019 +0000
+++ b/emulators/libretro-reicast/Makefile       Thu May 09 23:24:17 2019 +0000
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.4 2019/01/02 20:07:15 nia Exp $
+# $NetBSD: Makefile,v 1.5 2019/05/09 23:24:17 nia Exp $
 
-DISTNAME=      libretro-reicast-20181223
+DISTNAME=      libretro-reicast-20190508
 CATEGORIES=    emulators
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=libretro/}
 GITHUB_PROJECT=        reicast-emulator
-GITHUB_TAG=    3dd45d27159278e88a73352a318d0b23bc241a1a
+GITHUB_TAG=    8c38fcedbe064f7fbda9c2213fd6987b7d4e4dbc
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      https://docs.libretro.com/library/reicast/
@@ -15,26 +15,28 @@
 USE_TOOLS+=    gmake
 USE_LANGUAGES= c c++11
 
-MAKE_FLAGS+=           platform=unix
-MAKE_FLAGS+=           HAVE_OPENMP=0
-MAKE_FLAGS+=           HAVE_LTCG=0
-MAKE_FLAGS+=           SINGLE_PREC_FLAGS=1
-MAKE_FLAGS+=           GIT_VERSION="-pkgsrc"
-MAKE_FLAGS+=           CC_AS=${AS:Q}
+MAKE_FLAGS+=   platform=unix
+MAKE_FLAGS+=   HAVE_OPENMP=0
+MAKE_FLAGS+=   HAVE_LTCG=0
+MAKE_FLAGS+=   SINGLE_PREC_FLAGS=1
+MAKE_FLAGS+=   GIT_VERSION="-pkgsrc"
+MAKE_FLAGS+=   CC_AS=${AS:Q}
 
 .include "../../mk/bsd.prefs.mk"
 
 .if ${MACHINE_ARCH} == "x86_64"
-MAKE_FLAGS+=           WITH_DYNAREC=x86_64
+MAKE_FLAGS+=   WITH_DYNAREC=x86_64
 .elif ${MACHINE_ARCH} == "i386"
-MAKE_FLAGS+=           WITH_DYNAREC=x86
+MAKE_FLAGS+=   WITH_DYNAREC=x86
+.elif ${MACHINE_ARCH} == "aarch64"
+MAKE_FLAGS+=   WITH_DYNAREC=arm64
 .elif !empty(MACHINE_ARCH:M*arm*)
-CFLAGS+=               -marm
-MAKE_FLAGS+=           WITH_DYNAREC=arm
+CFLAGS+=       -marm
+MAKE_FLAGS+=   WITH_DYNAREC=arm
 .elif !empty(MACHINE_ARCH:M*mips*)
-MAKE_FLAGS+=           WITH_DYNAREC=mips
+MAKE_FLAGS+=   WITH_DYNAREC=mips
 .else
-MAKE_FLAGS+=           WITH_DYNAREC=
+MAKE_FLAGS+=   WITH_DYNAREC=
 .endif
 
 BUILDLINK_TRANSFORM.SunOS+=    rm:-Wl,--version-script=link.T
diff -r ccdce642085b -r b2a199a9a46f emulators/libretro-reicast/distinfo
--- a/emulators/libretro-reicast/distinfo       Thu May 09 16:28:04 2019 +0000
+++ b/emulators/libretro-reicast/distinfo       Thu May 09 23:24:17 2019 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.4 2019/01/02 20:07:15 nia Exp $
+$NetBSD: distinfo,v 1.5 2019/05/09 23:24:17 nia Exp $
 
-SHA1 (libretro-reicast-20181223-3dd45d27159278e88a73352a318d0b23bc241a1a.tar.gz) = eed1c244e0d9942e184229796dfb1bb73e9c7e93
-RMD160 (libretro-reicast-20181223-3dd45d27159278e88a73352a318d0b23bc241a1a.tar.gz) = 961b5c80e9996f72c1181b05b4d2b0c79c7b1e89
-SHA512 (libretro-reicast-20181223-3dd45d27159278e88a73352a318d0b23bc241a1a.tar.gz) = 
81253a0151c78d41ce96b443ff246f0f77679c686e88a2260259a3a4cd66fc4f68b4815f09e45b56c06562de9f988019517f9cc762a0b9ac3f9bd20b722ac451
-Size (libretro-reicast-20181223-3dd45d27159278e88a73352a318d0b23bc241a1a.tar.gz) = 1700568 bytes
-SHA1 (patch-Makefile) = 019d6902baa03e4cd0b1a6a80ca75e6ace3a1715
+SHA1 (libretro-reicast-20190508-8c38fcedbe064f7fbda9c2213fd6987b7d4e4dbc.tar.gz) = e9199c1488c6ea9d1fdaa235d224a084117dcce0
+RMD160 (libretro-reicast-20190508-8c38fcedbe064f7fbda9c2213fd6987b7d4e4dbc.tar.gz) = f48d93863cdb9c28682359b7ea0e2f76814c81ae
+SHA512 (libretro-reicast-20190508-8c38fcedbe064f7fbda9c2213fd6987b7d4e4dbc.tar.gz) = 
65463f18c7e49bda396ee5beb5a1bc39f5c58e047b37ee3857200a97ebb0a0854a2dc79f520ddc5afc0aeebff73baf60e28d79091c8306dbd035715c507f2fc1
+Size (libretro-reicast-20190508-8c38fcedbe064f7fbda9c2213fd6987b7d4e4dbc.tar.gz) = 2613651 bytes
+SHA1 (patch-Makefile) = 7d76517bc1b1630f4f598d85d8db62f040ea7a7d
 SHA1 (patch-core_hw_sh4_dyna_driver.cpp) = 6d00a7297f528fe3389a13872095da80200a9013
 SHA1 (patch-core_libretro_common.cpp) = b1291f55ced1dc92087d31270f8bc582c2db6fc5
diff -r ccdce642085b -r b2a199a9a46f emulators/libretro-reicast/options.mk
--- a/emulators/libretro-reicast/options.mk     Thu May 09 16:28:04 2019 +0000
+++ b/emulators/libretro-reicast/options.mk     Thu May 09 23:24:17 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.2 2018/10/14 03:35:44 nia Exp $
+# $NetBSD: options.mk,v 1.3 2019/05/09 23:24:17 nia Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.libretro-reicast
 PKG_OPTIONS_REQUIRED_GROUPS=   graphics
@@ -19,8 +19,21 @@
 .include "../../mk/bsd.options.mk"
 
 .if !empty(PKG_OPTIONS:Mopengl)
+.include "../../graphics/MesaLib/buildlink3.mk"
+# Try to detect which GL versions are supported.
+# OIT requires OpenGL 4.3
+.  if !empty(BUILTIN_VERSION.Mesa)
+MESA_MAJOR_VER=        ${BUILTIN_VERSION.Mesa:C/\..*//gW}
+.    if ${MESA_MAJOR_VER} >= 12
+MAKE_FLAGS+=   HAVE_OIT=1
+.    elif ${MESA_MAJOR_VER} >= 8
 MAKE_FLAGS+=   HAVE_GL3=1
-.include "../../graphics/MesaLib/buildlink3.mk"
+.    elif ${MESA_MAJOR_VER} >= 7
+MAKE_FLAGS+=   HAVE_GL2=1
+.    endif
+.  else
+MAKE_FLAGS+=   HAVE_GL3=1
+.  endif
 .elif !empty(PKG_OPTIONS:Mrpi)
 MAKE_FLAGS+=   GLES=1
 MAKE_FLAGS+=   GL_LIB="-lbrcmGLESv2"
diff -r ccdce642085b -r b2a199a9a46f emulators/libretro-reicast/patches/patch-Makefile
--- a/emulators/libretro-reicast/patches/patch-Makefile Thu May 09 16:28:04 2019 +0000
+++ b/emulators/libretro-reicast/patches/patch-Makefile Thu May 09 23:24:17 2019 +0000
@@ -1,17 +1,24 @@
-$NetBSD: patch-Makefile,v 1.2 2018/12/18 01:55:45 nia Exp $
+$NetBSD: patch-Makefile,v 1.3 2019/05/09 23:24:18 nia Exp $
 
 Don't override pkgsrc-set variables.
 
 Don't make assumptions based on uname.
 
---- Makefile.orig      2018-12-13 14:07:07.000000000 +0000
+--- Makefile.orig      2019-05-08 14:25:11.000000000 +0000
 +++ Makefile
-@@ -20,41 +20,12 @@ HAVE_CHD      := 1
+@@ -21,48 +21,12 @@ HAVE_CLANG    := 0
  
  TARGET_NAME   := reicast
  
--CXX      = ${CC_PREFIX}g++
--CC       = ${CC_PREFIX}gcc
+-ifeq ($(HAVE_CLANG),1)
+-      CXX      = ${CC_PREFIX}clang++
+-      CC       = ${CC_PREFIX}clang
+-      SHARED   := -fuse-ld=lld
+-else
+-      CXX      = ${CC_PREFIX}g++
+-      CC       = ${CC_PREFIX}gcc
+-      SHARED   :=
+-endif
 -CC_AS    = ${CC_PREFIX}as
 -
 -MFLAGS   := 
@@ -48,7 +55,16 @@
  ifeq ($(platform),)
        platform = unix
        ifeq ($(UNAME),)
-@@ -631,10 +602,6 @@ endif
+@@ -727,7 +691,7 @@ ifeq ($(HAVE_GL3), 1)
+       CORE_DEFINES += -DHAVE_GL3
+ endif
+ 
+-RZDCY_CFLAGS  += $(CFLAGS) -c $(OPTFLAGS) -frename-registers -ffast-math -ftree-vectorize -fomit-frame-pointer 
++RZDCY_CFLAGS  += $(CFLAGS) -c -frename-registers -ffast-math -ftree-vectorize -fomit-frame-pointer 
+ 
+ ifeq ($(WITH_DYNAREC), arm)
+       ifneq (,$(findstring odroid,$(platform)))
+@@ -785,10 +749,6 @@ endif
  
  RZDCY_CXXFLAGS := $(RZDCY_CFLAGS) -fexceptions -fno-rtti -std=gnu++11
  
@@ -59,7 +75,7 @@
  ifeq ($(HAVE_OIT), 1)
        HAVE_CORE = 1
        CORE_DEFINES += -DHAVE_OIT -DHAVE_GL4
-@@ -695,7 +662,7 @@ RZDCY_CXXFLAGS += $(CORE_DEFINES)
+@@ -849,7 +809,7 @@ RZDCY_CXXFLAGS += $(CORE_DEFINES)
  CFLAGS         += $(CORE_DEFINES)
  CXXFLAGS       += $(CORE_DEFINES)
  
@@ -68,14 +84,13 @@
  CFLAGS   += -fno-strict-aliasing -ffast-math
  CXXFLAGS += -fno-rtti -fpermissive -fno-operator-names
  LIBS     += -lm 
-@@ -743,15 +710,15 @@ $(TARGET): $(OBJECTS)
+@@ -897,20 +857,20 @@ $(TARGET): $(OBJECTS)
  ifeq ($(STATIC_LINKING), 1)
        $(AR) rcs $@ $(OBJECTS)
  else
 -      $(LD) $(MFLAGS) $(fpic) $(SHARED) $(LDFLAGS) $(OBJECTS) $(LDFLAGS_END) $(GL_LIB) $(LIBS) -o $@
-+      $(LD) $(fpic) $(SHARED) $(LDFLAGS) $(OBJECTS) $(LDFLAGS_END) $(GL_LIB) $(LIBS) -o $@
++      $(CC) $(fpic) $(SHARED) $(LDFLAGS) $(OBJECTS) $(LDFLAGS_END) $(GL_LIB) $(LIBS) -o $@
  endif
-       @echo "** BUILD SUCCESSFUL! GG NO RE **"
  
  %.o: %.cpp
 -      $(CXX) $(INCFLAGS) $(CFLAGS) $(MFLAGS) $(CXXFLAGS) $< -o $@
@@ -87,3 +102,10 @@
  
  %.o: %.S
        $(CC_AS) $(ASFLAGS) $(INCFLAGS) $< -o $@
+ 
+ %.o: %.cc
+-      $(CXX) $(INCFLAGS) $(CFLAGS) $(MFLAGS) $(CXXFLAGS) $< -o $@
++      $(CXX) $(INCFLAGS) $(CFLAGS) $(CXXFLAGS) $< -o $@
+ 
+ clean:
+       rm -f $(OBJECTS) $(TARGET)



Home | Main Index | Thread Index | Old Index