Merged in default (pull request #53)
Start of adding some organization to the building pages.
Approved-by: Elliott Sales de Andrade
--- a/hugo/content/building/2.x.y.md Tue Sep 17 02:32:37 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
----
-title: 2.x.y
-date: 2019-01-11T03:13:47.000Z
-lastmod: 2019-02-04T00:21:57.000Z
----
-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 distributions package
-### 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
- % tar xjvf pidgin-2.x.y.tar.bz2
- % ./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
- 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
-## 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
-[Community](/community) 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-VERSION.src.rpm`
-useful if a source RPM is available and the distribution uses the yum tools.
-Note that 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 -p0 < something.diff` from the top level of the source directory
-(`pidgin/`, not `pidgin/pidgin/` or `pidgin/finch/`). If that does not work,
-try `patch -p1 < something.diff`.
-## 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,yahoo`
- - Use the `--with-dynamic-prpls` option to `./configure` by specifying a
- comma-separated list, like so: `./configure --with-dynamic-prpls=aim,icq,yahoo`
-## Can I compile just Finch, not Pidgin?
-Sure. Pass `--disable-gtkui` to `./configure`.
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hugo/content/building/2.x.y/_index.md Wed Sep 18 01:24:43 2019 +0000
@@ -0,0 +1,103 @@
+date: 2019-01-11T03:13:47.000Z +lastmod: 2019-09-04T02:46:13.000Z +If you're building for Windows you'll want to have a look at [windows](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 +### 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 + $ tar xjvf pidgin-2.x.y.tar.bz2 + $ ./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 + 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 +## 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 +[Community](/community) 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 +## 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`. \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hugo/content/building/2.x.y/windows.md Wed Sep 18 01:24:43 2019 +0000
@@ -0,0 +1,421 @@
+date: 2019-09-04T02:46:13.000Z + - developer.pidgin.im/wiki/BuildingWinPidgin + - developer.pidgin.im/wiki/BuildingWinPidgin/Pre2.7.0 +lastmod: 2019-09-04T02:55:05.000Z +Note: These instructions are kept current for the development version of +`release-2.x.y` branch of Pidgin. You may need to look at an older version of +this page in order to build a released version of Pidgin. Alternatively, you +may need the instructions for 3.0.0 branch. +## Set up your build environment +### Install A Bash Shell +The Pidgin build system requires a full Unix shell to run. You can install +[Cygwin](https://cygwin.com) or [MSYS2](https://www.msys2.org/) to accomplish +this. However, these instructions are heavily geared towards Cygwin so MSYS +steps may be different and/or missing all together. +Alternatively, you may use the third-party script +[Pidgin Windev](https://github.com/renatosilva/pidgin-windev), which +creates the development environment automatically. This tool works for +When installing [Cygwin](https://cygwin.com) you will be asked which additional +packages you would like to install. You need to make sure that the following +packages are installed. Some of these are selected by default, but the ones in +bold are not installed by default. +After installing [MSYS2](https://www.msys2.org/), you'll need to make sure that +you have all the base dependencies installed as well. You can do that with the +$ pacman -Sy ca-certificates gawk grep make patch tar unzip wget zip +The following instructions were written under the assumption that the +[Pidgin source](#get-the-pidgin-source-code) will be extracted or checked out +into `$PIDGIN_DEV_ROOT/pidgin-<version>` and that you install all of Pidgin's +build dependencies under `$PIDGIN_DEV_ROOT/win32-dev` (the point being that +the pidgin source root and `win32-dev` directories should be on the same level). Similar to the example below: +You don't have to actually define an environment variable called +`PIDGIN_DEV_ROOT`, it is simply used here as a placeholder. +**Note** You should avoid using a `$PIDGIN_DEV_ROOT` path that contains +spaces as that can cause unnecessary complications. +Most people will find that the standard build environment directory is +completely adequate. It is, however, possible to override the locations of the +various dependencies and target directories. This is often useful to test +against a development version of a library dependency or to override compiler +This is done by overriding the various Makefile variables in a `local.mak` +file in the `$PIDGIN_DEV_ROOT/pidgin-<version>` directory. This file does not +The variables that can be overridden with this method are defined in the +[libpurple/win32/global.mak](https://{{< repo pidgin >}}src/release-2.x.y/libpurple/win32/global.mak) +file. For example, to install Pidgin over `c:\Program Files\Pidgin` instead +of `$PIDGIN_DEV_ROOT/pidgin/win32-install-dir`, create a +`$PIDGIN_DEV_ROOT/pidgin/local.mak` containing: +#Override the install location +PIDGIN_INSTALL_DIR = /cygdrive/c/Program\ Files/Pidgin +PURPLE_INSTALL_DIR = /cygdrive/c/Program\ Files/Pidgin +One nice use of the `local.mak` file is for cross compiling, there is an +additional example in the [#cross-compiling section below]. +## Get the Pidgin source code +The development source is available via Mercurial in the `release-2.x.y` +branch. See [version control](/development/version-control/) for more +If you want to build a release tarball, the instructions in the rest of this +document should work for you, however they are written for the most recent +2.x.y release so there may be issues with older versions. +Installing all of the build dependencies can be tedious, so you may want to +check out [Pidgin Windev](https://github.com/renatosilva/pidgin-windev) which +Install the MinGW "GCC Version 4.7.2" packages from the +[MinGW site](http://www.mingw.org) by following +[their instructions](http://www.mingw.org/node/24/revisions/908/view). +* [binutils-2.24](https://sourceforge.net/projects/mingw/files/MinGW/Base/binutils/binutils-2.24/binutils-2.24-1-mingw32-bin.tar.xz/download) +* mingw-runtime-3.20 ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.20/mingwrt-3.20-2-mingw32-dev.tar.lzma/download) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.20/mingwrt-3.20-2-mingw32-dll.tar.lzma/download)) +* [w32api-3.17](https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-3.17/w32api-3.17-2-mingw32-dev.tar.lzma/) +* Required runtime libraries for GCC: + * mpc-0.8.1-1 ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/mpc/mpc-0.8.1-1/mpc-0.8.1-1-mingw32-dev.tar.lzma/) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/mpc/mpc-0.8.1-1/libmpc-0.8.1-1-mingw32-dll-2.tar.lzma/)) + * mpfr-2.4.1-1 ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-2.4.1-1/mpfr-2.4.1-1-mingw32-dev.tar.lzma/) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-2.4.1-1/libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma/)) + * gmp-5.0.1-1 ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.0.1-1/gmp-5.0.1-1-mingw32-dev.tar.lzma/) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.0.1-1/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma/)) + * pthreads-2.9.0-pre-20110507-2 ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/pthreads-w32/pthreads-w32-2.9.0-pre-20110507-2/pthreads-w32-2.9.0-mingw32-pre-20110507-2-dev.tar.lzma/) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/pthreads-w32/pthreads-w32-2.9.0-pre-20110507-2/libpthreadgc-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma/)) + * iconv ([dev](https://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/libiconv-1.14-2/libiconv-1.14-2-mingw32-dev.tar.lzma/) and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/libiconv-1.14-2/libiconv-1.14-2-mingw32-dll-2.tar.lzma/)) + * [intl-0.18.1.1-2](https://sourceforge.net/projects/mingw/files/MinGW/Base/gettext/gettext-0.18.1.1-2/libintl-0.18.1.1-2-mingw32-dll-8.tar.lzma/) + * [gomp-4.7.2-1](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libgomp-4.7.2-1-mingw32-dll-1.tar.lzma/) + * [ssp-4.7.2-1](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libssp-4.7.2-1-mingw32-dll-0.tar.lzma/) + * [quadmath-4.7.2-1](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libquadmath-4.7.2-1-mingw32-dll-0.tar.lzma/) +* gcc-core-4.7.2-1 ([bin](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/gcc-core-4.7.2-1-mingw32-bin.tar.lzma/) and dev and [dll](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libgcc-4.7.2-1-mingw32-dll-1.tar.lzma/)) +* [gcc-4.7.2-1-mingw32-src](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/gcc-4.7.2-1-mingw32-src.tar.lzma/download) + * so we can distribute the libssp source since we distribute the binary +Extract all of the above into the desired location (e.g. +`$PIDGIN_DEV_ROOT/win32-dev/mingw-4.7.2`) +Prepare a `libssp-src.tar.gz` file containing the libssp sources and licenses: +cd $PIDGIN_DEV_ROOT/win32-dev/mingw-4.7.2 +tar -C libsspsrctmp -xf gcc-4.7.2-1-mingw32-src/gcc-4.7.2.tar.bz2 gcc-4.7.2/COPYING3 gcc-4.7.2/COPYING.RUNTIME gcc-4.7.2/libssp --strip-components=1 +tar -C libsspsrctmp -czf bin/libssp-src.tar.gz . +Finally, set the MinGW gcc's bin directory to be before Cygwin's in your +For example (You should add the following to your `~/.bashrc` file, which is +found in `C:\cygwin\home\YourUsername\` by default): +export PATH=/cygdrive/c/devel/pidgin-devel/win32-dev/mingw-4.7.2/bin:$PATH +Pidgin depends on GTK 2.14.7 (newer runtime versions can be used). The GTK +All-in-one bundle contains all of GTK's dependencies in one zip file. Download +[gtk+-bundle_2.14.7-20090119_win32.zip](https://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip) +and extract to `$PIDGIN_DEV_ROOT/win32-dev/gtk_2_0-2.14` (you'll need to create +Visit the [GTK website](https://www.gtk.org/download/windows.php) for official +binary and source releases. +You'll need gettext to compile translations. Download +[gettext-tools-0.17.zip](https://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip) +[gettext-runtime-0.17-1.zip](https://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip). +Extract both to `$PIDGIN_DEV_ROOT/win32-dev/gettext-0.17` (you'll need to +[libxml2-2.9.2_daa1.tar.gz](https://data.imfreedom.org/pidgin/win32/libxml2-2.9.2_daa1.tar.gz) +to `$PIDGIN_DEV_ROOT/win32-dev`. +You'll need a functioning perl 5.20.x runtime (if the perl executable isn't in +your `PATH`, you will need to override the `PERL` variable in +`pidgin/local.mak` to point to the appropriate perl executable). A good option +is [Strawberry Perl](http://strawberryperl.com/). +[perl-5.20.1.1.tar.gz](https://data.imfreedom.org/pidgin/win32/perl-5.20.1.1.tar.gz) +development package and extract to `$PIDGIN_DEV_ROOT/win32-dev` (it creates its +own directory). This is a subset of the full 32-bit strawberry perl zip +containing just the headers, import lib, and source for perl. +**Note** If using MSYS and you installed the `mingw-developer-toolkit`, keep +in mind that it installs `msys-perl-bin` (Perl 5.6) which takes precedence +over the newer perl in your path, and that will cause problems! The easiest +solution is to set the `PERL` variable in your `pidgin/local.mak` to point to +[gtkspell-2.0.16.tar.bz2](https://data.imfreedom.org/pidgin/win32/gtkspell-2.0.16.tar.bz2) +to `$PIDGIN_DEV_ROOT/win32-dev`. +[enchant_1.6.0_win32.zip](https://data.imfreedom.org/pidgin/win32/enchant_1.6.0_win32.zip) +to `$PIDGIN_DEV_ROOT/win32-dev/`. +[nss-3.24-nspr-4.12.tar.gz](https://data.imfreedom.org/pidgin/win32/nss-3.24-nspr-4.12.tar.gz) +under `$PIDGIN_DEV_ROOT/win32-dev`. +**NOTE** NSS/NSPR are built from the upstream sources using +[these instructions](buildings-win-nss/). +[silc-toolkit-1.1.12.tar.gz](https://data.imfreedom.org/pidgin/win32/silc-toolkit-1.1.12.tar.gz) +to `$PIDGIN_DEV_ROOT/win32-dev`. +[meanwhile-1.0.2_daa3-win32.zip](https://data.imfreedom.org/pidgin/win32/meanwhile-1.0.2_daa3-win32.zip) +to `$PIDGIN_DEV_ROOT/win32-dev`. +[cyrus-sasl-2.1.26_daa1.tar.gz](https://data.imfreedom.org/pidgin/win32/cyrus-sasl-2.1.26_daa1.tar.gz) +to `$PIDGIN_DEV_ROOT/win32-dev`. +[intltool_0.40.4-1_win32.zip](https://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip) +to `$PIDGIN_DEV_ROOT/win32-dev/intltool_0.40.4-1_win32`. +#### Crash Reporting Library +[pidgin-inst-deps-20130214.tar.gz](https://data.imfreedom.org/pidgin/win32/pidgin-inst-deps-20130214.tar.gz) +to `$PIDGIN_DEV_ROOT/win32-dev`. +The Windows build will take a while, but you can start it with the following +cd $PIDGIN_DEV_ROOT/pidgin-<version> +make -f Makefile.mingw install +Now just wait and let your compiler do its thing. When finished, Pidgin will +be in `$PIDGIN_DEV_ROOT/pidgin-<version>/win32-install-dir`. +### Building the Installer +If you would like to build the Pidgin installer, you'll need to setup +[NSIS](https://nsis.sourceforge.io/Download). Once you have installed +NSIS, please make sure that it is in your shell's `PATH`. +Next you'll need to download the +[nsisunz plugin](https://nsis.sourceforge.io/Nsisunz_plug-in), +and extract `nsisunz.dll` into the `Plugins` directory of your NSIS +You'll also need to install the `SHA1Plugin` from +`$PIDGIN_DEV_ROOT/win32-dev/pidgin-inst-deps-20130214/SHA1Plugin.dll` into +the NSIS `Plugins` directory. +Finally, you'll need to decide if you would like to sign the executables though +this is not necessary for personal use. +To sign the executables, you'll need to get an appropriate code signing +certificate by downloading and installing +[Mono](https://www.mono-project.com/Download). In your `local.mak` file (see +[customizing](#customizing) above), define the `MONO_SIGNCODE` variable to the +fully qualified path to the `signcode` batch file in the Mono `bin` directory, +as well as the `SIGNCODE_SPC` and `SIGNCODE_PVK` variable to the appropriate +files in your certificate. +Also, you'll need a PGP key to verify add pgp signatures to the files. GnuPG +is the primary PGP client most people use. You can read more +[here](https://www.gnupg.org/gph/en/manual/c14.html). +Once you have everything setup your `local.mak` should look something like the +MONO_SIGNCODE=/cygdrive/c/Program\ Files\ \(x86\)/Mono-2.10.8/bin/signcode +SIGNCODE_SPC=c:\\Path\\to\\authenticode.spc +SIGNCODE_PVK=c:\\Path\\to\\authenticode.pvk +#Set up gpg to use a separate keyring +GPG_SIGN=gpg --no-default-keyring --secret-keyring /path/to/secring.gpg +If you aren't going to be signing anything, your `local.mak` should look like +MONO_SIGNCODE=echo ***Bypassing signcode*** +GPG_SIGN=echo ***Bypassing gpg*** +At this point, you can finally build the installer. However, there are +actually two different installers; an "Offline" installer that includes all +dependencies (except spellchecking dictionaries) and the debug symbols and an +"Online" installer that includes only Pidgin itself and will download the +various dependencies if necessary. +The `Makefile.mingw` targets for these are `installer_offline` and `installer` +respectively. You can build both with the `installers` target. +cd $PIDGIN_DEV_ROOT/pidgin-<version> +make -f Makefile.mingw installers +When it finishes, your installer(s) should be in +`$PIDGIN_DEV_ROOT/pidgin-<version>/` directory. +There is a quite good **Just In Time** debugger for MinGW named +[drmingw](https://github.com/jrfonseca/drmingw). You can download it from +their [releases](https://github.com/jrfonseca/drmingw/releases). +There is also a version of `gdb` available from MinGW, if you prefer. +It is quite easy to cross compile Pidgin for Windows on a Linux machine. +To begin, you'll need to install MinGW. On Debian/Ubuntu, this involves +installing packages `mingw32`, `mingw32-binutils`, and `mingw32-runtime`. On +other distributions, the packages may be named differently. +Set up a build environment as described [above](set-up-your-build-environment). +You should already have a bash shell and have just installed the mingw +Create a `local.mak` file in the source directory root to override the +Makefile variables, something like the following: +CC := /usr/bin/i586-mingw32msvc-cc +MAKENSIS := /usr/bin/makensis +WINDRES := /usr/bin/i586-mingw32msvc-windres +STRIP := /usr/bin/i586-mingw32msvc-strip +INTLTOOL_MERGE := /usr/bin/intltool-merge +INCLUDE_PATHS := -I$(PIDGIN_TREE_TOP)/../win32-dev/w32api/include +LIB_PATHS := -L$(PIDGIN_TREE_TOP)/../win32-dev/w32api/lib +If your distribution doesn't include a recent enough win32api, you can +download it from the [MinGW site](http://www.mingw.org/), extract it into +your `win32-dev` directory, and override the `INCLUDE_PATHS` and `LIB_PATHS` +variables in your `local.mak` as shown above. +NSIS version 2.46 or greater is required to cross-compile. If compiling NSIS +from source, the [scons](https://www.scons.org/) package is a dependency. +This can usually be installed through your linux distribution's package +archive. An example of how to install the NSIS package is given below +(Assuming use of the NSIS 2.46 version). +wget https://prdownloads.sourceforge.net/nsis/nsis-2.46-src.tar.bz2?download +wget https://prdownloads.sourceforge.net/nsis/nsis-2.46.zip?download +tar -jxvf nsis-2.46-src.tar.bz2 +scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no +sudo scons install-compiler +sudo unzip nsis-2.46 -d /usr/local/share +sudo mv /usr/local/share/nsis-2.46/ /usr/local/share/nsis +Once this is done, you'll need to update `local.mak` to point to the new NSIS +MAKENSIS := /usr/local/bin/makensis +Finally, you should be able to follow the [build](#build) instructions above. --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hugo/content/building/3.0.0/_index.md Wed Sep 18 01:24:43 2019 +0000
@@ -0,0 +1,11 @@
+date: 2019-09-04T02:46:13.000Z +lastmod: 2019-09-04T02:46:13.000Z +Pidgin 3.0.0 is the in-development next major version of Pidgin. Its build +instructions are quite different than Pidgin 2.x.y and have not yet been --- a/hugo/content/building/_index.md Tue Sep 17 02:32:37 2019 +0000
+++ b/hugo/content/building/_index.md Wed Sep 18 01:24:43 2019 +0000
@@ -3,6 +3,16 @@
date: 2019-01-11T05:44:25.000Z
-lastmod: 2019-01-21T22:34:09.000Z
+lastmod: 2019-09-04T02:46:13.000Z +Building Pidgin can be tricky, but hopefully we've made it pretty clear in the +following pages. First thing first is that we you need to decide which version +of Pidgin you are going to build. +If you are just trying to build Pidgin to run it, then you probably want the +[2.x.y](2.x.y/) release which is our stable version. +If you're interested in developing Pidgin itself or just want to live on the +edge then you may want to try out the development version which we call