Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ibis for openSUSE:Factory checked in at 2025-12-31 10:48:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ibis (Old) and /work/SRC/openSUSE:Factory/.ibis.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ibis" Wed Dec 31 10:48:11 2025 rev:7 rq:1324867 version:0.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ibis/ibis.changes 2025-05-22 16:56:45.853644129 +0200 +++ /work/SRC/openSUSE:Factory/.ibis.new.1928/ibis.changes 2025-12-31 10:48:43.593673355 +0100 @@ -1,0 +2,10 @@ +Wed Dec 31 00:24:49 UTC 2025 - Richard Rahl <[email protected]> + +- Update to version 0.15.0: + + Use strtoul instead of atoi when parsing hosts + + Rework the nick properties + + A few meson tweaks + + Fix a documentation warning + + Add a codespell unit test + +------------------------------------------------------------------- Old: ---- ibis-0.14.0.tar.xz ibis-0.14.0.tar.xz.asc New: ---- ibis-0.15.0.tar.xz ibis-0.15.0.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ibis.spec ++++++ --- /var/tmp/diff_new_pack.H6Jcnq/_old 2025-12-31 10:48:44.165696763 +0100 +++ /var/tmp/diff_new_pack.H6Jcnq/_new 2025-12-31 10:48:44.165696763 +0100 @@ -1,7 +1,7 @@ # # spec file for package ibis # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define sover 0 Name: ibis -Version: 0.14.0 +Version: 0.15.0 Release: 0 Summary: Gobject based library License: GPL-2.0-or-later ++++++ ibis-0.14.0.tar.xz -> ibis-0.15.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/.codespellrc new/ibis-0.15.0/.codespellrc --- old/ibis-0.14.0/.codespellrc 1970-01-01 01:00:00.000000000 +0100 +++ new/ibis-0.15.0/.codespellrc 2025-12-30 09:48:39.000000000 +0100 @@ -0,0 +1,4 @@ +[codespell] +skip = *.dat,*.gir,*.po,./subprojects/*,./*build*/* +ignore-words-list = gir,inout +check-filenames = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/.hg_archival.txt new/ibis-0.15.0/.hg_archival.txt --- old/ibis-0.14.0/.hg_archival.txt 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/.hg_archival.txt 2025-12-30 09:48:39.000000000 +0100 @@ -1,4 +1,4 @@ repo: ee571f6e8e7556786ca8029199b9a669e850c8cb -node: 9e6fca7a14f9aee6546b430196244e3d66a9822b +node: 76aeb3e5b7566d1fbb87494963a887250503c42c branch: default -tag: v0.14.0 +tag: v0.15.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ChangeLog new/ibis-0.15.0/ChangeLog --- old/ibis-0.14.0/ChangeLog 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ChangeLog 2025-12-30 09:48:39.000000000 +0100 @@ -1,3 +1,10 @@ +0.15.0: 2025-12-30 + * Use strtoul instead of atoi when parsing hosts (RR 4132) (Gary Kramlich) + * Rework the nick properties (RR 4160) (Gary Kramlich) + * A few meson tweaks (RR 4199) (Gary Kramlich) + * Fix a documentation warning (RR 4260) (Gary Kramlich) + * Add a codespell unit test (RR 4266) (Gary Kramlich) + 0.14.0: 2025-04-30 * Make sure the documentation lists all of our dependencies (RR 3959) (Gary Kramlich) @@ -141,7 +148,7 @@ 0.5.0: 2024-08-15 * Add a constant for IBIS_MSG_TAGMSG (RR 3377) (Gary Kramlich) - * Add contants for the typing client tag (IBIS-27) (RR 3378) (Gary Kramlich) + * Add constants for the typing client tag (IBIS-27) (RR 3378) (Gary Kramlich) * Add CTCPMessage for parsing and serializing CTCP messages (RR 3380) (Gary Kramlich) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/containers/Dockerfile.debian-trixie-amd64 new/ibis-0.15.0/containers/Dockerfile.debian-trixie-amd64 --- old/ibis-0.14.0/containers/Dockerfile.debian-trixie-amd64 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/containers/Dockerfile.debian-trixie-amd64 2025-12-30 09:48:39.000000000 +0100 @@ -1,30 +1,26 @@ FROM docker.io/debian:trixie-slim RUN set -ex && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - build-essential \ - ca-certificates \ - gcovr \ - gettext \ - gi-docgen \ - git \ - gobject-introspection \ - libgirepository1.0-dev \ - libglib2.0-dev \ - libidn11-dev \ - libpango1.0-dev \ - mercurial \ - meson \ - python3-jinja2 \ - python3-packaging \ - python3-pygments \ - python3-toml \ - python3-typogrify \ - zip \ - && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists + apt-get update && \ + apt-get install -y --no-install-recommends \ + build-essential \ + ca-certificates \ + codespell \ + gcovr \ + gettext \ + gi-docgen \ + git \ + gobject-introspection \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libidn11-dev \ + libpango1.0-dev \ + mercurial \ + meson \ + zip \ + && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists COPY meson-build.sh /build.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/containers/meson-build.sh new/ibis-0.15.0/containers/meson-build.sh --- old/ibis-0.14.0/containers/meson-build.sh 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/containers/meson-build.sh 2025-12-30 09:48:39.000000000 +0100 @@ -2,7 +2,7 @@ cd ${CONVEY_WORKSPACE} -BUILD_DIR=${TARGET:-_build} +BUILD_DIR=build-${TARGET:-convey} meson ${MESON_OPTIONS} "${BUILD_DIR}" meson compile -C "${BUILD_DIR}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/convey.yaml new/ibis-0.15.0/convey.yaml --- old/ibis-0.14.0/convey.yaml 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/convey.yaml 2025-12-30 09:48:39.000000000 +0100 @@ -12,7 +12,7 @@ clean: type: convey/clean files: - - debian-trixie-amd64 + - build-debian-trixie-amd64 import: type: docker/import @@ -24,7 +24,7 @@ export: type: docker/export - files: ${TARGET} + files: build-${TARGET} login: type: docker/login diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/ibisclient.c new/ibis-0.15.0/ibis/ibisclient.c --- old/ibis-0.14.0/ibis/ibisclient.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/ibisclient.c 2025-12-30 09:48:39.000000000 +0100 @@ -39,16 +39,19 @@ PROP_ALT_NICK, PROP_CANCELLABLE, PROP_CAPABILITIES, + PROP_CLIENT_PING_TIMEOUT, PROP_CONNECTED, PROP_ERROR, PROP_FEATURES, + PROP_HASL_CONTEXT, PROP_NETWORK, PROP_NICK, + PROP_PRIMARY_NICK, PROP_REALNAME, PROP_REGISTERED, + PROP_SECONDARY_NICK, + PROP_TERTIARY_NICK, PROP_USERNAME, - PROP_HASL_CONTEXT, - PROP_CLIENT_PING_TIMEOUT, N_PROPERTIES, }; static GParamSpec *properties[N_PROPERTIES] = {NULL, }; @@ -80,8 +83,9 @@ GOutputStream *output; char *network; - char *nick; - char *alt_nick; + char *primary_nick; + char *secondary_nick; + char *tertiary_nick; char *realname; char *username; @@ -151,12 +155,16 @@ return client->realname; } - if(!ibis_str_is_empty(client->nick)) { - return client->nick; + if(!ibis_str_is_empty(client->primary_nick)) { + return client->primary_nick; + } + + if(!ibis_str_is_empty(client->secondary_nick)) { + return client->secondary_nick; } - if(!ibis_str_is_empty(client->alt_nick)) { - return client->alt_nick; + if(!ibis_str_is_empty(client->tertiary_nick)) { + return client->tertiary_nick; } return _("unknown"); @@ -170,12 +178,16 @@ return client->username; } - if(!ibis_str_is_empty(client->nick)) { - return client->nick; + if(!ibis_str_is_empty(client->primary_nick)) { + return client->primary_nick; } - if(!ibis_str_is_empty(client->alt_nick)) { - return client->alt_nick; + if(!ibis_str_is_empty(client->secondary_nick)) { + return client->secondary_nick; + } + + if(!ibis_str_is_empty(client->tertiary_nick)) { + return client->tertiary_nick; } return _("unknown"); @@ -254,14 +266,27 @@ return; } + /* If we don't have an active nick, try the primary. */ if(ibis_str_is_empty(client->active_nick)) { - candidate_nick = client->nick; + candidate_nick = client->primary_nick; + } + + /* If we don't have a candidate yet and the active nick is the primary, + * try the secondary nick. + */ + if(ibis_str_is_empty(candidate_nick) && + ibis_str_equal(client->active_nick, client->primary_nick)) + { + candidate_nick = client->secondary_nick; } + /* If we still don't have a candidate and the active nick is the secondary, + * try the tertiary nick. + */ if(ibis_str_is_empty(candidate_nick) && - ibis_str_equal(client->active_nick, client->nick)) + ibis_str_equal(client->active_nick, client->secondary_nick)) { - candidate_nick = client->alt_nick; + candidate_nick = client->tertiary_nick; } if(!ibis_str_is_empty(candidate_nick)) { @@ -854,8 +879,9 @@ g_clear_object(&client->hasl_context); g_clear_pointer(&client->network, g_free); - g_clear_pointer(&client->alt_nick, g_free); - g_clear_pointer(&client->nick, g_free); + g_clear_pointer(&client->primary_nick, g_free); + g_clear_pointer(&client->secondary_nick, g_free); + g_clear_pointer(&client->tertiary_nick, g_free); g_clear_pointer(&client->realname, g_free); g_clear_pointer(&client->username, g_free); @@ -881,9 +907,6 @@ case PROP_ACTIVE_NICK: g_value_set_string(value, ibis_client_get_active_nick(client)); break; - case PROP_ALT_NICK: - g_value_set_string(value, ibis_client_get_alt_nick(client)); - break; case PROP_CANCELLABLE: g_value_set_object(value, ibis_client_get_cancellable(client)); break; @@ -902,8 +925,9 @@ case PROP_NETWORK: g_value_set_string(value, ibis_client_get_network(client)); break; + case PROP_PRIMARY_NICK: case PROP_NICK: - g_value_set_string(value, ibis_client_get_nick(client)); + g_value_set_string(value, ibis_client_get_primary_nick(client)); break; case PROP_REALNAME: g_value_set_string(value, ibis_client_get_realname(client)); @@ -911,6 +935,13 @@ case PROP_REGISTERED: g_value_set_boolean(value, ibis_client_get_registered(client)); break; + case PROP_SECONDARY_NICK: + case PROP_ALT_NICK: + g_value_set_string(value, ibis_client_get_secondary_nick(client)); + break; + case PROP_TERTIARY_NICK: + g_value_set_string(value, ibis_client_get_tertiary_nick(client)); + break; case PROP_USERNAME: g_value_set_string(value, ibis_client_get_username(client)); break; @@ -933,23 +964,28 @@ IbisClient *client = IBIS_CLIENT(obj); switch(param_id) { - case PROP_ALT_NICK: - ibis_client_set_alt_nick(client, g_value_get_string(value)); + case PROP_CLIENT_PING_TIMEOUT: + ibis_client_set_client_ping_timeout(client, g_value_get_uint(value)); break; + case PROP_HASL_CONTEXT: + ibis_client_set_hasl_context(client, g_value_get_object(value)); + break; + case PROP_PRIMARY_NICK: case PROP_NICK: - ibis_client_set_nick(client, g_value_get_string(value)); + ibis_client_set_primary_nick(client, g_value_get_string(value)); break; case PROP_REALNAME: ibis_client_set_realname(client, g_value_get_string(value)); break; - case PROP_USERNAME: - ibis_client_set_username(client, g_value_get_string(value)); + case PROP_SECONDARY_NICK: + case PROP_ALT_NICK: + ibis_client_set_secondary_nick(client, g_value_get_string(value)); break; - case PROP_HASL_CONTEXT: - ibis_client_set_hasl_context(client, g_value_get_object(value)); + case PROP_TERTIARY_NICK: + ibis_client_set_tertiary_nick(client, g_value_get_string(value)); break; - case PROP_CLIENT_PING_TIMEOUT: - ibis_client_set_client_ping_timeout(client, g_value_get_uint(value)); + case PROP_USERNAME: + ibis_client_set_username(client, g_value_get_string(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); @@ -1027,11 +1063,13 @@ * The alternative nick to use if [property@Client:nick] is already in use. * * Since: 0.1 + * + * Deprecated: 0.15: use [property@Client:secondary-nick] */ properties[PROP_ALT_NICK] = g_param_spec_string( "alt-nick", NULL, NULL, NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_DEPRECATED); /** * IbisClient:cancellable: @@ -1121,10 +1159,24 @@ * [property@Client:alt-nick] will be made. * * Since: 0.1 + * + * Deprecated: 0.15: Use [property@Client:primary-nick] */ properties[PROP_NICK] = g_param_spec_string( "nick", NULL, NULL, NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_DEPRECATED); + + /** + * IbisClient:primary-nick: + * + * The primary nick to use. + * + * Since: 0.15 + */ + properties[PROP_PRIMARY_NICK] = g_param_spec_string( + "primary-nick", NULL, NULL, + NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /** @@ -1157,6 +1209,30 @@ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); /** + * IbisClient:secondary-nick: + * + * The secondary nick to use. + * + * Since: 0.15 + */ + properties[PROP_SECONDARY_NICK] = g_param_spec_string( + "secondary-nick", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * IbisClient:tertiary-nick: + * + * The tertiary nick to use. + * + * Since: 0.15 + */ + properties[PROP_TERTIARY_NICK] = g_param_spec_string( + "tertiary-nick", NULL, NULL, + NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** * IbisClient:username: * * The username to use when sending the USER command. @@ -1370,16 +1446,7 @@ ibis_client_get_alt_nick(IbisClient *client) { g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - return client->alt_nick; -} - -void -ibis_client_set_alt_nick(IbisClient *client, const char *alt_nick) { - g_return_if_fail(IBIS_IS_CLIENT(client)); - - if(g_set_str(&client->alt_nick, alt_nick)) { - g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_ALT_NICK]); - } + return ibis_client_get_secondary_nick(client); } GCancellable * @@ -1432,16 +1499,6 @@ return client->hasl_context; } -void -ibis_client_set_hasl_context(IbisClient *client, HaslContext *hasl_context) { - g_return_if_fail(IBIS_IS_CLIENT(client)); - - if(g_set_object(&client->hasl_context, hasl_context)) { - g_object_notify_by_pspec(G_OBJECT(client), - properties[PROP_HASL_CONTEXT]); - } -} - const char * ibis_client_get_network(IbisClient *client) { g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); @@ -1453,7 +1510,7 @@ ibis_client_get_nick(IbisClient *client) { g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - return client->nick; + return ibis_client_get_primary_nick(client); } char @@ -1463,14 +1520,11 @@ return ibis_features_get_prefix_for_mode(client->features, mode); } -void -ibis_client_set_nick(IbisClient *client, const char *nick) { - g_return_if_fail(IBIS_IS_CLIENT(client)); - g_return_if_fail(!ibis_str_is_empty(nick)); +const char * +ibis_client_get_primary_nick(IbisClient *client) { + g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - if(g_set_str(&client->nick, nick)) { - g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_NICK]); - } + return client->primary_nick; } const char * @@ -1487,14 +1541,11 @@ return client->registered; } -void -ibis_client_set_realname(IbisClient *client, const char *realname) { - g_return_if_fail(IBIS_IS_CLIENT(client)); - g_return_if_fail(realname == NULL || realname[0] != '\0'); +const char * +ibis_client_get_secondary_nick(IbisClient *client) { + g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - if(g_set_str(&client->realname, realname)) { - g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_REALNAME]); - } + return client->secondary_nick; } char * @@ -1513,20 +1564,17 @@ } const char * -ibis_client_get_username(IbisClient *client) { +ibis_client_get_tertiary_nick(IbisClient *client) { g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - return client->username; + return client->tertiary_nick; } -void -ibis_client_set_username(IbisClient *client, const char *username) { - g_return_if_fail(IBIS_IS_CLIENT(client)); - g_return_if_fail(username == NULL || username[0] != '\0'); +const char * +ibis_client_get_username(IbisClient *client) { + g_return_val_if_fail(IBIS_IS_CLIENT(client), NULL); - if(g_set_str(&client->username, username)) { - g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_USERNAME]); - } + return client->username; } gboolean @@ -1683,6 +1731,13 @@ } void +ibis_client_set_alt_nick(IbisClient *client, const char *alt_nick) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + ibis_client_set_secondary_nick(client, alt_nick); +} + +void ibis_client_set_client_ping_timeout(IbisClient *client, guint seconds) { g_return_if_fail(IBIS_IS_CLIENT(client)); g_return_if_fail(seconds > 0); @@ -1695,6 +1750,87 @@ } } +void +ibis_client_set_hasl_context(IbisClient *client, HaslContext *hasl_context) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + if(g_set_object(&client->hasl_context, hasl_context)) { + g_object_notify_by_pspec(G_OBJECT(client), + properties[PROP_HASL_CONTEXT]); + } +} + +void +ibis_client_set_nick(IbisClient *client, const char *nick) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + g_return_if_fail(!ibis_str_is_empty(nick)); + + ibis_client_set_primary_nick(client, nick); +} + +void +ibis_client_set_primary_nick(IbisClient *client, const char *nick) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + g_return_if_fail(!ibis_str_is_empty(nick)); + + if(g_set_str(&client->primary_nick, nick)) { + GObject *obj = G_OBJECT(client); + + g_object_freeze_notify(obj); + g_object_notify_by_pspec(obj, properties[PROP_PRIMARY_NICK]); + g_object_notify_by_pspec(obj, properties[PROP_NICK]); + g_object_thaw_notify(obj); + } +} + +void +ibis_client_set_realname(IbisClient *client, const char *realname) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + /* The realname can be null, but if it isn't it must not be empty. */ + g_return_if_fail(realname == NULL || realname[0] != '\0'); + + if(g_set_str(&client->realname, realname)) { + g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_REALNAME]); + } +} + +void +ibis_client_set_secondary_nick(IbisClient *client, const char *nick) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + if(g_set_str(&client->secondary_nick, nick)) { + GObject *obj = G_OBJECT(client); + + g_object_freeze_notify(obj); + g_object_notify_by_pspec(obj, properties[PROP_SECONDARY_NICK]); + g_object_notify_by_pspec(obj, properties[PROP_ALT_NICK]); + g_object_thaw_notify(obj); + } +} + +void +ibis_client_set_tertiary_nick(IbisClient *client, const char *nick) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + if(g_set_str(&client->tertiary_nick, nick)) { + g_object_notify_by_pspec(G_OBJECT(client), + properties[PROP_TERTIARY_NICK]); + } +} + +void +ibis_client_set_username(IbisClient *client, const char *username) { + g_return_if_fail(IBIS_IS_CLIENT(client)); + + /* The username can be null, but if it isn't it must not be empty. */ + g_return_if_fail(username == NULL || username[0] != '\0'); + + if(g_set_str(&client->username, username)) { + g_object_notify_by_pspec(G_OBJECT(client), properties[PROP_USERNAME]); + } +} + void ibis_client_start(IbisClient *client, GIOStream *stream, const char *password, GCancellable *cancellable) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/ibisclient.h new/ibis-0.15.0/ibis/ibisclient.h --- old/ibis-0.14.0/ibis/ibisclient.h 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/ibisclient.h 2025-12-30 09:48:39.000000000 +0100 @@ -180,21 +180,10 @@ * * Since: 0.1 */ -IBIS_AVAILABLE_IN_0_1 +IBIS_DEPRECATED_FOR(ibis_client_get_secondary_nick) const char *ibis_client_get_alt_nick(IbisClient *client); /** - * ibis_client_set_alt_nick: - * @alt_nick: (nullable): the new alternative nick - * - * Sets the alternative nick of @client to @alt_nick. - * - * Since: 0.1 - */ -IBIS_AVAILABLE_IN_0_1 -void ibis_client_set_alt_nick(IbisClient *client, const char *alt_nick); - -/** * ibis_client_get_cancellable: * * Gets the [[email protected]] for @client. @@ -280,21 +269,6 @@ HaslContext *ibis_client_get_hasl_context(IbisClient *client); /** - * ibis_client_set_hasl_context: - * @hasl_context: (nullable) (transfer none): the new context to set - * - * Sets the [[email protected]] for @client to use. - * - * You should avoid switching this out during registration. If you want to - * remove this from memory you should connect to the `notify::connected` signal - * and set it to %NULL from that handler. - * - * Since: 0.1 - */ -IBIS_AVAILABLE_IN_0_1 -void ibis_client_set_hasl_context(IbisClient *client, HaslContext *hasl_context); - -/** * ibis_client_get_network: * * Gets the network that the client is connected to. @@ -315,7 +289,7 @@ * * Since: 0.1 */ -IBIS_AVAILABLE_IN_0_1 +IBIS_DEPRECATED_FOR(ibis_client_get_primary_nick) const char *ibis_client_get_nick(IbisClient *client); /** @@ -335,15 +309,16 @@ char ibis_client_get_prefix_for_mode(IbisClient *client, char mode); /** - * ibis_client_set_nick: - * @nick: the new nick + * ibis_client_get_primary_nick: * - * Sets the nick of @client to @nick. + * Gets the primary nick. * - * Since: 0.1 + * Returns: (nullable): The primary nick. + * + * Since: 0.15 */ -IBIS_AVAILABLE_IN_0_1 -void ibis_client_set_nick(IbisClient *client, const char *nick); +IBIS_AVAILABLE_IN_0_15 +const char *ibis_client_get_primary_nick(IbisClient *client); /** * ibis_client_get_realname: @@ -362,17 +337,6 @@ const char *ibis_client_get_realname(IbisClient *client); /** - * ibis_client_set_realname: - * @realname: (nullable): the new realname - * - * Sets the realname to use when sending the `USER` command. - * - * Since: 0.1 - */ -IBIS_AVAILABLE_IN_0_1 -void ibis_client_set_realname(IbisClient *client, const char *realname); - -/** * ibis_client_get_registered: * * Checks whether the client has completed user registration. @@ -389,6 +353,18 @@ gboolean ibis_client_get_registered(IbisClient *client); /** + * ibis_client_get_secondary_nick: + * + * Gets the secondary nick. + * + * Returns: (nullable): The secondary nick to use. + * + * Since: 0.15 + */ +IBIS_AVAILABLE_IN_0_15 +const char *ibis_client_get_secondary_nick(IbisClient *client); + +/** * ibis_client_get_source_prefix: * @source: the source * @@ -403,6 +379,18 @@ char *ibis_client_get_source_prefix(IbisClient *client, const char *source); /** + * ibis_client_get_tertiary_nick: + * + * Gets the tertiary nick. + * + * Returns: (nullable): The tertiary nick to use. + * + * Since: 0.15 + */ +IBIS_AVAILABLE_IN_0_15 +const char *ibis_client_get_tertiary_nick(IbisClient *client); + +/** * ibis_client_get_username: * * Gets the username that is being used when sending the `USER` command. @@ -419,17 +407,6 @@ const char *ibis_client_get_username(IbisClient *client); /** - * ibis_client_set_username: - * @username: (nullable): the new username - * - * Sets the username to use when sending the `USER` command. - * - * Since: 0.1 - */ -IBIS_AVAILABLE_IN_0_1 -void ibis_client_set_username(IbisClient *client, const char *username); - -/** * ibis_client_is_channel: * @target: the target * @@ -496,6 +473,17 @@ IbisModeChange *ibis_client_parse_mode_string(IbisClient *client, const char *mode_string, GStrv params, guint *n_changes, GError **error); /** + * ibis_client_set_alt_nick: + * @alt_nick: (nullable): the new alternative nick + * + * Sets the alternative nick of @client to @alt_nick. + * + * Since: 0.1 + */ +IBIS_DEPRECATED_FOR(ibis_client_set_secondary_nick) +void ibis_client_set_alt_nick(IbisClient *client, const char *alt_nick); + +/** * ibis_client_set_client_ping_timeout: * @seconds: the number of seconds before time out. * @@ -509,6 +497,87 @@ void ibis_client_set_client_ping_timeout(IbisClient *client, guint seconds); /** + * ibis_client_set_hasl_context: + * @hasl_context: (nullable) (transfer none): the new context to set + * + * Sets the [[email protected]] for @client to use. + * + * You should avoid switching this out during registration. If you want to + * remove this from memory you should connect to the `notify::connected` signal + * and set it to %NULL from that handler. + * + * Since: 0.1 + */ +IBIS_AVAILABLE_IN_0_1 +void ibis_client_set_hasl_context(IbisClient *client, HaslContext *hasl_context); + +/** + * ibis_client_set_nick: + * @nick: the new nick + * + * Sets the nick of @client to @nick. + * + * Since: 0.1 + */ +IBIS_DEPRECATED_FOR(ibis_client_set_primary_nick) +void ibis_client_set_nick(IbisClient *client, const char *nick); + +/** + * ibis_client_set_primary_nick: + * @nick: the new nick + * + * Sets the primary nick. + * + * Since: 0.15 + */ +IBIS_AVAILABLE_IN_0_15 +void ibis_client_set_primary_nick(IbisClient *client, const char *nick); + +/** + * ibis_client_set_realname: + * @realname: (nullable): the new realname + * + * Sets the realname to use when sending the `USER` command. + * + * Since: 0.1 + */ +IBIS_AVAILABLE_IN_0_1 +void ibis_client_set_realname(IbisClient *client, const char *realname); + +/** + * ibis_client_set_secondary_nick: + * @nick: (nullable): the new nick + * + * Sets the secondary nick. + * + * Since: 0.15 + */ +IBIS_AVAILABLE_IN_0_15 +void ibis_client_set_secondary_nick(IbisClient *client, const char *nick); + +/** + * ibis_client_set_tertiary_nick: + * @nick: (nullable): the new nick + * + * Sets the tertiary nick. + * + * Since: 0.15 + */ +IBIS_AVAILABLE_IN_0_15 +void ibis_client_set_tertiary_nick(IbisClient *client, const char *nick); + +/** + * ibis_client_set_username: + * @username: (nullable): the new username + * + * Sets the username to use when sending the `USER` command. + * + * Since: 0.1 + */ +IBIS_AVAILABLE_IN_0_1 +void ibis_client_set_username(IbisClient *client, const char *username); + +/** * ibis_client_start: * @stream: the [[email protected]] to process * @password: (nullable): the optional server password to use diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/ibisdcc.c new/ibis-0.15.0/ibis/ibisdcc.c --- old/ibis-0.14.0/ibis/ibisdcc.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/ibisdcc.c 2025-12-30 09:48:39.000000000 +0100 @@ -22,6 +22,8 @@ #include <stdlib.h> +#include <errno.h> + #include "ibisdcc.h" #include "ibisstring.h" @@ -32,7 +34,9 @@ GInetAddress * ibis_dcc_host_parse(const char *host) { GInetAddress *address = NULL; - guint32 value = 0; + gulong parsed_value = 0; + guint32 network_value = 0; + char *endptr = NULL; g_return_val_if_fail(!ibis_str_is_empty(host), NULL); @@ -45,8 +49,27 @@ /* That didn't work, so let's see if this is an integer that we can turn * into an IPv4 address. */ - value = g_htonl(atoi(host)); - address = g_inet_address_new_from_bytes((const guint8 *)&value, + parsed_value = strtoul(host, &endptr, 10); + + /* ULONG_MAX is returned on an overflow. */ + if(parsed_value == ULONG_MAX) { + if(errno == ERANGE || errno == EINVAL) { + return NULL; + } + } + + /* If parsing failed, endptr will point to the string value. */ + if(endptr == host) { + return NULL; + } + + /* Finally make sure we're within our expected range. */ + if(parsed_value > G_MAXUINT32) { + return NULL; + } + + network_value = g_htonl(parsed_value & 0xffffffff); + address = g_inet_address_new_from_bytes((const guint8 *)&network_value, G_SOCKET_FAMILY_IPV4); if(G_IS_INET_ADDRESS(address)) { return address; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/ibismessage.c new/ibis-0.15.0/ibis/ibismessage.c --- old/ibis-0.14.0/ibis/ibismessage.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/ibismessage.c 2025-12-30 09:48:39.000000000 +0100 @@ -391,7 +391,7 @@ * * This could be something like JOIN or a server reply numeric like 005. * - * As of version 0.4, this will now be automatically noramlized to + * As of version 0.4, this will now be automatically normalized to * uppercase to help with comparison. * * Since: 0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/ibisversion.h new/ibis-0.15.0/ibis/ibisversion.h --- old/ibis-0.14.0/ibis/ibisversion.h 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/ibisversion.h 2025-12-30 09:48:39.000000000 +0100 @@ -461,6 +461,30 @@ #define IBIS_AVAILABLE_TYPE_IN_0_14 #endif +/** + * IBIS_VERSION_0_15: + * + * A macro that evaluates to the 0.15 version of ibis, in a format that can be + * used by the C pre-processor. + * + * Since: 0.15 + */ +#define IBIS_VERSION_0_15 (G_ENCODE_VERSION(0, 15)) + +#if IBIS_VERSION_MAX_ALLOWED < IBIS_VERSION_0_15 +#define IBIS_AVAILABLE_IN_0_15 IBIS_UNAVAILABLE(0, 15) +#define IBIS_AVAILABLE_STATIC_INLINE_IN_0_15 IBIS_UNAVAILABLE_STATIC_INLINE(0, 15) +#define IBIS_AVAILABLE_MACRO_IN_0_15 IBIS_UNAVAILABLE_MACRO(0, 15) +#define IBIS_AVAILABLE_ENUMERATOR_IN_0_15 IBIS_UNAVAILABLE_ENUMERATOR(0, 15) +#define IBIS_AVAILABLE_TYPE_IN_0_15 IBIS_UNAVAILABLE_TYPE(0, 15) +#else +#define IBIS_AVAILABLE_IN_0_15 _IBIS_EXTERN +#define IBIS_AVAILABLE_STATIC_INLINE_IN_0_15 +#define IBIS_AVAILABLE_MACRO_IN_0_15 +#define IBIS_AVAILABLE_ENUMERATOR_IN_0_15 +#define IBIS_AVAILABLE_TYPE_IN_0_15 +#endif + G_BEGIN_DECLS /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/tests/meson.build new/ibis-0.15.0/ibis/tests/meson.build --- old/ibis-0.14.0/ibis/tests/meson.build 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/tests/meson.build 2025-12-30 09:48:39.000000000 +0100 @@ -15,11 +15,14 @@ 'tags', ] +testenv = environment() +testenv.set('G_ENABLE_DIAGNOSTIC', '1') + foreach test_program : test_programs exe = executable( f'test_@test_program@', f'test_@[email protected]', dependencies : [glib_dep, gio_dep, ibis_dep]) - test(test_program, exe) + test(test_program, exe, env: testenv) endforeach diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/tests/test_client.c new/ibis-0.15.0/ibis/tests/test_client.c --- old/ibis-0.14.0/ibis/tests/test_client.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/tests/test_client.c 2025-12-30 09:48:39.000000000 +0100 @@ -31,39 +31,39 @@ IbisFeatures *features = NULL; GCancellable *cancellable = NULL; GError *error = NULL; - char *alt_nick = NULL; - char *nick = NULL; + char *primary_nick = NULL; char *realname = NULL; + char *secondary_nick = NULL; + char *tertiary_nick = NULL; char *username = NULL; gboolean connected = FALSE; guint client_ping_timeout = 0; client = g_object_new( IBIS_TYPE_CLIENT, - "alt-nick", "nick1", "client-ping-timeout", 1000, - "nick", "nick", + "primary-nick", "nick", "realname", "realname", + "secondary-nick", "nick1", + "tertiary-nick", "nick2", "username", "username", NULL); g_object_get( G_OBJECT(client), - "alt-nick", &alt_nick, "cancellable", &cancellable, "capabilities", &capabilities, "client-ping-timeout", &client_ping_timeout, "connected", &connected, "error", &error, "features", &features, - "nick", &nick, + "primary_nick", &primary_nick, "realname", &realname, + "secondary-nick", &secondary_nick, + "tertiary-nick", &tertiary_nick, "username", &username, NULL); - g_assert_cmpstr(alt_nick, ==, "nick1"); - g_clear_pointer(&alt_nick, g_free); - g_assert_null(cancellable); g_assert_true(IBIS_IS_CAPABILITIES(capabilities)); @@ -78,12 +78,18 @@ g_assert_true(IBIS_IS_FEATURES(features)); g_clear_object(&features); - g_assert_cmpstr(nick, ==, "nick"); - g_clear_pointer(&nick, g_free); + g_assert_cmpstr(primary_nick, ==, "nick"); + g_clear_pointer(&primary_nick, g_free); g_assert_cmpstr(realname, ==, "realname"); g_clear_pointer(&realname, g_free); + g_assert_cmpstr(secondary_nick, ==, "nick1"); + g_clear_pointer(&secondary_nick, g_free); + + g_assert_cmpstr(tertiary_nick, ==, "nick2"); + g_clear_pointer(&tertiary_nick, g_free); + g_assert_cmpstr(username, ==, "username"); g_clear_pointer(&username, g_free); @@ -91,28 +97,66 @@ } static void -test_ibis_client_alt_nick(void) { +test_ibis_client_secondary_nick(void) { IbisClient *client = NULL; + const char *secondary_nick = NULL; const char *alt_nick = NULL; client = ibis_client_new(); - ibis_client_set_alt_nick(client, "alt"); + ibis_client_set_secondary_nick(client, "secondary"); + secondary_nick = ibis_client_get_secondary_nick(client); + g_assert_cmpstr(secondary_nick, ==, "secondary"); + + G_GNUC_BEGIN_IGNORE_DEPRECATIONS alt_nick = ibis_client_get_alt_nick(client); - g_assert_cmpstr(alt_nick, ==, "alt"); + G_GNUC_END_IGNORE_DEPRECATIONS + g_assert_cmpstr(alt_nick, ==, "secondary"); + + ibis_client_set_secondary_nick(client, NULL); + secondary_nick = ibis_client_get_secondary_nick(client); + g_assert_cmpstr(secondary_nick, ==, NULL); - ibis_client_set_alt_nick(client, NULL); + G_GNUC_BEGIN_IGNORE_DEPRECATIONS alt_nick = ibis_client_get_alt_nick(client); - g_assert_null(alt_nick); + G_GNUC_END_IGNORE_DEPRECATIONS + g_assert_cmpstr(alt_nick, ==, NULL); - ibis_client_set_alt_nick(client, ""); + ibis_client_set_secondary_nick(client, ""); + secondary_nick = ibis_client_get_secondary_nick(client); + g_assert_cmpstr(secondary_nick, ==, ""); + + G_GNUC_BEGIN_IGNORE_DEPRECATIONS alt_nick = ibis_client_get_alt_nick(client); + G_GNUC_END_IGNORE_DEPRECATIONS g_assert_cmpstr(alt_nick, ==, ""); g_assert_finalize_object(client); } static void +test_ibis_client_tertiary_nick(void) { + IbisClient *client = NULL; + const char *tertiary_nick = NULL; + + client = ibis_client_new(); + + ibis_client_set_tertiary_nick(client, "tertiary"); + tertiary_nick = ibis_client_get_tertiary_nick(client); + g_assert_cmpstr(tertiary_nick, ==, "tertiary"); + + ibis_client_set_tertiary_nick(client, NULL); + tertiary_nick = ibis_client_get_tertiary_nick(client); + g_assert_cmpstr(tertiary_nick, ==, NULL); + + ibis_client_set_tertiary_nick(client, ""); + tertiary_nick = ibis_client_get_tertiary_nick(client); + g_assert_cmpstr(tertiary_nick, ==, ""); + + g_assert_finalize_object(client); +} + +static void test_ibis_client_realname_null(void) { IbisClient *client = NULL; const char *realname = NULL; @@ -125,7 +169,7 @@ ibis_client_set_realname(client, NULL); realname = ibis_client_get_realname(client); - g_assert_null(realname); + g_assert_cmpstr(realname, ==, NULL); g_assert_finalize_object(client); } @@ -158,7 +202,7 @@ ibis_client_set_username(client, NULL); username = ibis_client_get_username(client); - g_assert_null(username); + g_assert_cmpstr(username, ==, NULL); g_assert_finalize_object(client); } @@ -220,7 +264,7 @@ client = ibis_client_new(); network = ibis_client_get_network(client); - g_assert_null(network); + g_assert_cmpstr(network, ==, NULL); g_assert_finalize_object(client); } @@ -467,7 +511,7 @@ /* Check the changes. */ g_assert_cmpint(mode_changes[0].mode, ==, 'm'); g_assert_true(mode_changes[0].add); - g_assert_null(mode_changes[0].parameter); + g_assert_cmpstr(mode_changes[0].parameter, ==, NULL); g_assert_cmpint(mode_changes[1].mode, ==, 'b'); g_assert_true(mode_changes[1].add); @@ -501,11 +545,11 @@ g_assert_cmpint(mode_changes[1].mode, ==, 'l'); g_assert_false(mode_changes[1].add); - g_assert_null(mode_changes[1].parameter); + g_assert_cmpstr(mode_changes[1].parameter, ==, NULL); g_assert_cmpint(mode_changes[2].mode, ==, 'i'); g_assert_true(mode_changes[2].add); - g_assert_null(mode_changes[2].parameter); + g_assert_cmpstr(mode_changes[2].parameter, ==, NULL); g_assert_finalize_object(client); g_free(mode_changes); @@ -548,8 +592,10 @@ g_test_add_func("/ibis/client/properties", test_ibis_client_properties); - g_test_add_func("/ibis/client/alt-nick", - test_ibis_client_alt_nick); + g_test_add_func("/ibis/client/secondary-nick", + test_ibis_client_secondary_nick); + g_test_add_func("/ibis/client/tertiary-nick", + test_ibis_client_tertiary_nick); g_test_add_func("/ibis/client/realname/null", test_ibis_client_realname_null); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/tests/test_features.c new/ibis-0.15.0/ibis/tests/test_features.c --- old/ibis-0.14.0/ibis/tests/test_features.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/tests/test_features.c 2025-12-30 09:48:39.000000000 +0100 @@ -528,7 +528,7 @@ g_test_add_func("/ibis/features/parse/fail", test_ibis_features_parse_fail); g_test_add_func("/ibis/features/parse/all", test_ibis_features_parse_all); - g_test_add_func("/ibis/featuers/parse/multiple", + g_test_add_func("/ibis/features/parse/multiple", test_ibis_features_parse_multiple); g_test_add_func("/ibis/features/parse/unknown", test_ibis_features_parse_unknown); g_test_add_func("/ibis/features/parse/none", test_ibis_features_no_parse); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis/tests/test_formatting.c new/ibis-0.15.0/ibis/tests/test_formatting.c --- old/ibis-0.14.0/ibis/tests/test_formatting.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis/tests/test_formatting.c 2025-12-30 09:48:39.000000000 +0100 @@ -56,7 +56,7 @@ static void test_ibis_formatting_strip_color_full(void) { - test_ibis_formatting_strip("\0033,9wee", "wee"); + test_ibis_formatting_strip("\0033,9whee", "whee"); } static void @@ -222,15 +222,15 @@ attr = pango_attr_foreground_new(0x0000, 0x9393, 0x0000); attr->start_index = 0; - attr->end_index = 3; + attr->end_index = 4; pango_attr_list_insert(attrs, attr); attr = pango_attr_background_new(0x0000, 0xfcfc, 0x0000); attr->start_index = 0; - attr->end_index = 3; + attr->end_index = 4; pango_attr_list_insert(attrs, attr); - test_ibis_formatting_parse("\0033,9wee", "wee", attrs); + test_ibis_formatting_parse("\0033,9whee", "whee", attrs); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/ibis-cli/ibiscli.c new/ibis-0.15.0/ibis-cli/ibiscli.c --- old/ibis-0.14.0/ibis-cli/ibiscli.c 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/ibis-cli/ibiscli.c 2025-12-30 09:48:39.000000000 +0100 @@ -35,9 +35,9 @@ /****************************************************************************** * Command line options *****************************************************************************/ -static char *alt_nick = NULL; static char *join_channels = NULL; -static char *nick = NULL; +static char *primary_nick = NULL; +static char *secondary_nick = NULL; static char *server = NULL; static int port = 6667; static char *password = NULL; @@ -54,7 +54,7 @@ .long_name = "alt-nick", .short_name = 'a', .arg = G_OPTION_ARG_STRING, - .arg_data = &alt_nick, + .arg_data = &secondary_nick, .description = N_("An alternate nickname to use."), .arg_description = N_("NICK"), }, { @@ -68,7 +68,7 @@ .long_name = "nick", .short_name = 'n', .arg = G_OPTION_ARG_STRING, - .arg_data = &nick, + .arg_data = &primary_nick, .description = N_("The nickname to use."), .arg_description = N_("NICK"), }, { @@ -164,11 +164,11 @@ /* Hold the application so we stick around. */ g_application_hold(application); - if(!ibis_str_is_empty(nick)) { - ibis_client_set_nick(client, nick); + if(!ibis_str_is_empty(primary_nick)) { + ibis_client_set_primary_nick(client, primary_nick); } - ibis_client_set_alt_nick(client, alt_nick); + ibis_client_set_secondary_nick(client, secondary_nick); if(require_sasl) { HaslContext *hasl_context = hasl_context_new(); @@ -354,13 +354,13 @@ } g_clear_object(&client); - g_clear_pointer(&alt_nick, g_free); g_clear_pointer(&join_channels, g_free); - g_clear_pointer(&nick, g_free); g_clear_pointer(&password, g_free); + g_clear_pointer(&primary_nick, g_free); g_clear_pointer(&sasl_mechanisms, g_free); g_clear_pointer(&sasl_password, g_free); g_clear_pointer(&sasl_username, g_free); + g_clear_pointer(&secondary_nick, g_free); g_clear_pointer(&server, g_free); g_clear_pointer(&startup_commands, g_strfreev); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/meson.build new/ibis-0.15.0/meson.build --- old/ibis-0.14.0/meson.build 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/meson.build 2025-12-30 09:48:39.000000000 +0100 @@ -1,8 +1,8 @@ project('ibis', 'C', default_options : ['c_std=c17', 'warning_level=2'], license : 'LGPL-2.1-or-later', - meson_version : '>=1.0.0', - version : '0.14.0') + meson_version : '>=1.1.0', + version : '0.15.0') toplevel_inc = include_directories('.') @@ -66,6 +66,16 @@ pango_dep = dependency('pango', version : '>=1.54.0') ############################################################################### +# codespell +############################################################################### +codespell = find_program('codespell', required: false) +if codespell.found() + test('codespell', + codespell, + workdir : meson.project_source_root()) +endif + +############################################################################### # Internationalization ############################################################################### GETTEXT_PACKAGE = 'ibis' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/meson.options new/ibis-0.15.0/meson.options --- old/ibis-0.14.0/meson.options 1970-01-01 01:00:00.000000000 +0100 +++ new/ibis-0.15.0/meson.options 2025-12-30 09:48:39.000000000 +0100 @@ -0,0 +1,17 @@ +option( + 'doc', + type : 'boolean', value : true, yield : true, + description : 'build documentation with gi-docgen' +) + +option( + 'introspection', + type : 'boolean', value : true, yield : true, + description : 'Whether or not to build a GObject Introspection type library' +) + +option( + 'nls', + type : 'boolean', value : true, yield : true, + description : 'Install translation files' +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ibis-0.14.0/meson_options.txt new/ibis-0.15.0/meson_options.txt --- old/ibis-0.14.0/meson_options.txt 2025-05-01 01:18:52.000000000 +0200 +++ new/ibis-0.15.0/meson_options.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -option( - 'doc', - type : 'boolean', value : true, yield : true, - description : 'build documentation with gi-docgen' -) - -option( - 'introspection', - type : 'boolean', value : true, yield : true, - description : 'Whether or not to build a GObject Introspection type library' -) - -option( - 'nls', - type : 'boolean', value : true, yield : true, - description : 'Install translation files' -)
