Compiling Pidgin From Source on Intrepid Ibex
Successful Platform Builds
32-bit - KevDog
64-bit - Fir3chi3f
Pidgin Plugins Later Described in this Guide
Purple Plugin Pack
OTR - Off-the-Record Messaging
Talkfilters
Bot Sentry
Pidgin Encryption
Pidgin Guifications
Gfire
Pidgin Status History Logging Plugin
Pidgin Rhythmbox Plugin
Pidgin Facebook
Twitter - Microblog-Purple
Install Necessary Dependencies
**Please note that installation of the pidgin dependency libraries will require 124 Mb of disk space.
Code:
sudo aptitude install build-essential graphviz checkinstall
sudo apt-get build-dep pidgin
(Wait for all libraries and dependencies to install)
Grab Pidgin Sources -- Currently using Pidgin 2.5.5 version
Code:
mkdir -p ~/src
cd ~/src
wget http://downloads.sourceforge.net/pidgin/pidgin-2.5.5.tar.bz2
Unpack and Compile, and Install Pidgin
Code:
tar -jxvf pidgin-2.5.5.tar.bz2
cd pidgin-2.5.5
./configure --enable-cyrus-sasl --with-system-ssl-certs=/etc/ssl/certs --enable-nss=yes (**See note below)
make
Additional options can be used with the ./configure statement. These switches are Optional, however the recommended switches were given above. (See ./configure --help for full option list):
--enable-cap : Contact Availability Plugin. Requires SQLlite as an additional dependency. Package no currently maintained
--enable-gevolution : Compile with the Evolution Plugin. Again package maintainence has waned.
--enable-mono : Option Broken for >= 2.5.3 Releases (Actually de-activated by developers). Do not use for releases >= 2.5.3. Package has been abandoned
--enable-cryus-sasl : Option to enable Cyrus SASL support. Cyrus SASL is the recommended authentication library for the XMPP protocol plugin.
Installing Pidgin
Code:
#1 - Recommended Way -- Not using the Apt System -- This will make it easier to upgrade packages later
sudo make install
#2 - Using Apt System via the checkinstall program
sudo checkinstall -D --fstrans=no --install=yes --pkgname=pidgin --pkgversion=2.5.5
#If upgrading from a previous install, or deinstallation, or going from deb to compiled version, the following command may also be helpful:
sudo ldconfig
Plugins
Talkfilter
The GNU Talk Filters are filter programs that convert ordinary English text into text that mimics a stereotyped or otherwise humorous dialect. These filters have been in the public domain for many years, but now for the first time they are provided as a single integrated package. The filters include austro, b1ff, brooklyn, chef, cockney, drawl, dubya, fudd, funetak, jethro, jive, kraut, pansy, pirate, postmodern, redneck, valspeak, and warez. Each program reads from standard input and writes to standard output. The package also provides the filters as a C library, so they can be easily used by other programs.
Homepage: http://www.hyperrealm.com/main.php?s=talkfilters
Code:
cd ~/src
wget http://www.hyperrealm.com/talkfilters/talkfilters-2.3.8.tar.gz
tar zxfv talkfilters-2.3.8.tar.gz
cd talkfilters-2.3.8
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname talkfilters --pkgversion 2.38
Purple Plugin Pack
51 Various Plugins to Add to the Functionality of Pidgin
Homepage: http://plugins.guifications.org/trac/wiki/PluginPack
At the time of writing of this guide the latest version was:
purple-plugin_pack-2.5.1.tar.bz2
Code:
sudo aptitude install libaspell-dev
cd ~/src
wget http://plugins.guifications.org/trac/downloads/22 -O purple-plugin_pack-2.5.1.tar.bz2
tar -jxvf purple-plugin_pack-2.5.1.tar.bz2
cd purple-plugin_pack-2.5.1
To enable all the plugins (which some are deactivated in default install, do the following):
for i in *; do if [ -d $i ]; then cd $i; echo "Touching .build in: $i"; touch .build; cd ..; fi; done
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname purple-plugin_pack --pkgversion 2.5.1
sudo ln -s /usr/local/lib/purple-2 /usr/lib/purple-2
OTR - Off-the-Record Messaging
Off-the-Record (OTR) Messaging allows you to have private conversations over instant messaging by providing: Encryption, Authentication, Deniability and Perfect forward secrecy.
Homepage: http://www.cypherpunks.ca/otr/
Code:
cd ~/src
wget http://www.cypherpunks.ca/otr/libotr-3.2.0.tar.gz http://www.cypherpunks.ca/otr/pidgin-otr-3.2.0.tar.gz
tar zxvf libotr-3.2.0.tar.gz && tar zxvf pidgin-otr-3.2.0.tar.gz
cd libotr-3.2.0
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname libotr --pkgversion 3.2.0
cd ~/src/pidgin-otr-3.2.0
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname pidgin-otr --pkgversion 3.2.0
Character Counting Plugin
.deb file available only for i386 architecture
Homepage: http://dossy.org/2008/02/debian-pack...in-for-pidgin/
NOTE -- Following for i386 architecture only:
Code:
cd ~/src
wget http://static.panoptic.com/pidgin/pidgin-convcharcount-plugin_2.3.1-1_i386.deb
sudo dpkg -i pidgin-convcharcount-plugin_2.3.1-1_i386.deb
sudo ln -s /usr/lib/pidgin/convcharcount.la /usr/local/lib/pidgin/convcharcount.la
sudo ln -s /usr/lib/pidgin/convcharcount.so /usr/local/lib/pidgin/convcharcount.so
For all other platforms-
The pidgin source code can be patched in order to gain functionality. This would mean that pidgin would need to be reinstalled.
The patch file can be found here: http://static.panoptic.com/pidgin/pi...ugin-patch.txt
In order to apply the patch, the following method could be used (Example listed below):
Code:
cd /src/pidgin-2.5.4
wget http://static.panoptic.com/pidgin/pidgin-convcharcount-plugin-patch.txt
patch -p1 < pidgin-convcharcount-plugin-patch.txt
Then recompile pidgin (as according to the instructions above):
./configure --enable-cyrus-sasl --with-system-ssl-certs=/etc/ssl/certs --enable-nss=yes
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname=pidgin --pkgversion 2.5.4
Pidgin-Encryption
Pidgin-Encryption transparently encrypts your instant messages with RSA encryption. Easy-to-use, but very secure.
This is a competing product to the OTR (Off-the-Record Messaging Plugin)
Homepage: http://pidgin-encrypt.sourceforge.net/
Code:
cd ~/src
wget http://downloads.sourceforge.net/pidgin-encrypt/pidgin-encryption-3.0.tar.gz
tar -zxvf pidgin-encryption-3.0.tar.gz
cd pidgin-encryption-3.0
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname pidgin-encryption --pkgversion 3.0
Pidgin Guifications
Guifications is a Pidgin plugin that displays "toaster" popups in a user-defined corner of the screen, similar to features that have been added to the official MSN Messenger (now called Windows Live Messenger), Yahoo! Messenger and AOL Instant Messenger clients. It's highly configurable, easy to use, and has theme support. It really is the end-all, be-all toaster pop-up plugin for Pidgin!
Homepage: http://plugins.guifications.org/trac/wiki/Guifications
Code:
cd ~/src
wget http://downloads.guifications.org/plugins/Guifications2/pidgin-guifications-2.16.tar.bz2
tar -jxvf pidgin_guifications-2.16.tar.bz2
cd pidgin_guifications-2.16
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname=pidgin_guifications --pkgversion=2.16
Now that the Guificatons plugin is installed -- It needs to be loaded with a theme in order to Work
Themes are available here: http://sourceforge.net/tracker2/?fun...88&atid=676821
For our purposes we will install and load the Ubuntu_Human theme
Code:
cd ~/src
wget "http://sourceforge.net/tracker2/download.php?group_id=92888&atid=676821&file_id=263816&aid=1880191" -O Ubuntu_Human.tar.gz
tar -zxvf Ubuntu_Human.tar.gz
mkdir -p ~/.purple/guifications/themes
cp -rf Ubuntu_Human ~/.purple/guifications/themes
Of course once the theme is installed, the plugin must be activated once inside Pidgin by going to:
Tools->Plugins->Guifications (Select This Option)->Configure Plugin->Themes
Select Ubuntu Human as the Theme
Bot Sentry
Bot Sentry is a Pidgin plugin that attempts to stop SPAM IM. This problems has been documented: http://ubuntuforums.org/showthread.php?t=994677. Bot Sentry Homepage: http://sourceforge.net/projects/pidgin-bs/
Code:
sudo aptitude install subversion subversion-tools
cd ~/src
svn co https://pidgin-bs.svn.sourceforge.net/svnroot/pidgin-bs/bot-sentry/trunk pidgin-bot-sentry
cd pidgin-bot-sentry
./autogen.sh
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname=Bot-Sentry --pkgversion=svn-`svn info|grep Revision |cut -f2 -d' '`
After Installation, Plugin must be Activated from within Pidgin (Tools->Plugins (Select Bot Sentry))
Gfire
Gfire is an open source plugin for the Pidgin IM client which allows you to connect the Xfire network. Gfire Homepage: http://gfire.site40.net/?page_id=20
Code:
cd ~/src
wget http://downloads.sourceforge.net/gfire/gfire-0.7.1.tar.gz
tar zxvf gfire-0.7.1.tar.gz
cd gfire-0.7.1
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname=Gfire --pkgversion=0.7.1
Gfire adds the capabilities of becoming a client within the Gfire network. To use the plugin, Select Account->Manage Accounts. Select Add. Then choose Xfire from the Protocol Dropbox List
Pidgin Status History Logging Plugin
Pidgin Status History is a Plugin to add the ability to log users statuses. This functionality is not included in the default logging process. Homepage: http://bla.thera.be/archives/20
Code:
cd ~/src
wget http://thera.be/my_public/my_projects/pidgin-logstatus-0.6.tar.bz2
tar jxvf pidgin-logstatus-0.6.tar.bz2
cd pidgin-logstatus-0.6v
make
sudo make install
With the install process the plugin (logstatus.so) will be copied to the:
~/home/.purple/plugins directory
To enable the plugin:
Tools->Plugins: Put a checkmark next to Buddy Status history 0.6v, and click Close
Pidgin Rhythmbox Plugin
The Pidgin-Rhythmbox plugin will automatically update your Pidgin user info and status message with the currently playing music in Rhythmbox. If the artist and title are known, it will also attempt to create a link to the song's lyrics by using Google's "I'm Feeling Lucky" feature. Homepage: http://jon.oberheide.org/projects/pidgin-rhythmbox/
Grab svn sources, compile, and install:
Code:
cd ~/src
svn co http://pidgin-rhythmbox.googlecode.com/svn/trunk/ pidgin-rhythmbox
./autogen.sh
./configure
make
Choose one of the Following Options (First Option Recommended):
sudo make install
sudo checkinstall -D --fstrans=no --install=yes --pkgname=Pidgin-Rhythmbox --pkgversion=svn-`svn info|grep Revision |cut -f2 -d' '`
In order to Use Plugin:
#1 - Activate Plugin for Use
Tools->Plugins: Put a checkmark next to Pidgin-Rhythmbox 2.0, and click Close
#2 - Configure Status (Will configure Away Status in this Example):
Select the Status Box at the Bottom of the Main Pidgin Window (The one that states available next to the Icon)
New Status
Within popup window select
Status: Away
Message: %rb
%rb will substitute the name of the Artist and Track currently playing in Rhythmbox when your Away status is shown. (Of course this demands that rhythmbox actually be running).
For more Information: http://ubuntuforums.org/showthread.php?t=622264
Pidgin Facebook
Facebook is due in the future to switch to the Jabber protocol at a yet undetermined date. Until this happens this allows pidgin to interact with the Facebook IM protocol: http://code.google.com/p/pidgin-facebookchat/
Although there is a .deb file available here: http://code.google.com/p/pidgin-facebookchat/, we will compile from svn source code to grab the latest and greatest capabilities. This process however is somewhat convoluted.
Grab svn sources:
Code:
cd ~/src
svn checkout http://pidgin-facebookchat.googlecode.com/svn/trunk/ pidgin-facebookchat
cd pidgin-facebookchat
Modify Makefile
The Makefile included with the svn sources is applicable to a number of different platforms and architectures. In order to use the makefile appropriately you must know something about your system architecture. The general form how to enable the makefile is:
make libfacebook.so -- to build the plugin for 32-bit Linux
make libfacebook64.so -- to build the plugin for 64-bit Linux
Additional modifications however must be done to the Makefile to make this process actually work. This requires manually editing a few lines in the Makefile. Open your editor of choice to edit the makefile (gedit, vim, etc).
The top of the Makefile appears as the following:
Code:
#Customisable stuff here
LINUX32_COMPILER = i686-pc-linux-gnu-gcc
LINUX64_COMPILER = x86_64-pc-linux-gnu-gcc
WIN32_COMPILER = /usr/bin/i586-mingw32-gcc
#LINUX_ARM_COMPILER = arm-pc-linux-gnu-gcc
LINUX_ARM_COMPILER = arm-none-linux-gnueabi-gcc
LINUX_PPC_COMPILER = powerpc-unknown-linux-gnu-gcc
FREEBSD60_COMPILER = i686-pc-freebsd6.0-gcc
In order to compile for a 32-bit architecture I changed the first line to:
Code:
LINUX32_COMPILER = gcc
The default install section of the Makefile:
Code:
install:
cp libfacebook.so /usr/lib/purple-2/
cp libfacebook64.so /usr/lib64/purple-2/
cp libfacebookarm.so /usr/lib/pidgin/
cp libfacebookppc.so /usr/lib/purple-2/
cp facebook16.png /usr/share/pixmaps/pidgin/protocols/16/facebook.png
cp facebook22.png /usr/share/pixmaps/pidgin/protocols/22/facebook.png
cp facebook48.png /usr/share/pixmaps/pidgin/protocols/48/facebook.png
Because I only wanted to install the 32-bit compilation I changed the install section to the following:
Code:
install:
cp libfacebook.so /usr/lib/purple-2/
# cp libfacebook64.so /usr/lib64/purple-2/
# cp libfacebookarm.so /usr/lib/pidgin/
# cp libfacebookppc.so /usr/lib/purple-2/
cp facebook16.png /usr/share/pixmaps/pidgin/protocols/16/facebook.png
cp facebook22.png /usr/share/pixmaps/pidgin/protocols/22/facebook.png
cp facebook48.png /usr/share/pixmaps/pidgin/protocols/48/facebook.png
To actually compile and install the module: (using the 32-bit architecture as an example:
Code:
make libfacebook.so
sudo make install
To use the plugin, Select Account->Manage Accounts. Select Add. Then choose Facebook from the Protocol Dropbox List
Twitter Plugin for Pidgin
Allows to send and receive Twitter Messages Using Pidgin
Homepage: http://code.google.com/p/microblog-purple/
Install Necessary Dependencies
Code:
sudo aptitude install libpurple-dev
Grab SVN sources
Code:
mkdir -p ~/src/microblog-purple
cd ~/src
svn co http://microblog-purple.googlecode.com/svn/trunk/ microblog-purple
cd microblog-purple
Modification of global.mak file to ensure plugins are installed within the /usr/local directory tree rather than the /usr tree
Code:
sed -i -e '/^PREFIX/s/usr/usr\/local/'
Compile and Install
Code:
make
sudo make install
Enabling Plugin
Two Use The Plugin, 2 Steps Are Required:
#1 - Within Pidgin, Add your Twitter Account
(Accounts->Manage Accounts, Select Add. Choose Protocol: TwitterIM. Fill In Username/Password Properties)
#2 - Enable Twitter Plugin
(Tools->Plugins. Check the Twitgin Plugin). Please see http://code.google.com/p/microblog-purple/ for more details.
__________________________________________
Edits:
Thanks to andrew.46 for clarifying the checkinstall procedure as documented here: http://ubuntuforums.org/showpost.php...&postcount=229
__________________________________________
Thanks to borisattva for providing much of the information for the Pidgin Rhythbox Plugin: http://ubuntuforums.org/showthread.php?t=622264
__________________________________________
Thanks to darkrain42 who provided clarification regarding the appropriate ./configure switches. Noted also that the linux-header package is also not needed.
__________________________________________
Thanks to irc://irc.freenode.net/#pidgin for providing clarification on multiple issues
__________________________________________
Thanks to Artificial Intelligence from whom I borrowed much information for this guide: http://sudan.ubuntuforums.com/showthread.php?t=658244