aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/compilers/cc65/default.nix
blob: 1b5011365cf2f8e3c6b50c91c39bd38b76d3f138 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{ stdenv
, fetchFromGitHub
}:

stdenv.mkDerivation rec {
  pname = "cc65";
  version = "2.19";

  src = fetchFromGitHub {
    owner = "cc65";
    repo = pname;
    rev = "V${version}";
    sha256 = "01a15yvs455qp20hri2pbg2wqvcip0d50kb7dibi9427hqk9cnj4";
  };

  makeFlags = [ "PREFIX=${placeholder "out"}"];

  meta = with stdenv.lib; {
    homepage = "https://cc65.github.io/";
    description = "C compiler for processors of 6502 family";
    longDescription = ''
      cc65 is a complete cross development package for 65(C)02 systems,
      including a powerful macro assembler, a C compiler, linker, librarian and
      several other tools.

      cc65 has C and runtime library support for many of the old 6502 machines,
      including the following Commodore machines:

      - VIC20
      - C16/C116 and Plus/4
      - C64
      - C128
      - CBM 510 (aka P500)
      - the 600/700 family
      - newer PET machines (not 2001).
      - the Apple ][+ and successors.
      - the Atari 8-bit machines.
      - the Atari 2600 console.
      - the Atari 5200 console.
      - GEOS for the C64, C128 and Apple //e.
      - the Bit Corporation Gamate console.
      - the NEC PC-Engine (aka TurboGrafx-16) console.
      - the Nintendo Entertainment System (NES) console.
      - the Watara Supervision console.
      - the VTech Creativision console.
      - the Oric Atmos.
      - the Oric Telestrat.
      - the Lynx console.
      - the Ohio Scientific Challenger 1P.

      The libraries are fairly portable, so creating a version for other 6502s
      shouldn't be too much work.
    '';
    license = licenses.zlib;
    maintainers = with maintainers; [ AndersonTorres ];
  };
}