Fri, 30 Aug 2024 19:33:36 -0500
Update the plugins page for the new process
This includes defining the process and providing a template for a new issue to
add new plugins. I did go through and audit `No IRC /WHO` so we had at least
one validated entry.
Testing Done:
Ran `npm run hugo:server` locally and verified the page worked and checked the new links.
Bugs closed: NEST-53
Reviewed at https://reviews.imfreedom.org/r/3450/
--- title: 2.x.y date: 2019-01-11T03:13:47.000Z anchor: 2.x.y lastmod: 2019-09-04T03:20:39.000Z --- ## Building If you're building for Windows you'll want to have a look at [the building on Windows page]({{< ref "development/building/2.x.y/windows" >}}) instead. Pidgin's default build has a lot of dependencies. This document will hopefully help you find and install them all. ### Packaged Dependencies These dependencies are ones that should be found in your distribution's package manager. ### I have the source; how do I build this thing? Assuming you have all of the necessary libraries and their headers installed (see the next few questions), you compile libpurple, Pidgin and Finch just like most applications: $ tar xjvf pidgin-2.x.y.tar.bz2 $ cd pidgin-2.x.y $ ./configure && make && sudo make install This will install libpurple, Pidgin and Finch to `/usr/local`. If you want to install it elsewhere, pass `--prefix=/some/other/prefix` to `./configure`. (You really don't want to install it to `/usr`.) See `./configure --help` for other options you can change at compile-time. If you got the source tree from our Mercurial database (which you probably shouldn't have), you'll need to run `./autogen.sh` instead of `./configure` the first time around. If you get an error like the following, you may need a newer version of automake. running /usr/bin/automake -a -c --gnu... failed. Makefile.am:79: directory should not contain `/' pidgin/pixmaps/Makefile.am:4: directory should not contain `/' If you are trying to compile on Windows, you need the answer to a different question. ### Why can't I compile Pidgin? You're probably missing some dependencies. The `configure` script will tell you when you are missing required dependencies. Remember that if you're using an RPM-based (RedHat Enterprise Linux, CentOS, SUSE, Mandriva, etc.) or Debian-based system (Debian, Ubuntu, etc.) that having just a library's package installed is not sufficient--you must also have the `-devel` (RPM systems) or `-dev` (Debian-based systems) package for each library installed. If `configure` is succeeding, but `make` fails, this is harder to diagnose and you will probably want to drop by the IRC channel or XMPP conference listed on the [Contact]({{< ref "contact" >}}) page to get help. ### How do I install the dependencies on Debian or Ubuntu? You need to install the development headers; these are the `-dev` packages. A simple `apt-get build-dep pidgin` will find and install all of the required header packages for you. If `apt-get build-dep` fails with a message like E: You must put some 'source' URIs in your sources.list then you need to add `deb-src` lines to your `/etc/apt/sources.list` corresponding to each of the `deb` lines already there. If editing configuration files scares you, Ubuntu has a "Software Sources" control panel in _System_ -> _Administration_ which has some magic checkboxes to do this for you. ### How do I install the dependencies on Fedora (or similar)? RPM-based distribution users may find `yum-builddep pidgin` useful if a source RPM is available and the distribution uses the yum tools. Note that on current Fedora, you would use `dnf builddep pidgin`, which is in the `dnf-plugins-core` package. If you're still using yum, the `yum-builddep` command is in the `yum-utils` package, which is not necessarily installed by default. ### How do I apply the patch "something.diff"? Type `patch -p1 < something.diff` from the top level of the source directory (`pidgin/`, not `pidgin/pidgin/` or `pidgin/finch/`). ### Is there a way to compile without some protocols? There are actually two ways: - Run `./configure` with the `--with-static-prpls` option with the `--disable-plugins` option. This will let you choose which protocols to include by specifying them as a comma-separated list, such as the following (but note that you won't be able to use any other protocols or plugins): `./configure --disable-plugins --with-static-prpls=irc,bonjour` - Use the `--with-dynamic-prpls` option to `./configure` by specifying a comma-separated list, like so: `./configure --with-dynamic-prpls=irc,xmpp` ### Can I compile just Finch, not Pidgin? Sure. Pass `--disable-gtkui` to `./configure`.