pidgin with video-audio support
Posted: 18. May 2010, 17:52
The pidgin package we have lacks support for video-audio calls. For those to work, pidgin needs to be compiled with support for farsight2, which in turn needs libnice. However, I have found that at least pidgin 2.7.0 is highly unstable when compiled with those. It would crash whenever someone tried to initiate a video call with me and I didn't have any webcam attached. Anyway, these might be of help to anyone who wishes to try this out too. Just save the following code as SLKBUILD files (create a directory for each package and same the respective SLKBUILD files in that) and then run slkbuild -X in each of those directories. Compile and install libnice first, farsight2 second and pidgin last. The pidgin package that will be created by this SLKBUILD doesn't include the encryption plugin like the official package does.
libnice:
farsight2:
pidgin:
libnice:
Code: Select all
#Packager: George Vlahavas <vlahavas~at~gmail~dot~com>
pkgname=libnice
pkgver=0.0.11
pkgrel=1gv
source=(http://nice.freedesktop.org/releases/libnice-$pkgver.tar.gz)
docs=("readme" "install" "copying*" "changelog" "authors" "news" "todo")
url=http://nice.freedesktop.org/wiki/
slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"libnice (The GLib ICE implementation)"
"Libnice is an implementation of the IETF's draft Interactice"
"Connectivity Establishment standard (ICE). It provides GLib-based"
"library, libnice and GStreamer elements. ICE is useful for"
"applications that want to establish peer-to-peer UDP data streams. It"
"automates the process of traversing NATs and provides security against"
"some attacks. Existing standards that use ICE include Session"
"Initiation Protocol (SIP) and XMPP Jingle."
)
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --localstatedir=/var --sysconfdir=/etc --build=$arch-slackware-linux --disable-gtk-doc-html --disable-static
make || return 1
make install DESTDIR=$startdir/pkg
rm -rf $startdir/pkg/usr/share/gtk-doc
}
Code: Select all
#Packager: George Vlahavas <vlahavas~at~gmail~dot~com>
pkgname=farsight2
pkgver=0.0.18
pkgrel=1gv
source=(http://farsight.freedesktop.org/releases/farsight2/farsight2-$pkgver.tar.gz)
docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
url=http://farsight.freedesktop.org/wiki/
slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"farsight2 (libraries for videoconferencing)"
"Farsight 2 is a collection of GStreamer modules and libraries for"
"videoconferencing."
)
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --localstatedir=/var --sysconfdir=/etc --disable-static --build=$arch-slackware-linux
make || return 1
make install DESTDIR=$startdir/pkg
rm -rf $startdir/pkg/usr/share/gtk-doc
}
Code: Select all
#Packager: George Vlahavas <vlahavas~at~gmail~dot~com>
pkgname=pidgin
pkgver=2.7.0
pkgrel=1gv
source=(http://sourceforge.net/projects/pidgin/files/Pidgin/pidgin-2.7.0.tar.bz2)
#docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
#url=
slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"pidgin"
)
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --localstatedir=/var --sysconfdir=/etc --disable-meanwhile --disable-avahi --disable-nm --disable-tcl --disable-schemas-install --with-gconf-source="xml::/etc/gconf/gconf.xml.defaults" --build=$arch-slackware-linux
make || return 1
make install DESTDIR=$startdir/pkg
# gconf stuff
export GCONF_CONFIG_SOURCE="xml::$startdir/pkg/etc/gconf/gconf.xml.defaults"
if [ -d $startdir/pkg/etc/gconf/schemas ]; then
install -v -d -m755 $startdir/pkg/etc/gconf/gconf.xml.defaults
SCHEMAS=$startdir/pkg/etc/gconf/schemas
for schema in $SCHEMAS/*.schemas; do
gconftool-2 --makefile-install-rule $schema
done
# Reset / Verify correct permissions
( cd $startdir/pkg/etc/gconf ; find . -type d -exec chmod 755 {} \; )
( cd $startdir/pkg/etc/gconf ; find . -type f -exec chmod 644 {} \; )
fi
# Remove perllocal.pod and .packlist if present in the package
( for i in perllocal.pod .packlist; do
find $startdir/pkg -name "$i" -exec rm -rf {} \;
done
) || exit 1
}