diff --git a/system/gxemul/README b/system/gxemul/README new file mode 100644 index 0000000000..554d204500 --- /dev/null +++ b/system/gxemul/README @@ -0,0 +1,15 @@ +GXemul is an experimental instruction-level machine emulator. Several +emulation modes are available. In some modes, processors and +surrounding hardware components are emulated well enough to let +unmodified operating systems (e.g. NetBSD) run as if they were running +on a real machine. + +The emulator is written in C, does not depend on third-party +libraries, and should compile and run on most 64-bit and 32-bit +Unix-like systems, with few or no modifications. + +Devices and processors are not simulated with 100% accuracy. They are +only "faked" well enough to allow guest operating systems to run +without complaining too much. Still, the emulator could be of interest +for academic research and experiments, such as when learning how to +write operating system code. diff --git a/system/gxemul/gxemul.SlackBuild b/system/gxemul/gxemul.SlackBuild new file mode 100644 index 0000000000..3a165f59a6 --- /dev/null +++ b/system/gxemul/gxemul.SlackBuild @@ -0,0 +1,52 @@ +#!/bin/sh + +# Slackware build script for GXemul + +# Written by Aleksandar B. Samardzic () + +set -e + +PRGNAM=gxemul +VERSION=0.4.6 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar -xzvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +CFLAGS="$SLKCFLAGS" ./configure +make + +mkdir -p $PKG/usr/bin $PKG/usr/man/man1 +install -m 0755 gxemul $PKG/usr/bin +install -m 0644 man/gxemul.1 $PKG/usr/man/man1 +strip --strip-unneeded $PKG/usr/bin/gxemul +gzip -9 $PKG/usr/man/man1/gxemul.1 + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html +install -m 0644 HISTORY LICENSE README RELEASE TODO $PKG/usr/doc/$PRGNAM-$VERSION +install -m 0644 doc/* $PKG/usr/doc/$PRGNAM-$VERSION/html +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/system/gxemul/gxemul.info b/system/gxemul/gxemul.info new file mode 100644 index 0000000000..3f436d820c --- /dev/null +++ b/system/gxemul/gxemul.info @@ -0,0 +1,8 @@ +PRGNAM="gxemul" +VERSION="0.4.6" +HOMEPAGE="http://gavare.se/gxemul/" +DOWNLOAD="http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz" +MD5SUM="462e4e77ad0721742f8655ab6ff0ec4f" +MAINTAINER="Aleksandar B. Samardzic" +EMAIL="asamardzic@matf.bg.ac.yu" +APPROVED="rworkman" diff --git a/system/gxemul/slack-desc b/system/gxemul/slack-desc new file mode 100644 index 0000000000..9f26809d8b --- /dev/null +++ b/system/gxemul/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gxemul: GXemul (an instruction-level machine emulator) +gxemul: +gxemul: GXemul emulates (networks of) real machines, consisting of +gxemul: processors (ARM, MIPS, PowerPC, and SuperH, emulated using +gxemul: dynamic translation) and various surrounding hardware +gxemul: components such as framebuffers, interrupt controllers, +gxemul: busses, disk controllers, and serial controllers. +gxemul: +gxemul: GXemul home page is: http://gavare.se/gxemul/ +gxemul: +gxemul: