Skip to content

Commit

Permalink
xa: fix build on 10.9 and add test
Browse files Browse the repository at this point in the history
  • Loading branch information
mnaberez authored and MikeMcQuaid committed Feb 8, 2014
1 parent 4a96076 commit 8eed6df
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions Formula/xa.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,57 @@ class Xa < Formula
url 'http://www.floodgap.com/retrotech/xa/dists/xa-2.3.5.tar.gz'
sha1 'd8f4564953adfcee69faacfa300b954875fabe21'

def patches
# From upstream: http://www.floodgap.com/retrotech/xa/xa-getline-patch.txt
# Filenames have been changed in the header ("xa.c" -> "a/src/xa.c")
# because the original patch can't be applied with -p0 or -p1.
# This fix will be in 2.3.6
DATA
end

def install
system "make", "CC=#{ENV.cc}",
"CFLAGS=#{ENV.cflags}",
"DESTDIR=#{prefix}",
"install"
end

test do
(testpath/"foo.a").write "jsr $ffd2\n"

system "#{bin}/xa", "foo.a"
code = File.open("a.o65", "rb") { |f| f.read.unpack("C*") }
assert_equal [0x20, 0xd2, 0xff], code
end
end

__END__
--- a/src/xa.c 2014-02-07 13:50:18.000000000 -0800
+++ b/src/xa.c 2014-02-07 13:51:27.000000000 -0800
@@ -87,7 +87,7 @@
static int puttmp(int);
static int puttmps(signed char *, int);
static void chrput(int);
-static int getline(char *);
+static int xgetline(char *);
static void lineout(void);
static long ga_p1(void);
static long gm_p1(void);
@@ -763,7 +763,7 @@
temp_er = 0;

/*FIXIT*/
- while(!(er=getline(s)))
+ while(!(er=xgetline(s)))
{
er=t_p1((signed char*)s,o,&l,&al);
switch(segment) {
@@ -1002,7 +1002,7 @@

static char l[MAXLINE];

-static int getline(char *s)
+static int xgetline(char *s)
{
static int ec;

0 comments on commit 8eed6df

Please sign in to comment.