From be2b11e1dbbffea86ab3aa5c367ae05f7c6038ea Mon Sep 17 00:00:00 2001 From: Ken Roberts Date: Sun, 20 Jun 2010 18:40:33 -0400 Subject: libraries/flashplugin-lahf-fix: Added (emulates LAHF instruction) Early x86_64 cpu's did not have the lahf instruction. Unfortunately, Adobe wrote their flash using this instruction. Signed-off-by: dsomero --- libraries/flashplugin-lahf-fix/README | 7 +++ .../flashplugin-lahf-fix.SlackBuild | 52 ++++++++++++++++++++++ .../flashplugin-lahf-fix/flashplugin-lahf-fix.info | 10 +++++ libraries/flashplugin-lahf-fix/slack-desc | 19 ++++++++ 4 files changed, 88 insertions(+) create mode 100644 libraries/flashplugin-lahf-fix/README create mode 100644 libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.SlackBuild create mode 100644 libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.info create mode 100644 libraries/flashplugin-lahf-fix/slack-desc (limited to 'libraries') diff --git a/libraries/flashplugin-lahf-fix/README b/libraries/flashplugin-lahf-fix/README new file mode 100644 index 0000000000..a276ef6232 --- /dev/null +++ b/libraries/flashplugin-lahf-fix/README @@ -0,0 +1,7 @@ +Simple work-around for running the 64-bit Adobe Flash plug-in version 10 +on Athlon64 processors without support for the lahf instruction. + +Compile with: +cc -fPIC -shared -nostdlib -lc -oflashplugin-lahf-fix.so flashplugin-lahf-fix.c +Then place the .so file in the plug-in directory (e.g. $HOME/.mozilla/plugins) +or use LD_PRELOAD to force Firefox to load the library. diff --git a/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.SlackBuild b/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.SlackBuild new file mode 100644 index 0000000000..f6af2f4853 --- /dev/null +++ b/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.SlackBuild @@ -0,0 +1,52 @@ +#!/bin/sh -x + +# Slackware build script for LAHF fix for flash plugin +# Writen by Ken Roberts using code scrounged from the net + +PRGNAM=flashplugin-lahf-fix +VERSION=0.1 +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "${ARCH}" ]; then + ARCH="$(uname -m)" +fi +if [ "${ARCH}" != "x86_64" ] ; then + echo "This only works for x86_64 cpu's" + exit 1 +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=${TMP}/package-${PRGNAM} +OUTPUT=${OUTPUT:-/tmp} + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tgz +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 {} \; + +mkdir -p $PKG/usr/lib64/mozilla/plugins + +cc -fPIC -shared -nostdlib -lc \ + -o$PKG//usr/lib64/mozilla/plugins/flashplugin-lahf-fix.so \ + flashplugin-lahf-fix.c +chmod 755 $PKG/usr/lib64/mozilla/plugins/flashplugin-lahf-fix.so + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README +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.${PKGTYPE:-txz} diff --git a/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.info b/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.info new file mode 100644 index 0000000000..c77a28b1c9 --- /dev/null +++ b/libraries/flashplugin-lahf-fix/flashplugin-lahf-fix.info @@ -0,0 +1,10 @@ +PRGNAM="flashplugin-lahf-fix" +VERSION="0.1" +HOMEPAGE="http://slackware.dreamhost.com/program/c/flashplugin-lahf-fix-0.1" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="http://slackware.dreamhost.com/program/c/flashplugin-lahf-fix-0.1.tgz" +MD5SUM_x86_64="627cfdb5e6d752198a1e755160e2bdf4" +MAINTAINER="Ken Roberts" +EMAIL="alisonken1@juno.com" +APPROVED="dsomero" diff --git a/libraries/flashplugin-lahf-fix/slack-desc b/libraries/flashplugin-lahf-fix/slack-desc new file mode 100644 index 0000000000..25574fca7b --- /dev/null +++ b/libraries/flashplugin-lahf-fix/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------------------------------------------------------| +flashplugin-lahf-fix: flashplugin-lahf-fix (Fix early x86_64 cpu missing LAHF instruction) +flashplugin-lahf-fix: +flashplugin-lahf-fix: Early x86_64 cpu's did not have the lahf instruction. Unfortunately, +flashplugin-lahf-fix: Adobe wrote their flash using this instruction. +flashplugin-lahf-fix: This fix basically traps interrupts to see if it's due to lahf +flashplugin-lahf-fix: missing, then either returns OK or let's the interrupt continue for +flashplugin-lahf-fix: further processing. +flashplugin-lahf-fix: +flashplugin-lahf-fix: C-Code courtesy of: +flashplugin-lahf-fix: Maks Verver July 2009 +flashplugin-lahf-fix: -- cgit v1.2.3