Unverified Commit 6809a110 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #283596 from atorres1985-contrib/nestopia-ue

nestopia-ue: 1.47 -> 1.52.0
parents 8b0d333f 3c9692d5
Loading
Loading
Loading
Loading
+0 −18
Original line number Diff line number Diff line
diff -wbBur rdanbrook-nestopia-f1dde9b/Makefile rdanbrook-nestopia-f1dde9b.my/Makefile
--- rdanbrook-nestopia-f1dde9b/Makefile	2013-01-20 20:10:25.000000000 +0400
+++ rdanbrook-nestopia-f1dde9b.my/Makefile	2013-01-21 15:18:54.727577673 +0400
@@ -197,11 +197,11 @@
 	install -m 0644 NstDatabase.xml $(DATADIR)
 	install -m 0644 source/unix/icons/*.png $(DATADIR)/icons
 	install -m 0644 source/unix/icons/*.svg $(DATADIR)/icons
-	install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps
-	xdg-desktop-menu install --novendor $(DATADIR)/nestopia.desktop
+	install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps/nestopia.svg
+	install -Dm0644 $(DATADIR)/nestopia.desktop $(PREFIX)/share/applications/nestopia.desktop
 
 uninstall:
-	xdg-desktop-menu uninstall $(DATADIR)/nestopia.desktop
+	rm $(PREFIX)/share/applications/nestopia.desktop
 	rm $(PREFIX)/share/pixmaps/nestopia.svg
 	rm $(BINDIR)/$(BIN)
 	rm -rf $(DATADIR)
+0 −92
Original line number Diff line number Diff line
From f4bc74ac4954328b25e961e7afb7337377084079 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Sat, 31 Dec 2016 18:21:18 +0200
Subject: [PATCH] Fix compiling in C++14 mode

* Left shifting a negative signed is undefined behaviour
* Fix incorrect printf() specifiers found with -Wformat
---
 source/core/NstCore.hpp            | 4 ++--
 source/unix/gtkui/gtkui.cpp        | 2 +-
 source/unix/gtkui/gtkui.h          | 1 -
 source/unix/gtkui/gtkui_cheats.cpp | 8 ++++----
 source/unix/video.cpp              | 2 +-
 5 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/source/core/NstCore.hpp b/source/core/NstCore.hpp
index 50e20f6..420cc4a 100644
--- a/source/core/NstCore.hpp
+++ b/source/core/NstCore.hpp
@@ -279,14 +279,14 @@ namespace Nes
 		template<typename T>
 		inline long signed_shl(T v,uint c)
 		{
-			enum {NATIVE = T(-7) << 1 == -14};
+			enum {NATIVE = -(T(7) << 1) == -14};
 			return Helper::ShiftSigned<T,NATIVE>::Left( v, c );
 		}
 
 		template<typename T>
 		inline long signed_shr(T v,uint c)
 		{
-			enum {NATIVE = T(-7) >> 1 == -4 || T(-7) >> 1 == -3};
+			enum {NATIVE = -(T(7) >> 1) == -4 || -(T(7) >> 1) == -3};
 			return Helper::ShiftSigned<T,NATIVE>::Right( v, c );
 		}
 
diff --git a/source/unix/gtkui/gtkui.cpp b/source/unix/gtkui/gtkui.cpp
index 3cfeeab..d4a5e2d 100644
--- a/source/unix/gtkui/gtkui.cpp
+++ b/source/unix/gtkui/gtkui.cpp
@@ -438,7 +438,7 @@ void gtkui_message(const char* message) {
 				GTK_DIALOG_DESTROY_WITH_PARENT,
 				GTK_MESSAGE_INFO,
 				GTK_BUTTONS_OK,
-				message);
+				"%s", message);
 	gtk_dialog_run(GTK_DIALOG(messagewindow));
 	gtk_widget_destroy(messagewindow);
 }
diff --git a/source/unix/gtkui/gtkui_cheats.cpp b/source/unix/gtkui/gtkui_cheats.cpp
index afc01b0..e7b691a 100644
--- a/source/unix/gtkui/gtkui_cheats.cpp
+++ b/source/unix/gtkui/gtkui_cheats.cpp
@@ -373,7 +373,7 @@ void gtkui_cheats_fill_tree(char *filename) {
 				else if (node.GetChild(L"address")) { // Raw
 					char rawbuf[11];
 					snprintf(rawbuf, sizeof(rawbuf),
-								"%04x %02x %02x",
+								"%04lu %02lu %02lu",
 								node.GetChild(L"address").GetUnsignedValue(),
 								node.GetChild(L"value").GetUnsignedValue(),
 								node.GetChild(L"compare").GetUnsignedValue());
@@ -545,13 +545,13 @@ gboolean gtkui_cheats_scan_list(GtkTreeModel *model, GtkTreePath *path, GtkTreeI
 			int addr, value, compare;
 			char buf[5];
 			
-			snprintf(buf, sizeof(buf), "%c%c%c%c\0", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
+			snprintf(buf, sizeof(buf), "%c%c%c%c", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
 			sscanf(buf, "%x", &addr);
 			
-			snprintf(buf, sizeof(buf), "%c%c\0", rawcode[5], rawcode[6]);
+			snprintf(buf, sizeof(buf), "%c%c", rawcode[5], rawcode[6]);
 			sscanf(buf, "%x", &value);
 			
-			snprintf(buf, sizeof(buf), "%c%c\0", rawcode[8], rawcode[9]);
+			snprintf(buf, sizeof(buf), "%c%c", rawcode[8], rawcode[9]);
 			sscanf(buf, "%x", &compare);
 			
 			code.address = addr;
diff --git a/source/unix/video.cpp b/source/unix/video.cpp
index 3eff19d..c34bb22 100644
--- a/source/unix/video.cpp
+++ b/source/unix/video.cpp
@@ -757,7 +757,7 @@ void video_screenshot(const char* filename) {
 	if (filename == NULL) {
 		// Set the filename
 		char sshotpath[512];
-		snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%d-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
+		snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%ld-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
 		
 		// Save the file
 		lodepng_encode32_file(sshotpath, (const unsigned char*)pixels, rendersize.w, rendersize.h);
+78 −0
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, pkg-config, SDL2, alsa-lib, gtk3
, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg-utils
, libepoxy, gdk-pixbuf, gnome, wrapGAppsHook
{ lib
, SDL2
, alsa-lib
, autoconf-archive
, autoreconfHook
, fetchFromGitHub
, fltk
, libGL
, libGLU
, libao
, libarchive
, libepoxy
, makeWrapper
, pkg-config
, stdenv
, unzip
, wrapGAppsHook
, xdg-utils
}:

stdenv.mkDerivation rec {
  version = "1.47";
stdenv.mkDerivation (finalAttrs: {
  pname = "nestopia";
  version = "1.52.0";

  src = fetchFromGitHub {
    owner = "rdanbrook";
    owner = "0ldsk00l";
    repo = "nestopia";
    rev = version;
    sha256 = "0frr0gvjh5mxzdhj0ii3sh671slgnzlm8naqlc4h87rx4p4sz2y2";
    rev = finalAttrs.version;
    hash = "sha256-kd5hZ88fCLL8ysGMj7HsrSA7eCI5SL2xxiRXJiZqBZ8=";
  };

  # nondeterministic failures when creating directories
  enableParallelBuilding = false;

  hardeningDisable = [ "format" ];

  buildInputs = [
    SDL2
    alsa-lib
    fltk
    libepoxy
    gtk3
    gdk-pixbuf
    libGLU libGL

    libGLU
    libGL
    libarchive
    libao
    xdg-utils
    gnome.adwaita-icon-theme
  ];

  nativeBuildInputs = [
    SDL2
    autoconf-archive
    autoreconfHook
    fltk
    pkg-config
    makeWrapper
    wrapGAppsHook
    unzip
  ];

  installPhase = ''
  strictDeps = true;

  preInstall = ''
    mkdir -p $out/{bin,share/nestopia}
    make install PREFIX=$out
  '';

  preFixup = ''
@@ -51,23 +66,13 @@ stdenv.mkDerivation rec {
     done
  '';

  patches = [
    #(fetchpatch {
    #  url = "https://github.com/rdanbrook/nestopia/commit/f4bc74ac4954328b25e961e7afb7337377084079.patch";
    #  name = "gcc6.patch";
    #  sha256 = "1jy0c85xsfk9hrv5a6v0kk48d94864qb62yyni9fp93kyl33y2p4";
    #})
    ./gcc6.patch
    ./build-fix.patch
  ];

  meta = {
    homepage = "http://0ldsk00l.ca/nestopia/";
    description = "NES emulator with a focus on accuracy";
    license = lib.licenses.gpl2;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ MP2E ];
    description = "Cross-platform Nestopia emulator core with a GUI";
    changelog = "https://raw.githubusercontent.com/0ldsk00l/nestopia/${finalAttrs.src.rev}/ChangeLog";
    license = lib.licenses.gpl2Plus;
    mainProgram = "nestopia";
    maintainers = with lib.maintainers; [ AndersonTorres ];
    platforms = lib.platforms.linux;
  };
}
})
+1 −1
Original line number Diff line number Diff line
@@ -705,7 +705,7 @@ mapAliases ({
  ### N ###

  ncdu_2 = ncdu; # Added 2022-07-22

  nestopia = throw "nestopia was forked; use nestopia-ue instead"; # Added 2024-01-24
  net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10
  netbox_3_3 = throw "netbox 3.3 series has been removed as it was EOL"; # Added 2023-09-02
  netbox_3_5 = throw "netbox 3.5 series has been removed as it was EOL"; # Added 2024-01-22
+0 −2
Original line number Diff line number Diff line
@@ -2766,8 +2766,6 @@ with pkgs;
  mupen64plus = callPackage ../applications/emulators/mupen64plus { };
  nestopia = callPackage ../applications/emulators/nestopia { };
  np2kai = callPackage ../applications/emulators/np2kai { };
  nuked-md = callPackage ../applications/emulators/nuked-md { };
Loading