furrymonster |
06-21-2014 05:01 PM |
Not that this directly addresses the OP's PulseAudio question, but since people are suggesting Skype alternatives, a decent open-source VoIP programme I've been using is Jitsi (formerly SIP Communicator). I recently successfully tested 3-way video chat between 2 linux machines and a mac. Performance was a little laggy, probably because of my connection, but it was otherwise excellent.
If anyone wants to try it (tested on slackware64-14.1 with a couple of packages from slackbuilds.org), here is a slackbuild that uses their git repository (you have to clone it first). I built it using fakeroot: $ TMP=/tmp fakeroot ./jitsi.SlackBuild
Code:
#!/bin/sh
# jitsi.SlackBuild written by Tom 2014/05/03
# jitsi (SIP Communicator) available from https://jitsi.org/
# requires:
# from slackbuilds.org: apache-ant and openjdk or similar
# SlackBuild based on:
# https://jitsi.org/Documentation/RetrievingAndBuildingTheSources
# https://jitsi.org/Documentation/HowToBuildAnInstaller
# /usr/bin/jitsi shell script modifications based on the ofiicial rpm package
PRGNAM=jitsi
BUILD=${BUILD:-1}
TAG=${TAG:-_tom}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC -m64"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
# Original source:
# git clone https://github.com/jitsi/jitsi.git
# if bad connection do a combo of git clone --depth=1 copied over an unzipped snapshot downloaded from github
# and/or do $ git fetch --tags
cd $CWD/$PRGNAM
git checkout master
git branch -D tom &2>1
git pull
VERS=`git tag | tail -n1`
VERSION=${VERSION:-${VERS}}
# find latest stable based on https://download.jitsi.org/jitsi/src/
# but we're going to stick with the latest stable release:
VERSION="2.4.4997"
BUILD_VERSION="`echo $VERSION | cut -d'.' -f3`"
echo "Compiling $PRGNAM version $VERSION"
git checkout -b tom $BUILD_VERSION
cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cp -a $CWD/$PRGNAM/* $TMP/$PRGNAM-$VERSION
cd $TMP/$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 {} \;
# this just gives us the version number inside the programme, which is useful
sed -i "s/0.build.by.SVN/$BUILD_VERSION/g" src/net/java/sip/communicator/impl/version/NightlyBuildID.java
# the meat
ant rebuild
mkdir -p $PKG/usr/bin
sed 's/_PACKAGE_NAME_/jitsi/g' resources/install/debian/jitsi.sh.tmpl | sed 's#^CLASSPATH=.*$#CLASSPATH=$LIBPATH/felix.jar:$SCDIR/sc-bundles/sc-launcher.jar:$SCDIR/sc-bundles/util.jar:$LIBPATH#' | sed 's#/usr/lib/jni#$LIBPATH/native#' > $PKG/usr/bin/jitsi
chmod +x $PKG/usr/bin/jitsi
mkdir -p $PKG/usr/share/applications
sed 's/_PACKAGE_NAME_/jitsi/g' resources/install/debian/jitsi.desktop.tmpl | sed 's/_APP_NAME_/Jitsi/g' > $PKG/usr/share/applications/jitsi.desktop
mkdir -p $PKG/usr/share/jitsi/lib/bundle
mkdir -p $PKG/usr/share/jitsi/lib/native
cp lib/{felix.client.run.properties,felix.jar,jitsi-defaults.properties,logging.properties} $PKG/usr/share/jitsi/lib
# what about the jdic files? don't appear to be needed!
if [ "$ARCH" = "x86_64" ]; then
cp -a lib/native/linux-64/*.so $PKG/usr/share/jitsi/lib/native
else
cp -a lib/native/linux/*.so $PKG/usr/share/jitsi/lib/native
fi
cp lib/bundle/{commons-logging.jar,log4j.jar,org.apache.felix.bundlerepository-1.6.4.jar} $PKG/usr/share/jitsi/lib/bundle
mkdir -p $PKG/usr/share/jitsi/sc-bundles
cp sc-bundles/* $PKG/usr/share/jitsi/sc-bundles || echo # note this is so that the 'set -e' d.n. cause it to break here
cp sc-bundles/os-specific/linux/* $PKG/usr/share/jitsi/sc-bundles
# remove unneeded
rm $PKG/usr/share/jitsi/sc-bundles/*-slick.jar
mkdir -p $PKG/usr/share/man/man1
sed 's/_PACKAGE_NAME_/jitsi/g' resources/install/debian/jitsi.1.tmpl | sed 's/_APP_NAME_/Jitsi/g' | gzip -9 > $PKG/usr/share/man/man1/jitsi.1.gz
mkdir -p $PKG/usr/share/pixmaps
cp resources/install/debian/jitsi-*.xpm $PKG/usr/share/pixmaps
cp resources/install/debian/jitsi.svg $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp \
LICENSE README.md \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$0 > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
#cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
mv $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} $CWD
Hope it's of use/interest.
Cheers,
Tom
|