protocols/ircv3/meson.build

Thu, 17 Jul 2025 20:28:54 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 17 Jul 2025 20:28:54 -0500
changeset 43290
01edcfbfebaa
parent 43276
2ffc42909b30
permissions
-rw-r--r--

IRCv3: Implement the /me command

This was kind of forgotten about, but it's here now.

Testing Done:
Watched a packet dump to verify it was sent correct and asked people in #pidgin on libera if it came through correctly.

Reviewed at https://reviews.imfreedom.org/r/4070/

43247
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
1 feature = get_option('ircv3')
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
2
43266
19b9321a0177 Disable SIP by default and update the protocol summaries to reflect what will be built
Gary Kramlich <grim@reaperworld.com>
parents: 43247
diff changeset
3 summary({'IRCv3': feature.allowed()}, bool_yn : true, section : 'Protocols')
43247
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
4
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
5 if not feature.allowed()
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
6 subdir_done()
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
7 endif
197c541b3e7c Add discrete options for protocol plugins
Gary Kramlich <grim@reaperworld.com>
parents: 43212
diff changeset
8
41750
7ab7d79ac0c5 Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 IRCV3_SOURCES = [
43097
757575456cc2 IRCv3: Implement the query command
Gary Kramlich <grim@reaperworld.com>
parents: 43024
diff changeset
10 'purpleircv3commands.c',
41783
5ea6c18ef7a8 Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41774
diff changeset
11 'purpleircv3connection.c',
41916
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
12 'purpleircv3core.c',
42937
34ac8ac8c7b6 Implement CTCP VERSION response
Gary Kramlich <grim@reaperworld.com>
parents: 42925
diff changeset
13 'purpleircv3ctcphandlers.c',
41916
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
14 'purpleircv3messagehandlers.c',
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
15 'purpleircv3protocol.c',
42320
21cab78fb7d2 IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42229
diff changeset
16 'purpleircv3protocolconversation.c',
41916
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
17 ]
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
18
4ee9cb957595 Implement sending im's for IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41822
diff changeset
19 IRCV3_HEADERS = [
43097
757575456cc2 IRCv3: Implement the query command
Gary Kramlich <grim@reaperworld.com>
parents: 43024
diff changeset
20 'purpleircv3commands.h',
41783
5ea6c18ef7a8 Add the ability to connect to IRCv3
Gary Kramlich <grim@reaperworld.com>
parents: 41774
diff changeset
21 'purpleircv3connection.h',
41774
170078e728c0 Implement a parser for ircv3 and add unit tests to it.
Gary Kramlich <grim@reaperworld.com>
parents: 41750
diff changeset
22 'purpleircv3core.h',
42937
34ac8ac8c7b6 Implement CTCP VERSION response
Gary Kramlich <grim@reaperworld.com>
parents: 42925
diff changeset
23 'purpleircv3ctcphandlers.h',
41796
ebe4ff278b02 Use the parser on ircv3 messages and handle pings
Gary Kramlich <grim@reaperworld.com>
parents: 41783
diff changeset
24 'purpleircv3messagehandlers.h',
41750
7ab7d79ac0c5 Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 'purpleircv3protocol.h',
42320
21cab78fb7d2 IRCv3: Move from ProtocolIM to ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents: 42229
diff changeset
26 'purpleircv3protocolconversation.h',
41750
7ab7d79ac0c5 Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 ]
7ab7d79ac0c5 Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
43276
2ffc42909b30 Update to ibis-0.14.0
Gary Kramlich <grim@reaperworld.com>
parents: 43266
diff changeset
29 ibis_dep = dependency('ibis', version : '>= 0.14.0')
42769
c488d7af2923 Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents: 42652
diff changeset
30
42229
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
31 ircv3_resources = gnome.compile_resources('ircv3resource',
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
32 'resources/ircv3.gresource.xml',
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
33 source_dir : 'resources',
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
34 c_name : 'purple_ircv3')
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
35 IRCV3_SOURCES += ircv3_resources
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
36
42791
250ab0bca4e3 IRCv3: Remove all the development stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42786
diff changeset
37 shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS,
42229
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
38 c_args : ['-DPURPLE_IRCV3_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'],
42472
409148c5c5b7 Add symbol visibility on IRCv3 protocol plugin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42372
diff changeset
39 gnu_symbol_visibility : 'hidden',
42769
c488d7af2923 Move the IRCv3 protocol plugin to our new Ibis library
Gary Kramlich <grim@reaperworld.com>
parents: 42652
diff changeset
40 dependencies : [birb_dep, libpurple_dep, glib, gio, hasl, ibis_dep],
42229
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
41 install : true,
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
42 install_dir : PURPLE_PLUGINDIR)
41750
7ab7d79ac0c5 Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43
42229
605f8cba9704 Add gobject-introspection for ircv3
Gary Kramlich <grim@reaperworld.com>
parents: 42081
diff changeset
44 devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())

mercurial