Merge pull request #116137 from AndersonTorres/new-xa

XA assembler
This commit is contained in:
Anderson Torres 2021-03-15 18:50:42 -03:00 committed by GitHub
commit 8989d8f457
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,41 @@
{ lib
, stdenv
, fetchurl
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "dxa";
version = "0.1.4";
src = fetchurl {
url = "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz";
hash = "sha256-C0rgwK51Ij9EZCm9GeiVnWIkEkse0d60ok8G9hm2a5U=";
};
nativeBuildInputs = [ installShellFiles ];
dontConfigure = true;
postPatch = ''
substituteInPlace \
--replace "CC = gcc" "CC = cc' \
Makefile
'';
installPhase = ''
runHook preInstall
install -d $out/bin/
install dxa $out/bin/
installManPage dxa.1
runHook postInstall
'';
meta = with lib; {
homepage = "https://www.floodgap.com/retrotech/xa/";
description = "Andre Fachat's open-source 6502 disassembler";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View File

@ -0,0 +1,52 @@
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "xa";
version = "2.3.11";
src = fetchurl {
url = "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz";
hash = "sha256-MvIWTJnjBSGOmSlwhW3Y4jCbXLasR1jXsq/jv+vJAS0=";
};
dontConfigure = true;
postPatch = ''
substitueInPlace \
--replace "DESTDIR" "PREFIX" \
--replace "CC = gcc" "CC = cc" \
--replace "LDD = gcc" "LDD = ld" \
--replace "CFLAGS = -O2" "CFLAGS ?=" \
--replace "LDFLAGS = -lc" "LDFLAGS ?= -lc" \
Makefile
'';
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {
homepage = "https://www.floodgap.com/retrotech/xa/";
description = "Andre Fachat's open-source 6502 cross assembler";
longDescription = ''
xa is a high-speed, two-pass portable cross-assembler. It understands
mnemonics and generates code for NMOS 6502s (such as 6502A, 6504, 6507,
6510, 7501, 8500, 8501, 8502 ...), CMOS 6502s (65C02 and Rockwell R65C02)
and the 65816.
Key amongst its features:
- C-like preprocessor (and understands cpp for additional feature support)
- rich expression syntax and pseudo-op vocabulary
- multiple character sets
- binary linking
- supports o65 relocatable objects with a full linker and relocation
suite, as well as "bare" plain binary object files
- block structure for label scoping
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View File

@ -26210,6 +26210,9 @@ in
gtk = gtk2;
};
xa = callPackage ../development/compilers/xa/xa.nix { };
dxa = callPackage ../development/compilers/xa/dxa.nix { };
x11basic = callPackage ../development/compilers/x11basic {
autoconf = buildPackages.autoconf269;
};