nixpkgs/pkgs/by-name/sa/sameboy/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

50 lines
1.5 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ lib, stdenv, fetchFromGitHub, gtk3, rgbds, SDL2, wrapGAppsHook3, glib }:
stdenv.mkDerivation rec {
pname = "sameboy";
version = "0.16.7";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
sha256 = "sha256-KUvhmORI3hIJFMCW8U2BZYnIwzg7h+GZZA4+U0IPS9E=";
};
enableParallelBuilding = true;
# glib and wrapGAppsHook3 are needed to make the Open ROM menu work.
nativeBuildInputs = [ rgbds glib wrapGAppsHook3 ];
buildInputs = [ SDL2 ];
makeFlags = [
"CONF=release"
"FREEDESKTOP=true"
"PREFIX=$(out)"
];
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;
};
}