= Michael Mc^^Conville ''(mmcc, mmcco)'' =

I'm a rising senior at Swarthmore College working as Pidgin's resident "Maintenance Hero" through the [[SummerOfCode2015|2015 Google Summer of Code]]. My main goal is to help get our 3.0.0 release out the door. I also plan to work on [[vv|voice and video]] and end-to-end encryption.

== Contact ==

* '''Jabber:''' `mmcc@jabber.at` ''(OTR preferred)''
* '''Email:''' `mmcco ~a~ mykolab.com`

== What I'm working on ==

* Writing updates for the voice/video dependencies (libnice, Farstream, GStreamer) and submitting them to the [https://wiki.debian.org/Teams/DebianTelepathyMaintainers Debian Telepathy maintainers]
* XMPP Real-Time Text - [https://xmpp.org/extensions/xep-0301.html XEP-0301] - #15674
* Removing the Crazy Chat plugin (#16667) and Yahoo! Japan (#15906)

== Notes on building Pidgin 3.0 ==

Pidgin 3.0 has many dependencies, including some new ones and some that are a little tricky to get set up properly. Don't take this as gospel - it's simply what I've done to make the builds work reliably.

I've been doing my dev work on Ubuntu 15.04 (the most recent release at the moment). I install all manually compiled packages into the prefix `$HOME/env/` to keep `/usr/` clean and Ubuntu-specific. I strongly recommend this - it makes it easier to specify which version of a library should be used, and it prevents linker-related headaches and system reinstalls when you start getting library-related errors. I've added `$HOME/env/` to the following environment variables to make it fully usable:

* `PATH`
* `LIBDIR`
* `LIBRARY_PATH`
* `LD_LIBRARY_PATH`
* `C_INCLUDE_PATH`
* `CPLUS_INCLUDE_PATH`
* `PKG_CONFIG_PATH`

=== GPlugin ===

[https://www.guifications.org/ GPlugin] was added as a Pidgin dependency in May 2015. It's meant to allow plugins to be written in any programming language through the use of [https://wiki.gnome.org/Projects/GObjectIntrospection GObject introspection]. There were build problems in 0.18 involving Mozilla's gjs library (apparently only C++ headers were available while C headers were needed), but that's been removed as a dependency for now.

GPlugin is new, and isn't yet included in Debian or Ubuntu's package repos. You therefore have to build from source. Additionally, I wasn't able to find which (if any) environment variable determines the search path for `.gir` files. I therefore grudgingly installed it without my build environment prefix. I've since been told that such an environment variable does exist, though - I'll share it here once I find it.