diff --git a/pkgs/development/compilers/cc65/default.nix b/pkgs/development/compilers/cc65/default.nix new file mode 100644 index 000000000000..944e0f729002 --- /dev/null +++ b/pkgs/development/compilers/cc65/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "cc65"; + version = "2.18"; + + src = fetchFromGitHub { + owner = "cc65"; + repo = pname; + rev = "V${version}"; + sha256 = "sha256-XRGhukYite1GtPkO9clmkwvvU62OnYphO8V1Rrr7yMg="; + }; + + 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3563968d8d7f..b006d0c6f649 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8707,6 +8707,8 @@ in chicken egg2nix; + cc65 = callPackage ../development/compilers/cc65 { }; + ccl = callPackage ../development/compilers/ccl { inherit (buildPackages.darwin) bootstrap_cmds; };