diff options
| author | Mike Naberezny | 2014-02-08 15:54:52 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2014-02-08 15:54:52 +0000 |
| commit | 2b128ba104e29f3220121d8aa5947d140fd32173 (patch) | |
| tree | 5bad009f90ede35d0db47b5c0cf34143d20b7d53 /Library | |
| parent | f1317182f779415dc0891bb8993b722aa81b0d95 (diff) | |
| download | homebrew-2b128ba104e29f3220121d8aa5947d140fd32173.tar.bz2 | |
xa: fix build on 10.9 and add test
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Formula/xa.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Library/Formula/xa.rb b/Library/Formula/xa.rb index 3d15dbaea..fb14e8ea4 100644 --- a/Library/Formula/xa.rb +++ b/Library/Formula/xa.rb @@ -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; + |
