push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
gtk3,
rgbds,
SDL2,
wrapGAppsHook3,
glib,
gdk-pixbuf,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "sameboy";
version = "1.0.1";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
sha256 = "sha256-rNP1jGnGqZG5jz8vQzqDNEKticg51uCcZQaUteawlPU=";
};
enableParallelBuilding = true;
# glib and wrapGAppsHook3 are needed to make the Open ROM menu work.
nativeBuildInputs = [
pkg-config
gdk-pixbuf
rgbds
glib
wrapGAppsHook3
];
buildInputs = [ SDL2 ];
makeFlags = [
"CONF=release"
"FREEDESKTOP=true"
"PREFIX=$(out)"
];
patches = [
./xdg-install-patch.diff
];
postPatch = ''
substituteInPlace OpenDialog/gtk.c \
--replace '"libgtk-3.so"' '"${gtk3}/lib/libgtk-3.so"'
'';
meta = with lib; {
homepage = "https://sameboy.github.io";
description = "Game Boy, Game Boy Color, and Super Game Boy emulator";
mainProgram = "sameboy";
longDescription = ''
SameBoy is a user friendly Game Boy, Game Boy Color and Super
Game Boy emulator for macOS, Windows and Unix-like platforms.
SameBoy is extremely accurate and includes a wide range of
powerful debugging features, making it ideal for both casual
players and developers. In addition to accuracy and developer
capabilities, SameBoy has all the features one would expect from
an emulator from save states to scaling filters.
'';
license = licenses.mit;
maintainers = with maintainers; [ NieDzejkob ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,29 @@
diff --git a/Makefile b/Makefile
index 3377b3f..4492f96 100644
--- a/Makefile
+++ b/Makefile
@@ -788,15 +788,7 @@ install: $(BIN)/XdgThumbnailer/sameboy-thumbnailer sdl $(shell find FreeDesktop)
install -m 755 $(BIN)/SDL/sameboy $(DESTDIR)$(PREFIX)/bin/sameboy
install -m 755 $(BIN)/XdgThumbnailer/sameboy-thumbnailer $(DESTDIR)$(PREFIX)/bin/sameboy-thumbnailer
install -m 644 XdgThumbnailer/sameboy.thumbnailer $(DESTDIR)$(PREFIX)/share/thumbnailers/sameboy.thumbnailer
-ifeq ($(DESTDIR),)
- xdg-mime install --novendor FreeDesktop/sameboy.xml
- xdg-desktop-menu install --novendor FreeDesktop/sameboy.desktop
- for size in 16 32 64 128 256 512; do \
- xdg-icon-resource install --novendor --theme hicolor --size $$size --context apps FreeDesktop/AppIcon/$${size}x$${size}.png sameboy; \
- xdg-icon-resource install --novendor --theme hicolor --size $$size --context mimetypes FreeDesktop/Cartridge/$${size}x$${size}.png x-gameboy-rom; \
- xdg-icon-resource install --novendor --theme hicolor --size $$size --context mimetypes FreeDesktop/ColorCartridge/$${size}x$${size}.png x-gameboy-color-rom; \
- done
-else
+
install -m 644 FreeDesktop/sameboy.xml $(DESTDIR)$(PREFIX)/share/mime/sameboy.xml
install -m 644 FreeDesktop/sameboy.desktop $(DESTDIR)$(PREFIX)/share/applications/sameboy.desktop
for size in 16x16 32x32 64x64 128x128 256x256 512x512; do \
@@ -807,7 +799,6 @@ else
install -m 644 FreeDesktop/ColorCartridge/$$size.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/$$size/mimetypes/x-gameboy-color-rom.png; \
done
endif
-endif
ios: bootroms
@$(MAKE) _ios