about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2024-02-05 01:20:45 +0100
committerGitHub <noreply@github.com>2024-02-05 01:20:45 +0100
commit6809a1103475899f43d0990b7ca0aacc58ee5d84 (patch)
treef5612ba6f4a5165451944ee7548dd85eda29670c
parent8b0d333f546d6247c0c846ffbc9f7e89b4d06022 (diff)
parent3c9692d5cd44724bc98cfe5f01757d3fb2816a30 (diff)
downloadnixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar.gz
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar.bz2
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar.lz
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar.xz
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.tar.zst
nixlib-6809a1103475899f43d0990b7ca0aacc58ee5d84.zip
Merge pull request #283596 from atorres1985-contrib/nestopia-ue
nestopia-ue: 1.47 -> 1.52.0
-rw-r--r--pkgs/applications/emulators/nestopia/build-fix.patch18
-rw-r--r--pkgs/applications/emulators/nestopia/default.nix73
-rw-r--r--pkgs/applications/emulators/nestopia/gcc6.patch92
-rw-r--r--pkgs/by-name/ne/nestopia-ue/package.nix78
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 79 insertions, 186 deletions
diff --git a/pkgs/applications/emulators/nestopia/build-fix.patch b/pkgs/applications/emulators/nestopia/build-fix.patch
deleted file mode 100644
index a7d82ead15ca..000000000000
--- a/pkgs/applications/emulators/nestopia/build-fix.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-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)
diff --git a/pkgs/applications/emulators/nestopia/default.nix b/pkgs/applications/emulators/nestopia/default.nix
deleted file mode 100644
index b42a5786394e..000000000000
--- a/pkgs/applications/emulators/nestopia/default.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, SDL2, alsa-lib, gtk3
-, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg-utils
-, libepoxy, gdk-pixbuf, gnome, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  version = "1.47";
-  pname = "nestopia";
-
-  src = fetchFromGitHub {
-    owner = "rdanbrook";
-    repo = "nestopia";
-    rev = version;
-    sha256 = "0frr0gvjh5mxzdhj0ii3sh671slgnzlm8naqlc4h87rx4p4sz2y2";
-  };
-
-  # nondeterministic failures when creating directories
-  enableParallelBuilding = false;
-
-  hardeningDisable = [ "format" ];
-
-  buildInputs = [
-    SDL2
-    alsa-lib
-    libepoxy
-    gtk3
-    gdk-pixbuf
-    libGLU libGL
-    libarchive
-    libao
-    xdg-utils
-    gnome.adwaita-icon-theme
-  ];
-
-  nativeBuildInputs = [
-    pkg-config
-    makeWrapper
-    wrapGAppsHook
-    unzip
-  ];
-
-  installPhase = ''
-    mkdir -p $out/{bin,share/nestopia}
-    make install PREFIX=$out
-  '';
-
-  preFixup = ''
-     for f in $out/bin/*; do
-       wrapProgram $f \
-         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-     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 ];
-    mainProgram = "nestopia";
-  };
-}
-
diff --git a/pkgs/applications/emulators/nestopia/gcc6.patch b/pkgs/applications/emulators/nestopia/gcc6.patch
deleted file mode 100644
index 65dcc72c0c25..000000000000
--- a/pkgs/applications/emulators/nestopia/gcc6.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-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);
diff --git a/pkgs/by-name/ne/nestopia-ue/package.nix b/pkgs/by-name/ne/nestopia-ue/package.nix
new file mode 100644
index 000000000000..c0d94f315fd5
--- /dev/null
+++ b/pkgs/by-name/ne/nestopia-ue/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, SDL2
+, alsa-lib
+, autoconf-archive
+, autoreconfHook
+, fetchFromGitHub
+, fltk
+, libGL
+, libGLU
+, libao
+, libarchive
+, libepoxy
+, makeWrapper
+, pkg-config
+, stdenv
+, unzip
+, wrapGAppsHook
+, xdg-utils
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nestopia";
+  version = "1.52.0";
+
+  src = fetchFromGitHub {
+    owner = "0ldsk00l";
+    repo = "nestopia";
+    rev = finalAttrs.version;
+    hash = "sha256-kd5hZ88fCLL8ysGMj7HsrSA7eCI5SL2xxiRXJiZqBZ8=";
+  };
+
+  buildInputs = [
+    SDL2
+    alsa-lib
+    fltk
+    libepoxy
+
+    libGLU
+    libGL
+    libarchive
+    libao
+    xdg-utils
+  ];
+
+  nativeBuildInputs = [
+    SDL2
+    autoconf-archive
+    autoreconfHook
+    fltk
+    pkg-config
+    makeWrapper
+    wrapGAppsHook
+    unzip
+  ];
+
+  strictDeps = true;
+
+  preInstall = ''
+    mkdir -p $out/{bin,share/nestopia}
+  '';
+
+  preFixup = ''
+     for f in $out/bin/*; do
+       wrapProgram $f \
+         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
+     done
+  '';
+
+  meta = {
+    homepage = "http://0ldsk00l.ca/nestopia/";
+    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;
+  };
+})
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3a47389d2a40..48ce54528611 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -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
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a6bfd4367986..27c4a5042239 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 { };