1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5}:
6
7buildPythonPackage rec {
8 pname = "py65";
9 version = "1.1.0";
10 format = "setuptools";
11
12 disabled = pythonOlder "3.6";
13
14 src = fetchFromGitHub {
15 owner = "mnaberez";
16 repo = "py65";
17 rev = "refs/tags/${version}";
18 hash = "sha256-WLs3TAZovuphWZIvMvM3CZnqg1aZfMF4Yrqw46k+bLA=";
19 };
20
21 postPatch = ''
22 substituteInPlace py65/tests/test_monitor.py \
23 --replace "test_argv_rom" "dont_test_argv_rom" \
24 --replace "test_argv_combination_rom_mpu" "dont_test_argv_combination_rom_mpu"
25 '';
26
27 meta = {
28 homepage = "https://py65.readthedocs.io/";
29 description = "Emulate 6502-based microcomputer systems in Python";
30 longDescription = ''
31 Py65 includes a program called Py65Mon that functions as a machine
32 language monitor. This kind of program is sometimes also called a
33 debugger. Py65Mon provides a command line with many convenient commands
34 for interacting with the simulated 6502-based system.
35 '';
36 license = lib.licenses.bsd3;
37 maintainers = with lib.maintainers; [ AndersonTorres tomasajt ];
38 };
39}