grim/purple-spasm

Ignore tweak

2017-08-07, Gary Kramlich
5840931371c0
Ignore tweak
# skeleton-libpurple
This repository is a starting point for writing libpurple plugins.
You can fork it and use it's build system to build your own custom plugin immediately. By forking this repo you can easily pull in updates to it too!
## Getting Started
To get started, copy `Makefile.example` to `Makefile` and edit it to fit your needs.
For example, say your plugin is named `my-awesome-plugin` and has a source file of `awesome.c`. Your `Makefile` would look like the following.
#!/usr/bin/make -f
PIDGIN_TREE_TOP ?= ../pidgin-2.12.0
WIN32_DEV_TOP ?= $(PIDGIN_TREE_TOP)/../win32-dev
PLUGIN_LIBRARIES :=
PLUGIN_CFLAGS :=
PLUGIN_NAME := awesome
PLUGIN_SOURCES := awesome.c
PLUGIN_HEADERS :=
include libpurple.mk
`PIDGIN_TREE_TOP` and `WIN32_DEV_TOP` are relative paths to where your keep the Pidgin development files for Windows.
`PLUGIN_LIBRARIES` are additional flags to pass to the linker.
`PLUGIN_CFLAGS` are additional flags to pass to the C compiler.
`PLUGIN_NAME` is the base filename that the plugin should have. In the example above, this would output `awesome.dll` on Windows and `awesome.so` on Linux.
`PLUGIN_SOURCES` is a space separated list of source filenames that will be used to build the plugin.
`PLUGIN_HEADERS` is a space separated list of header filename that will be used to build the plugin.
`include libpurple.mk` imports `libpurple.mk` which abstracts out all the complexities of the build system.
## Usage
Once you've setup the `Makefile` you can build your plugin by simply typing `make`.
If everything built fine, you can use `make install` to install the plugin so that your libpurple client can use it.
If you ever want to uninstall the plugin, you can type `make uninstall`.
While developing your build will become incremental automatically, so if you wnat for a build from scratch, you can use `make clean` to remove the intermediate files.
## Support
If you're having issues with this repository, please open an issue in the Bitbucket project.
## Advanced Usage
This is a normal `Makefile` which means you can add additional targets to fit your needs. To make building your plugin depend on these targets you can set the `PLUGIN_DEPENDENCIES` variable to a space separate list of targets that the plugin itself should depend on.
### Installing Pixmaps
This build system also support installing pixmaps. To specify the pixmaps set the `PLUGIN_PIXMAPS` variable to a space separated list of pixmaps to install.
The pixmaps will be installed into the normal Pidgin pixmaps directory.
### Installing Protocol Pixmaps
The protocol pixmaps are configured similar to `PLUGIN_PIXMAPS` but have a few extra requirements. First you need to use the variable `PROTOCOL_PIXMAPS`. This variable should be a space separate list of filenames that include the size of the pixmap. The sizes are 16, 22, 48, and scaled. For 16, 22, and 48 the images must be .png files and the scaled files must be .svgs. The filenames should specified like `foobar16.png`, `foobar22.png`, `foobar48.png`, and `foobarscaled.svg`. These will then be installed into the proper size directory in the Pidgin install.