cab4a24c34
Arg to lib.optional is a list build time tool in buildInputs
101 lines
2.2 KiB
Nix
101 lines
2.2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchgit
|
|
, alsa-lib
|
|
, gtk3
|
|
, libGL
|
|
, libGLU
|
|
, libX11
|
|
, pkg-config
|
|
, upx
|
|
, xcbutil
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
name = "c64-debugger";
|
|
version = "0.64.58.6";
|
|
|
|
src = fetchgit {
|
|
url = "https://git.code.sf.net/p/c64-debugger/code";
|
|
rev = "f97772e3f5c8b4fa99e8ed212ed1c4cb1e2389f1";
|
|
sha256 = "sha256-3SR73AHQlYSEYpJLtQ/aJ1UITZGq7aA9tQKxBsn/yuc=";
|
|
};
|
|
|
|
buildInputs = [
|
|
alsa-lib
|
|
gtk3
|
|
libGL
|
|
libGLU
|
|
libX11
|
|
xcbutil
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
upx
|
|
pkg-config
|
|
];
|
|
|
|
postPatch = ''
|
|
# Disable default definition of RUN_COMMODORE64
|
|
sed -i 's|^#define RUN_COMMODORE64|//#define RUN_COMMODORE64|' MTEngine/Games/c64/C64D_Version.h
|
|
'';
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
# Build C64 debugger
|
|
make -C MTEngine \
|
|
CFLAGS="-w -O2 -fcommon" \
|
|
CXXFLAGS="-w -O2 --std=c++11" \
|
|
DEFINES="-DRUN_COMMODORE64" \
|
|
-j$NIX_BUILD_CORES
|
|
mv MTEngine/c64debugger c64debugger
|
|
make -C MTEngine clean
|
|
|
|
# Build 65XE debugger
|
|
make -C MTEngine \
|
|
CFLAGS="-w -O2 -fcommon" \
|
|
CXXFLAGS="-w -O2 --std=c++11" \
|
|
DEFINES="-DRUN_ATARI" \
|
|
-j$NIX_BUILD_CORES
|
|
mv MTEngine/c64debugger 65xedebugger
|
|
make -C MTEngine clean
|
|
|
|
# Build NES debugger
|
|
make -C MTEngine \
|
|
CFLAGS="-w -O2 -fcommon" \
|
|
CXXFLAGS="-w -O2 --std=c++11" \
|
|
DEFINES="-DRUN_NES" \
|
|
-j$NIX_BUILD_CORES
|
|
mv MTEngine/c64debugger nesdebugger
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
install -d "$out/bin"
|
|
install -d "$out/share/doc"
|
|
install -m 755 c64debugger 65xedebugger nesdebugger "$out/bin"
|
|
install -m 644 MTEngine/Assets/*.txt "$out/share/doc"
|
|
install -m 644 MTEngine/Assets/*.pdf "$out/share/doc"
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://sourceforge.net/projects/c64-debugger";
|
|
description = "Commodore 64, Atari XL/XE and NES code and memory debugger that works in real time";
|
|
license = with licenses; [
|
|
gpl3Only # c64-debugger
|
|
mit # MTEngine
|
|
# emulators included in c64-debugger
|
|
gpl2Plus # VICE, atari800
|
|
gpl2 # nestopiaue
|
|
];
|
|
mainProgram = "c64debugger";
|
|
maintainers = [ maintainers.detegr ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|