minivmac: init at 2024.06.08
This commit is contained in:
parent
54a3f8fe8a
commit
d88ea29d11
53
pkgs/by-name/mi/minivmac/package.nix
Normal file
53
pkgs/by-name/mi/minivmac/package.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
buildPackages,
|
||||||
|
alsa-lib,
|
||||||
|
xorg,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "minivmac-erichelgeson";
|
||||||
|
version = "2024.06.08";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "erichelgeson";
|
||||||
|
repo = "minivmac";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-iiEE0ioXh3keKUPfAB+YcE1iggGLpxT9N8LSVFDhttE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ xorg.libX11 ];
|
||||||
|
|
||||||
|
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
${lib.getExe' buildPackages.stdenv.cc "cc"} setup/tool.c -o setup_t
|
||||||
|
./setup_t -t lx64 > setup.sh
|
||||||
|
|
||||||
|
# Patch hardcoded references in setup.sh to cross-aware counterparts
|
||||||
|
substituteInPlace setup.sh --replace 'gcc ' '${stdenv.cc.targetPrefix}cc '
|
||||||
|
substituteInPlace setup.sh --replace 'strip --strip-unneeded' '${stdenv.cc.targetPrefix}strip --strip-unneeded'
|
||||||
|
|
||||||
|
sh < ./setup.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm755 -t $out/bin ./minivmac
|
||||||
|
'';
|
||||||
|
|
||||||
|
# ensure libasound can be dlopen()'ed
|
||||||
|
postFixup = ''
|
||||||
|
patchelf --add-rpath "${lib.getLib alsa-lib}/lib" $out/bin/minivmac
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "miniature early Macintosh emulator (fork from erichelgeson)";
|
||||||
|
homepage = "https://github.com/erichelgeson/minivmac";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = [ maintainers.flokli ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
sourceProvenance = [ sourceTypes.fromSource ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user