Merge remote-tracking branch 'upstream/master' into wrapper-pname-support
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
From: Evgeni Golov <evgeni@debian.org>
|
||||
Subject: use the system tinyxml instead of the embedded copy
|
||||
Last-Update: 2015-08-09
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 7b9e263..bc7ba8c 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -81,12 +81,6 @@ libdesmume_a_SOURCES = \
|
||||
utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp \
|
||||
utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp \
|
||||
- utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp \
|
||||
- utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp \
|
||||
- utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h \
|
||||
addons/slot2_auto.cpp addons/slot2_mpcf.cpp addons/slot2_paddle.cpp addons/slot2_gbagame.cpp addons/slot2_none.cpp addons/slot2_rumblepak.cpp addons/slot2_guitarGrip.cpp addons/slot2_expMemory.cpp addons/slot2_piano.cpp addons/slot2_passme.cpp addons/slot1_none.cpp addons/slot1_r4.cpp addons/slot1_retail_nand.cpp addons/slot1_retail_auto.cpp addons/slot1_retail_mcrom.cpp addons/slot1_retail_mcrom_debug.cpp addons/slot1comp_mc.cpp addons/slot1comp_mc.h addons/slot1comp_rom.h addons/slot1comp_rom.cpp addons/slot1comp_protocol.h addons/slot1comp_protocol.cpp \
|
||||
cheatSystem.cpp cheatSystem.h \
|
||||
@@ -204,3 +198,4 @@ if HAVE_GDB_STUB
|
||||
libdesmume_a_SOURCES += gdbstub.h
|
||||
endif
|
||||
libdesmume_a_LIBADD = fs-$(desmume_arch).$(OBJEXT)
|
||||
+LIBS += -ltinyxml
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 9cf26a3..d9ff7b2 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -184,9 +184,6 @@ am__libdesmume_a_SOURCES_DIST = armcpu.cpp armcpu.h \
|
||||
utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
|
||||
utils/libfat/lock.h utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
|
||||
addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
|
||||
addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
|
||||
@@ -324,10 +321,6 @@ am_libdesmume_a_OBJECTS = armcpu.$(OBJEXT) arm_instructions.$(OBJEXT) \
|
||||
utils/libfat/libfat.$(OBJEXT) \
|
||||
utils/libfat/libfat_public_api.$(OBJEXT) \
|
||||
utils/libfat/lock.$(OBJEXT) utils/libfat/partition.$(OBJEXT) \
|
||||
- utils/tinyxml/tinystr.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxml.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxmlerror.$(OBJEXT) \
|
||||
- utils/tinyxml/tinyxmlparser.$(OBJEXT) \
|
||||
addons/slot2_auto.$(OBJEXT) addons/slot2_mpcf.$(OBJEXT) \
|
||||
addons/slot2_paddle.$(OBJEXT) addons/slot2_gbagame.$(OBJEXT) \
|
||||
addons/slot2_none.$(OBJEXT) addons/slot2_rumblepak.$(OBJEXT) \
|
||||
@@ -475,7 +468,7 @@ LIBAGG_LIBS = @LIBAGG_LIBS@
|
||||
LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
|
||||
LIBGLADE_LIBS = @LIBGLADE_LIBS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
-LIBS = @LIBS@
|
||||
+LIBS = @LIBS@ -ltinyxml
|
||||
LIBSOUNDTOUCH_CFLAGS = @LIBSOUNDTOUCH_CFLAGS@
|
||||
LIBSOUNDTOUCH_LIBS = @LIBSOUNDTOUCH_LIBS@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
@@ -625,9 +618,6 @@ libdesmume_a_SOURCES = armcpu.cpp armcpu.h arm_instructions.cpp \
|
||||
utils/libfat/libfat_public_api.h utils/libfat/lock.cpp \
|
||||
utils/libfat/lock.h utils/libfat/mem_allocate.h \
|
||||
utils/libfat/partition.cpp utils/libfat/partition.h \
|
||||
- utils/tinyxml/tinystr.cpp utils/tinyxml/tinystr.h \
|
||||
- utils/tinyxml/tinyxml.cpp utils/tinyxml/tinyxml.h \
|
||||
- utils/tinyxml/tinyxmlerror.cpp utils/tinyxml/tinyxmlparser.cpp \
|
||||
utils/glcorearb.h addons/slot2_auto.cpp addons/slot2_mpcf.cpp \
|
||||
addons/slot2_paddle.cpp addons/slot2_gbagame.cpp \
|
||||
addons/slot2_none.cpp addons/slot2_rumblepak.cpp \
|
||||
@@ -760,20 +750,6 @@ utils/libfat/lock.$(OBJEXT): utils/libfat/$(am__dirstamp) \
|
||||
utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
utils/libfat/partition.$(OBJEXT): utils/libfat/$(am__dirstamp) \
|
||||
utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/$(am__dirstamp):
|
||||
- @$(MKDIR_P) utils/tinyxml
|
||||
- @: > utils/tinyxml/$(am__dirstamp)
|
||||
-utils/tinyxml/$(DEPDIR)/$(am__dirstamp):
|
||||
- @$(MKDIR_P) utils/tinyxml/$(DEPDIR)
|
||||
- @: > utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinystr.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxml.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxmlerror.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
-utils/tinyxml/tinyxmlparser.$(OBJEXT): utils/tinyxml/$(am__dirstamp) \
|
||||
- utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
addons/$(am__dirstamp):
|
||||
@$(MKDIR_P) addons
|
||||
@: > addons/$(am__dirstamp)
|
||||
@@ -1035,10 +1011,6 @@ mostlyclean-compile:
|
||||
-rm -f utils/libfat/partition.$(OBJEXT)
|
||||
-rm -f utils/md5.$(OBJEXT)
|
||||
-rm -f utils/task.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinystr.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxml.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxmlerror.$(OBJEXT)
|
||||
- -rm -f utils/tinyxml/tinyxmlparser.$(OBJEXT)
|
||||
-rm -f utils/vfat.$(OBJEXT)
|
||||
-rm -f utils/xstring.$(OBJEXT)
|
||||
|
||||
@@ -1175,10 +1147,6 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/libfat_public_api.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/lock.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@utils/libfat/$(DEPDIR)/partition.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinystr.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxml.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlerror.Po@am__quote@
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@utils/tinyxml/$(DEPDIR)/tinyxmlparser.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@@ -1449,8 +1417,6 @@ distclean-generic:
|
||||
-rm -f utils/decrypt/$(am__dirstamp)
|
||||
-rm -f utils/libfat/$(DEPDIR)/$(am__dirstamp)
|
||||
-rm -f utils/libfat/$(am__dirstamp)
|
||||
- -rm -f utils/tinyxml/$(DEPDIR)/$(am__dirstamp)
|
||||
- -rm -f utils/tinyxml/$(am__dirstamp)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -1460,7 +1426,7 @@ clean: clean-recursive
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
- -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
|
||||
+ -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
@@ -1506,7 +1472,7 @@ install-ps-am:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
- -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR) utils/tinyxml/$(DEPDIR)
|
||||
+ -rm -rf ./$(DEPDIR) addons/$(DEPDIR) filter/$(DEPDIR) metaspu/$(DEPDIR) utils/$(DEPDIR) utils/AsmJit/core/$(DEPDIR) utils/AsmJit/x86/$(DEPDIR) utils/decrypt/$(DEPDIR) utils/libfat/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
|
||||
index 1985209..d958323 100755
|
||||
--- a/src/cli/Makefile.am
|
||||
+++ b/src/cli/Makefile.am
|
||||
@@ -5,7 +5,7 @@ AM_CPPFLAGS += $(SDL_CFLAGS) $(ALSA_CFLAGS) $(LIBAGG_CFLAGS) $(GLIB_CFLAGS) $(GT
|
||||
|
||||
bin_PROGRAMS = desmume-cli
|
||||
desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
|
||||
-desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS)
|
||||
+desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_cli_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/cli/Makefile.in b/src/cli/Makefile.in
|
||||
index 14efd77..f04ab7d 100644
|
||||
--- a/src/cli/Makefile.in
|
||||
+++ b/src/cli/Makefile.in
|
||||
@@ -311,7 +311,7 @@ AM_LDFLAGS =
|
||||
desmume_cli_SOURCES = main.cpp ../sndsdl.cpp ../ctrlssdl.h ../ctrlssdl.cpp ../driver.h ../driver.cpp
|
||||
desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) \
|
||||
$(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
diff --git a/src/gtk-glade/Makefile.am b/src/gtk-glade/Makefile.am
|
||||
index b667fca..c79fdac 100755
|
||||
--- a/src/gtk-glade/Makefile.am
|
||||
+++ b/src/gtk-glade/Makefile.am
|
||||
@@ -33,7 +33,7 @@ desmume_glade_SOURCES = \
|
||||
desmume_glade_LDADD = ../libdesmume.a \
|
||||
$(SDL_LIBS) $(GTKGLEXT_LIBS) $(LIBGLADE_LIBS) \
|
||||
$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_glade_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/gtk-glade/Makefile.in b/src/gtk-glade/Makefile.in
|
||||
index 5f77ec5..012aa72 100644
|
||||
--- a/src/gtk-glade/Makefile.in
|
||||
+++ b/src/gtk-glade/Makefile.in
|
||||
@@ -367,7 +367,7 @@ desmume_glade_SOURCES = \
|
||||
|
||||
desmume_glade_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTKGLEXT_LIBS) \
|
||||
$(LIBGLADE_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1)
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am
|
||||
index 59cb1f2..e451102 100755
|
||||
--- a/src/gtk/Makefile.am
|
||||
+++ b/src/gtk/Makefile.am
|
||||
@@ -32,7 +32,7 @@ desmume_SOURCES = \
|
||||
../filter/videofilter.cpp ../filter/videofilter.h \
|
||||
main.cpp main.h
|
||||
desmume_LDADD = ../libdesmume.a \
|
||||
- $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS)
|
||||
+ $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS) -ltinyxml
|
||||
if HAVE_GDB_STUB
|
||||
desmume_LDADD += ../gdbstub/libgdbstub.a
|
||||
endif
|
||||
diff --git a/src/gtk/Makefile.in b/src/gtk/Makefile.in
|
||||
index e1a2c37..75f392f 100644
|
||||
--- a/src/gtk/Makefile.in
|
||||
+++ b/src/gtk/Makefile.in
|
||||
@@ -382,7 +382,7 @@ desmume_SOURCES = \
|
||||
|
||||
desmume_LDADD = ../libdesmume.a $(SDL_LIBS) $(GTK_LIBS) \
|
||||
$(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \
|
||||
- $(LIBSOUNDTOUCH_LIBS) $(am__append_1) $(am__append_2) \
|
||||
+ $(LIBSOUNDTOUCH_LIBS) -ltinyxml $(am__append_1) $(am__append_2) \
|
||||
$(am__append_3)
|
||||
UPDATE_DESKTOP = \
|
||||
appsdir=$(DESTDIR)$(datadir)/applications ; \
|
||||
diff --git a/src/utils/advanscene.cpp b/src/utils/advanscene.cpp
|
||||
index 8d8f370..09c35bb 100755
|
||||
--- a/src/utils/advanscene.cpp
|
||||
+++ b/src/utils/advanscene.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <time.h>
|
||||
|
||||
#define TIXML_USE_STL
|
||||
-#include "tinyxml/tinyxml.h"
|
||||
+#include <tinyxml.h>
|
||||
|
||||
#include "advanscene.h"
|
||||
#include "../common.h"
|
||||
@@ -2,6 +2,7 @@
|
||||
, pkgconfig, libtool, intltool
|
||||
, libXmu
|
||||
, lua
|
||||
, tinyxml
|
||||
, agg, alsaLib, soundtouch, openal
|
||||
, desktop-file-utils
|
||||
, gtk2, gtkglext, libglade, pangox_compat
|
||||
@@ -19,11 +20,9 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "gcc6_fixes.patch";
|
||||
url = "https://anonscm.debian.org/viewvc/pkg-games/packages/trunk/desmume/debian/patches/gcc6_fixes.patch?revision=15925";
|
||||
sha256 = "0j3fmxz0mfb3f4biks03pyz8f9hy958ks6qplisl60rzq9v9qpks";
|
||||
})
|
||||
./gcc6_fixes.patch
|
||||
./gcc7_fixes.patch
|
||||
./01_use_system_tinyxml.patch
|
||||
];
|
||||
|
||||
CXXFLAGS = "-fpermissive";
|
||||
@@ -31,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs =
|
||||
[ pkgconfig libtool intltool libXmu lua agg alsaLib soundtouch
|
||||
openal desktop-file-utils gtk2 gtkglext libglade pangox_compat
|
||||
libGLU libpcap SDL zziplib ];
|
||||
libGLU libpcap SDL zziplib tinyxml ];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-glade" # Failing on compile step
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From: zeromus
|
||||
Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
|
||||
Subject: fix GCC6 issues
|
||||
Bug: https://sourceforge.net/p/desmume/bugs/1570/
|
||||
Bug-Debian: http://bugs.debian.org/811691
|
||||
|
||||
Index: desmume/src/MMU_timing.h
|
||||
===================================================================
|
||||
--- desmume/src/MMU_timing.h (revision 5513)
|
||||
+++ desmume/src/MMU_timing.h (revision 5517)
|
||||
@@ -155,8 +155,8 @@
|
||||
enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
|
||||
enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
|
||||
enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
|
||||
- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
|
||||
- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
|
||||
+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
|
||||
+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
|
||||
enum { WORDSIZE = sizeof(u32) };
|
||||
enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
|
||||
enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
|
||||
Index: desmume/src/ctrlssdl.cpp
|
||||
===================================================================
|
||||
--- desmume/src/ctrlssdl.cpp (revision 5513)
|
||||
+++ desmume/src/ctrlssdl.cpp (revision 5517)
|
||||
@@ -200,7 +200,7 @@
|
||||
break;
|
||||
case SDL_JOYAXISMOTION:
|
||||
/* Dead zone of 50% */
|
||||
- if( (abs(event.jaxis.value) >> 14) != 0 )
|
||||
+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
|
||||
{
|
||||
key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
|
||||
if (event.jaxis.value > 0) {
|
||||
@@ -370,7 +370,7 @@
|
||||
Note: button constants have a 1bit offset. */
|
||||
case SDL_JOYAXISMOTION:
|
||||
key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
|
||||
- if( (abs(event->jaxis.value) >> 14) != 0 )
|
||||
+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
|
||||
{
|
||||
if (event->jaxis.value > 0)
|
||||
key_code |= 1;
|
||||
Index: desmume/src/wifi.cpp
|
||||
===================================================================
|
||||
--- desmume/src/wifi.cpp (revision 5429)
|
||||
+++ desmume/src/wifi.cpp (revision 5430)
|
||||
@@ -320,9 +320,9 @@
|
||||
|
||||
#if (WIFI_LOGGING_LEVEL >= 1)
|
||||
#if WIFI_LOG_USE_LOGC
|
||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
|
||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
|
||||
#else
|
||||
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
|
||||
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
|
||||
#endif
|
||||
#else
|
||||
#define WIFI_LOG(level, ...) {}
|
||||
@@ -0,0 +1,18 @@
|
||||
From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
|
||||
From: rogerman <rogerman@users.sf.net>
|
||||
Date: Mon, 17 Aug 2015 21:15:04 +0000
|
||||
Subject: Fix bug with libfat string handling.
|
||||
|
||||
diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
|
||||
index 765d7ae5..b6d7f01f 100644
|
||||
--- a/src/utils/libfat/directory.cpp
|
||||
+++ b/src/utils/libfat/directory.cpp
|
||||
@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
|
||||
int bytes;
|
||||
size_t count = 0;
|
||||
|
||||
- while (count < len-1 && src != '\0') {
|
||||
+ while (count < len-1 && *src != '\0') {
|
||||
bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
|
||||
if (bytes > 0) {
|
||||
*dst = (ucs2_t)tempChar;
|
||||
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
|
||||
name = "dolphin-emu-5.0-soundtouch-exception-fix.patch";
|
||||
sha256 = "0yd3l46nja5qiknnl30ryad98f3v8911jwnr67hn61dzx2kwbbaw";
|
||||
})
|
||||
# Fix build with gcc 8
|
||||
(fetchpatch {
|
||||
url = "https://salsa.debian.org/games-team/dolphin-emu/raw/9b7b4aeac1b60dcf28bdcafbed6bc498b2aeb0ad/debian/patches/03_gcc8.patch";
|
||||
name = "03_gcc8.patch";
|
||||
sha256 = "1da95gb8c95kd5cjhdvg19cv2z863lj3va5gx3bqc7g8r36glqxr";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -21,13 +21,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "dolphin-emu";
|
||||
version = "5.0-10879";
|
||||
version = "5.0-11109";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dolphin-emu";
|
||||
repo = "dolphin";
|
||||
rev = "c7fc9126aaf447a014af4aed195b17aa593dd49b";
|
||||
sha256 = "1pf4mxacxhrkvvh9j49ackm8hahl8x0ligmann1pafsb4lw0xbnj";
|
||||
rev = "93d7b3d15962a3393cf2971e14c4acf54d90cecd";
|
||||
sha256 = "1kkx3agdsc0qmf3yymlzq315nypm34qvq04qpjqycpfhmpx8gdnq";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
|
||||
libX11, openssl, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook }:
|
||||
libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
version = "2.0.5";
|
||||
|
||||
src = let
|
||||
version2 = concatStrings (splitString "." version);
|
||||
version2 = replaceStrings ["."] [""] version;
|
||||
platform = "linux" + (optionalString stdenv.is64bit "_x64");
|
||||
in fetchurl {
|
||||
url = "https://www.epsxe.com/files/ePSXe${version2}${platform}.zip";
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
else "1677lclam557kp8jwvchdrk27zfj50fqx2q9i3bcx26d9k61q3kl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip wrapGAppsHook ];
|
||||
nativeBuildInputs = [ unzip wrapGAppsHook autoPatchelfHook ];
|
||||
sourceRoot = ".";
|
||||
|
||||
buildInputs = [
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
gtk3
|
||||
libX11
|
||||
libGLU_combined
|
||||
openssl
|
||||
openssl_1_0_2
|
||||
ncurses5
|
||||
SDL
|
||||
SDL_ttf
|
||||
@@ -40,10 +40,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
install -D ${if stdenv.is64bit then "epsxe_x64" else "ePSXe"} $out/bin/epsxe
|
||||
patchelf \
|
||||
--set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
|
||||
--set-rpath ${makeLibraryPath buildInputs} \
|
||||
$out/bin/epsxe
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,11 +5,11 @@ with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "fs-uae";
|
||||
version = "2.8.4";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fs-uae.net/fs-uae/stable/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "19ccb3gbpjwwazqc9pyin3jicjl27m2gyvy5bb5zysq0mxpzassj";
|
||||
url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0r69i6rh472lj4qwqfcfh17xmlw4x6mhqzr9hhpkbb4byyw6h592";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdsk";
|
||||
version = "1.5.10";
|
||||
version = "1.5.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
|
||||
sha256 = "0ndkwyf8dp252v4yhqphvi32gmz9m5kkdqwv0aw92cz7mfbnp36g";
|
||||
sha256 = "0s2k9vkrf95pf4ydc6vazb29ysrnhdpcfjnf17lpk4nmlv1j3vyv";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem
|
||||
, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }:
|
||||
|
||||
let
|
||||
majorVersion = "0";
|
||||
minorVersion = "215";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "MAME";
|
||||
exec = "mame${stdenv.lib.optionalString stdenv.is64bit "64"}";
|
||||
desktopName = "MAME";
|
||||
genericName = "MAME is a multi-purpose emulation framework";
|
||||
categories = "System;Emulator;";
|
||||
};
|
||||
in mkDerivation {
|
||||
pname = "mame";
|
||||
version = "${majorVersion}.${minorVersion}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mamedev";
|
||||
repo = "mame";
|
||||
rev = "mame${majorVersion}${minorVersion}";
|
||||
sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "fortify" ];
|
||||
NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
|
||||
|
||||
makeFlags = [ "TOOLS=1" ];
|
||||
|
||||
buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
|
||||
nativeBuildInputs = [ python pkgconfig which ];
|
||||
|
||||
installPhase = ''
|
||||
dest=$out/opt/mame
|
||||
|
||||
make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"}
|
||||
mkdir -p $dest
|
||||
mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest
|
||||
|
||||
mkdir -p $out/bin
|
||||
find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
|
||||
|
||||
mkdir -p $out/share/man/man{1,6}
|
||||
mv $dest/docs/man/*.1 $out/share/man/man1
|
||||
mv $dest/docs/man/*.6 $out/share/man/man6
|
||||
|
||||
mkdir -p $out/share
|
||||
ln -s ${desktopItem}/share/applications $out/share
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Is a multi-purpose emulation framework";
|
||||
homepage = https://www.mamedev.org/;
|
||||
license = with licenses; [ bsd3 gpl2Plus ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = with maintainers; [ gnidorah ];
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{ stdenv, fetchurl, unzip, pkgconfig, SDL, gtk2, GConf, libGLU_combined
|
||||
, expat, zlib }:
|
||||
|
||||
let
|
||||
|
||||
version = "139";
|
||||
|
||||
mameSrc = fetchurl {
|
||||
url = "https://github.com/mamedev/mame/releases/download/mame0139/mame0${version}s.zip";
|
||||
sha256 = "1mpkwxfz38cgxzvlni2y3fxas3b8qmnzj2ik2zzbd8mr622jdp79";
|
||||
};
|
||||
|
||||
messSrc = fetchurl {
|
||||
url = "http://www.progettosnaps.net/MESS/src/mess0${version}s.zip";
|
||||
name = "mess0139s.zip";
|
||||
sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "mess-0.${version}";
|
||||
|
||||
unpackPhase =
|
||||
''
|
||||
unzip ${mameSrc}
|
||||
# Yes, the MAME distribution is a zip file containing a zip file...
|
||||
unzip mame.zip
|
||||
unzip -o ${messSrc}
|
||||
'';
|
||||
|
||||
makeFlags = "TARGET=mess BUILD_EXPAT= BUILD_ZLIB= NOWERROR=1";
|
||||
|
||||
buildInputs =
|
||||
[ unzip pkgconfig SDL gtk2 GConf libGLU_combined expat zlib ];
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
cp mess* $out/bin/mess
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://www.mess.org/;
|
||||
license = "non-commercial";
|
||||
description = "Multi Emulator Super System, an emulator of many game consoles and computer systems";
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
@@ -15,13 +15,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "mgba";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mgba-emu";
|
||||
repo = "mgba";
|
||||
rev = version;
|
||||
sha256 = "0g0xa1mzvan0sl1p5c784j2g5mcw9kd2b7wiahy06gy0c1nmbcnp";
|
||||
sha256 = "1wrmwh50rv8bd328r8cisrihq6h90kx2bfb0vmjfbsd3l1jvgrgm";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -14,35 +14,35 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/01_fix-i386-exec-stack.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/01_fix-i386-exec-stack.patch";
|
||||
sha256 = "17497wjxd6b92bj458s2769d9bpp68ydbvmfs9gp51yhnq4zl81x";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/02_disable-ppc-auto-dynarec.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/02_disable-ppc-auto-dynarec.patch";
|
||||
sha256 = "0v8n79z034w6cqdrzhgd9fkdpri42mzvkdjm19x4asz94gg2i2kf";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/03_fix-plugin-dir.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/03_fix-plugin-dir.patch";
|
||||
sha256 = "0vkl0mv6whqaz79kvvvlmlmjpynyq4lh352j3bbxcr0vjqffxvsy";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/04_update-homedir-symlinks.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/04_update-homedir-symlinks.patch";
|
||||
sha256 = "18r6n025ybr8fljfsaqm4ap31wp8838j73lrsffi49fkis60dp4j";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/05_format-security.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/05_format-security.patch";
|
||||
sha256 = "03m4kfc9bk5669hf7ji1anild08diliapx634f9cigyxh72jcvni";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/06_warnings.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/06_warnings.patch";
|
||||
sha256 = "0iz3g9ihnhisfgrzma9l74y4lhh57na9h41bmiam1millb796g71";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/07_non-linux-ip-addr.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/07_non-linux-ip-addr.patch";
|
||||
sha256 = "14vb9l0l4nzxcymhjjs4q57nmsncmby9qpdr7c19rly5wavm4k77";
|
||||
})
|
||||
( fetchpatch {
|
||||
url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/08_reproducible.patch?h=debian/1.9.94-2";
|
||||
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/08_reproducible.patch";
|
||||
sha256 = "1cx9q59drsk9h6l31097lg4aanaj93ysdz5p88pg9c7wvxk1qz06";
|
||||
})
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qtmultimedia
|
||||
{ stdenv, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qtmultimedia
|
||||
, glew, libzip, snappy, zlib, withGamepads ? true, SDL2 }:
|
||||
|
||||
assert withGamepads -> (SDL2 != null);
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkDerivation rec {
|
||||
pname = "ppsspp";
|
||||
version = "1.4.2";
|
||||
|
||||
|
||||
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.genesis ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{ stdenv, fetchgit, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, retroarch
|
||||
, alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL
|
||||
{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch
|
||||
, alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, libGL
|
||||
, ffmpeg, pcre, libevdev, libpng, libjpeg, udev, libvorbis
|
||||
, miniupnpc, sfml, xorg, zlib }:
|
||||
, miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost }:
|
||||
|
||||
let
|
||||
|
||||
d2u = stdenv.lib.replaceChars ["-"] ["_"];
|
||||
|
||||
mkLibRetroCore = ({ core, src, description, license, ... }@a:
|
||||
mkLibRetroCore = ({ core, src, description, license, broken ? false, ... }@a:
|
||||
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
|
||||
|
||||
name = "libretro-${core}-${version}";
|
||||
version = "2017-06-04";
|
||||
version = "2019-09-29";
|
||||
inherit src;
|
||||
|
||||
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
|
||||
@@ -58,12 +58,83 @@ in with stdenv.lib.licenses;
|
||||
core = "4do";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "52d881743dd8614d96b4de8bd153cb725b87d474";
|
||||
sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72";
|
||||
rev = "b6ad4bc8548f2f3792cd929ccf26d9078b73a1c0";
|
||||
sha256 = "0j2bd9cnnd5k99l9qr4wd5q9b4ciplia6ywp90xg6422s1im2iw0";
|
||||
};
|
||||
description = "Port of 4DO/libfreedo to libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
atari800 = (mkLibRetroCore rec {
|
||||
core = "atari800";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "efc0bc71e3cb8a4f957d07fe808cc002ed9c13b9";
|
||||
sha256 = "150hmazi4p5p18gpjmkrn1k9j719cd9gy7jn0jiy3jbk2cxxsjn6";
|
||||
};
|
||||
description = "Port of Atari800 to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-snes = (mkLibRetroCore rec {
|
||||
core = "mednafen-snes";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-bsnes-libretro";
|
||||
rev = "6aee84d454570bb17dff5975df28febdbcb72938";
|
||||
sha256 = "0nk9xlypg3jhpbwd9z5bjbgzlkz842hy9rq14k1nwn0qz6d88kld";
|
||||
};
|
||||
description = "Port of Mednafen's SNES core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-gba = (mkLibRetroCore rec {
|
||||
core = "mednafen-gba";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-gba-libretro";
|
||||
rev = "135afdbb9591655a3e016b75abba07e481f6d406";
|
||||
sha256 = "0fc0x24qn4y7pz3mp1mm1ain31aj9pznp1irr0k7hvazyklzy9g3";
|
||||
};
|
||||
description = "Port of Mednafen's GameBoy Advance core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-lynx = (mkLibRetroCore rec {
|
||||
core = "mednafen-lynx";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-lynx-libretro";
|
||||
rev = "928f7cf5b39f0363e55667572ff455e37489998e";
|
||||
sha256 = "0f03wzdr6f0fpy889i9a2834jg5lvcriyl98pajp75m7whm9r9cc";
|
||||
};
|
||||
description = "Port of Mednafen's Lynx core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-ngp = (mkLibRetroCore rec {
|
||||
core = "mednafen-ngp";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-ngp-libretro";
|
||||
rev = "6130e4057c3d8f9172f0c49bb9b6c61bd1a572d5";
|
||||
sha256 = "10k7spjrhggjgzb370bwv7fgk0nb6xri9ym6cm4qvnrkcwxm7i9p";
|
||||
};
|
||||
description = "Port of Mednafen's NeoGeo Pocket core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
@@ -71,26 +142,42 @@ in with stdenv.lib.licenses;
|
||||
core = "mednafen-pce-fast";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-pce-fast-libretro";
|
||||
rev = "2954e645d668ee73d93803dc30da4462fc7a459b";
|
||||
sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7";
|
||||
rev = "7bbbdf111c1ce52ab4a97e911ebdaa6836ee881a";
|
||||
sha256 = "1p0kk5a2yi05yl0hspzv9q0n96yx9riaaacbmnq76li0i3ihkf6l";
|
||||
};
|
||||
description = "Port of Mednafen's PC Engine core to libretro";
|
||||
license = gpl2;
|
||||
}); in der.override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
name = "beetle-pce-fast-${der.version}";
|
||||
};
|
||||
|
||||
beetle-pcfx = (mkLibRetroCore rec {
|
||||
core = "mednafen-pcfx";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-pcfx-libretro";
|
||||
rev = "e04f695202a7295e4b6f2122ae947279ac9df007";
|
||||
sha256 = "0pdlz05pjqxp19da13dr3wd20hgxw8z5swhflyf7ksjgvz5rxb4r";
|
||||
};
|
||||
description = "Port of Mednafen's PCFX core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-psx = let der = (mkLibRetroCore {
|
||||
core = "mednafen-psx";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-psx-libretro";
|
||||
rev = "76862abefdde9097561e2b795e75b49247deff17";
|
||||
sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x";
|
||||
rev = "f55db8655408104a6e20af667657423f08566c85";
|
||||
sha256 = "17iz8r2wy8zqh63j78ijwxasdnmg8dh9mmqn1qr4hvf4fj53ckk8";
|
||||
};
|
||||
description = "Port of Mednafen's PSX Engine core to libretro";
|
||||
license = gpl2;
|
||||
}); in der.override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
name = "beetle-psx-${der.version}";
|
||||
};
|
||||
@@ -99,27 +186,84 @@ in with stdenv.lib.licenses;
|
||||
core = "mednafen-saturn";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-saturn-libretro";
|
||||
rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497";
|
||||
sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c";
|
||||
rev = "3313cc6760c14cffa9226e0cfd41debc11df8bdd";
|
||||
sha256 = "1z2zfn5cpsr3x6bvr562vqvmp4pjjhv5a6jcp09gfsy2gkyispr2";
|
||||
};
|
||||
description = "Port of Mednafen's Saturn core to libretro";
|
||||
license = gpl2;
|
||||
}); in der.override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
name = "beetle-saturn-${der.version}";
|
||||
meta.platforms = [ "x86_64-linux" ];
|
||||
meta.platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
|
||||
beetle-supergrafx = (mkLibRetroCore rec {
|
||||
core = "mednafen-supergrafx";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-supergrafx-libretro";
|
||||
rev = "857e41146e3b0a51def3baea49d2eec80f18102b";
|
||||
sha256 = "0r3v4qy4rx4mnr7w4s779f6f2bjyp69m42blimacl1l9f6hmcv5h";
|
||||
};
|
||||
description = "Port of Mednafen's SuperGrafx core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-wswan = (mkLibRetroCore rec {
|
||||
core = "mednafen-wswan";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-wswan-libretro";
|
||||
rev = "925cb8c77af1678ceab24f04c2790cb95389def1";
|
||||
sha256 = "0kqsqn655z6nnr2s1xdbf37ds99gyhqfd7dx0wmx3sy1fshjg5wm";
|
||||
};
|
||||
description = "Port of Mednafen's WonderSwan core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
beetle-vb = (mkLibRetroCore rec {
|
||||
core = "mednafen-vb";
|
||||
src = fetchRetro {
|
||||
repo = "beetle-vb-libretro";
|
||||
rev = "9066cdafa29ac054243a679baded49212661f47b";
|
||||
sha256 = "0gsniz5kk4xdiprcfyqjcss2vkrphi48wbr29gqvpf7l8gpnwx8p";
|
||||
};
|
||||
description = "Port of Mednafen's VirtualBoy core to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
bluemsx = (mkLibRetroCore rec {
|
||||
core = "bluemsx";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "ddd89ff1fa534816e48521bd930b721f2d39975a";
|
||||
sha256 = "0hiqhc1ckj3ydy0q1v8hwjkkyh2564f7wlqypmshjcc47n296xyf";
|
||||
};
|
||||
description = "Port of BlueMSX to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
bsnes-mercury = let bname = "bsnes-mercury"; in (mkLibRetroCore {
|
||||
core = bname + "-accuracy";
|
||||
src = fetchRetro {
|
||||
repo = bname;
|
||||
rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b";
|
||||
sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s";
|
||||
rev = "4a382621da58ae6da850f1bb003ace8b5f67968c";
|
||||
sha256 = "0z8psz24nx8497vpk2wya9vs451rzzw915lkw3qiq9bzlzg9r2wv";
|
||||
};
|
||||
description = "Fork of bsnes with HLE DSP emulation restored";
|
||||
license = gpl3;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make && cd out";
|
||||
};
|
||||
|
||||
@@ -127,54 +271,88 @@ in with stdenv.lib.licenses;
|
||||
core = "desmume";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd";
|
||||
sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl";
|
||||
rev = "e8cf461f83eebb195f09e70090f57b07d1bcdd9f";
|
||||
sha256 = "0rc8s5226wn39jqs5yxi30jc1snc0p106sfym7kgi98hy5na8yab";
|
||||
};
|
||||
description = "libretro wrapper for desmume NDS emulator";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
|
||||
}).override {
|
||||
makefile = "desmume/src/frontend/libretro/Makefile.libretro";
|
||||
configurePhase = "cd desmume/src/frontend/libretro";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
desmume2015 = (mkLibRetroCore rec {
|
||||
core = "desmume2015";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "c27bb71aa28250f6da1576e069b4b8cc61986beb";
|
||||
sha256 = "1m7g1wwpnnprmki3rixknggjmxbp7d4hwxgkqr041shmrm0rhafd";
|
||||
};
|
||||
description = "libretro wrapper for desmume NDS emulator from 2015";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
|
||||
}).override {
|
||||
makefile = "desmume/Makefile.libretro";
|
||||
configurePhase = "cd desmume";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
dolphin = (mkLibRetroCore {
|
||||
core = "dolphin";
|
||||
src = fetchRetro {
|
||||
repo = "dolphin";
|
||||
rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754";
|
||||
sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3";
|
||||
rev = "11a7ed402c7178da1d9d57c6e5e5a05a4dc6a2c8";
|
||||
sha256 = "11jrcczkbyns01rvxb5rd22fbkbfn2h81f6pfxbhi13fl4ljim9x";
|
||||
};
|
||||
description = "Port of Dolphin to libretro";
|
||||
license = gpl2Plus;
|
||||
broken = true;
|
||||
|
||||
extraBuildInputs = [
|
||||
cmake curl libGLU_combined pcre pkgconfig sfml miniupnpc
|
||||
gettext glib gtk2 hidapi
|
||||
cmake curl libGLU libGL pcre pkgconfig sfml
|
||||
gettext hidapi
|
||||
libevdev udev
|
||||
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXinerama libXxf86vm ]);
|
||||
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
|
||||
}).override {
|
||||
cmakeFlags = [
|
||||
"-DLINUX_LOCAL_DEV=true"
|
||||
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
|
||||
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
|
||||
"-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DLIBRETRO=ON"
|
||||
"-DLIBRETRO_STATIC=1"
|
||||
"-DENABLE_QT=OFF"
|
||||
"-DENABLE_LTO=OFF"
|
||||
"-DUSE_UPNP=OFF"
|
||||
"-DUSE_DISCORD_PRESENCE=OFF"
|
||||
];
|
||||
dontUseCmakeBuildDir = "yes";
|
||||
buildPhase = ''
|
||||
cd Source/Core/DolphinLibretro
|
||||
make
|
||||
'';
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
dosbox = (mkLibRetroCore rec {
|
||||
core = "dosbox";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "e4ed503b14ed59d5d745396ef1cc7d52cf912328";
|
||||
sha256 = "13bx0ln9hwn6hy4sv0ivqmjgjbfq8svx15dsa24hwd8lkf0kakl4";
|
||||
};
|
||||
description = "Port of DOSBox to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
fba = (mkLibRetroCore rec {
|
||||
core = "fba";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "9146c18ac989c619256d1cb8954d49e728e44ea3";
|
||||
sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m";
|
||||
rev = "89245384c7d181e286d6f34995253419f946becb";
|
||||
sha256 = "1pg351qhbq5x8qmaq6c30v8ynic8jv3gbxy2kq5iknka80g1lkck";
|
||||
};
|
||||
description = "Port of Final Burn Alpha to libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
makefile = "svn-current/trunk/makefile.libretro";
|
||||
buildPhase = ''
|
||||
cd svn-current/trunk \
|
||||
&& make -f makefile.libretro \
|
||||
@@ -186,19 +364,34 @@ in with stdenv.lib.licenses;
|
||||
core = "fceumm";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "45f773a1c221121746bbe2680e3aaaf92776a87e";
|
||||
sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b";
|
||||
rev = "0e315e0ca0093ebda06a97835cec6ad4af81db7a";
|
||||
sha256 = "12bvvxmvafjvrvwxl5gzr583g48s0isx2fgvjgkrx175vk2amaf4";
|
||||
};
|
||||
description = "FCEUmm libretro port";
|
||||
license = gpl2;
|
||||
};
|
||||
|
||||
flycast = (mkLibRetroCore rec {
|
||||
core = "flycast";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "45a15205dfc05cfc4df2488cad7c2b4988c5aa0f";
|
||||
sha256 = "18glxd57kddq6p2bwq0qknyq6bv8dxklqks4w2jy2yccvwxdxy2i";
|
||||
};
|
||||
description = "Flycast libretro port";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ libGL libGLU ];
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
gambatte = mkLibRetroCore rec {
|
||||
core = "gambatte";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4";
|
||||
sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr";
|
||||
rev = "4d9ad7b29946ec0a914b2d6a735b6c2704ed1f23";
|
||||
sha256 = "156pvvlch5izbgbw4ddxhiwgzpp52irr3nqaz813i5f02fiq5wya";
|
||||
};
|
||||
description = "Gambatte libretro port";
|
||||
license = gpl2;
|
||||
@@ -208,13 +401,56 @@ in with stdenv.lib.licenses;
|
||||
core = "genesis-plus-gx";
|
||||
src = fetchRetro {
|
||||
repo = "Genesis-Plus-GX";
|
||||
rev = "365a28c7349b691e6aaa3ad59b055261c42bd130";
|
||||
sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c";
|
||||
rev = "0e4357bd64533d7fd93b5f01620b92595025fab5";
|
||||
sha256 = "1nryy00844h3ra97j40g38lj7036ibm2l8002qid7r5r9kggclqx";
|
||||
};
|
||||
description = "Enhanced Genesis Plus libretro port";
|
||||
license = "Non-commercial";
|
||||
};
|
||||
|
||||
gpsp = (mkLibRetroCore rec {
|
||||
core = "gpsp";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "24af89596e6484ff5a7a08efecfa8288cfbc02f3";
|
||||
sha256 = "1jc5i70cab5f23yc9sfv8iyvmwmc4sb33f413il2vlhsfdxklyk7";
|
||||
};
|
||||
description = "Port of gpSP to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
handy = (mkLibRetroCore rec {
|
||||
core = "handy";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "6b19a4fad1b394f6a1351c88f60991d4878ff05b";
|
||||
sha256 = "0lhkrwh3rirdidxb8kfcg8wk9gjsc7g6qpkv74h6f09rb4y75w1y";
|
||||
};
|
||||
description = "Port of Handy to libretro";
|
||||
license = "Handy-License";
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
hatari = (mkLibRetroCore rec {
|
||||
core = "hatari";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "ec1b59c4b6c7ca7d0d23d60cfe2cb61911b11173";
|
||||
sha256 = "1pm821s2cz93xr7qx7dv0imr44bi4pvdvlnjl486p83vff9yawfg";
|
||||
};
|
||||
description = "Port of Hatari to libretro";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ cmake SDL ];
|
||||
}).override {
|
||||
makefile = "Makefile.libretro";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
higan-sfc = (mkLibRetroCore {
|
||||
core = "higan-sfc";
|
||||
src = fetchFromGitLab {
|
||||
@@ -225,6 +461,8 @@ in with stdenv.lib.licenses;
|
||||
};
|
||||
description = "Accurate SNES / Super Famicom emulator";
|
||||
license = gpl3;
|
||||
broken = true;
|
||||
|
||||
}).override {
|
||||
makefile = "GNUmakefile";
|
||||
buildPhase = "cd higan && make compiler=g++ target=libretro binary=library && cd out";
|
||||
@@ -234,81 +472,218 @@ in with stdenv.lib.licenses;
|
||||
core = "mame";
|
||||
src = fetchRetro {
|
||||
repo = "mame";
|
||||
rev = "9f9e6b6c9bde4d50c72e9a5c80496a1fec6b8aa9";
|
||||
sha256 = "0lfj8bjchkcvyb5x0x29cg10fkfklxndk80947k4qfysclijxpkv";
|
||||
rev = "f4aac49f3d56fbd653628ac456c23ac9a6b857ae";
|
||||
sha256 = "1pjpnwdj73319hgcjhganzrcz2zn4fnjydah989haqh3id5j3zam";
|
||||
};
|
||||
description = "Port of MAME to libretro";
|
||||
license = gpl2Plus;
|
||||
|
||||
extraBuildInputs = [ alsaLib libGLU_combined portaudio python27 xorg.libX11 ];
|
||||
extraBuildInputs = [ alsaLib libGLU libGL portaudio python27 xorg.libX11 ];
|
||||
}).override {
|
||||
postPatch = ''
|
||||
# Prevent the failure during the parallel building of:
|
||||
# make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
|
||||
mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
|
||||
'';
|
||||
buildPhase = "make -f Makefile.libretro";
|
||||
};
|
||||
|
||||
mame2000 = (mkLibRetroCore rec {
|
||||
core = "mame2000";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "0a8a174f5e755cdd476895207003c5d07cfa6af2";
|
||||
sha256 = "03k0cfgd4wfl31dv5xb6xjd4h7sh0k0qw6wbspwi0lgswmhz97bb";
|
||||
};
|
||||
description = "Port of MAME ~2000 to libretro";
|
||||
license = gpl2Plus;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
mame2003 = (mkLibRetroCore rec {
|
||||
core = "mame2003";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "170d5b6490953d40edc39defe69945d005f8ec03";
|
||||
sha256 = "0slsf59sn5lijr1mrx5ffc9z81ra1wcw7810mb52djqyvm15r9zl";
|
||||
};
|
||||
description = "Port of MAME ~2003 to libretro";
|
||||
license = gpl2Plus;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
mame2003-plus = (mkLibRetroCore rec {
|
||||
core = "mame2003-plus";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "d9a56a3af908ae9100b4c9feebff4b918363f241";
|
||||
sha256 = "1c16chfs4b2j1x1bmrklh8ssqki850k787qwq7b95dyxksj2bpx1";
|
||||
};
|
||||
description = "Port of MAME ~2003+ to libretro";
|
||||
license = gpl2Plus;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
mame2010 = (mkLibRetroCore rec {
|
||||
core = "mame2010";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "4ced2c31f1100eefc7f4483b474b8a680a3b3f2b";
|
||||
sha256 = "1a8ijj0sixr6xrqfgimna0ipfj2bb2kvj4mb45hb8a18mwn6y0mc";
|
||||
};
|
||||
description = "Port of MAME ~2010 to libretro";
|
||||
license = gpl2Plus;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
mame2015 = (mkLibRetroCore rec {
|
||||
core = "mame2015";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "e3a28398f54cd6b2c24b7165d215b046b79c10f5";
|
||||
sha256 = "1fgwi37zgp2s92bkz03gch3ivgyjgdi3xycrd8z7x87gi20a79x9";
|
||||
};
|
||||
description = "Port of MAME ~2015 to libretro";
|
||||
license = gpl2Plus;
|
||||
extraBuildInputs = [ python27 alsaLib ];
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
mame2016 = (mkLibRetroCore rec {
|
||||
core = "mame2016";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "ea4c1ffa75eb3fb0096158b71706b8b84d86d12c";
|
||||
sha256 = "1qyvdymmjv5q0k3najgfdxzf1yr6bnysnsl19v753yj29xs4hwzp";
|
||||
};
|
||||
description = "Port of MAME ~2016 to libretro";
|
||||
license = gpl2Plus;
|
||||
extraBuildInputs = [ python27 alsaLib ];
|
||||
}).override {
|
||||
postPatch = ''
|
||||
# Prevent the failure during the parallel building of:
|
||||
# make -C 3rdparty/genie/build/gmake.linux -f genie.make obj/Release/src/host/lua-5.3.0/src/lgc.o
|
||||
mkdir -p 3rdparty/genie/build/gmake.linux/obj/Release/src/host/lua-5.3.0/src
|
||||
'';
|
||||
buildPhase = "make -f Makefile.libretro";
|
||||
};
|
||||
|
||||
mesen = (mkLibRetroCore rec {
|
||||
core = "mesen";
|
||||
src = fetchFromGitHub {
|
||||
owner = "SourMesen";
|
||||
repo = core;
|
||||
rev = "942633dd3dbb73cc3abd748f6d5440c78abbea09";
|
||||
sha256 = "0a95wd64vnblksacapxwxla9j2iw8a5hbdm111cldrni12q87iq2";
|
||||
};
|
||||
description = "Port of Mesen to libretro";
|
||||
license = gpl3;
|
||||
}).override {
|
||||
makefile = "Libretro/Makefile";
|
||||
buildPhase = "cd Libretro && make";
|
||||
};
|
||||
|
||||
mgba = mkLibRetroCore rec {
|
||||
core = "mgba";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d";
|
||||
sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7";
|
||||
rev = "4865aaabc2a46c635f218f7b51f8fc5cc2c4c8ac";
|
||||
sha256 = "1mdzwcsl5bafmgqfh0a1bgfgilisffxsygcby0igsq2bgkal47mm";
|
||||
};
|
||||
description = "Port of mGBA to libretro";
|
||||
license = mpl20;
|
||||
};
|
||||
|
||||
mupen64plus = (mkLibRetroCore rec {
|
||||
core = "mupen64plus";
|
||||
core = "mupen64plus-next";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e";
|
||||
sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8";
|
||||
repo = "mupen64plus-libretro-nx"; # + "-libretro-nx";
|
||||
rev = "f77c16f9f1dd911fd2254becc8a28adcdafe8aa1";
|
||||
sha256 = "0j6vrkwch9lwmlhyz7fp1ha0bby54gvbwk91hwbv35f6dvs0aw0d";
|
||||
};
|
||||
description = "Libretro port of Mupen64 Plus, GL only";
|
||||
license = gpl2;
|
||||
|
||||
extraBuildInputs = [ libGLU_combined libpng ];
|
||||
extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
|
||||
}).override {
|
||||
buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}";
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
nestopia = (mkLibRetroCore rec {
|
||||
core = "nestopia";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "ecfa170a582e5b8ec11225ca645843fa064955ca";
|
||||
sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q";
|
||||
rev = "7f48c211c281880d122981da119a4455a9bebbde";
|
||||
sha256 = "05p3a559633dzw222rs1fh48v657mdyirl1qfqzkhqiar9rxf31g";
|
||||
};
|
||||
description = "nestopia undead libretro port";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "libretro/Makefile";
|
||||
buildPhase = "cd libretro && make";
|
||||
};
|
||||
|
||||
o2em = (mkLibRetroCore rec {
|
||||
core = "o2em";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "d6731b9b2592654ce4f1b64c1b1da17b32e7c94c";
|
||||
sha256 = "0809qw16y7ablxfayf0lbzvq7wqdmjp0afdb0vcgv193vvhhp58q";
|
||||
};
|
||||
description = "Port of O2EM to libretro";
|
||||
license = artistic1;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
parallel-n64 = (mkLibRetroCore rec {
|
||||
core = "parallel-n64";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "3276db27547bf7ca85896427f0b82d4658694d88";
|
||||
sha256 = "19396v50azrb52ifjk298zgcbxn8dvfvp6zwrnzsk6mp8ff7qcqw";
|
||||
rev = "30f4fd3c2456145763eb76aead7485a1b86ba6bd";
|
||||
sha256 = "0kbyzmscmfi6f842clzaff4k6xcb5410fwhv8n6vv42xk6ljfvgh";
|
||||
};
|
||||
description = "Parallel Mupen64plus rewrite for libretro.";
|
||||
license = gpl2;
|
||||
|
||||
extraBuildInputs = [ libGLU_combined libpng ];
|
||||
extraBuildInputs = [ libGLU libGL libpng ];
|
||||
}).override {
|
||||
buildPhase = "make WITH_DYNAREC=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" else "x86"}";
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
pcsx_rearmed = (mkLibRetroCore rec {
|
||||
core = "pcsx_rearmed";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "eb6943ee04b0f30a6f1cebfe399a94bacd1dfb45";
|
||||
sha256 = "0xikdirvjal4mdr5y9dl9gcxhdilqzq43f909b0z8vc069vj1wjz";
|
||||
};
|
||||
description = "Port of PCSX ReARMed to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
configurePhase = "rm configure";
|
||||
buildPhase = "make -f Makefile.libretro";
|
||||
};
|
||||
|
||||
picodrive = (mkLibRetroCore rec {
|
||||
core = "picodrive";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a";
|
||||
sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h";
|
||||
rev = "28dcfd6f43434e6828ee647223a0576bfe858c24";
|
||||
sha256 = "19a1b6q8fhf7wxzyf690va1ixzlxlzyslv1zxm0ll5pfsqf2y3gx";
|
||||
};
|
||||
description = "Fast MegaDrive/MegaCD/32X emulator";
|
||||
license = "MAME";
|
||||
@@ -319,18 +694,38 @@ in with stdenv.lib.licenses;
|
||||
configurePhase = "./configure";
|
||||
};
|
||||
|
||||
play = (mkLibRetroCore rec {
|
||||
core = "play";
|
||||
src = fetchRetro {
|
||||
repo = "play-";
|
||||
rev = "fedc1e1c2918a7490a881cdb4ec951a828c19671";
|
||||
sha256 = "0hwxx7h61gd29a2gagwjbvxk2hgwdk1wxg4nx90zrizb8nczwnl6";
|
||||
};
|
||||
description = "Port of Play! to libretro";
|
||||
license = bsd2;
|
||||
extraBuildInputs = [ cmake boost ];
|
||||
}).override {
|
||||
cmakeFlags = [ "-DBUILD_PLAY=OFF -DBUILD_LIBRETRO_CORE=ON" ];
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
ppsspp = (mkLibRetroCore rec {
|
||||
core = "ppsspp";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573";
|
||||
sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hrydgard/ppsspp";
|
||||
rev = "bf1777f7d3702e6a0f71c7ec1fc51976e23c2327";
|
||||
sha256 = "17sym0vk72lzbh9a1501mhw98c78x1gq7k1fpy69nvvb119j37wa";
|
||||
};
|
||||
description = "ppsspp libretro port";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ libGLU_combined ffmpeg ];
|
||||
extraBuildInputs = [ cmake libGLU libGL ffmpeg python37 xorg.libX11 ];
|
||||
}).override {
|
||||
buildPhase = "cd libretro && make";
|
||||
cmakeFlags = "-DLIBRETRO=ON";
|
||||
makefile = "Makefile";
|
||||
buildPhase = ''
|
||||
make \
|
||||
&& mv lib/ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary} ppsspp_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
'';
|
||||
};
|
||||
|
||||
prboom = (mkLibRetroCore rec {
|
||||
@@ -346,30 +741,31 @@ in with stdenv.lib.licenses;
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
quicknes = (mkLibRetroCore {
|
||||
prosystem = (mkLibRetroCore rec {
|
||||
core = "prosystem";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "cb4aa3ee72f98b0891a7bac5c9dac458cdba4d34";
|
||||
sha256 = "0yvzmks9zz1hf7mv6cd2qin1p3yx00dbrcxlm0yysy5q5jiigblg";
|
||||
};
|
||||
description = "Port of ProSystem to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
quicknes = (mkLibRetroCore rec {
|
||||
core = "quicknes";
|
||||
src = fetchRetro {
|
||||
repo = "QuickNES_Core";
|
||||
rev = "8613b48cee97f1472145bbafa76e543854b2bbd5";
|
||||
sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1";
|
||||
rev = "cd302d998d102c9461a924b81817e48b9ea1518f";
|
||||
sha256 = "1sczs1jqcbhpkb5xpcqqdcnxlz7bqmanm4gdnnc12c19snl7999b";
|
||||
};
|
||||
description = "QuickNES libretro port";
|
||||
license = lgpl21Plus;
|
||||
}).override {
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
reicast = (mkLibRetroCore rec {
|
||||
core = "reicast";
|
||||
src = fetchRetro {
|
||||
repo = core + "-emulator";
|
||||
rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11";
|
||||
sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m";
|
||||
};
|
||||
description = "Reicast libretro port";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ libGLU_combined ];
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
@@ -377,13 +773,14 @@ in with stdenv.lib.licenses;
|
||||
core = "scummvm";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c";
|
||||
sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy";
|
||||
rev = "e07a6ede61c364fb87630fa7507a4f8482d882e0";
|
||||
sha256 = "0i88z53q28lwzmadxincab4m66qbzcbmasgildybj8db0z2z8jm0";
|
||||
};
|
||||
description = "Libretro port of ScummVM";
|
||||
license = gpl2;
|
||||
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ];
|
||||
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ];
|
||||
}).override {
|
||||
makefile = "backends/platform/libretro/build/Makefile";
|
||||
buildPhase = "cd backends/platform/libretro/build && make";
|
||||
};
|
||||
|
||||
@@ -391,50 +788,85 @@ in with stdenv.lib.licenses;
|
||||
core = "snes9x";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a";
|
||||
sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip";
|
||||
rev = "29b78df8c9f0f48ed4605d08a187a134b3b316d6";
|
||||
sha256 = "004h1pkxvbn4zlh8bqs6z17k04jw5wzbwklpgvmb7hbxshsi4qid";
|
||||
};
|
||||
description = "Port of SNES9x git to libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
makefile = "libretro/Makefile";
|
||||
buildPhase = "cd libretro && make";
|
||||
};
|
||||
|
||||
snes9x-next = (mkLibRetroCore rec {
|
||||
core = "snes9x-next";
|
||||
snes9x2002 = (mkLibRetroCore rec {
|
||||
core = "snes9x2002";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "b2a69de0df1eb39ed362806f9c9633f4544272af";
|
||||
sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij";
|
||||
rev = "354bcb5acea0aa45b56ae553e0b2b4f10792dfeb";
|
||||
sha256 = "05gvjjxy6ci5pax3frd9g8k9mkqskab5g6rvfjab7cc4zrxrg23f";
|
||||
};
|
||||
description = "Optimized port/rewrite of SNES9x 1.39 to Libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
snes9x2005 = (mkLibRetroCore rec {
|
||||
core = "snes9x2005";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "e5cadd2f21fb64e8c7194ad006b39e6f555c4a5b";
|
||||
sha256 = "1q0xrw3f8zm2k19sva8cz28yx815w8a6y1xsl0i6bb3cai3q1hyx";
|
||||
};
|
||||
description = "Optimized port/rewrite of SNES9x 1.43 to Libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = ''
|
||||
make USE_BLARGG_APU=1 \
|
||||
&& mv snes9x2005_plus_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x2005_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
'';
|
||||
};
|
||||
|
||||
snes9x2010 = (mkLibRetroCore rec {
|
||||
core = "snes9x2010";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "e945cbae0f8c472e1567a319817c9228b775dd71";
|
||||
sha256 = "1pj5p4a2hy7hk90bzy4vnkz3b6nc8n1niqibgwhyfsc22xlxqsfr";
|
||||
};
|
||||
description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
|
||||
license = "Non-commercial";
|
||||
}).override {
|
||||
buildPhase = ''
|
||||
make -f Makefile.libretro
|
||||
mv snes9x2010_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x_next_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
'';
|
||||
};
|
||||
|
||||
stella = (mkLibRetroCore rec {
|
||||
core = "stella";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "bbe65db0e344dcb38905586bd853076b65963e5a";
|
||||
sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0";
|
||||
repo = core + "2014-libretro";
|
||||
rev = "6d74ad9a0fd779145108cf1213229798d409ed37";
|
||||
sha256 = "0b1nsk92rr64xxj8jc9vpjqgrmm3554096zl031ymr94j5cc87q9";
|
||||
};
|
||||
description = "Port of Stella to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
buildPhase = "make";
|
||||
makefile = "Makefile";
|
||||
buildPhase = ''
|
||||
make \
|
||||
&& mv stella2014_libretro${stdenv.hostPlatform.extensions.sharedLibrary} stella_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
'';
|
||||
};
|
||||
|
||||
vba-next = mkLibRetroCore rec {
|
||||
core = "vba-next";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "e7734756d228ea604f8fa872cea1bba987780791";
|
||||
sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv";
|
||||
rev = "3580ae6acb1a90c4e982e57597458da07eca4f41";
|
||||
sha256 = "0fz8z04kf9g1i5x5slyvx5kb07garzxvhcqnwmqn5j574xh1lc6d";
|
||||
};
|
||||
description = "VBA-M libretro port with modifications for speed";
|
||||
license = gpl2;
|
||||
@@ -444,13 +876,55 @@ in with stdenv.lib.licenses;
|
||||
core = "vbam";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "1b82fc2d761f027567632692f787482d1e287ec2";
|
||||
sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z";
|
||||
rev = "9ccdeac3aa9db00720bb80eff5c9924362144efa";
|
||||
sha256 = "0rq89i9f483j93shhp2p3vqsnb2abpwz6wdnsycfwxgblczmi22y";
|
||||
};
|
||||
description = "vanilla VBA-M libretro port";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "src/libretro/Makefile";
|
||||
buildPhase = "cd src/libretro && make";
|
||||
};
|
||||
|
||||
vecx = (mkLibRetroCore rec {
|
||||
core = "vecx";
|
||||
src = fetchRetro {
|
||||
repo = "libretro-" + core;
|
||||
rev = "26585ee701499550e484c11f005db18e926827d9";
|
||||
sha256 = "0vz2aksc8mqnw55f2bvvawj21mxf60fp93r0sr55hdccn9h7355k";
|
||||
};
|
||||
description = "Port of Vecx to libretro";
|
||||
license = gpl3;
|
||||
}).override {
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
virtualjaguar = (mkLibRetroCore rec {
|
||||
core = "virtualjaguar";
|
||||
src = fetchRetro {
|
||||
repo = core + "-libretro";
|
||||
rev = "7bdd8658880b53bf2bcbae0741323fe18f9041f5";
|
||||
sha256 = "0zbrsfhvx293ijazy1w19qha19hprsi0zv8295sa0gq8kyh0xhyw";
|
||||
};
|
||||
description = "Port of VirtualJaguar to libretro";
|
||||
license = gpl3;
|
||||
}).override {
|
||||
makefile = "Makefile";
|
||||
buildPhase = "make";
|
||||
};
|
||||
|
||||
yabause = (mkLibRetroCore rec {
|
||||
core = "yabause";
|
||||
src = fetchRetro {
|
||||
repo = core;
|
||||
rev = "08d09cb88a69ee4c2986693fb813e0eb58d71481";
|
||||
sha256 = "0z55yam1l7m21kbjwn44sp4md9g7p95b27vcxr7i0v08gnkwwvv1";
|
||||
};
|
||||
description = "Port of Yabause to libretro";
|
||||
license = gpl2;
|
||||
}).override {
|
||||
makefile = "yabause/src/libretro/Makefile";
|
||||
buildPhase = "cd yabause/src/libretro && make";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
, ffmpeg, libGLU_combined, freetype, libxml2, python3
|
||||
, libobjc, AppKit, Foundation
|
||||
, alsaLib ? null
|
||||
, libdrm ? null
|
||||
, libpulseaudio ? null
|
||||
, libv4l ? null
|
||||
, libX11 ? null
|
||||
, libXdmcp ? null
|
||||
, libXext ? null
|
||||
, libXxf86vm ? null
|
||||
, mesa ? null
|
||||
, SDL2 ? null
|
||||
, udev ? null
|
||||
, enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
|
||||
@@ -27,12 +29,12 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
version = "1.7.5";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
sha256 = "1jfpgl34jjxn3dvxd1kd564swkw7v98hnn562v998b7vllz3dxdm";
|
||||
sha256 = "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
@@ -43,11 +45,13 @@ in stdenv.mkDerivation rec {
|
||||
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
|
||||
++ optional withVulkan [ vulkan-loader ]
|
||||
++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
|
||||
++ optionals stdenv.isLinux [ alsaLib libpulseaudio libv4l libX11
|
||||
libXdmcp libXext libXxf86vm udev ];
|
||||
++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11
|
||||
libXdmcp libXext libXxf86vm mesa udev ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = if stdenv.isLinux then [ "--enable-kms" ] else "";
|
||||
|
||||
postInstall = optionalString withVulkan ''
|
||||
wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
|
||||
'' + optionalString stdenv.targetPlatform.isDarwin ''
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "visualboyadvance-m";
|
||||
version = "2.1.3";
|
||||
version = "2.1.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "visualboyadvance-m";
|
||||
repo = "visualboyadvance-m";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ibpn05jm6zvvrjyxbmh8qwm1qd26v0dzq45cp233ksvapw1h77h";
|
||||
sha256 = "1kgpbvng3c12ws0dy92zc0azd94h0i3j4vm7b67zc8mi3pqsppdg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
@@ -46,11 +46,12 @@ stdenv.mkDerivation rec {
|
||||
"-DENABLE_SDL='true'"
|
||||
];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A merge of the original Visual Boy Advance forks";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = [ stdenv.lib.maintainers.lassulus ];
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ lassulus ];
|
||||
homepage = http://vba-m.com/;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, pkgArches,
|
||||
{ stdenv, lib, pkgArches, callPackage,
|
||||
name, version, src, monos, geckos, platforms,
|
||||
pkgconfig, fontforge, makeWrapper, flex, bison,
|
||||
supportFlags,
|
||||
@@ -7,6 +7,9 @@
|
||||
|
||||
with import ./util.nix { inherit lib; };
|
||||
|
||||
let
|
||||
vkd3d = callPackage ./vkd3d.nix {};
|
||||
in
|
||||
stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
||||
builder = buildScript;
|
||||
}) // rec {
|
||||
@@ -46,8 +49,10 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
|
||||
++ lib.optional udevSupport pkgs.udev
|
||||
++ lib.optional vulkanSupport pkgs.vulkan-loader
|
||||
++ lib.optional sdlSupport pkgs.SDL2
|
||||
++ lib.optional faudioSupport pkgs.faudio
|
||||
++ lib.optional vkd3dSupport vkd3d
|
||||
++ lib.optionals gstreamerSupport (with pkgs.gst_all_1;
|
||||
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
|
||||
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
|
||||
(gst-plugins-bad.override { enableZbar = false; }) ])
|
||||
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.glib ]
|
||||
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
xmlSupport ? false,
|
||||
vulkanSupport ? false,
|
||||
sdlSupport ? false,
|
||||
faudioSupport ? false,
|
||||
vkd3dSupport ? false,
|
||||
}:
|
||||
|
||||
let wine-build = build: release:
|
||||
@@ -54,7 +56,8 @@ let wine-build = build: release:
|
||||
netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
|
||||
gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
|
||||
pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
|
||||
openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport;
|
||||
openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport
|
||||
vkd3dSupport;
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
@@ -31,24 +31,24 @@ in rec {
|
||||
|
||||
## see http://wiki.winehq.org/Mono
|
||||
mono = fetchurl rec {
|
||||
version = "4.9.2";
|
||||
version = "4.9.3";
|
||||
url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi";
|
||||
sha256 = "0x7z0216j21bzc9v1q283qlsvbfzn92yiaf26ilh6bd7zib4c7xr";
|
||||
sha256 = "0va7nbhvfb52g78s9k3zc6xxwsn5whfyn333s6fdxycp8rkvgxkw";
|
||||
};
|
||||
};
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the SHA256 for staging as well.
|
||||
version = "4.14";
|
||||
version = "4.17";
|
||||
url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
|
||||
sha256 = "1rl1a3k5sr0hyxc61d68kwandhxcnxwv6b77vh7x2rkl1h4nxmfs";
|
||||
sha256 = "1bmj4l84q29h4km5ab5zzypns3mpf7pizybcpab6jj47cr1s303l";
|
||||
inherit (stable) mono gecko32 gecko64;
|
||||
};
|
||||
|
||||
staging = fetchFromGitHub rec {
|
||||
# https://github.com/wine-staging/wine-staging/releases
|
||||
inherit (unstable) version;
|
||||
sha256 = "1s17hcrp1aa0v99y5iav2s0lxdx2rzgm7z0c4zhxyydqxj399f5j";
|
||||
sha256 = "0cb0w6jwqs70854g1ixfj8r53raln0spyy1l96qv72ymbhzc353h";
|
||||
owner = "wine-staging";
|
||||
repo = "wine-staging";
|
||||
rev = "v${version}";
|
||||
@@ -56,8 +56,8 @@ in rec {
|
||||
|
||||
winetricks = fetchFromGitHub rec {
|
||||
# https://github.com/Winetricks/winetricks/releases
|
||||
version = "20190615";
|
||||
sha256 = "1bdvj363yjn7agqq1fxdfz31j1rrs2wc02v874jjx5sw1bfq5qsa";
|
||||
version = "20190912";
|
||||
sha256 = "08my9crgpj5ai77bm64v99x4kmdb9dl8fw14581n69id449v7gzv";
|
||||
owner = "Winetricks";
|
||||
repo = "winetricks";
|
||||
rev = version;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{ stdenv, fetchurl, vulkan-headers, spirv-headers, vulkan-loader }:
|
||||
|
||||
#TODO: MoltenVK
|
||||
#TODO: unstable
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vkd3d";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
|
||||
sha256 = "1dkayp95g1691w7n2yn1q9y7klq5xa921dgmn9a5vil0rihxqnj9";
|
||||
};
|
||||
|
||||
buildInputs = [ vulkan-headers spirv-headers vulkan-loader ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A 3d library build on top on Vulkan with a similar api to DirectX 12";
|
||||
homepage = "https://source.winehq.org/git/vkd3d.git";
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.marius851000 ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user