summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/vice/README9
-rw-r--r--system/vice/slack-desc19
-rw-r--r--system/vice/vice-fix-help.patch36
-rw-r--r--system/vice/vice-lib64.patch87
-rw-r--r--system/vice/vice.SlackBuild117
-rw-r--r--system/vice/vice.info8
6 files changed, 276 insertions, 0 deletions
diff --git a/system/vice/README b/system/vice/README
new file mode 100644
index 0000000000..4a0fd22967
--- /dev/null
+++ b/system/vice/README
@@ -0,0 +1,9 @@
+VICE is the one and only Versatile Commodore Emulator. It provides emulation
+of the Commodore C64, C128, VIC20, PET, PLUS4 and CBM-II computers.
+
+If you are building this on Slamd64, execute the build script as follows:
+ ARCH=x86_64 ./vice.SlackBuild
+
+If you build on a multicore system, add JOBS={core #} to enable parallel
+compilation, as in: JOBS=4 ./vice.SlackBuild
+which starts up to 4 build jobs simultaneously.
diff --git a/system/vice/slack-desc b/system/vice/slack-desc
new file mode 100644
index 0000000000..f90df79a94
--- /dev/null
+++ b/system/vice/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------------------------------------------------------|
+vice: VICE (the one and only Versatile Commodore Emulator)
+vice:
+vice: VICE is a program that runs on a Unix, MS-DOS, Win32, OS/2, Acorn
+vice: RISC OS, BeOS, QNX 6.x, Amiga, GP2X or Mac OS X machine and executes
+vice: programs intended for the old 8-bit computers. The current version
+vice: emulates the C64, the C128, the VIC20, almost all PET models, the
+vice: PLUS4 and the CBM-II (aka C610).
+vice:
+vice: Homepage: http://www.viceteam.org/
+vice:
+vice:
diff --git a/system/vice/vice-fix-help.patch b/system/vice/vice-fix-help.patch
new file mode 100644
index 0000000000..cc0f8d74ee
--- /dev/null
+++ b/system/vice/vice-fix-help.patch
@@ -0,0 +1,36 @@
+diff -urpN vice-1.22/man/vice.1 vice-1.22-fixdoc/man/vice.1
+--- vice-1.22/man/vice.1 2005-08-21 21:15:04.000000000 +0200
++++ vice-1.22-fixdoc/man/vice.1 2008-02-16 19:40:11.000000000 +0100
+@@ -34,7 +34,7 @@ a Commodore BASIC de-tokenizer;
+ .PP
+ The whole documentation for these programs is available in HTML
+ format; the main file should be installed on your system as
+-/usr/local/lib/VICE/doc/vice_toc.html.
++/usr/doc/vice/html/vice_toc.html.
+ .P
+ For up to date news about VICE, have a look at the official home page
+ at
+diff -urpN vice-1.22/src/arch/unix/gui/uicommands.c vice-1.22-fixdoc/src/arch/unix/gui/uicommands.c
+--- vice-1.22/src/arch/unix/gui/uicommands.c 2007-04-01 17:02:44.000000000 +0200
++++ vice-1.22-fixdoc/src/arch/unix/gui/uicommands.c 2008-02-16 19:31:10.000000000 +0100
+@@ -160,7 +160,7 @@ static UI_CALLBACK(browse_manual)
+ char *manual_path;
+ manual_path = util_concat(boot_path,"/../doc/vice_toc.html",NULL);
+ #else
+- static const char manual_path[] = DOCDIR "/vice_toc.html";
++ static const char manual_path[] = DOCDIR "/html/vice_toc.html";
+ #endif
+
+ char *res_ptr;
+diff -urpN vice-1.22/src/arch/unix/x11/ui-resources.c vice-1.22-fixdoc/src/arch/unix/x11/ui-resources.c
+--- vice-1.22/src/arch/unix/x11/ui-resources.c 2007-03-03 10:07:37.000000000 +0100
++++ vice-1.22-fixdoc/src/arch/unix/x11/ui-resources.c 2008-02-16 19:33:32.000000000 +0100
+@@ -112,7 +112,7 @@ static const resource_string_t resources
+ #ifdef MACOSX_SUPPORT
+ "/usr/bin/open %s",
+ #else
+- "netscape %s",
++ "htmlview %s",
+ #endif
+ RES_EVENT_NO, NULL,
+ &ui_resources.html_browser_command,
diff --git a/system/vice/vice-lib64.patch b/system/vice/vice-lib64.patch
new file mode 100644
index 0000000000..3a94797829
--- /dev/null
+++ b/system/vice/vice-lib64.patch
@@ -0,0 +1,87 @@
+diff -urpN vice-1.22/configure vice-1.22-64bit/configure
+--- vice-1.22/configure 2007-08-05 21:53:33.000000000 +0200
++++ vice-1.22-64bit/configure 2008-02-16 14:22:15.000000000 +0100
+@@ -345,7 +345,7 @@ datadir='${prefix}/share'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+-libdir='${exec_prefix}/lib'
++libdir='${exec_prefix}/lib64'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ infodir='${prefix}/info'
+@@ -821,7 +821,7 @@ Installation directories:
+ [PREFIX]
+
+ By default, \`make install' will install all the files in
+-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib64' etc. You can specify
+ an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+ for instance \`--prefix=\$HOME'.
+
+@@ -835,7 +835,7 @@ Fine tuning of the installation director
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+- --libdir=DIR object code libraries [EPREFIX/lib]
++ --libdir=DIR object code libraries [EPREFIX/lib64]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+@@ -7988,7 +7988,7 @@ subdirs="$subdirs src/resid"
+ else
+ no_recursion=yes
+
+- LDFLAGS="$LDFLAGS -L$with_resid/lib"
++ LDFLAGS="$LDFLAGS -L$with_resid/lib64"
+ CPPFLAGS="$CPPFLAGS -I$with_resid/include"
+
+
+@@ -22745,7 +22745,7 @@ _ACEOF
+ *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+ esac
+ case $ac_im_usrlibdir in
+- /usr/lib | /lib) ;;
++ /usr/lib64 | /lib) ;;
+ *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+ esac
+ fi
+@@ -22886,7 +22886,7 @@ else
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+ LIBS=$ac_save_LIBS
+-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib64/g`
+ do
+ # Don't even attempt the hair of trying to link an X program!
+ for ac_extension in a so sl; do
+@@ -27845,7 +27845,7 @@ fi
+
+ ;;
+ freebsd*)
+- VICEDIR="$PREFIX/lib/vice";
++ VICEDIR="$PREFIX/lib64/vice";
+
+
+ if true; then
+@@ -27858,7 +27858,7 @@ fi
+
+ ;;
+ *)
+- VICEDIR="$PREFIX/lib/vice";
++ VICEDIR="$PREFIX/lib64/vice";
+
+
+ if false; then
+diff -urpN vice-1.22/src/arch/unix/archdep.h vice-1.22-64bit/src/arch/unix/archdep.h
+--- vice-1.22/src/arch/unix/archdep.h 2007-04-29 20:50:17.000000000 +0200
++++ vice-1.22-64bit/src/arch/unix/archdep.h 2008-02-16 14:16:32.000000000 +0100
+@@ -109,7 +109,7 @@ extern const char *archdep_home_path(voi
+ #ifdef __NetBSD__
+ #define LIBDIR PREFIX "/share/vice"
+ #else
+-#define LIBDIR PREFIX "/lib/vice"
++#define LIBDIR PREFIX "/lib64/vice"
+ #endif
+
+ #if defined(__FreeBSD__) || defined(__NetBSD__)
diff --git a/system/vice/vice.SlackBuild b/system/vice/vice.SlackBuild
new file mode 100644
index 0000000000..f2ff136a43
--- /dev/null
+++ b/system/vice/vice.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for VICE
+
+# Copyright 2008 Mauro Giachero (mauro dot giachero at gmail dot com)
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=vice
+VERSION=1.22
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# Parallel compilation support
+JOBS=${JOBS:-1}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -march=x86-64"
+ LIBSUFFIX="64"
+fi
+
+set -e # Exit on most errors
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Replace the hardcoded "netscape" HTML viewer with "htmlview" and set
+# the help path correctly with respect to the actually installed doc folder
+# (the folder set up by "make install" is quite broken)
+patch -p1 <$CWD/vice-fix-help.patch
+
+# This patch fixes the libdir path for 64 bit builds
+# (configure doesn't honor --libdir)
+[ "$LIBSUFFIX" = "64" ] && patch -p1 <$CWD/vice-lib64.patch
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --enable-fullscreen \
+ --enable-gnomeui \
+ --build=$ARCH
+
+make -j$JOBS
+make install DESTDIR=$PKG
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+)
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*.info*
+
+# Remove the documentation folder installed by "make install", which
+# is a broken mess of almost unrelated files in the wrong place
+rm -rf $PKG/usr/lib$LIBSUFFIX/$PRGNAM/doc
+# Copy the original documentation folder to the usual place
+mkdir -p $PKG/usr/doc
+cp -R doc $PKG/usr/doc/$PRGNAM-$VERSION
+find $PKG/usr/doc/$PRGNAM-$VERSION -name "Makefile*" -exec rm -f {} \;
+find $PKG/usr/doc/$PRGNAM-$VERSION -name "tex*" -exec rm -f {} \;
+# Copy additional program documentation
+cp -a AUTHORS FEEDBACK INSTALL README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+# Create link to documentation folder in the place VICE expects
+# to find it (looks like the VICE team does something strange with
+# the build scripts, as it resulted very difficult to actually set
+# a different doc folder)
+( cd $PKG/usr/lib$LIBSUFFIX/$PRGNAM
+ ln -s /usr/doc/$PRGNAM-$VERSION doc
+)
+
+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/vice/vice.info b/system/vice/vice.info
new file mode 100644
index 0000000000..6c7ed936fb
--- /dev/null
+++ b/system/vice/vice.info
@@ -0,0 +1,8 @@
+PRGNAM="vice"
+VERSION="1.22"
+HOMEPAGE="http://www.viceteam.org/"
+DOWNLOAD="http://www.viceteam.org/online/vice-1.22.tar.gz"
+MD5SUM="33204acbb74bafb12594d39b55888626"
+MAINTAINER="Mauro Giachero"
+EMAIL="mauro dot giachero at gmail dot com"
+APPROVED="David Somero" \ No newline at end of file