nixpkgs/pkgs/misc/emulators/blastem/default.nix

52 lines
1.5 KiB
Nix

{ lib, stdenv, fetchurl, fetchFromGitHub, pkg-config, SDL2, glew, xcftools, python, pillow, makeWrapper }:
let
vasm =
stdenv.mkDerivation {
pname = "vasm";
version = "1.8c";
src = fetchFromGitHub {
owner = "mbitsnbites";
repo = "vasm";
rev = "244f8bbbdf64ae603f9f6c09a3067943837459ec";
sha256 = "0x4y5q7ygxfjfy2wxijkps9khsjjfb169sbda410vaw0m88wqj5p";
};
makeFlags = [ "CPU=m68k" "SYNTAX=mot" ];
installPhase = ''
mkdir -p $out/bin
cp vasmm68k_mot $out/bin
'';
};
in
stdenv.mkDerivation {
pname = "blastem";
version = "0.5.1";
src = fetchurl {
url = "https://www.retrodev.com/repos/blastem/archive/3d48cb0c28be.tar.gz";
sha256 = "07wzbmzp0y8mh59jxg81q17gqagz3psxigxh8dmzsipgg68y6a8r";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pkg-config SDL2 glew xcftools python pillow vasm ];
preBuild = ''
patchShebangs img2tiles.py
'';
postBuild = ''
make menu.bin
'';
installPhase = ''
mkdir -p $out/bin $out/share/blastem
cp -r {blastem,menu.bin,default.cfg,rom.db,shaders} $out/share/blastem/
makeWrapper $out/share/blastem/blastem $out/bin/blastem
'';
meta = {
homepage = "https://www.retrodev.com/blastem/";
description = "The fast and accurate Genesis emulator";
maintainers = with lib.maintainers; [ puffnfresh ];
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
# Makefile:140: *** aarch64 is not a supported architecture. Stop.
badPlatforms = [ "aarch64-linux" ];
};
}