77a8b9fa82
Without the change `zesarux` fails build on `master` as: scrcaca.c:51:5: error: unknown type name 'cucul_canvas_t'; did you mean 'caca_canvas_t'? 51 | cucul_canvas_t *cv; caca_display_t *dp; caca_event_t ev; | ^~~~~~~~~~~~~~ | caca_canvas_t
98 lines
2.0 KiB
Nix
98 lines
2.0 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, SDL2
|
|
, aalib
|
|
, alsa-lib
|
|
, libXext
|
|
, libXxf86vm
|
|
, libcaca
|
|
, libpulseaudio
|
|
, libsndfile
|
|
, ncurses
|
|
, openssl
|
|
, which
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "zesarux";
|
|
version = "10.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "chernandezba";
|
|
repo = pname;
|
|
rev = version;
|
|
hash = "sha256-cxV2dAzGnIzJiCRdq8vN/Cl4AQeJqjmiCAahijIJQ9k=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
which
|
|
];
|
|
|
|
buildInputs = [
|
|
SDL2
|
|
aalib
|
|
alsa-lib
|
|
libXxf86vm
|
|
libXext
|
|
libcaca
|
|
libpulseaudio
|
|
libsndfile
|
|
ncurses
|
|
openssl
|
|
];
|
|
|
|
patches = [
|
|
# Patch the shell scripts; remove it when the next version arrives
|
|
(fetchpatch {
|
|
name = "000-fix-shebangs.patch";
|
|
url = "https://github.com/chernandezba/zesarux/commit/4493439b38f565c5be7c36239ecaf0cf80045627.diff";
|
|
sha256 = "sha256-f+21naPcPXdcVvqU8ymlGfl1WkYGOeOBe9B/WFUauTI=";
|
|
})
|
|
|
|
# Patch pending upstream release for libcaca-0.99.beta20 support:
|
|
# https://github.com/chernandezba/zesarux/pull/1
|
|
(fetchpatch {
|
|
name = "libcaca-0.99.beta20.patch";
|
|
url = "https://github.com/chernandezba/zesarux/commit/542786338d00ab6fcdf712bbd6f5e891e8b26c34.diff";
|
|
sha256 = "sha256-UvXvBb9Nzw5HNz0uiv2SV1Oeiw7aVCa0jhEbThDRVec=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
cd src
|
|
patchShebangs ./configure *.sh
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--prefix=${placeholder "out"}"
|
|
"--c-compiler ${stdenv.cc.targetPrefix}cc"
|
|
"--enable-cpustats"
|
|
"--enable-memptr"
|
|
"--enable-sdl2"
|
|
"--enable-ssl"
|
|
"--enable-undoc-scfccf"
|
|
"--enable-visualmem"
|
|
];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
./generate_install_sh.sh
|
|
patchShebangs ./install.sh
|
|
./install.sh
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/chernandezba/zesarux";
|
|
description = " ZX Second-Emulator And Released for UniX";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = with maintainers; [ AndersonTorres ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|
|
# TODO: Darwin support
|