summaryrefslogtreecommitdiff
path: root/community/dev86
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/dev86
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/dev86')
-rw-r--r--community/dev86/ChangeLog3
-rw-r--r--community/dev86/PKGBUILD37
-rw-r--r--community/dev86/dev86-pic.patch20
3 files changed, 60 insertions, 0 deletions
diff --git a/community/dev86/ChangeLog b/community/dev86/ChangeLog
new file mode 100644
index 000000000..79ed3b287
--- /dev/null
+++ b/community/dev86/ChangeLog
@@ -0,0 +1,3 @@
+2008-01-21 JJDaNiMoTh <jjdanimoth.aur@gmail.com>
+
+ * PKGBUILD: moved man pages to /usr/share
diff --git a/community/dev86/PKGBUILD b/community/dev86/PKGBUILD
new file mode 100644
index 000000000..4428a54a8
--- /dev/null
+++ b/community/dev86/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 25323 2010-09-03 22:29:35Z spupykin $
+# Maintainer: Alessio 'mOLOk' Bolognino <themolok@gmail.com>
+# Contributor: Suat SARIALP <muhendis.suat@gmail.com>
+
+pkgname=dev86
+pkgver=0.16.17
+pkgrel=5.1
+pkgdesc="Simple C compiler to generate 8086 code"
+arch=('i686' 'x86_64')
+url="http://homepage.ntlworld.com/robert.debath/dev86"
+license=(GPL)
+makedepends=('bin86')
+options=('!libtool' '!strip' '!makeflags')
+source=(http://homepage.ntlworld.com/robert.debath/dev86/Dev86src-0.16.17.tar.gz dev86-pic.patch)
+md5sums=('e7bbfdbe61c2fb964994a087e29b0087' '1b750c5561a4bde5f83f65e5827feb73')
+
+build() {
+ cd $startdir/src/$pkgname-$pkgver
+ patch -Np0 -i ${startdir}/src/dev86-pic.patch
+ if [ "${CARCH}" = "x86_64" ]; then
+ # x86_64 fix
+ sed -i.orig -e 's,alt-libs elksemu,alt-libs,' \
+ -e 's,install-lib install-emu,install-lib,' \
+ $startdir/src/$pkgname-$pkgver/makefile.in
+ fi
+
+ # use our CFLAGS
+ sed -i -e "s/-O2 -g/${CFLAGS}/" makefile.in
+
+ make PREFIX=/usr DIST="$startdir/pkg" || return 1
+ make install-all DIST="$startdir/pkg"
+ mkdir -p $startdir/pkg/usr/share
+ mv $startdir/pkg/usr/man $startdir/pkg/usr/share
+ # remove all the stuff supplied by bin86
+ rm $startdir/pkg/usr/bin/{as,ld,nm,objdump,size}86
+ rm $startdir/pkg/usr/share/man/man1/{as,ld}86.1
+}
diff --git a/community/dev86/dev86-pic.patch b/community/dev86/dev86-pic.patch
new file mode 100644
index 000000000..439c2648b
--- /dev/null
+++ b/community/dev86/dev86-pic.patch
@@ -0,0 +1,20 @@
+--- elksemu/elks.c.orig 2005-11-04 01:35:37.000000000 +0100
++++ elksemu/elks.c 2005-11-04 01:45:28.000000000 +0100
+@@ -129,8 +129,17 @@
+ static inline int vm86_mine(struct vm86_struct* v86)
+ {
+ int __res;
++#ifndef __PIC__
+ __asm__ __volatile__("int $0x80\n"
+ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86));
++#else
++ __asm__ __volatile__(
++ "movl %%ebx,%%ecx\n\t"
++ "movl %2,%%ebx\n\t"
++ "int $0x80\n\t"
++ "movl %%ecx,%%ebx\n\t"
++ :"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx");
++#endif
+ return __res;
+ }
+ #endif