forked from mirrors/nixpkgs
as31: init at 2.3.1
This commit is contained in:
parent
fc7e18562b
commit
ae19d5c68b
pkgs
24
pkgs/development/compilers/as31/0000-getline-break.patch
Normal file
24
pkgs/development/compilers/as31/0000-getline-break.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
diff --git old/as31/run.c new/as31/run.c
|
||||
index 28c5317..9e5263b 100644
|
||||
--- old/as31/run.c
|
||||
+++ new/as31/run.c
|
||||
@@ -113,7 +113,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
|
||||
}
|
||||
|
||||
while (!feof(finPre)) {
|
||||
- getline(&lineBuffer,&sizeBuf,finPre);
|
||||
+ if (getline(&lineBuffer,&sizeBuf,finPre) == -1)
|
||||
+ break;
|
||||
if ((includePtr=strstr(lineBuffer,INC_CMD))) {
|
||||
includePtr=includePtr+strlen(INC_CMD);
|
||||
while ((*includePtr==' ')|| //move includePtr to filename
|
||||
@@ -138,7 +139,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
|
||||
mesg_f("Cannot open include file: %s\n",includePtr);
|
||||
} else {
|
||||
while (!feof(includeFile)) {
|
||||
- getline(&incLineBuffer,&incSizeBuf,includeFile);
|
||||
+ if (getline(&incLineBuffer,&incSizeBuf,includeFile) == -1)
|
||||
+ break;
|
||||
fprintf(fin,"%s",incLineBuffer);
|
||||
if (strlen(incLineBuffer)) {
|
||||
incLineCount++;
|
43
pkgs/development/compilers/as31/default.nix
Normal file
43
pkgs/development/compilers/as31/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, bison
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "as31";
|
||||
version = "2.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:${pname}-${version}.tar.gz";
|
||||
name = "${pname}-${version}.tar.gz";
|
||||
hash = "sha256-zSEyWHFon5nyq717Mpmdv1XZ5Hz0e8ZABqsP8M83c1U=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Check return value of getline in run.c
|
||||
./0000-getline-break.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# parser.c is generated from parser.y; it is better to generate it via bison
|
||||
# instead of using the prebuilt one, especially in x86_64
|
||||
rm -f as31/parser.c
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
chmod +x configure
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://wiki.erazor-zone.de/wiki:projects:linux:as31";
|
||||
description = "An 8031/8051 assembler";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -10822,6 +10822,8 @@ with pkgs;
|
|||
|
||||
asciigraph = callPackage ../tools/text/asciigraph { };
|
||||
|
||||
as31 = callPackage ../development/compilers/as31 { };
|
||||
|
||||
asn1c = callPackage ../development/compilers/asn1c { };
|
||||
|
||||
aspectj = callPackage ../development/compilers/aspectj { };
|
||||
|
|
Loading…
Reference in a new issue