diff options
-rw-r--r-- | system/vice/README | 9 | ||||
-rw-r--r-- | system/vice/slack-desc | 19 | ||||
-rw-r--r-- | system/vice/vice-fix-help.patch | 36 | ||||
-rw-r--r-- | system/vice/vice-lib64.patch | 87 | ||||
-rw-r--r-- | system/vice/vice.SlackBuild | 117 | ||||
-rw-r--r-- | system/vice/vice.info | 8 |
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 |