README

Sat, 09 Aug 2025 17:37:27 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 17:37:27 +0800
branch
bird-header-fix
changeset 43304
2599d35e9750
parent 43138
511e14c1caea
permissions
-rw-r--r--

Fix the birb header path

The birb header referred would only work with birb provided by wrap casuing
build to fail because of system-installed birb dependency. The commit points
it to the correct path <birb.h>.

See: https://keep.imfreedom.org/birb/birb/file/5bf00c7d7f80/birb/meson.build#l77

42232
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
1 [![pidgin wordmark](img/wordmark.png)](https://pidgin.im/)
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
2
42678
0b9b81b6ff18 Remove Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42565
diff changeset
3 # Purple and Pidgin
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
4
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
5 libpurple is a library intended to be used by programmers seeking to write an
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
6 IM client that connects to many IM networks. It comes with support for Bonjour,
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
7 IRC, and XMPP, among others and there are many more networks supported via
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
8 [third party plugins](https://pidgin.im/plugins/).
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
9
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
10 Pidgin is a graphical IM client written in C, which uses the GTK toolkit.
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
11
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
12 These programs are not endorsed by, nor affiliated with, any proprietary
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
13 instant messaging company in any way.
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
14
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
15 ## Contributors
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
16
15998
294277e634fc More gaim->whatever isms
Mark Doliner <markdoliner@pidgin.im>
parents: 15371
diff changeset
17 See AUTHORS and COPYRIGHT for the list of contributors.
294277e634fc More gaim->whatever isms
Mark Doliner <markdoliner@pidgin.im>
parents: 15371
diff changeset
18
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
19 ## Building
0
7b1da07f853f [gaim-migrate @ 9]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
20
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
21 There are two main ways you can build Pidgin. If you are on Linux you may use
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
22 [Flatpak](https://www.flatpak.org/) to get going quickly. The other option is
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
23 to do a normal build.
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
24
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
25 ### Flatpak
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
26
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
27 Building with Flatpak is very straight forward. To get started you'll need to
43138
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
28 make sure that you have the `flatpak` and `flatpak-builder` packages installed.
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
29 You may find the official [Flatpak Setup page](https://flathub.org/setup)
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
30 useful here.
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
31
43138
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
32 Once Flatpak is setup, you can install the `flatpak-builder` flatpak to make
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
33 sure you have the most recent version. You can install it with the following
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
34 command:
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
35
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
36 ```
43138
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
37 flatpak install --user org.flatpak.Builder
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
38 ```
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
39
43138
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
40 Now that you have `flatpak` and `flatpak-builder` installed, you can build and
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
41 install Pidgin3 with this command:
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
42
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
43 ```
43138
511e14c1caea Simplify the flatpak instructions
Gary Kramlich <grim@reaperworld.com>
parents: 42957
diff changeset
44 flatpak run org.flatpak.Builder --user --force-clean --sandbox --install-deps-from=flathub --repo=repo build-flatpak --install im.pidgin.Pidgin3.yml
42904
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
45 ```
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
46
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
47 Once that's successful, you can run it with `flatpak run im.pidgin.Pidgin3`
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
48
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
49 ### Meson
3b453638a532 Add a flatpak manifest and instructions on how to use it
Gary Kramlich <grim@reaperworld.com>
parents: 42678
diff changeset
50
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
51 Pidgin uses [Meson](https://mesonbuild.com) as its build system. There is a
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
52 long list of dependencies that is not currently documented here due to
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
53 differences in package names across operating systems. We plan to fix this
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
54 soon, if you have any suggestions on how to handle this, please let us know.
2608
af4b9ddb6365 [gaim-migrate @ 2621]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2536
diff changeset
55
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
56 You can quickly build Pidgin with the following commands:
2862
962a6d4da169 [gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2777
diff changeset
57
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
58 ```
41844
5181a1b3cf8d Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents: 40820
diff changeset
59 meson setup build
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
60 cd build
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
61 ninja
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
62 ```
0
7b1da07f853f [gaim-migrate @ 9]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
63
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
64 There are quite a few options for the build that you can view by running
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
65 `meson configure` in your build directory. You can specify the options when
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
66 running meson like the following:
0
7b1da07f853f [gaim-migrate @ 9]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
67
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
68 ```
41844
5181a1b3cf8d Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents: 40820
diff changeset
69 meson setup -Ddebug=true build
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
70 ```
2862
962a6d4da169 [gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2777
diff changeset
71
41844
5181a1b3cf8d Update the documentation to use meson setup instead of a bare meson
Gary Kramlich <grim@reaperworld.com>
parents: 40820
diff changeset
72 If you have already run `meson setup` you can use `meson configure`:
38769
404f31ce0254 Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents: 38240
diff changeset
73
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
74 ```
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
75 cd build
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
76 meson configure -Ddebug=true
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
77 ```
2862
962a6d4da169 [gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2777
diff changeset
78
42252
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
79 Previously while developing in our code base you would need to install
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
80 everything to be able to run or test anything. With meson this is no longer the
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
81 case. You can compile via the steps above, and then run directly from the build
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
82 directory with the following command to run Pidgin 3:
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
83
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
84 ```
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
85 cd build
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
86 meson devenv pidgin3
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
87 ```
0
7b1da07f853f [gaim-migrate @ 9]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
88
42252
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
89 Obviously you're still free to install into your system directly, but then
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
90 you'll most likely end up having orphaned files laying around that our build
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
91 system doesn't know how to remove once they're removed from our code base. This
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
92 is one of the primary reasons we recommend building and running from a devenv.
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
93 Another benefit is that the devenv uses a configuration directory inside of
d14dbdad20e8 Update the build/run instructions to use the devenv
Gary Kramlich <grim@reaperworld.com>
parents: 42232
diff changeset
94 the build directory rather than in your home directory.
1400
a12d24a021f6 [gaim-migrate @ 1410]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1161
diff changeset
95
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
96 If you come across a bug, please report it at:
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
97 [issues.imfreedom.org/issues/PIDGIN](https://issues.imfreedom.org/issues/PIDGIN)
0
7b1da07f853f [gaim-migrate @ 9]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
98
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
99 ## Plugins
2318
2e5108f70338 [gaim-migrate @ 2328]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2142
diff changeset
100
42678
0b9b81b6ff18 Remove Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42565
diff changeset
101 libpurple and Pidgin ship with a number of plugins, but you can find additional
0b9b81b6ff18 Remove Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42565
diff changeset
102 third party plugins at [pidgin.im/plugins](https://pidgin.im/plugins).
38769
404f31ce0254 Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents: 38240
diff changeset
103
404f31ce0254 Move most of the docs to just the readme and rewrite it as markdown
Gary Kramlich <grim@reaperworld.com>
parents: 38240
diff changeset
104 ## Developing
2862
962a6d4da169 [gaim-migrate @ 2875]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2777
diff changeset
105
40820
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
106 You can find more information about Pidgin development in the
b09ca0df70cb Refresh the README as a few things have moved and some of the wording was weird.
Gary Kramlich <grim@reaperworld.com>
parents: 40201
diff changeset
107 [development section](https://pidgin.im/development/) of our website.
42232
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
108
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
109 ## Sponsors
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
110
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
111 Pidgin is supported by DigitalOcean who graciously sponsors all of our
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
112 infrastructure.
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
113
42565
c035e2eba80d Fix several minor typos
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42252
diff changeset
114 [![DigitalOcean referral link](img/DO_Logo_horizontal_blue.png)](https://www.digitalocean.com/?refcode=b69e5dddf595&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
42232
998345e3b714 Add a note about the DigitalOcean Sponsorship to the readme as well as our logo
Gary Kramlich <grim@reaperworld.com>
parents: 41844
diff changeset
115

mercurial