File:  [Coherent Logic Development] / ChivanetAimPidgin / README.md
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Mon Jan 27 19:48:25 2025 UTC (6 months ago) by snw
Branches: MAIN, CoherentLogicDevelopment
CVS tags: test-tag, start, HEAD
Pidgin AIM Plugin for ChivaNet

    1: # OSCAR AIM PRPL for Pidgin
    2: 
    3: This prpl (OSCAR AOL Instant Messenger Protocol Plugin for Pidgin, that's a mouthful) takes the Pidgin 2.13.0 AIM prpl so you can build it and use on modern(-ish) Pidgin versions.
    4: 
    5: Default server is [NINA](https://nina.chat), but you can change it in the account settings.
    6: 
    7: The original authors of the protocol are in the `AUTHORS` file. As per the original license, this code is licensed under the GNU Lesser General Public License version 2.1.
    8: 
    9: # Building with CMake
   10: 
   11: This script uses CMake to build a Pidgin 2 (libpurple 2) protocol plug-in in a way that does not suck.  
   12: Because having one Makefile for each toolchain is annoying. (thanks https://github.com/hoehermann/purple-cmake-template)
   13: 
   14: On Windows, this script will automatically setup a development environment. These compilers are known to work:
   15: 
   16: * [MSYS2](https://www.msys2.org/) with [gcc 13.2.1](https://packages.msys2.org/package/mingw-w64-i686-gcc).
   17: * Microsoft Visual Studio 2022 with MSVC 14.
   18: 
   19: These compilers are noteworthy:
   20: 
   21: * [MinGW](https://osdn.net/projects/mingw/) with gcc 9.2.0 was used in the past.
   22: * [MinGW](https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.7.2-1/) with gcc 4.7.2 is recommended by Pidgin developers, but never used with this script.
   23: 
   24: Note: Any binary produced by at least gcc 7.1.0 or newer may need static linkage of `libgcc` for proper distribution. This script does *not* take care of this setting.
   25: 
   26: ### Linux:
   27: 
   28: 1. Configure project. Specify the path to this script:
   29: 
   30:         cmake -DPurple_DIR=…/purple-cmake ..
   31: 
   32: 2. Build project:
   33: 
   34:         cmake --build .
   35: 
   36: 3. Install binaries system-wide:
   37: 
   38:         sudo cmake --install .
   39: 
   40: Note: During the configuration step, you can override `PURPLE_DATA_DIR` and `PURPLE_PLUGIN_DIR` request preparing a user-based installation:
   41: 
   42:     cmake -DPurple_DIR=…/purple-cmake -DPURPLE_DATA_DIR:PATH=~/.local/share -DPURPLE_PLUGIN_DIR:PATH=~/.purple/plugins ..
   43: 
   44: You can then execute `cmake --install .` without `sudo`.
   45: 
   46: ### Windows
   47: 
   48: 1. Configure:
   49: 
   50:     This will set-up a development environment including a pidgin installation in your build directory.
   51: 
   52:         cmake -DCMAKE_BUILD_TYPE=Debug ..
   53: 
   54:     `-G "MSYS Makefiles"` is recommended for MSYS/MinGW. When omitting the generator, CMake may default to MSBuild and you may need to specify `-DCMAKE_GENERATOR_PLATFORM=WIN32` for MSVC x86.
   55: 
   56:     Note: You can use vcpkg-managed packages by adding the path like this: 
   57: 
   58:         -DCMAKE_TOOLCHAIN_FILE="…/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x86-mingw-static -DVCPKG_MANIFEST_MODE=OFF
   59: 
   60:     Use `x86-mingw-static` for MinGW builds. Use `x86-windows-static` for MSVC builds.
   61: 
   62: 2. Build:
   63: 
   64:         cmake --build .
   65: 
   66: 3. Install:
   67: 
   68:     This will install into the pidgin installation in your build directory.
   69: 
   70:         cmake --install .
   71: 
   72: 4. Execute:
   73: 
   74:     This will execute the Pidgin installation.
   75: 
   76:         cmake --build . --target run
   77: 
   78:     Note: You can specify the purple user configuration directory to be used by the run target:
   79: 
   80:         -DPurple_CONFIG_DIR=…/.purple
   81: 
   82: Note: Building on Windows is most reliable when there are no existing installations of Pidgin, GTK+ and/or libgcc in your PATH.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>