Clone this wiki locally
Preparing Code from GitHub
To get a workable source tree from the latest code on GitHub, run the following commands on a bash prompt. (You will need to have git, autoconf, automake, and libtool installed.)
git clone https://github.com/dm0-/window_merge.git cd window_merge mkdir m4 autoreconf -fi
The current directory should now have the configure script and be ready to build.
Building and Installing the Plugin
For Microsoft Windows, see these instructions for one way to compile with MinGW. (This is the method used to create window_merge.dll on the downloads page.)
You could also try the method recommended by Pidgin developers. It is fairly straightforward to create a local.mak file and adapt an existing Makefile.mingw from the ticker plugin, for example.
Pidgin development files are required to compile this plugin. Distribution-provided packages will probably be named either pidgin-devel or pidgin-dev. For a sane build environment, the following commands should build and install the plugin for your user account.
./configure make install plugindir=~/.purple/plugins
The install command can also be run as root without overriding the plugindir variable to install the plugin globally, making it available to all users. Note make install will also install a libtool archive file, which probably isn't necessary on a modern system.
A spec file for building RPMs is included with the source on GitHub. It was written for Fedora, but should be generally usable. The following steps will build the RPM on Fedora.
First set up a build tree.
su -c 'yum -y install redhat-rpm-config rpmdevtools yum-utils' - rpmdev-setuptree
Next download the spec file and install its build dependencies.
pushd $(rpm -E %_specdir) curl -LO https://raw.github.com/dm0-/window_merge/master/pidgin-window_merge.spec su -c "yum-builddep -y $PWD/pidgin-window_merge.spec" - popd
At this point, the spec file can be modified to use a different version or particular a GitHub commit. This command will simply download the source for the version specified in the spec.
spectool -g -R $(rpm -E %_specdir)/pidgin-window_merge.spec
Finally build and install the RPM.
rpmbuild -ba $(rpm -E %_specdir)/pidgin-window_merge.spec su -c "yum -y install $(rpm -E %_rpmdir/%_arch)/pidgin-window_merge-[0-9]*.rpm" -
First install Pidgin development headers
sudo apt-get install pidgin-dev
Now build the plugin
git clone https://github.com/dm0-/window_merge.git cd window_merge mkdir m4 autoreconf -fi ./configure make install plugindir=~/.purple/plugins
To write translations, the gettext package must be installed. These commands will generate a template file.
git clone https://github.com/dm0-/window_merge.git cd window_merge git revert --no-edit b8120c47b5 mkdir m4 autoreconf -fi ./configure make -C po
The template file at po/pidgin-window_merge.pot can be used to initialize a PO file for your language code. This command uses ko (Korean) as an example; substitute your own code in the two instances below.
msginit -i po/pidgin-window_merge.pot -l ko -o po/ko.po
This should write the file ko.po in the po directory, where you can begin entering the translated strings. If possible, save the file with UTF-8 character encoding. When finished, run the following to reconfigure your language code into the build process.
echo ko >> po/LINGUAS ./configure
These commands will then rebuild the entire project along with your translations.
rm -f po/pidgin-window_merge.pot po/*.gmo make clean all
If you would like to contribute your translation to the project, please open a GitHub issue to that effect or e-mail your PO file to me. (Be sure to note if you want a different name/e-mail used in the ChangeLog credit than what is in the PO file.) It will be committed along with support for building and installing localization files.