Results 1 to 10 of 91

Thread: How to Compile Pidgin with Plugins from Source in Intrepid Ibex

Threaded View

  1. #1
    Join Date
    Mar 2007
    Location
    Denver, CO
    Beans
    7,649
    Distro
    Ubuntu 12.04 Precise Pangolin

    How to Compile Pidgin with Plugins from Source in Intrepid Ibex

    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
    Last edited by kevdog; March 11th, 2009 at 02:45 PM.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •