summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
Diffstat (limited to 'net-im')
-rw-r--r--net-im/biboumi/Manifest2
-rw-r--r--net-im/biboumi/biboumi-9.0-r4.ebuild129
-rw-r--r--net-im/biboumi/files/biboumi-9.0-do-not-use-as-a-namespace-separator-with-expat.patch301
-rw-r--r--net-im/biboumi/files/biboumi-9.0-use-system-catch2.patch229
-rw-r--r--net-im/biboumi/files/biboumi.initd21
-rw-r--r--net-im/biboumi/files/biboumi.logrotate10
-rw-r--r--net-im/biboumi/metadata.xml22
-rw-r--r--net-im/bitlbee-facebook/Manifest3
-rw-r--r--net-im/bitlbee-facebook/bitlbee-facebook-1.1.2.ebuild39
-rw-r--r--net-im/bitlbee-facebook/bitlbee-facebook-1.2.2.ebuild (renamed from net-im/bitlbee-facebook/bitlbee-facebook-1.2.0.ebuild)4
-rw-r--r--net-im/bitlbee-facebook/metadata.xml12
-rw-r--r--net-im/bitlbee-steam/bitlbee-steam-1.4.2.ebuild13
-rw-r--r--net-im/bitlbee-steam/bitlbee-steam-9999.ebuild13
-rw-r--r--net-im/bitlbee-steam/metadata.xml2
-rw-r--r--net-im/bitlbee/Manifest1
-rw-r--r--net-im/bitlbee/bitlbee-3.5.1.ebuild168
-rw-r--r--net-im/bitlbee/bitlbee-3.6-r3.ebuild (renamed from net-im/bitlbee/bitlbee-3.6.ebuild)60
-rw-r--r--net-im/bitlbee/bitlbee-9999.ebuild56
-rw-r--r--net-im/bitlbee/files/bitlbee-3.5-libcheck.patch645
-rw-r--r--net-im/bitlbee/files/bitlbee-3.5-libevent.patch71
-rw-r--r--net-im/bitlbee/files/bitlbee-3.5-verbose-build.patch200
-rw-r--r--net-im/bitlbee/files/bitlbee-3.6-disabled-plugins-use.patch55
-rw-r--r--net-im/bitlbee/files/bitlbee-3.6-system-json-parser.patch99
-rw-r--r--net-im/bitlbee/files/bitlbee.confd-r18
-rw-r--r--net-im/bitlbee/files/bitlbee.initd-r130
-rw-r--r--net-im/bitlbee/files/bitlbee.initd-r22
-rw-r--r--net-im/bitlbee/metadata.xml16
-rw-r--r--net-im/centerim/centerim-5.0.1-r2.ebuild (renamed from net-im/centerim/centerim-5.0.1.ebuild)23
-rw-r--r--net-im/centerim/metadata.xml2
-rw-r--r--net-im/choqok/Manifest3
-rw-r--r--net-im/choqok/choqok-1.6.0_p20190726.ebuild63
-rw-r--r--net-im/choqok/choqok-1.7.0-r1.ebuild75
-rw-r--r--net-im/choqok/files/choqok-1.6.0_p20190726-missing-header.patch94
-rw-r--r--net-im/choqok/files/choqok-1.7.0-fix-KCModule-warning.patch43
-rw-r--r--net-im/choqok/metadata.xml7
-rw-r--r--net-im/coccinella/Manifest1
-rw-r--r--net-im/coccinella/coccinella-0.96.20.ebuild69
-rw-r--r--net-im/coccinella/metadata.xml16
-rw-r--r--net-im/corebird/Manifest1
-rw-r--r--net-im/corebird/corebird-1.7.4.ebuild59
-rw-r--r--net-im/corebird/metadata.xml11
-rw-r--r--net-im/coturn/Manifest4
-rw-r--r--net-im/coturn/coturn-4.5.0.8.ebuild71
-rw-r--r--net-im/coturn/coturn-4.5.2-r1.ebuild (renamed from net-im/coturn/coturn-4.5.0.7.ebuild)46
-rw-r--r--net-im/coturn/coturn-4.6.0.ebuild98
-rw-r--r--net-im/coturn/coturn-9999.ebuild69
-rw-r--r--net-im/coturn/files/coturn-4.5.2-respect-TMPDIR.patch24
-rw-r--r--net-im/coturn/files/coturn-4.6.0-openssl3.patch356
-rw-r--r--[-rwxr-xr-x]net-im/coturn/files/turnserver.init2
-rw-r--r--net-im/coturn/metadata.xml7
-rw-r--r--net-im/cpop/cpop-0.0.4-r2.ebuild (renamed from net-im/cpop/cpop-0.0.4-r1.ebuild)24
-rw-r--r--net-im/cpop/files/cpop-0.0.4-implicit-exit_memset_strlen.patch12
-rw-r--r--net-im/cpop/files/cpop-0.0.4-implicit-func-decls.patch19
-rw-r--r--net-im/cpop/metadata.xml2
-rw-r--r--net-im/dianara/metadata.xml11
-rw-r--r--net-im/dino/Manifest2
-rw-r--r--net-im/dino/dino-0.4.2-r2.ebuild99
-rw-r--r--net-im/dino/dino-0.4.3-r1.ebuild103
-rw-r--r--net-im/dino/dino-0.4.3.ebuild99
-rw-r--r--net-im/dino/dino-9999.ebuild81
-rw-r--r--net-im/dino/files/README.gentoo23
-rw-r--r--net-im/dino/files/dino-0.4.3-c99.patch57
-rw-r--r--net-im/dino/metadata.xml9
-rw-r--r--net-im/discord-bin/Manifest1
-rw-r--r--net-im/discord-bin/discord-bin-0.0.9.ebuild94
-rw-r--r--net-im/discord-bin/metadata.xml11
-rw-r--r--net-im/discord/Manifest1
-rw-r--r--net-im/discord/discord-0.0.50.ebuild135
-rw-r--r--net-im/discord/metadata.xml16
-rw-r--r--net-im/ejabberd/Manifest9
-rw-r--r--net-im/ejabberd/ejabberd-17.04-r2.ebuild331
-rw-r--r--net-im/ejabberd/ejabberd-23.01.ebuild219
-rw-r--r--net-im/ejabberd/ejabberd-23.04.ebuild216
-rw-r--r--net-im/ejabberd/ejabberd-23.10-r1.ebuild223
-rw-r--r--net-im/ejabberd/ejabberd-24.02-r1.ebuild221
-rw-r--r--net-im/ejabberd/files/adjust-ejabberd.service.template-to-Gentoo.patch39
-rw-r--r--net-im/ejabberd/files/ejabberd-17.04-0001-Don-t-configure-or-compile-deps.patch53
-rw-r--r--net-im/ejabberd/files/ejabberd-17.04-0002-Dont-overwrite-service-file.patch15
-rw-r--r--net-im/ejabberd/files/ejabberd-17.04-ejabberdctl.patch62
-rw-r--r--net-im/ejabberd/files/ejabberd-22.05.initd (renamed from net-im/ejabberd/files/ejabberd.initd)4
-rw-r--r--net-im/ejabberd/files/ejabberd-22.05.logrotate (renamed from net-im/ejabberd/files/ejabberd.logrotate)4
-rw-r--r--net-im/ejabberd/files/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch16
-rw-r--r--net-im/ejabberd/files/ejabberd.tmpfiles.conf2
-rw-r--r--net-im/ejabberd/metadata.xml14
-rw-r--r--net-im/ekg2/Manifest1
-rw-r--r--net-im/ekg2/ekg2-0.4_pre20190315.ebuild110
-rw-r--r--net-im/ekg2/ekg2-9999.ebuild107
-rw-r--r--net-im/ekg2/metadata.xml19
-rw-r--r--net-im/element-desktop-bin/Manifest1
-rw-r--r--net-im/element-desktop-bin/element-desktop-bin-1.11.54.ebuild83
-rw-r--r--net-im/element-desktop-bin/metadata.xml8
-rw-r--r--net-im/empathy/Manifest1
-rw-r--r--net-im/empathy/empathy-3.12.14.ebuild115
-rw-r--r--net-im/empathy/metadata.xml23
-rw-r--r--net-im/err/Manifest2
-rw-r--r--net-im/err/err-6.1.9.ebuild (renamed from net-im/err/err-5.2.0-r1.ebuild)74
-rw-r--r--net-im/err/metadata.xml19
-rw-r--r--net-im/fractal/Manifest3
-rw-r--r--net-im/fractal/fractal-6.ebuild95
-rw-r--r--net-im/fractal/metadata.xml11
-rw-r--r--net-im/gajim/Manifest6
-rw-r--r--net-im/gajim/gajim-1.0.3-r1.ebuild78
-rw-r--r--net-im/gajim/gajim-1.0.3.ebuild78
-rw-r--r--net-im/gajim/gajim-1.1.3.ebuild86
-rw-r--r--net-im/gajim/gajim-1.7.3-r1.ebuild102
-rw-r--r--net-im/gajim/gajim-1.7.3.ebuild94
-rw-r--r--net-im/gajim/gajim-1.8.0.ebuild105
-rw-r--r--net-im/gajim/gajim-1.8.1.ebuild105
-rw-r--r--net-im/gajim/gajim-1.8.4.ebuild105
-rw-r--r--net-im/gajim/metadata.xml12
-rw-r--r--net-im/gg-transport/Manifest1
-rw-r--r--net-im/gg-transport/files/jggtrans-2.2.419
-rw-r--r--net-im/gg-transport/gg-transport-2.2.6.ebuild50
-rw-r--r--net-im/gg-transport/metadata.xml12
-rw-r--r--net-im/gitter-bin/Manifest4
-rw-r--r--net-im/gitter-bin/gitter-bin-3.1.0.ebuild88
-rw-r--r--net-im/gitter-bin/gitter-bin-4.1.0-r1.ebuild (renamed from net-im/gitter-bin/gitter-bin-4.1.0.ebuild)30
-rw-r--r--net-im/gitter-bin/gitter-bin-5.0.1-r1.ebuild105
-rw-r--r--net-im/gitter-bin/gitter-bin-5.0.1.ebuild103
-rw-r--r--net-im/gitter-bin/metadata.xml9
-rw-r--r--net-im/jabber-base/jabber-base-0.01-r1.ebuild51
-rw-r--r--net-im/jabber-base/jabber-base-0.01.ebuild51
-rw-r--r--net-im/jabber-base/metadata.xml11
-rw-r--r--net-im/kadu/Manifest1
-rw-r--r--net-im/kadu/files/kadu-4.3-do-not-force-ccache.patch17
-rw-r--r--net-im/kadu/files/kadu-4.3-fix-plugins-rpath.patch12
-rw-r--r--net-im/kadu/files/kadu-4.3-gcc7.patch10
-rw-r--r--net-im/kadu/kadu-4.3-r2.ebuild146
-rw-r--r--net-im/kadu/metadata.xml15
-rw-r--r--net-im/kouchat/Manifest2
-rw-r--r--net-im/kouchat/kouchat-1.1.0.ebuild29
-rw-r--r--net-im/kouchat/metadata.xml11
-rw-r--r--net-im/libcommuni/Manifest2
-rw-r--r--net-im/libcommuni/libcommuni-3.7.0.ebuild (renamed from net-im/libcommuni/libcommuni-3.5.0_p20180116.ebuild)43
-rw-r--r--net-im/libcommuni/metadata.xml11
-rw-r--r--net-im/librvp/librvp-0.9.7.ebuild17
-rw-r--r--net-im/librvp/metadata.xml2
-rw-r--r--net-im/mattermost-desktop-bin/Manifest7
-rw-r--r--net-im/mattermost-desktop-bin/mattermost-desktop-bin-4.2.3.ebuild93
-rw-r--r--net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.6.0.ebuild95
-rw-r--r--net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.7.0.ebuild95
-rw-r--r--net-im/mattermost-desktop-bin/metadata.xml7
-rw-r--r--net-im/mcabber/Manifest1
-rw-r--r--net-im/mcabber/files/README.gentoo17
-rw-r--r--net-im/mcabber/mcabber-1.1.0-r1.ebuild99
-rw-r--r--net-im/mcabber/mcabber-9999.ebuild99
-rw-r--r--net-im/mcabber/metadata.xml21
-rw-r--r--net-im/metadata.xml5
-rw-r--r--net-im/minbif/Manifest1
-rw-r--r--net-im/minbif/files/minbif-1.0.5-gcc47.patch76
-rw-r--r--net-im/minbif/files/minbif-1.0.5-glib-single-includes.patch26
-rw-r--r--net-im/minbif/files/minbif-1.0.5-rename-imlib-load-error.patch13
-rw-r--r--net-im/minbif/files/minbif.initd23
-rw-r--r--net-im/minbif/metadata.xml5
-rw-r--r--net-im/minbif/minbif-1.0.5-r2.ebuild91
-rw-r--r--net-im/neochat/Manifest2
-rw-r--r--net-im/neochat/metadata.xml11
-rw-r--r--net-im/neochat/neochat-23.08.5.ebuild54
-rw-r--r--net-im/neochat/neochat-24.02.2.ebuild56
-rw-r--r--net-im/openfire/Manifest1
-rw-r--r--net-im/openfire/files/openfire-confd11
-rw-r--r--net-im/openfire/files/openfire-initd29
-rw-r--r--net-im/openfire/files/openfire.service13
-rw-r--r--net-im/openfire/metadata.xml10
-rw-r--r--net-im/openfire/openfire-4.2.3-r1.ebuild96
-rw-r--r--net-im/openfire/openfire-4.2.3-r2.ebuild79
-rw-r--r--net-im/openmittsu/Manifest3
-rw-r--r--net-im/openmittsu/files/openmittsu-0.10.0.0-musl.patch25
-rw-r--r--net-im/openmittsu/files/openmittsu-0.9.13.32-fix-tests.patch11
-rw-r--r--net-im/openmittsu/metadata.xml2
-rw-r--r--net-im/openmittsu/openmittsu-0.10.0.0.ebuild (renamed from net-im/openmittsu/openmittsu-0.9.13.32.ebuild)23
-rw-r--r--net-im/openmittsu/openmittsu-0.9.13.46.ebuild63
-rw-r--r--net-im/pidgin/Manifest6
-rw-r--r--net-im/pidgin/files/pidgin-2.10.0-gold.patch30
-rw-r--r--net-im/pidgin/files/pidgin-2.10.10-eds-3.6-configure.ac.patch23
-rw-r--r--net-im/pidgin/files/pidgin-2.10.11-tinfo.patch24
-rw-r--r--net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch10
-rw-r--r--net-im/pidgin/files/pidgin-2.10.9-irc_join_sleep.patch11
-rw-r--r--net-im/pidgin/files/pidgin-2.13.0-disable-one-jid-test.patch24
-rw-r--r--net-im/pidgin/files/pidgin-2.13.0-python3_support.patch37
-rw-r--r--net-im/pidgin/metadata.xml12
-rw-r--r--net-im/pidgin/pidgin-2.14.10-r1.ebuild (renamed from net-im/pidgin/pidgin-2.13.0-r1.ebuild)226
-rw-r--r--net-im/pidgin/pidgin-2.14.12.ebuild (renamed from net-im/pidgin/pidgin-2.13.0.ebuild)249
-rw-r--r--net-im/pidgin/pidgin-2.14.13.ebuild297
-rw-r--r--net-im/poezio/Manifest2
-rw-r--r--net-im/poezio/files/Do-not-install-man-pages-and-files-in-usr-share-poez.patch22
-rw-r--r--net-im/poezio/metadata.xml7
-rw-r--r--net-im/poezio/poezio-0.12.ebuild60
-rw-r--r--net-im/poezio/poezio-0.14.ebuild77
-rw-r--r--net-im/poezio/poezio-9999.ebuild73
-rw-r--r--net-im/profanity/Manifest6
-rw-r--r--net-im/profanity/metadata.xml18
-rw-r--r--net-im/profanity/profanity-0.13.1.ebuild71
-rw-r--r--net-im/profanity/profanity-0.14.0-r1.ebuild96
-rw-r--r--net-im/profanity/profanity-0.14.0-r2.ebuild99
-rw-r--r--net-im/profanity/profanity-0.14.0.ebuild71
-rw-r--r--net-im/profanity/profanity-0.6.0.ebuild39
-rw-r--r--net-im/prosody-modules/Manifest1
-rw-r--r--net-im/prosody-modules/metadata.xml17
-rw-r--r--net-im/prosody-modules/prosody-modules-0_pre20230221.ebuild56
-rw-r--r--net-im/prosody-modules/prosody-modules-9999.ebuild56
-rw-r--r--net-im/prosody/Manifest4
-rw-r--r--net-im/prosody/files/prosody-0.12.0-gentoo.patch29
-rw-r--r--net-im/prosody/files/prosody-0.9.2-cfg.lua.patch52
-rw-r--r--net-im/prosody/files/prosody.initd-r246
-rw-r--r--net-im/prosody/files/prosody.initd-r646
-rw-r--r--net-im/prosody/files/prosody.service13
-rw-r--r--net-im/prosody/files/prosody.service-r317
-rw-r--r--net-im/prosody/files/prosody.tmpfilesd1
-rw-r--r--net-im/prosody/files/prosody.tmpfilesd-r21
-rw-r--r--net-im/prosody/files/prosody_cfg-0.11.2-r1.patch16
-rw-r--r--net-im/prosody/metadata.xml31
-rw-r--r--net-im/prosody/prosody-0.11.1.ebuild86
-rw-r--r--net-im/prosody/prosody-0.11.2-r1.ebuild87
-rw-r--r--net-im/prosody/prosody-0.11.2.ebuild86
-rw-r--r--net-im/prosody/prosody-0.12.4.ebuild164
-rw-r--r--net-im/prosody/prosody-0.9.14.ebuild83
-rw-r--r--net-im/psi/Manifest4
-rw-r--r--net-im/psi/metadata.xml29
-rw-r--r--net-im/psi/psi-1.5-r2.ebuild (renamed from net-im/psi/psi-1.4.ebuild)35
-rw-r--r--net-im/psi/psi-9999.ebuild103
-rw-r--r--net-im/psimedia/metadata.xml18
-rw-r--r--net-im/psimedia/psimedia-9999.ebuild41
-rw-r--r--net-im/purple-events/metadata.xml2
-rw-r--r--net-im/purple-events/purple-events-0.99.1.ebuild20
-rw-r--r--net-im/pyicq-t/Manifest1
-rw-r--r--net-im/pyicq-t/files/pyicq-t-0.8-initd-r123
-rw-r--r--net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch36
-rw-r--r--net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff118
-rw-r--r--net-im/pyicq-t/files/pyicq-t.service10
-rw-r--r--net-im/pyicq-t/metadata.xml13
-rw-r--r--net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild63
-rw-r--r--net-im/qtox/Manifest2
-rw-r--r--net-im/qtox/metadata.xml11
-rw-r--r--net-im/qtox/qtox-1.16.3.ebuild77
-rw-r--r--net-im/qtox/qtox-1.17.6-r2.ebuild90
-rw-r--r--net-im/qtox/qtox-9999.ebuild80
-rw-r--r--net-im/ricochet/Manifest1
-rw-r--r--net-im/ricochet/metadata.xml12
-rw-r--r--net-im/ricochet/ricochet-1.1.4.ebuild56
-rw-r--r--net-im/ricochet/ricochet-9999.ebuild64
-rw-r--r--net-im/rocketchat-desktop-bin/Manifest2
-rw-r--r--net-im/rocketchat-desktop-bin/metadata.xml9
-rw-r--r--net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.8.16.ebuild105
-rw-r--r--net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.9.10.ebuild105
-rw-r--r--net-im/sendxmpp-amm/Manifest1
-rw-r--r--net-im/sendxmpp-amm/metadata.xml12
-rw-r--r--net-im/sendxmpp-amm/sendxmpp-amm-1.1.1-r1.ebuild42
-rw-r--r--net-im/sendxmpp-amm/sendxmpp-amm-9999.ebuild42
-rw-r--r--net-im/sendxmpp/metadata.xml2
-rw-r--r--net-im/sendxmpp/sendxmpp-1.24.ebuild7
-rw-r--r--net-im/signal-cli-bin/Manifest9
-rw-r--r--net-im/signal-cli-bin/files/signal-cli-bin-0.11.3-use-working-java-version.patch33
-rw-r--r--net-im/signal-cli-bin/files/signal-cli-bin-0.13.1-use-working-java-version.patch33
-rw-r--r--net-im/signal-cli-bin/metadata.xml22
-rw-r--r--net-im/signal-cli-bin/signal-cli-bin-0.12.7.ebuild54
-rw-r--r--net-im/signal-cli-bin/signal-cli-bin-0.13.1.ebuild57
-rw-r--r--net-im/signal-cli-bin/signal-cli-bin-0.13.2.ebuild57
-rw-r--r--net-im/signal-desktop-bin/Manifest2
-rw-r--r--net-im/signal-desktop-bin/metadata.xml10
-rw-r--r--net-im/signal-desktop-bin/signal-desktop-bin-1.27.2.ebuild68
-rw-r--r--net-im/signal-desktop-bin/signal-desktop-bin-7.5.1.ebuild96
-rw-r--r--net-im/silc-toolkit/Manifest1
-rw-r--r--net-im/silc-toolkit/metadata.xml5
-rw-r--r--net-im/silc-toolkit/silc-toolkit-1.1.10.ebuild39
-rw-r--r--net-im/skype-dbus-mock/Manifest1
-rw-r--r--net-im/skype-dbus-mock/metadata.xml12
-rw-r--r--net-im/skype-dbus-mock/skype-dbus-mock-0_pre20181011.ebuild40
-rw-r--r--net-im/skypeforlinux/Manifest3
-rw-r--r--net-im/skypeforlinux/metadata.xml18
-rw-r--r--net-im/skypeforlinux/skypeforlinux-8.108.0.205.ebuild (renamed from net-im/skypeforlinux/skypeforlinux-8.52.0.138.ebuild)43
-rw-r--r--net-im/skypeforlinux/skypeforlinux-8.110.76.107.ebuild (renamed from net-im/skypeforlinux/skypeforlinux-8.52.0.138-r1.ebuild)44
-rw-r--r--net-im/slack-bin/Manifest5
-rw-r--r--net-im/slack-bin/slack-bin-2.1.2.ebuild80
-rw-r--r--net-im/slack-bin/slack-bin-3.1.1.ebuild94
-rw-r--r--net-im/slack-bin/slack-bin-3.4.2.ebuild100
-rw-r--r--net-im/slack-bin/slack-bin-4.0.2.ebuild98
-rw-r--r--net-im/slack/Manifest2
-rw-r--r--net-im/slack/metadata.xml (renamed from net-im/slack-bin/metadata.xml)15
-rw-r--r--net-im/slack/slack-4.37.101.ebuild114
-rw-r--r--net-im/slack/slack-4.37.94.ebuild114
-rw-r--r--net-im/spectrum2/Manifest2
-rw-r--r--net-im/spectrum2/files/spectrum2.initd4
-rw-r--r--net-im/spectrum2/metadata.xml15
-rw-r--r--net-im/spectrum2/spectrum2-2.2.1.ebuild (renamed from net-im/spectrum2/spectrum2-2.0.12-r1.ebuild)76
-rw-r--r--net-im/swift/Manifest3
-rw-r--r--net-im/swift/files/swift-4.0.2-make-generated-files-handle-unicode-characters.patch38
-rw-r--r--net-im/swift/files/swift-4.0.2-qt-5.11-compatibility.patch35
-rw-r--r--net-im/swift/files/swift-4.0.2-qt-5.15-compatibility.patch10
-rw-r--r--net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch13
-rw-r--r--net-im/swift/files/swift-4.0.3-libxml2-2.12-compatibility.patch11
-rw-r--r--net-im/swift/files/swift-4.0.3-reproducible-build.patch21
-rw-r--r--net-im/swift/metadata.xml16
-rw-r--r--net-im/swift/swift-4.0.3-r2.ebuild (renamed from net-im/swift/swift-4.0.2-r1.ebuild)119
-rw-r--r--net-im/synapse/Manifest72
-rw-r--r--net-im/synapse/files/synapse-1.101.0-netaddr-tests.patch33
-rw-r--r--net-im/synapse/files/synapse.initd-r110
-rw-r--r--net-im/synapse/files/synapse.service22
-rw-r--r--net-im/synapse/metadata.xml12
-rw-r--r--net-im/synapse/synapse-1.103.0.ebuild215
-rw-r--r--net-im/synapse/synapse-1.104.0.ebuild211
-rw-r--r--net-im/synapse/synapse-1.105.0.ebuild211
-rw-r--r--net-im/telegram-desktop-bin/Manifest16
-rw-r--r--net-im/telegram-desktop-bin/files/telegram-desktop-bin9
-rw-r--r--net-im/telegram-desktop-bin/metadata.xml11
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.1.ebuild46
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.2.ebuild46
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.4.ebuild46
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.8.ebuild46
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-4.15.2.ebuild64
-rw-r--r--net-im/telegram-desktop-bin/telegram-desktop-bin-4.16.6.ebuild64
-rw-r--r--net-im/telegram-desktop/Manifest4
-rw-r--r--net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch32
-rw-r--r--net-im/telegram-desktop/files/tdesktop-4.10.5-qt_compare.patch12
-rw-r--r--net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch43
-rw-r--r--net-im/telegram-desktop/metadata.xml31
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.15.0-r2.ebuild237
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild237
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.16.6.ebuild246
-rw-r--r--net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild246
-rw-r--r--net-im/telepathy-connection-managers/metadata.xml7
-rw-r--r--net-im/telepathy-connection-managers/telepathy-connection-managers-2-r2.ebuild10
-rw-r--r--net-im/telepathy-logger/Manifest1
-rw-r--r--net-im/telepathy-logger/metadata.xml13
-rw-r--r--net-im/telepathy-logger/telepathy-logger-0.8.2-r1.ebuild (renamed from net-im/telepathy-logger/telepathy-logger-0.8.2.ebuild)21
-rw-r--r--net-im/telepathy-mission-control/Manifest2
-rw-r--r--net-im/telepathy-mission-control/metadata.xml25
-rw-r--r--net-im/telepathy-mission-control/telepathy-mission-control-5.16.6.ebuild (renamed from net-im/telepathy-mission-control/telepathy-mission-control-5.16.4.ebuild)25
-rw-r--r--net-im/tkabber/metadata.xml4
-rw-r--r--net-im/tkabber/tkabber-1.1.2.ebuild1
-rw-r--r--net-im/tokodon/Manifest2
-rw-r--r--net-im/tokodon/metadata.xml12
-rw-r--r--net-im/tokodon/tokodon-23.08.5.ebuild44
-rw-r--r--net-im/tokodon/tokodon-24.02.2.ebuild45
-rw-r--r--net-im/toxic/Manifest5
-rw-r--r--net-im/toxic/files/toxic-0.11.1-NAME_MAX-and-PATH_MAX.patch48
-rw-r--r--net-im/toxic/files/toxic-0.11.3-NAME_MAX-and-PATH_MAX.patch39
-rw-r--r--net-im/toxic/metadata.xml9
-rw-r--r--net-im/toxic/toxic-0.11.1-r1.ebuild117
-rw-r--r--net-im/toxic/toxic-0.11.3-r1.ebuild117
-rw-r--r--net-im/toxic/toxic-0.8.2.ebuild99
-rw-r--r--net-im/toxic/toxic-0.8.3.ebuild84
-rw-r--r--net-im/transwhat/Manifest2
-rw-r--r--net-im/transwhat/metadata.xml11
-rw-r--r--net-im/transwhat/transwhat-0.2.2-r1.ebuild37
-rw-r--r--net-im/transwhat/transwhat-0.2.2_p20190426-r3.ebuild39
-rw-r--r--net-im/turses/Manifest1
-rw-r--r--net-im/turses/metadata.xml8
-rw-r--r--net-im/turses/turses-0.2.23.ebuild47
-rw-r--r--net-im/vacuum/Manifest1
-rw-r--r--net-im/vacuum/metadata.xml63
-rw-r--r--net-im/vacuum/vacuum-1.3.0_pre20180105.ebuild104
-rw-r--r--net-im/vacuum/vacuum-9999.ebuild97
-rw-r--r--net-im/whatsapp-desktop-bin/Manifest2
-rw-r--r--net-im/whatsapp-desktop-bin/metadata.xml12
-rw-r--r--net-im/whatsapp-desktop-bin/whatsapp-desktop-bin-0.5.2-r3.ebuild112
-rw-r--r--net-im/whatsie/Manifest1
-rw-r--r--net-im/whatsie/metadata.xml11
-rw-r--r--net-im/whatsie/whatsie-4.14.2.ebuild39
-rw-r--r--net-im/yowsup/Manifest3
-rw-r--r--net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch51
-rw-r--r--net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch28
-rw-r--r--net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch30
-rw-r--r--net-im/yowsup/files/yowsup-3.2.3_p20190905-fix-install-path.patch (renamed from net-im/yowsup/files/yowsup-3.2.3-fix-install-path.patch)6
-rw-r--r--net-im/yowsup/metadata.xml8
-rw-r--r--net-im/yowsup/yowsup-2.5.7-r2.ebuild36
-rw-r--r--net-im/yowsup/yowsup-3.2.3.ebuild40
-rw-r--r--net-im/yowsup/yowsup-3.3.0.ebuild43
-rw-r--r--net-im/ysm/files/ysm-2.9.9.1-dont-strip-binary.patch17
-rw-r--r--net-im/ysm/files/ysm-2.9.9.1-fix-bashism.patch17
-rw-r--r--net-im/ysm/files/ysm-2.9.9.1-fix-configure.patch163
-rw-r--r--net-im/ysm/metadata.xml2
-rw-r--r--net-im/ysm/ysm-2.9.9.1-r1.ebuild25
-rw-r--r--net-im/ysm/ysm-2.9.9.1-r2.ebuild46
-rw-r--r--net-im/zoom/Manifest4
-rw-r--r--net-im/zoom/metadata.xml24
-rw-r--r--net-im/zoom/zoom-5.16.10.668.ebuild194
-rw-r--r--net-im/zoom/zoom-5.17.0.1682.ebuild181
-rw-r--r--net-im/zoom/zoom-5.17.10.3512.ebuild181
-rw-r--r--net-im/zoom/zoom-5.17.11.3835.ebuild181
380 files changed, 12039 insertions, 7270 deletions
diff --git a/net-im/biboumi/Manifest b/net-im/biboumi/Manifest
new file mode 100644
index 000000000000..aebf9822cad1
--- /dev/null
+++ b/net-im/biboumi/Manifest
@@ -0,0 +1,2 @@
+DIST biboumi-9.0-fix-missing-include.patch 663 BLAKE2B b81558e1b85bb7612e68e4e4723234e1fe51fd23a3941c59865ad94e922e095ddccc7a62d04ca73295fd0845a854010e98ac2aa6c67a63980b3e7ceb3a917375 SHA512 923f3333ae5bbaeccd0690a063e20206a18f1b7a65d829c6a04df52e7c2cc3549d0da592f0021538f080a119cb80390f8fc517d0d4c15d96fc76a1fb5fc32f84
+DIST biboumi-9.0.tar.xz 161192 BLAKE2B 27c19f5c44e23caae07bd579b01d663e73cd8b432203ac95ae77e651936eea7cc443f389e589acebe5b36c32e96f215fdf0a86c97193726d601b53b709a2d66e SHA512 cfaacd831b56031906922472275c55fd6f1a5307ebe54959d21e3799ad4612499e8beeb34e8736df9eabc9fec1a861d17567250d64f316ace47395fd6c8f3c18
diff --git a/net-im/biboumi/biboumi-9.0-r4.ebuild b/net-im/biboumi/biboumi-9.0-r4.ebuild
new file mode 100644
index 000000000000..0383c5bd9893
--- /dev/null
+++ b/net-im/biboumi/biboumi-9.0-r4.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PV="${PV/_/-}"
+
+DESCRIPTION="XMPP gateway to IRC"
+HOMEPAGE="https://biboumi.louiz.org/"
+SRC_URI="
+ https://git.louiz.org/biboumi/snapshot/biboumi-${MY_PV}.tar.xz
+ https://lab.louiz.org/flow/biboumi/-/commit/f9d58a44871931ef9b60354fade6f8d7b24cc668.patch ->
+ ${PN}-9.0-fix-missing-include.patch
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+idn postgres +sqlite +ssl systemd test udns"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/expat
+ virtual/libiconv
+ sys-apps/util-linux
+ sqlite? ( dev-db/sqlite:3 )
+ postgres? ( dev-db/postgresql:* )
+ idn? ( net-dns/libidn:= )
+ udns? ( net-libs/udns )
+ ssl? ( dev-libs/botan:2= )
+ !ssl? ( dev-libs/libgcrypt )
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( <dev-cpp/catch-3:0 )
+"
+BDEPEND="dev-python/sphinx"
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-user/biboumi
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+DOCS=( README.rst CHANGELOG.rst doc/user.rst )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0-do-not-use-as-a-namespace-separator-with-expat.patch"
+ "${FILESDIR}/${PN}-9.0-use-system-catch2.patch"
+ "${DISTDIR}/${PN}-9.0-fix-missing-include.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DSERVICE_USER="${PN}"
+ -DSERVICE_GROUP="${PN}"
+ )
+
+ # Account for biboumi's atypical configuration system.
+ if use systemd; then
+ mycmakeargs+=(-DWITH_SYSTEMD=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_SYSTEMD=yes)
+ fi
+
+ if use idn; then
+ mycmakeargs+=(-DWITH_LIBIDN=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_LIBIDN=yes)
+ fi
+
+ if use ssl; then
+ mycmakeargs+=(-DWITH_BOTAN=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_BOTAN=yes)
+ fi
+
+ if use udns; then
+ mycmakeargs+=(-DWITH_UDNS=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_UDNS=yes)
+ fi
+
+ if use sqlite; then
+ mycmakeargs+=(-DWITH_SQLITE3=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_SQLITE3=yes)
+ fi
+
+ if use postgres; then
+ mycmakeargs+=(-DWITH_POSTGRESQL=yes)
+ else
+ mycmakeargs+=(-DWITHOUT_POSTGRESQL=yes)
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ cmake_build man
+}
+
+src_test() {
+ cmake_build check
+}
+
+src_install() {
+ cmake_src_install
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" "${PN}"
+
+ diropts --owner=biboumi --group=biboumi --mode=750
+ if use sqlite; then
+ keepdir /var/lib/biboumi
+ fi
+ keepdir /var/log/biboumi
+
+ insinto /etc/biboumi
+ insopts --group=biboumi --mode=640
+ newins conf/biboumi.cfg biboumi.cfg.example
+}
diff --git a/net-im/biboumi/files/biboumi-9.0-do-not-use-as-a-namespace-separator-with-expat.patch b/net-im/biboumi/files/biboumi-9.0-do-not-use-as-a-namespace-separator-with-expat.patch
new file mode 100644
index 000000000000..f82cbae81928
--- /dev/null
+++ b/net-im/biboumi/files/biboumi-9.0-do-not-use-as-a-namespace-separator-with-expat.patch
@@ -0,0 +1,301 @@
+From 0061298dd0945f7f67e7fa340c6649b179c804d5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?louiz=E2=80=99?= <louiz@louiz.org>
+Date: Thu, 10 Mar 2022 23:23:47 +0100
+Subject: [PATCH] Do not use ':' as a namespace separator with expat
+
+Instead use \1, and build our own nodes by explicitely separating the
+namespace and the node name.
+---
+ src/xmpp/adhoc_command.cpp | 6 +++---
+ src/xmpp/adhoc_commands_handler.cpp | 12 ++++++------
+ src/xmpp/biboumi_adhoc_commands.cpp | 28 ++++++++++++++--------------
+ src/xmpp/xmpp_component.cpp | 2 +-
+ src/xmpp/xmpp_parser.cpp | 2 +-
+ src/xmpp/xmpp_parser.hpp | 4 ++--
+ src/xmpp/xmpp_stanza.cpp | 14 +++++++++++++-
+ src/xmpp/xmpp_stanza.hpp | 6 ++++++
+ tests/xmpp.cpp | 2 ++
+ 9 files changed, 48 insertions(+), 28 deletions(-)
+
+diff --git a/src/xmpp/adhoc_command.cpp b/src/xmpp/adhoc_command.cpp
+index fbf4ce200b82..f8c8e4f146d6 100644
+--- a/src/xmpp/adhoc_command.cpp
++++ b/src/xmpp/adhoc_command.cpp
+@@ -26,7 +26,7 @@ void PingStep1(XmppComponent&, AdhocSession&, XmlNode& command_node)
+
+ void HelloStep1(XmppComponent&, AdhocSession&, XmlNode& command_node)
+ {
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Configure your name.");
+@@ -65,9 +65,9 @@ void HelloStep2(XmppComponent&, AdhocSession& session, XmlNode& command_node)
+ }
+ }
+ command_node.delete_all_children();
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ session.terminate();
+ }
+
+diff --git a/src/xmpp/adhoc_commands_handler.cpp b/src/xmpp/adhoc_commands_handler.cpp
+index ff4c1e5506fb..7a84b2e11a45 100644
+--- a/src/xmpp/adhoc_commands_handler.cpp
++++ b/src/xmpp/adhoc_commands_handler.cpp
+@@ -36,16 +36,16 @@ XmlNode AdhocCommandsHandler::handle_request(const std::string& executor_jid, co
+ auto command_it = this->commands.find(node);
+ if (command_it == this->commands.end())
+ {
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "cancel";
+- XmlSubNode condition(error, STANZA_NS":item-not-found");
++ XmlSubNode condition(error, STANZA_NS, "item-not-found");
+ }
+ else if (command_it->second.is_admin_only() &&
+ !Config::is_in_list("admin", jid.bare()))
+ {
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "cancel";
+- XmlSubNode condition(error, STANZA_NS":forbidden");
++ XmlSubNode condition(error, STANZA_NS, "forbidden");
+ }
+ else
+ {
+@@ -94,9 +94,9 @@ XmlNode AdhocCommandsHandler::handle_request(const std::string& executor_jid, co
+ }
+ else // unsupported action
+ {
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ }
+ }
+ return command_node;
+diff --git a/src/xmpp/biboumi_adhoc_commands.cpp b/src/xmpp/biboumi_adhoc_commands.cpp
+index 792955c37ec7..aea316d64042 100644
+--- a/src/xmpp/biboumi_adhoc_commands.cpp
++++ b/src/xmpp/biboumi_adhoc_commands.cpp
+@@ -34,7 +34,7 @@ void DisconnectUserStep1(XmppComponent& xmpp_component, AdhocSession&, XmlNode&
+ {
+ auto& biboumi_component = dynamic_cast<BiboumiComponent&>(xmpp_component);
+
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Disconnect a user from the gateway");
+@@ -108,9 +108,9 @@ void DisconnectUserStep2(XmppComponent& xmpp_component, AdhocSession& session, X
+ return;
+ }
+ }
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ session.terminate();
+ }
+
+@@ -124,7 +124,7 @@ void ConfigureGlobalStep1(XmppComponent&, AdhocSession& session, XmlNode& comman
+ auto options = Database::get_global_options(owner.bare());
+
+ command_node.delete_all_children();
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Configure some global default settings.");
+@@ -220,9 +220,9 @@ void ConfigureGlobalStep2(XmppComponent& xmpp_component, AdhocSession& session,
+ note.set_inner("Configuration successfully applied.");
+ return;
+ }
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ session.terminate();
+ }
+
+@@ -238,7 +238,7 @@ void ConfigureIrcServerStep1(XmppComponent&, AdhocSession& session, XmlNode& com
+ auto commands = Database::get_after_connection_commands(options);
+
+ command_node.delete_all_children();
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Configure the IRC server " + server_domain);
+@@ -565,9 +565,9 @@ void ConfigureIrcServerStep2(XmppComponent& xmpp_component, AdhocSession& sessio
+ note.set_inner("Configuration successfully applied.");
+ return;
+ }
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ session.terminate();
+ }
+
+@@ -586,7 +586,7 @@ void insert_irc_channel_configuration_form(XmlNode& node, const Jid& requester,
+ auto options = Database::get_irc_channel_options_with_server_default(requester.local + "@" + requester.domain,
+ iid.get_server(), iid.get_local());
+ node.delete_all_children();
+- XmlSubNode x(node, "jabber:x:data:x");
++ XmlSubNode x(node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Configure the IRC channel " + iid.get_local() + " on server " + iid.get_server());
+@@ -671,9 +671,9 @@ void ConfigureIrcChannelStep2(XmppComponent& xmpp_component, AdhocSession& sessi
+ }
+ else
+ {
+- XmlSubNode error(command_node, ADHOC_NS":error");
++ XmlSubNode error(command_node, ADHOC_NS, "error");
+ error["type"] = "modify";
+- XmlSubNode condition(error, STANZA_NS":bad-request");
++ XmlSubNode condition(error, STANZA_NS, "bad-request");
+ session.terminate();
+ }
+ }
+@@ -749,7 +749,7 @@ void DisconnectUserFromServerStep1(XmppComponent& xmpp_component, AdhocSession&
+ { // Send a form to select the user to disconnect
+ auto& biboumi_component = dynamic_cast<BiboumiComponent&>(xmpp_component);
+
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Disconnect a user from selected IRC servers");
+@@ -794,7 +794,7 @@ void DisconnectUserFromServerStep2(XmppComponent& xmpp_component, AdhocSession&
+ command_node.delete_all_children();
+ auto& biboumi_component = dynamic_cast<BiboumiComponent&>(xmpp_component);
+
+- XmlSubNode x(command_node, "jabber:x:data:x");
++ XmlSubNode x(command_node, "jabber:x:data", "x");
+ x["type"] = "form";
+ XmlSubNode title(x, "title");
+ title.set_inner("Disconnect a user from selected IRC servers");
+diff --git a/src/xmpp/xmpp_component.cpp b/src/xmpp/xmpp_component.cpp
+index de9a7a631be6..62a98ce3bb2c 100644
+--- a/src/xmpp/xmpp_component.cpp
++++ b/src/xmpp/xmpp_component.cpp
+@@ -175,7 +175,7 @@ void XmppComponent::on_stanza(const Stanza& stanza)
+
+ void XmppComponent::send_stream_error(const std::string& name, const std::string& explanation)
+ {
+- Stanza node("stream:error");
++ Stanza node("stream", "error");
+ {
+ XmlSubNode error(node, name);
+ error["xmlns"] = STREAM_NS;
+diff --git a/src/xmpp/xmpp_parser.cpp b/src/xmpp/xmpp_parser.cpp
+index 781fe4cd94b0..1f25fa6f982b 100644
+--- a/src/xmpp/xmpp_parser.cpp
++++ b/src/xmpp/xmpp_parser.cpp
+@@ -38,7 +38,7 @@ XmppParser::XmppParser():
+ void XmppParser::init_xml_parser()
+ {
+ // Create the expat parser
+- this->parser = XML_ParserCreateNS("UTF-8", ':');
++ this->parser = XML_ParserCreateNS("UTF-8", '\1');
+ XML_SetUserData(this->parser, static_cast<void*>(this));
+
+ // Install Expat handlers
+diff --git a/src/xmpp/xmpp_parser.hpp b/src/xmpp/xmpp_parser.hpp
+index ec42f9a326e1..1e5e4e55a875 100644
+--- a/src/xmpp/xmpp_parser.hpp
++++ b/src/xmpp/xmpp_parser.hpp
+@@ -18,9 +18,9 @@
+ * stanza is reasonnably short.
+ *
+ * The element names generated by expat contain the namespace of the
+- * element, a colon (':') and then the actual name of the element. To get
++ * element, a \1 separator and then the actual name of the element. To get
+ * an element "x" with a namespace of "http://jabber.org/protocol/muc", you
+- * just look for an XmlNode named "http://jabber.org/protocol/muc:x"
++ * just look for an XmlNode named "http://jabber.org/protocol/muc\1x"
+ *
+ * TODO: enforce the size-limit for the stanza (limit the number of childs
+ * it can contain). For example forbid the parser going further than level
+diff --git a/src/xmpp/xmpp_stanza.cpp b/src/xmpp/xmpp_stanza.cpp
+index 435f33313b09..0103dd71a357 100644
+--- a/src/xmpp/xmpp_stanza.cpp
++++ b/src/xmpp/xmpp_stanza.cpp
+@@ -52,7 +52,7 @@ XmlNode::XmlNode(const std::string& name, XmlNode* parent):
+ parent(parent)
+ {
+ // split the namespace and the name
+- auto n = name.rfind(':');
++ auto n = name.rfind('\1');
+ if (n == std::string::npos)
+ this->name = name;
+ else
+@@ -67,6 +67,18 @@ XmlNode::XmlNode(const std::string& name):
+ {
+ }
+
++XmlNode::XmlNode(const std::string& xmlns, const std::string& name, XmlNode* parent):
++ name(name),
++ parent(parent)
++{
++ this->attributes["xmlns"] = xmlns;
++}
++
++XmlNode::XmlNode(const std::string& xmlns, const std::string& name):
++ XmlNode(xmlns, name, nullptr)
++{
++}
++
+ void XmlNode::delete_all_children()
+ {
+ this->children.clear();
+diff --git a/src/xmpp/xmpp_stanza.hpp b/src/xmpp/xmpp_stanza.hpp
+index f4b394814e5b..a706337baca0 100644
+--- a/src/xmpp/xmpp_stanza.hpp
++++ b/src/xmpp/xmpp_stanza.hpp
+@@ -25,6 +25,8 @@ class XmlNode
+ public:
+ explicit XmlNode(const std::string& name, XmlNode* parent);
+ explicit XmlNode(const std::string& name);
++ explicit XmlNode(const std::string& xmlns, const std::string& name, XmlNode* parent);
++ explicit XmlNode(const std::string& xmlns, const std::string& name);
+ /**
+ * The copy constructor does not copy the parent attribute. The children
+ * nodes are all copied recursively.
+@@ -150,6 +152,10 @@ public:
+ XmlNode(name),
+ parent_to_add(parent_ref)
+ {}
++ XmlSubNode(XmlNode& parent_ref, const std::string& xmlns, const std::string& name):
++ XmlNode(xmlns, name),
++ parent_to_add(parent_ref)
++ {}
+
+ ~XmlSubNode()
+ {
+diff --git a/tests/xmpp.cpp b/tests/xmpp.cpp
+index 14c51daa460f..c49c2fda94ea 100644
+--- a/tests/xmpp.cpp
++++ b/tests/xmpp.cpp
+@@ -67,6 +67,8 @@ TEST_CASE("substanzas")
+ CHECK(!d.has_children());
+ }
+ CHECK(b.has_children());
++ XmlSubNode e(a, "namespace", "name");
++ CHECK(e.get_tag("xmlns") == "namespace");
+ }
+ CHECK(a.has_children());
+ }
+--
+2.34.1
+
diff --git a/net-im/biboumi/files/biboumi-9.0-use-system-catch2.patch b/net-im/biboumi/files/biboumi-9.0-use-system-catch2.patch
new file mode 100644
index 000000000000..edda7a37c50b
--- /dev/null
+++ b/net-im/biboumi/files/biboumi-9.0-use-system-catch2.patch
@@ -0,0 +1,229 @@
+From 414ab9e13fc9e9fa79f7f0a8e1b4a46cd3bd92fd Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Sun, 27 Feb 2022 11:06:42 +0100
+Subject: [PATCH] Use the system installation of catch2 if possible
+
+---
+ CMakeLists.txt | 41 ++++++++++++++++++++++++-----------------
+ tests/colors.cpp | 2 +-
+ tests/config.cpp | 2 +-
+ tests/database.cpp | 2 +-
+ tests/encoding.cpp | 2 +-
+ tests/iid.cpp | 2 +-
+ tests/io_tester.cpp | 2 +-
+ tests/irc.cpp | 2 +-
+ tests/jid.cpp | 2 +-
+ tests/logger.cpp | 2 +-
+ tests/network.cpp | 2 +-
+ tests/test.cpp | 2 +-
+ tests/timed_events.cpp | 2 +-
+ tests/utils.cpp | 2 +-
+ tests/uuid.cpp | 2 +-
+ tests/xmpp.cpp | 2 +-
+ 16 files changed, 39 insertions(+), 32 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f07b97feb57b..8175012fe070 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -288,24 +288,31 @@ foreach(file ${source_all})
+ endforeach()
+
+ #
+-## Add a rule to download the catch unit test framework
++## Catch unit test framework
+ #
+-include(ExternalProject)
+-ExternalProject_Add(catch
+- GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git"
+- PREFIX "external"
+- UPDATE_COMMAND ""
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND ""
+- INSTALL_COMMAND ""
+- )
+-set_target_properties(catch PROPERTIES EXCLUDE_FROM_ALL TRUE)
+-ExternalProject_Get_Property(catch SOURCE_DIR)
+-if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp)
+- target_include_directories(test_suite
+- PUBLIC "${SOURCE_DIR}/single_include/"
+- )
+- add_dependencies(test_suite catch)
++find_package(Catch2 2.2.1)
++if(Catch2_FOUND)
++ target_link_libraries(test_suite Catch2::Catch2)
++else()
++ # No system-wide installation of the catch unit test framework was
++ # found, download it.
++ include(ExternalProject)
++ ExternalProject_Add(catch
++ GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git"
++ PREFIX "external"
++ UPDATE_COMMAND ""
++ CONFIGURE_COMMAND ""
++ BUILD_COMMAND ""
++ INSTALL_COMMAND ""
++ )
++ set_target_properties(catch PROPERTIES EXCLUDE_FROM_ALL TRUE)
++ ExternalProject_Get_Property(catch SOURCE_DIR)
++ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp)
++ target_include_directories(test_suite
++ PUBLIC "${SOURCE_DIR}/single_include/"
++ )
++ add_dependencies(test_suite catch)
++ endif()
+ endif()
+
+ #
+diff --git a/tests/colors.cpp b/tests/colors.cpp
+index bf529896dce7..a9761dfff648 100644
+--- a/tests/colors.cpp
++++ b/tests/colors.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <bridge/colors.hpp>
+ #include <xmpp/xmpp_stanza.hpp>
+diff --git a/tests/config.cpp b/tests/config.cpp
+index ec9844fbd5f6..76cfe92e3e51 100644
+--- a/tests/config.cpp
++++ b/tests/config.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+ #include "io_tester.hpp"
+
+ #include <iostream>
+diff --git a/tests/database.cpp b/tests/database.cpp
+index 070a46013997..bf6bc20324cb 100644
+--- a/tests/database.cpp
++++ b/tests/database.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <biboumi.h>
+
+diff --git a/tests/encoding.cpp b/tests/encoding.cpp
+index b5192ffbdb8d..8129abc9230e 100644
+--- a/tests/encoding.cpp
++++ b/tests/encoding.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <utils/encoding.hpp>
+
+diff --git a/tests/iid.cpp b/tests/iid.cpp
+index 63b2ba38ca55..7e61f35e348b 100644
+--- a/tests/iid.cpp
++++ b/tests/iid.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <irc/iid.hpp>
+ #include <irc/irc_user.hpp>
+diff --git a/tests/io_tester.cpp b/tests/io_tester.cpp
+index 19c97c91aff8..34f89fdac603 100644
+--- a/tests/io_tester.cpp
++++ b/tests/io_tester.cpp
+@@ -1,5 +1,5 @@
+ #include "io_tester.hpp"
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+ #include <iostream>
+
+ /**
+diff --git a/tests/irc.cpp b/tests/irc.cpp
+index 0f30f15e2fdf..cb53e3f226ff 100644
+--- a/tests/irc.cpp
++++ b/tests/irc.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <irc/irc_message.hpp>
+
+diff --git a/tests/jid.cpp b/tests/jid.cpp
+index 592d6f3d0b78..516f961fabbb 100644
+--- a/tests/jid.cpp
++++ b/tests/jid.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <xmpp/jid.hpp>
+ #include <biboumi.h>
+diff --git a/tests/logger.cpp b/tests/logger.cpp
+index 1e3392a4bd43..b4736da3648d 100644
+--- a/tests/logger.cpp
++++ b/tests/logger.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <logger/logger.hpp>
+ #include <config/config.hpp>
+diff --git a/tests/network.cpp b/tests/network.cpp
+index a52eb6acfef8..790190f8d0bf 100644
+--- a/tests/network.cpp
++++ b/tests/network.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+ #include <network/tls_policy.hpp>
+ #include <sstream>
+
+diff --git a/tests/test.cpp b/tests/test.cpp
+index 0c7c351f437f..62bf7476a189 100644
+--- a/tests/test.cpp
++++ b/tests/test.cpp
+@@ -1,2 +1,2 @@
+ #define CATCH_CONFIG_MAIN
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+diff --git a/tests/timed_events.cpp b/tests/timed_events.cpp
+index fece422e99d5..6eaf99b3e1b9 100644
+--- a/tests/timed_events.cpp
++++ b/tests/timed_events.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <utils/timed_events.hpp>
+
+diff --git a/tests/utils.cpp b/tests/utils.cpp
+index 6151733e7cf4..22b45cf3113b 100644
+--- a/tests/utils.cpp
++++ b/tests/utils.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <utils/tolower.hpp>
+ #include <utils/revstr.hpp>
+diff --git a/tests/uuid.cpp b/tests/uuid.cpp
+index 12c6c32adbeb..7720e3aaee30 100644
+--- a/tests/uuid.cpp
++++ b/tests/uuid.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <xmpp/xmpp_component.hpp>
+
+diff --git a/tests/xmpp.cpp b/tests/xmpp.cpp
+index 14c51daa460f..01508a63481d 100644
+--- a/tests/xmpp.cpp
++++ b/tests/xmpp.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include "catch2/catch.hpp"
+
+ #include <xmpp/xmpp_parser.hpp>
+ #include <xmpp/auth.hpp>
+--
+2.34.1
+
diff --git a/net-im/biboumi/files/biboumi.initd b/net-im/biboumi/files/biboumi.initd
new file mode 100644
index 000000000000..665db9120c9c
--- /dev/null
+++ b/net-im/biboumi/files/biboumi.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="XMPP gateway to IRC"
+pidfile="/var/run/biboumi.pid"
+command="/usr/bin/biboumi"
+command_args="${BIBOUMI_CONFIG:-/etc/biboumi/biboumi.cfg}"
+command_user="${BIBOUMI_USER:-biboumi}"
+command_background="true"
+extra_commands="reload"
+
+depend() {
+ use jabber-server
+}
+
+reload() {
+ ebegin "Reloading configuration of Biboumi"
+ start-stop-daemon --pidfile ${pidfile} --signal USR1
+ eend $?
+}
diff --git a/net-im/biboumi/files/biboumi.logrotate b/net-im/biboumi/files/biboumi.logrotate
new file mode 100644
index 000000000000..19964cf60f3f
--- /dev/null
+++ b/net-im/biboumi/files/biboumi.logrotate
@@ -0,0 +1,10 @@
+/var/log/biboumi/*.log {
+ missingok
+ notifempty
+ sharedscripts
+ postrotate
+ for service in /etc/init.d/biboumi*; do
+ rc-service $(basename ${service}) reload > /dev/null
+ done
+ endscript
+}
diff --git a/net-im/biboumi/metadata.xml b/net-im/biboumi/metadata.xml
new file mode 100644
index 000000000000..1ba5005dccac
--- /dev/null
+++ b/net-im/biboumi/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Biboumi is an XMPP gateway that connects to IRC servers and translates
+ between the two protocols. It can be used to access IRC channels using
+ any XMPP client as if these channels were XMPP MUCs.
+ </longdescription>
+ <upstream>
+ <remote-id type="codeberg">poezio/biboumi</remote-id>
+ <doc>https://doc.biboumi.louiz.org</doc>
+ <bugs-to>https://codeberg.org/poezio/biboumi/issues</bugs-to>
+ </upstream>
+ <use>
+ <flag name="udns">Asynchronously resolve domain names using
+ <pkg>net-libs/udns</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/net-im/bitlbee-facebook/Manifest b/net-im/bitlbee-facebook/Manifest
index b5f01ba7b497..44f387fbfa4e 100644
--- a/net-im/bitlbee-facebook/Manifest
+++ b/net-im/bitlbee-facebook/Manifest
@@ -1,2 +1 @@
-DIST bitlbee-facebook-1.1.2.tar.gz 67269 BLAKE2B 7f6b9c3706a6955d49dd79e7ee25e252679838468011a5044b0e8fa140cd7d144fca86ef9d65fccb65b9c1844348dcca292a3cde16c9371264e252d28dc1cbf8 SHA512 3e27935cd4c8c1d55de9dfe9d6fd1e7aef1bf410e64c711436875ddfb83f67f1da0055af3b279d2d6627bafe438a7689e280c2bfd51ec4f64cf7c614182003da
-DIST bitlbee-facebook-1.2.0.tar.gz 71718 BLAKE2B 967e2f4250e92c88a74e32b1ddda8d96327a6e190e4b17e416f20e27e7a07083ae8ff2e2006de6ab114a98d7f81deccf515aec9206a7f0a2470ae67f5c787662 SHA512 b815dcaceb9ee12a68cfe7401da503139ba92cb0396e8d52e5491fed04431d2c6e4cf667bcc6f457bc51b916c8dc1dc43dc277ff0a683a1c0d72a65e819fe5b4
+DIST bitlbee-facebook-1.2.2.tar.gz 71918 BLAKE2B 674cb8565f88faff695d5b14010036f6d3c65bcdab9a6fba84c5f0d775a59d02abfd863be5af4ddc7c3361a49c6345d0ef57bbd8b02202b7e24e62b31c2c6844 SHA512 534e7e704e7ddd296c810819171b9c4770747dde109a9bbdfb41fc05602b1d9ad9bfd2ec6c7a62ffb0c85ec61252b1597217cdee7ccffd191da897a7d40085cc
diff --git a/net-im/bitlbee-facebook/bitlbee-facebook-1.1.2.ebuild b/net-im/bitlbee-facebook/bitlbee-facebook-1.1.2.ebuild
deleted file mode 100644
index 5e6c0743780d..000000000000
--- a/net-im/bitlbee-facebook/bitlbee-facebook-1.1.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2017-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Facebook protocol plugin for BitlBee"
-HOMEPAGE="https://github.com/bitlbee/bitlbee-facebook"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-if [[ ${PV} == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/bitlbee/bitlbee-facebook"
-else
- SRC_URI="https://github.com/bitlbee/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/json-glib
- >=net-im/bitlbee-3[plugins]"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- virtual/pkgconfig"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/net-im/bitlbee-facebook/bitlbee-facebook-1.2.0.ebuild b/net-im/bitlbee-facebook/bitlbee-facebook-1.2.2.ebuild
index f7a43704ab51..f220232e1764 100644
--- a/net-im/bitlbee-facebook/bitlbee-facebook-1.2.0.ebuild
+++ b/net-im/bitlbee-facebook/bitlbee-facebook-1.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2017-2019 Gentoo Authors
+# Copyright 2017-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee-facebook"
else
SRC_URI="https://github.com/bitlbee/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
RDEPEND="
diff --git a/net-im/bitlbee-facebook/metadata.xml b/net-im/bitlbee-facebook/metadata.xml
index 6aab9ecf858d..1edcb6c6986c 100644
--- a/net-im/bitlbee-facebook/metadata.xml
+++ b/net-im/bitlbee-facebook/metadata.xml
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>arkamar@atlas.cz</email>
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- The Facebook protocol plugin for bitlbee. This plugin uses the Facebook
- Mobile API.
- </longdescription>
<upstream>
<maintainer status="active">
<email>jgeboski@gmail.com</email>
diff --git a/net-im/bitlbee-steam/bitlbee-steam-1.4.2.ebuild b/net-im/bitlbee-steam/bitlbee-steam-1.4.2.ebuild
index c0ec7c0ca9c8..e49b0bf478ea 100644
--- a/net-im/bitlbee-steam/bitlbee-steam-1.4.2.ebuild
+++ b/net-im/bitlbee-steam/bitlbee-steam-1.4.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit ltprune autotools
+inherit autotools
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee-steam.git"
@@ -23,8 +23,8 @@ RDEPEND="
dev-libs/glib:2
dev-libs/libgcrypt:0=
>=net-im/bitlbee-3.4[plugins]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
src_prepare() {
default
@@ -33,5 +33,6 @@ src_prepare() {
src_install() {
default
- prune_libtool_files --modules
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-im/bitlbee-steam/bitlbee-steam-9999.ebuild b/net-im/bitlbee-steam/bitlbee-steam-9999.ebuild
index c0ec7c0ca9c8..e49b0bf478ea 100644
--- a/net-im/bitlbee-steam/bitlbee-steam-9999.ebuild
+++ b/net-im/bitlbee-steam/bitlbee-steam-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit ltprune autotools
+inherit autotools
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee-steam.git"
@@ -23,8 +23,8 @@ RDEPEND="
dev-libs/glib:2
dev-libs/libgcrypt:0=
>=net-im/bitlbee-3.4[plugins]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
src_prepare() {
default
@@ -33,5 +33,6 @@ src_prepare() {
src_install() {
default
- prune_libtool_files --modules
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-im/bitlbee-steam/metadata.xml b/net-im/bitlbee-steam/metadata.xml
index af61b42a1bcb..5e02b3f0fed5 100644
--- a/net-im/bitlbee-steam/metadata.xml
+++ b/net-im/bitlbee-steam/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<longdescription lang="en">
diff --git a/net-im/bitlbee/Manifest b/net-im/bitlbee/Manifest
index 89d1716f8e66..062d56d7000d 100644
--- a/net-im/bitlbee/Manifest
+++ b/net-im/bitlbee/Manifest
@@ -1,2 +1 @@
-DIST bitlbee-3.5.1.tar.gz 680351 BLAKE2B 952a12975d4f95020a5b577603aea791fca754006dc96af3c500d3885b6f2c50cabe51ab698625acb717524a729ef03d18a29aa25bd4815bae2f18fa6298aeea SHA512 4eb3b0d3a92910c8dd789cd23338cc6296bf40212c5244fcb27a88ede10e86424ea59c78e719841863701a7fdd8c61819f2775f7b58833e287d9110e49d036f3
DIST bitlbee-3.6.tar.gz 534961 BLAKE2B 007681a384fcb2c0736b901dfdc213ba0829ca006ad3204aca1bc4520a3874760867df6165a9218a9deeabb13bc06f118c9e2f804a97e671a348734f6cb7e963 SHA512 ccbf0f23e228de2de147241f36f59744b2256cba958e2fabfba0cfa60935e55bbb7d7e20fffa54da9a345e55ffa9ca82cb62e9b99dc738ba35c6e268c6561a8d
diff --git a/net-im/bitlbee/bitlbee-3.5.1.ebuild b/net-im/bitlbee/bitlbee-3.5.1.ebuild
deleted file mode 100644
index e1536d6244b4..000000000000
--- a/net-im/bitlbee/bitlbee-3.5.1.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit user systemd toolchain-funcs
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
- inherit git-r3
-else
- SRC_URI="https://get.bitlbee.org/src/${P}.tar.gz"
- KEYWORDS="amd64 ppc ~ppc64 x86 ~x86-fbsd"
-fi
-
-DESCRIPTION="irc to IM gateway that support multiple IM protocols"
-HOMEPAGE="https://www.bitlbee.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE_PROTOCOLS="msn oscar purple twitter +xmpp"
-IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
- ${IUSE_PROTOCOLS}"
-
-REQUIRED_USE="
- || ( purple xmpp msn oscar )
- xmpp? ( !nss )
- test? ( plugins )
-"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.16
- purple? ( net-im/pidgin )
- libevent? ( dev-libs/libevent:= )
- otr? ( >=net-libs/libotr-4 )
- gnutls? ( net-libs/gnutls:= )
- !gnutls? (
- nss? ( dev-libs/nss )
- !nss? (
- libressl? ( dev-libs/libressl:= )
- !libressl? ( dev-libs/openssl:0= )
- )
- )
-"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
- selinux? ( sec-policy/selinux-bitlbee )
- test? ( dev-libs/check )"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/logger
- xinetd? ( sys-apps/xinetd )"
-
-pkg_setup() {
- enewgroup bitlbee
- enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee
-}
-
-src_prepare() {
- if [[ ${PV} != "9999" ]]; then
- eapply \
- "${FILESDIR}"/${PN}-3.5-systemd-user.patch \
- "${FILESDIR}"/${PN}-3.5-verbose-build.patch
- fi
-
- eapply_user
-}
-
-src_configure() {
- local myconf
-
- # setup plugins, protocol, ipv6 and debug
- myconf+=( --jabber=$(usex xmpp 1 0) )
- for flag in debug ipv6 plugins ${IUSE_PROTOCOLS/+xmpp/} ; do
- myconf+=( --${flag}=$(usex ${flag} 1 0) )
- done
-
- # set otr
- if use otr && use plugins ; then
- myconf+=( --otr=plugin )
- else
- if use otr ; then
- ewarn "OTR support has been disabled automatically because it"
- ewarn "requires the plugins USE flag."
- fi
- myconf+=( --otr=0 )
- fi
-
- # setup ssl use flags
- if use gnutls ; then
- myconf+=( --ssl=gnutls )
- einfo "Using gnutls for SSL support"
- else
- ewarn "Only gnutls is officially supported by upstream."
- if use nss ; then
- myconf+=( --ssl=nss )
- einfo "Using nss for SSL support"
- else
- myconf+=( --ssl=openssl )
- einfo "Using openssl for SSL support"
- fi
- fi
-
- # set event handler
- if use libevent ; then
- myconf+=( --events=libevent )
- else
- myconf+=( --events=glib )
- fi
-
- # not autotools-based
- ./configure \
- --prefix=/usr \
- --datadir=/usr/share/bitlbee \
- --etcdir=/etc/bitlbee \
- --plugindir=/usr/$(get_libdir)/bitlbee \
- --systemdsystemunitdir=$(systemd_get_systemunitdir) \
- --doc=1 \
- --strip=0 \
- --verbose=1 \
- "${myconf[@]}" || die
-
- sed -i \
- -e "/^EFLAGS/s:=:&${LDFLAGS} :" \
- Makefile.settings || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" LD="$(tc-getLD)"
-}
-
-src_install() {
- emake DESTDIR="${D}" install install-etc install-doc install-dev install-systemd
-
- keepdir /var/lib/bitlbee
- fperms 700 /var/lib/bitlbee
- fowners bitlbee:bitlbee /var/lib/bitlbee
-
- dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README}
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins doc/bitlbee.xinetd bitlbee
- fi
-
- newinitd "${FILESDIR}"/bitlbee.initd-r1 bitlbee
- newconfd "${FILESDIR}"/bitlbee.confd-r1 bitlbee
-
- exeinto /usr/share/bitlbee
- doexe utils/{convert_purple.py,bitlbee-ctl.pl}
-}
-
-pkg_postinst() {
- chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee
- [[ -d "${ROOT}"/var/run/bitlbee ]] &&
- chown -R bitlbee:bitlbee "${ROOT}"/var/run/bitlbee
-
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- einfo
- elog "The bitlbee init script will now attempt to stop all processes owned by the"
- elog "bitlbee user, including per-client forks."
- elog
- elog "Tell the init script not to touch anything besides the main bitlbee process"
- elog "by changing the BITLBEE_STOP_ALL variable in"
- elog " /etc/conf.d/bitlbee"
- einfo
- fi
-}
diff --git a/net-im/bitlbee/bitlbee-3.6.ebuild b/net-im/bitlbee/bitlbee-3.6-r3.ebuild
index 1108861dd629..5978987e6e22 100644
--- a/net-im/bitlbee/bitlbee-3.6.ebuild
+++ b/net-im/bitlbee/bitlbee-3.6-r3.ebuild
@@ -1,16 +1,18 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit user systemd toolchain-funcs
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit python-any-r1 systemd toolchain-funcs
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
inherit git-r3
else
SRC_URI="https://get.bitlbee.org/src/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+ KEYWORDS="amd64 ~arm64 ppc ~ppc64 x86"
fi
DESCRIPTION="irc to IM gateway that support multiple IM protocols"
@@ -18,19 +20,22 @@ HOMEPAGE="https://www.bitlbee.org/"
LICENSE="GPL-2"
SLOT="0"
-IUSE_PROTOCOLS="msn oscar purple twitter +xmpp"
-IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
+IUSE_PROTOCOLS="purple twitter +xmpp"
+IUSE="debug +gnutls ipv6 libevent nss otr +plugins selinux test xinetd
${IUSE_PROTOCOLS}"
RESTRICT="!test? ( test )"
REQUIRED_USE="
- || ( purple xmpp msn oscar )
- xmpp? ( !nss )
- test? ( plugins )
+ || ( purple xmpp )
+ purple? ( plugins )
+ test? ( xmpp )
"
COMMON_DEPEND="
- >=dev-libs/glib-2.16
+ acct-group/bitlbee
+ acct-user/bitlbee
+ dev-libs/glib:2
+ dev-libs/json-parser:=
purple? ( net-im/pidgin )
libevent? ( dev-libs/libevent:= )
otr? ( >=net-libs/libotr-4 )
@@ -38,28 +43,30 @@ COMMON_DEPEND="
!gnutls? (
nss? ( dev-libs/nss )
!nss? (
- libressl? ( dev-libs/libressl:= )
- !libressl? ( dev-libs/openssl:0= )
+ dev-libs/openssl:0=
)
)
"
DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
selinux? ( sec-policy/selinux-bitlbee )
- test? ( dev-libs/check )"
+ test? ( dev-libs/check )
+"
RDEPEND="${COMMON_DEPEND}
- xinetd? ( sys-apps/xinetd )"
+ xinetd? ( sys-apps/xinetd )
+"
-pkg_setup() {
- enewgroup bitlbee
- enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee
-}
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+"
-src_prepare() {
- [[ ${PV} != "9999" ]] && eapply "${FILESDIR}"/${PN}-3.5-systemd-user.patch
- eapply_user
-}
+PATCHES=(
+ "${FILESDIR}/${PN}-3.5-systemd-user.patch"
+ "${FILESDIR}/${PN}-3.5-libcheck.patch"
+ "${FILESDIR}/${PN}-3.5-libevent.patch"
+ "${FILESDIR}/${P}-disabled-plugins-use.patch"
+ "${FILESDIR}/${P}-system-json-parser.patch"
+)
src_configure() {
local myconf
@@ -108,7 +115,10 @@ src_configure() {
--prefix=/usr \
--datadir=/usr/share/bitlbee \
--etcdir=/etc/bitlbee \
+ --libdir=/usr/$(get_libdir) \
+ --pcdir=/usr/$(get_libdir)/pkgconfig \
--plugindir=/usr/$(get_libdir)/bitlbee \
+ --externaljsonparser=1 \
--systemdsystemunitdir=$(systemd_get_systemunitdir) \
--doc=1 \
--strip=0 \
@@ -144,7 +154,3 @@ src_install() {
exeinto /usr/share/bitlbee
doexe utils/{convert_purple.py,bitlbee-ctl.pl}
}
-
-pkg_postinst() {
- chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee
-}
diff --git a/net-im/bitlbee/bitlbee-9999.ebuild b/net-im/bitlbee/bitlbee-9999.ebuild
index 1108861dd629..8fe3918c4465 100644
--- a/net-im/bitlbee/bitlbee-9999.ebuild
+++ b/net-im/bitlbee/bitlbee-9999.ebuild
@@ -1,16 +1,18 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit user systemd toolchain-funcs
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit python-any-r1 systemd toolchain-funcs
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
inherit git-r3
else
SRC_URI="https://get.bitlbee.org/src/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="irc to IM gateway that support multiple IM protocols"
@@ -18,19 +20,22 @@ HOMEPAGE="https://www.bitlbee.org/"
LICENSE="GPL-2"
SLOT="0"
-IUSE_PROTOCOLS="msn oscar purple twitter +xmpp"
-IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
+IUSE_PROTOCOLS="purple twitter +xmpp"
+IUSE="debug +gnutls ipv6 libevent nss otr +plugins selinux test xinetd
${IUSE_PROTOCOLS}"
RESTRICT="!test? ( test )"
REQUIRED_USE="
- || ( purple xmpp msn oscar )
- xmpp? ( !nss )
- test? ( plugins )
+ || ( purple xmpp )
+ purple? ( plugins )
+ test? ( xmpp )
"
COMMON_DEPEND="
- >=dev-libs/glib-2.16
+ acct-group/bitlbee
+ acct-user/bitlbee
+ dev-libs/glib:2
+ dev-libs/json-parser:=
purple? ( net-im/pidgin )
libevent? ( dev-libs/libevent:= )
otr? ( >=net-libs/libotr-4 )
@@ -38,28 +43,26 @@ COMMON_DEPEND="
!gnutls? (
nss? ( dev-libs/nss )
!nss? (
- libressl? ( dev-libs/libressl:= )
- !libressl? ( dev-libs/openssl:0= )
+ dev-libs/openssl:0=
)
)
"
DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
selinux? ( sec-policy/selinux-bitlbee )
- test? ( dev-libs/check )"
+ test? ( dev-libs/check )
+"
RDEPEND="${COMMON_DEPEND}
- xinetd? ( sys-apps/xinetd )"
+ xinetd? ( sys-apps/xinetd )
+"
-pkg_setup() {
- enewgroup bitlbee
- enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee
-}
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+"
-src_prepare() {
- [[ ${PV} != "9999" ]] && eapply "${FILESDIR}"/${PN}-3.5-systemd-user.patch
- eapply_user
-}
+PATCHES=(
+ "${FILESDIR}/${PN}-3.5-systemd-user.patch"
+)
src_configure() {
local myconf
@@ -108,7 +111,10 @@ src_configure() {
--prefix=/usr \
--datadir=/usr/share/bitlbee \
--etcdir=/etc/bitlbee \
+ --libdir=/usr/$(get_libdir) \
+ --pcdir=/usr/$(get_libdir)/pkgconfig \
--plugindir=/usr/$(get_libdir)/bitlbee \
+ --external_json_parser=1 \
--systemdsystemunitdir=$(systemd_get_systemunitdir) \
--doc=1 \
--strip=0 \
@@ -144,7 +150,3 @@ src_install() {
exeinto /usr/share/bitlbee
doexe utils/{convert_purple.py,bitlbee-ctl.pl}
}
-
-pkg_postinst() {
- chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee
-}
diff --git a/net-im/bitlbee/files/bitlbee-3.5-libcheck.patch b/net-im/bitlbee/files/bitlbee-3.5-libcheck.patch
new file mode 100644
index 000000000000..474789e5e1c9
--- /dev/null
+++ b/net-im/bitlbee/files/bitlbee-3.5-libcheck.patch
@@ -0,0 +1,645 @@
+diff --git a/tests/check_arc.c b/tests/check_arc.c
+index 9fcd4b25..c7e1dfef 100644
+--- a/tests/check_arc.c
++++ b/tests/check_arc.c
+@@ -17,7 +17,7 @@ char *clear_tests[] =
+ NULL
+ };
+
+-static void check_codec(int l)
++START_TEST(check_codec)
+ {
+ int i;
+
+@@ -37,6 +37,7 @@ static void check_codec(int l)
+ g_free(decrypted);
+ }
+ }
++END_TEST
+
+ struct {
+ unsigned char crypted[30];
+@@ -72,7 +73,7 @@ struct {
+ { "", 0, NULL }
+ };
+
+-static void check_decod(int l)
++START_TEST(check_decod)
+ {
+ int i;
+
+@@ -92,6 +93,7 @@ static void check_decod(int l)
+ g_free(decrypted);
+ }
+ }
++END_TEST
+
+ Suite *arc_suite(void)
+ {
+diff --git a/tests/check_help.c b/tests/check_help.c
+index 92d7c28f..ccf136a4 100644
+--- a/tests/check_help.c
++++ b/tests/check_help.c
+@@ -7,20 +7,24 @@
+ #include "help.h"
+
+ START_TEST(test_help_initfree)
+-help_t * h, *r;
+-r = help_init(&h, "/dev/null");
+-fail_if(r == NULL);
+-fail_if(r != h);
++{
++ help_t * h, *r;
++ r = help_init(&h, "/dev/null");
++ fail_if(r == NULL);
++ fail_if(r != h);
+
+-help_free(&h);
+-fail_if(h != NULL);
++ help_free(&h);
++ fail_if(h != NULL);
++}
+ END_TEST
+
+ START_TEST(test_help_nonexistent)
+-help_t * h, *r;
+-r = help_init(&h, "/dev/null");
+-fail_unless(help_get(&h, "nonexistent") == NULL);
+-fail_if(r == NULL);
++{
++ help_t * h, *r;
++ r = help_init(&h, "/dev/null");
++ fail_unless(help_get(&h, "nonexistent") == NULL);
++ fail_if(r == NULL);
++}
+ END_TEST
+
+ Suite *help_suite(void)
+diff --git a/tests/check_irc.c b/tests/check_irc.c
+index 5c940729..e2054106 100644
+--- a/tests/check_irc.c
++++ b/tests/check_irc.c
+@@ -8,49 +8,53 @@
+ #include "testsuite.h"
+
+ START_TEST(test_connect)
+-GIOChannel * ch1, *ch2;
+-irc_t *irc;
+-char *raw;
+-fail_unless(g_io_channel_pair(&ch1, &ch2));
++{
++ GIOChannel * ch1, *ch2;
++ irc_t *irc;
++ char *raw;
++ fail_unless(g_io_channel_pair(&ch1, &ch2));
+
+-irc = irc_new(g_io_channel_unix_get_fd(ch1));
++ irc = irc_new(g_io_channel_unix_get_fd(ch1));
+
+-irc_free(irc);
++ irc_free(irc);
+
+-fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
++ fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
+
+-fail_if(strcmp(raw, "") != 0);
++ fail_if(strcmp(raw, "") != 0);
+
+-g_free(raw);
++ g_free(raw);
++}
+ END_TEST
+
+ START_TEST(test_login)
+-GIOChannel * ch1, *ch2;
+-irc_t *irc;
+-char *raw;
+-fail_unless(g_io_channel_pair(&ch1, &ch2));
++{
++ GIOChannel * ch1, *ch2;
++ irc_t *irc;
++ char *raw;
++ fail_unless(g_io_channel_pair(&ch1, &ch2));
+
+-g_io_channel_set_flags(ch1, G_IO_FLAG_NONBLOCK, NULL);
+-g_io_channel_set_flags(ch2, G_IO_FLAG_NONBLOCK, NULL);
++ g_io_channel_set_flags(ch1, G_IO_FLAG_NONBLOCK, NULL);
++ g_io_channel_set_flags(ch2, G_IO_FLAG_NONBLOCK, NULL);
+
+-irc = irc_new(g_io_channel_unix_get_fd(ch1));
++ irc = irc_new(g_io_channel_unix_get_fd(ch1));
+
+-fail_unless(g_io_channel_write_chars(ch2, "NICK bla\r\r\n"
+- "USER a a a a\n", -1, NULL, NULL) == G_IO_STATUS_NORMAL);
+-fail_unless(g_io_channel_flush(ch2, NULL) == G_IO_STATUS_NORMAL);
++ fail_unless(g_io_channel_write_chars(ch2, "NICK bla\r\r\n"
++ "USER a a a a\n", -1, NULL, NULL) == G_IO_STATUS_NORMAL);
++ fail_unless(g_io_channel_flush(ch2, NULL) == G_IO_STATUS_NORMAL);
+
+-g_main_iteration(FALSE);
+-irc_free(irc);
++ g_main_iteration(FALSE);
++ irc_free(irc);
+
+-fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
++ fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
+
+-fail_unless(strstr(raw, "001") != NULL);
+-fail_unless(strstr(raw, "002") != NULL);
+-fail_unless(strstr(raw, "003") != NULL);
+-fail_unless(strstr(raw, "004") != NULL);
+-fail_unless(strstr(raw, "005") != NULL);
++ fail_unless(strstr(raw, "001") != NULL);
++ fail_unless(strstr(raw, "002") != NULL);
++ fail_unless(strstr(raw, "003") != NULL);
++ fail_unless(strstr(raw, "004") != NULL);
++ fail_unless(strstr(raw, "005") != NULL);
+
+-g_free(raw);
++ g_free(raw);
++}
+ END_TEST
+
+ Suite *irc_suite(void)
+diff --git a/tests/check_jabber_sasl.c b/tests/check_jabber_sasl.c
+index e7ea8a75..b6c34bb8 100644
+--- a/tests/check_jabber_sasl.c
++++ b/tests/check_jabber_sasl.c
+@@ -77,7 +77,7 @@ struct {
+ { NULL, NULL, NULL }
+ };
+
+-static void check_get_part(int l)
++START_TEST(check_get_part)
+ {
+ int i;
+
+@@ -103,6 +103,7 @@ static void check_get_part(int l)
+ g_free(res);
+ }
+ }
++END_TEST
+
+ Suite *jabber_sasl_suite(void)
+ {
+diff --git a/tests/check_jabber_util.c b/tests/check_jabber_util.c
+index e4d4533a..411f58b1 100644
+--- a/tests/check_jabber_util.c
++++ b/tests/check_jabber_util.c
+@@ -8,7 +8,7 @@
+
+ static struct im_connection *ic;
+
+-static void check_buddy_add(int l)
++START_TEST(check_buddy_add)
+ {
+ struct jabber_buddy *budw1, *budw2, *budw3, *budn, *bud;
+
+@@ -93,8 +93,9 @@ static void check_buddy_add(int l)
+ fail_unless(jabber_buddy_remove(ic, "bugtest@google.com/B"));
+ fail_unless(jabber_buddy_remove(ic, "bugtest@google.com/C"));
+ }
++END_TEST
+
+-static void check_compareJID(int l)
++START_TEST(check_compareJID)
+ {
+ fail_unless(jabber_compare_jid("bugtest@google.com/B", "bugtest@google.com/A"));
+ fail_if(jabber_compare_jid("bugtest1@google.com/B", "bugtest@google.com/A"));
+@@ -105,8 +106,9 @@ static void check_compareJID(int l)
+ fail_if(jabber_compare_jid(NULL, ""));
+ fail_if(jabber_compare_jid("", NULL));
+ }
++END_TEST
+
+-static void check_hipchat_slug(int l)
++START_TEST(check_hipchat_slug)
+ {
+ int i;
+
+@@ -124,6 +126,7 @@ static void check_hipchat_slug(int l)
+ g_free(new);
+ }
+ }
++END_TEST
+
+ Suite *jabber_util_suite(void)
+ {
+diff --git a/tests/check_md5.c b/tests/check_md5.c
+index a68df687..5ca52a5b 100644
+--- a/tests/check_md5.c
++++ b/tests/check_md5.c
+@@ -29,7 +29,7 @@ struct md5_test {
+ { NULL },
+ };
+
+-static void check_sums(int l)
++START_TEST(check_sums)
+ {
+ int i;
+
+@@ -45,6 +45,7 @@ static void check_sums(int l)
+ fail_if(memcmp(tests[i].expected, sum, 16) != 0, "%s failed", tests[i].str);
+ }
+ }
++END_TEST
+
+ Suite *md5_suite(void)
+ {
+diff --git a/tests/check_set.c b/tests/check_set.c
+index 6f8b39b5..cf9429e6 100644
+--- a/tests/check_set.c
++++ b/tests/check_set.c
+@@ -7,97 +7,123 @@
+ #include "testsuite.h"
+
+ START_TEST(test_set_add)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "default", NULL, data);
+-fail_unless(s == t);
+-fail_unless(t->data == data);
+-fail_unless(strcmp(t->def, "default") == 0);
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "default", NULL, data);
++ fail_unless(s == t);
++ fail_unless(t->data == data);
++ fail_unless(strcmp(t->def, "default") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_add_existing)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "default", NULL, data);
+-t = set_add(&s, "name", "newdefault", NULL, data);
+-fail_unless(s == t);
+-fail_unless(strcmp(t->def, "newdefault") == 0);
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "default", NULL, data);
++ t = set_add(&s, "name", "newdefault", NULL, data);
++ fail_unless(s == t);
++ fail_unless(strcmp(t->def, "newdefault") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_find_unknown)
+-set_t * s = NULL;
+-fail_unless(set_find(&s, "foo") == NULL);
++{
++ set_t * s = NULL;
++ fail_unless(set_find(&s, "foo") == NULL);
++}
+ END_TEST
+
+ START_TEST(test_set_find)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "default", NULL, data);
+-fail_unless(s == t);
+-fail_unless(set_find(&s, "name") == t);
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "default", NULL, data);
++ fail_unless(s == t);
++ fail_unless(set_find(&s, "name") == t);
++}
+ END_TEST
+
+ START_TEST(test_set_get_str_default)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "default", NULL, data);
+-fail_unless(s == t);
+-fail_unless(strcmp(set_getstr(&s, "name"), "default") == 0);
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "default", NULL, data);
++ fail_unless(s == t);
++ fail_unless(strcmp(set_getstr(&s, "name"), "default") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_get_bool_default)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "true", NULL, data);
+-fail_unless(s == t);
+-fail_unless(set_getbool(&s, "name"));
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "true", NULL, data);
++ fail_unless(s == t);
++ fail_unless(set_getbool(&s, "name"));
++}
+ END_TEST
+
+ START_TEST(test_set_get_bool_integer)
+-void *data = "data";
+-set_t *s = NULL, *t;
+-t = set_add(&s, "name", "3", NULL, data);
+-fail_unless(s == t);
+-fail_unless(set_getbool(&s, "name") == 3);
++{
++ void *data = "data";
++ set_t *s = NULL, *t;
++ t = set_add(&s, "name", "3", NULL, data);
++ fail_unless(s == t);
++ fail_unless(set_getbool(&s, "name") == 3);
++}
+ END_TEST
+
+ START_TEST(test_set_get_bool_unknown)
+-set_t * s = NULL;
+-fail_unless(set_getbool(&s, "name") == 0);
++{
++ set_t * s = NULL;
++ fail_unless(set_getbool(&s, "name") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_get_str_value)
+-void *data = "data";
+-set_t *s = NULL;
+-set_add(&s, "name", "default", NULL, data);
+-set_setstr(&s, "name", "foo");
+-fail_unless(strcmp(set_getstr(&s, "name"), "foo") == 0);
++{
++ void *data = "data";
++ set_t *s = NULL;
++ set_add(&s, "name", "default", NULL, data);
++ set_setstr(&s, "name", "foo");
++ fail_unless(strcmp(set_getstr(&s, "name"), "foo") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_get_str_unknown)
+-set_t * s = NULL;
+-fail_unless(set_getstr(&s, "name") == NULL);
++{
++ set_t * s = NULL;
++ fail_unless(set_getstr(&s, "name") == NULL);
++}
+ END_TEST
+
+ START_TEST(test_setint)
+-void *data = "data";
+-set_t *s = NULL;
+-set_add(&s, "name", "10", NULL, data);
+-set_setint(&s, "name", 3);
+-fail_unless(set_getint(&s, "name") == 3);
++{
++ void *data = "data";
++ set_t *s = NULL;
++ set_add(&s, "name", "10", NULL, data);
++ set_setint(&s, "name", 3);
++ fail_unless(set_getint(&s, "name") == 3);
++}
+ END_TEST
+
+ START_TEST(test_setstr)
+-void *data = "data";
+-set_t *s = NULL;
+-set_add(&s, "name", "foo", NULL, data);
+-set_setstr(&s, "name", "bloe");
+-fail_unless(strcmp(set_getstr(&s, "name"), "bloe") == 0);
++{
++ void *data = "data";
++ set_t *s = NULL;
++ set_add(&s, "name", "foo", NULL, data);
++ set_setstr(&s, "name", "bloe");
++ fail_unless(strcmp(set_getstr(&s, "name"), "bloe") == 0);
++}
+ END_TEST
+
+ START_TEST(test_set_get_int_unknown)
+-set_t * s = NULL;
+-fail_unless(set_getint(&s, "foo") == 0);
++{
++ set_t * s = NULL;
++ fail_unless(set_getint(&s, "foo") == 0);
++}
+ END_TEST
+
+ Suite *set_suite(void)
+diff --git a/tests/check_util.c b/tests/check_util.c
+index 44a223ae..2d79417e 100644
+--- a/tests/check_util.c
++++ b/tests/check_util.c
+@@ -8,7 +8,8 @@
+ #include "misc.h"
+ #include "url.h"
+
+-START_TEST(test_strip_linefeed){
++START_TEST(test_strip_linefeed)
++{
+ int i;
+ const char *get[] = { "Test", "Test\r", "Test\rX\r", NULL };
+ const char *expected[] = { "Test", "Test", "TestX", NULL };
+@@ -43,63 +44,73 @@ START_TEST(test_strip_newlines)
+ END_TEST
+
+ START_TEST(test_set_url_http)
+-url_t url;
+-
+-fail_if(0 == url_set(&url, "http://host/"));
+-fail_unless(!strcmp(url.host, "host"));
+-fail_unless(!strcmp(url.file, "/"));
+-fail_unless(!strcmp(url.user, ""));
+-fail_unless(!strcmp(url.pass, ""));
+-fail_unless(url.proto == PROTO_HTTP);
+-fail_unless(url.port == 80);
++{
++ url_t url;
++
++ fail_if(0 == url_set(&url, "http://host/"));
++ fail_unless(!strcmp(url.host, "host"));
++ fail_unless(!strcmp(url.file, "/"));
++ fail_unless(!strcmp(url.user, ""));
++ fail_unless(!strcmp(url.pass, ""));
++ fail_unless(url.proto == PROTO_HTTP);
++ fail_unless(url.port == 80);
++}
+ END_TEST
+
+ START_TEST(test_set_url_https)
+-url_t url;
+-
+-fail_if(0 == url_set(&url, "https://ahost/AimeeMann"));
+-fail_unless(!strcmp(url.host, "ahost"));
+-fail_unless(!strcmp(url.file, "/AimeeMann"));
+-fail_unless(!strcmp(url.user, ""));
+-fail_unless(!strcmp(url.pass, ""));
+-fail_unless(url.proto == PROTO_HTTPS);
+-fail_unless(url.port == 443);
++{
++ url_t url;
++
++ fail_if(0 == url_set(&url, "https://ahost/AimeeMann"));
++ fail_unless(!strcmp(url.host, "ahost"));
++ fail_unless(!strcmp(url.file, "/AimeeMann"));
++ fail_unless(!strcmp(url.user, ""));
++ fail_unless(!strcmp(url.pass, ""));
++ fail_unless(url.proto == PROTO_HTTPS);
++ fail_unless(url.port == 443);
++}
+ END_TEST
+
+ START_TEST(test_set_url_port)
+-url_t url;
+-
+-fail_if(0 == url_set(&url, "https://ahost:200/Lost/In/Space"));
+-fail_unless(!strcmp(url.host, "ahost"));
+-fail_unless(!strcmp(url.file, "/Lost/In/Space"));
+-fail_unless(!strcmp(url.user, ""));
+-fail_unless(!strcmp(url.pass, ""));
+-fail_unless(url.proto == PROTO_HTTPS);
+-fail_unless(url.port == 200);
++{
++ url_t url;
++
++ fail_if(0 == url_set(&url, "https://ahost:200/Lost/In/Space"));
++ fail_unless(!strcmp(url.host, "ahost"));
++ fail_unless(!strcmp(url.file, "/Lost/In/Space"));
++ fail_unless(!strcmp(url.user, ""));
++ fail_unless(!strcmp(url.pass, ""));
++ fail_unless(url.proto == PROTO_HTTPS);
++ fail_unless(url.port == 200);
++}
+ END_TEST
+
+ START_TEST(test_set_url_username)
+-url_t url;
+-
+-fail_if(0 == url_set(&url, "socks4://user@ahost/Space"));
+-fail_unless(!strcmp(url.host, "ahost"));
+-fail_unless(!strcmp(url.file, "/Space"));
+-fail_unless(!strcmp(url.user, "user"));
+-fail_unless(!strcmp(url.pass, ""));
+-fail_unless(url.proto == PROTO_SOCKS4);
+-fail_unless(url.port == 1080);
++{
++ url_t url;
++
++ fail_if(0 == url_set(&url, "socks4://user@ahost/Space"));
++ fail_unless(!strcmp(url.host, "ahost"));
++ fail_unless(!strcmp(url.file, "/Space"));
++ fail_unless(!strcmp(url.user, "user"));
++ fail_unless(!strcmp(url.pass, ""));
++ fail_unless(url.proto == PROTO_SOCKS4);
++ fail_unless(url.port == 1080);
++}
+ END_TEST
+
+ START_TEST(test_set_url_username_pwd)
+-url_t url;
+-
+-fail_if(0 == url_set(&url, "socks5://user:pass@ahost/"));
+-fail_unless(!strcmp(url.host, "ahost"));
+-fail_unless(!strcmp(url.file, "/"));
+-fail_unless(!strcmp(url.user, "user"));
+-fail_unless(!strcmp(url.pass, "pass"));
+-fail_unless(url.proto == PROTO_SOCKS5);
+-fail_unless(url.port == 1080);
++{
++ url_t url;
++
++ fail_if(0 == url_set(&url, "socks5://user:pass@ahost/"));
++ fail_unless(!strcmp(url.host, "ahost"));
++ fail_unless(!strcmp(url.file, "/"));
++ fail_unless(!strcmp(url.user, "user"));
++ fail_unless(!strcmp(url.pass, "pass"));
++ fail_unless(url.proto == PROTO_SOCKS5);
++ fail_unless(url.port == 1080);
++}
+ END_TEST
+
+ struct {
+@@ -148,26 +159,30 @@ struct {
+ };
+
+ START_TEST(test_word_wrap)
+-int i;
++{
++ int i;
+
+-for (i = 0; word_wrap_tests[i].orig && *word_wrap_tests[i].orig; i++) {
+- char *wrapped = word_wrap(word_wrap_tests[i].orig, word_wrap_tests[i].line_len);
++ for (i = 0; word_wrap_tests[i].orig && *word_wrap_tests[i].orig; i++) {
++ char *wrapped = word_wrap(word_wrap_tests[i].orig, word_wrap_tests[i].line_len);
+
+- fail_unless(strcmp(word_wrap_tests[i].wrapped, wrapped) == 0,
+- "%s (line_len = %d) should wrap to `%s', not to `%s'",
+- word_wrap_tests[i].orig, word_wrap_tests[i].line_len,
+- word_wrap_tests[i].wrapped, wrapped);
++ fail_unless(strcmp(word_wrap_tests[i].wrapped, wrapped) == 0,
++ "%s (line_len = %d) should wrap to `%s', not to `%s'",
++ word_wrap_tests[i].orig, word_wrap_tests[i].line_len,
++ word_wrap_tests[i].wrapped, wrapped);
+
+- g_free(wrapped);
++ g_free(wrapped);
++ }
+ }
+ END_TEST
+
+ START_TEST(test_http_encode)
+-char s[80];
++{
++ char s[80];
+
+-strcpy(s, "ee\xc3" "\xab" "ee!!...");
+-http_encode(s);
+-fail_unless(strcmp(s, "ee%C3%ABee%21%21...") == 0);
++ strcpy(s, "ee\xc3" "\xab" "ee!!...");
++ http_encode(s);
++ fail_unless(strcmp(s, "ee%C3%ABee%21%21...") == 0);
++}
+ END_TEST
+
+ struct {
+@@ -198,19 +213,21 @@ struct {
+ };
+
+ START_TEST(test_split_command_parts)
+-int i;
+-for (i = 0; split_tests[i].command; i++) {
+- char *cmd = g_strdup(split_tests[i].command);
+- char **split = split_command_parts(cmd, split_tests[i].limit);
+- char **expected = split_tests[i].expected;
+-
+- int j;
+- for (j = 0; split[j] && expected[j]; j++) {
+- fail_unless(strcmp(split[j], expected[j]) == 0,
+- "(%d) split_command_parts broken: split(\"%s\")[%d] -> %s (expected: %s)",
+- i, split_tests[i].command, j, split[j], expected[j]);
+- }
+- g_free(cmd);
++{
++ int i;
++ for (i = 0; split_tests[i].command; i++) {
++ char *cmd = g_strdup(split_tests[i].command);
++ char **split = split_command_parts(cmd, split_tests[i].limit);
++ char **expected = split_tests[i].expected;
++
++ int j;
++ for (j = 0; split[j] && expected[j]; j++) {
++ fail_unless(strcmp(split[j], expected[j]) == 0,
++ "(%d) split_command_parts broken: split(\"%s\")[%d] -> %s (expected: %s)",
++ i, split_tests[i].command, j, split[j], expected[j]);
++ }
++ g_free(cmd);
++ }
+ }
+ END_TEST
+
+--
+2.26.2
+
diff --git a/net-im/bitlbee/files/bitlbee-3.5-libevent.patch b/net-im/bitlbee/files/bitlbee-3.5-libevent.patch
new file mode 100644
index 000000000000..5ceea2fc576a
--- /dev/null
+++ b/net-im/bitlbee/files/bitlbee-3.5-libevent.patch
@@ -0,0 +1,71 @@
+diff --git a/lib/events.h b/lib/events.h
+index 1b5b41b7..b4b6110e 100644
+--- a/lib/events.h
++++ b/lib/events.h
+@@ -69,6 +69,8 @@ G_MODULE_EXPORT void b_main_init();
+ G_MODULE_EXPORT void b_main_run();
+ G_MODULE_EXPORT void b_main_quit();
+
++G_MODULE_EXPORT void b_main_iteration();
++
+
+ /* Add event handlers (for I/O or a timeout). The event handler will be called
+ every time the event "happens", until your event handler returns FALSE (or
+diff --git a/lib/events_glib.c b/lib/events_glib.c
+index dca704e1..da73f3ae 100644
+--- a/lib/events_glib.c
++++ b/lib/events_glib.c
+@@ -64,6 +64,12 @@ void b_main_quit()
+ g_main_quit(loop);
+ }
+
++void b_main_iteration()
++{
++ g_main_iteration(FALSE);
++ event_debug("b_main_iteration()\n");
++}
++
+ static gboolean gaim_io_invoke(GIOChannel *source, GIOCondition condition, gpointer data)
+ {
+ GaimIOClosure *closure = data;
+diff --git a/lib/events_libevent.c b/lib/events_libevent.c
+index 854af010..05391afa 100644
+--- a/lib/events_libevent.c
++++ b/lib/events_libevent.c
+@@ -113,6 +113,12 @@ void b_main_quit()
+ b_main_restart();
+ }
+
++void b_main_iteration()
++{
++ event_base_loop(leh, EVLOOP_NONBLOCK);
++ event_debug("b_main_iteration()\n");
++}
++
+ static void b_event_passthrough(int fd, short event, void *data)
+ {
+ struct b_event_data *b_ev = data;
+diff --git a/tests/check_irc.c b/tests/check_irc.c
+index e2054106..db3137f3 100644
+--- a/tests/check_irc.c
++++ b/tests/check_irc.c
+@@ -5,6 +5,7 @@
+ #include <string.h>
+ #include <stdio.h>
+ #include "irc.h"
++#include "events.h"
+ #include "testsuite.h"
+
+ START_TEST(test_connect)
+@@ -42,7 +43,7 @@ START_TEST(test_login)
+ "USER a a a a\n", -1, NULL, NULL) == G_IO_STATUS_NORMAL);
+ fail_unless(g_io_channel_flush(ch2, NULL) == G_IO_STATUS_NORMAL);
+
+- g_main_iteration(FALSE);
++ b_main_iteration();
+ irc_free(irc);
+
+ fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
+--
+2.26.2
+
diff --git a/net-im/bitlbee/files/bitlbee-3.5-verbose-build.patch b/net-im/bitlbee/files/bitlbee-3.5-verbose-build.patch
deleted file mode 100644
index 7501963cb5de..000000000000
--- a/net-im/bitlbee/files/bitlbee-3.5-verbose-build.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-Add a --verbose configure flag to enable verbose build output.
-
---- bitlbee-3.5/configure
-+++ bitlbee-3.5/configure
-@@ -38,6 +38,7 @@
- twitter=1
- purple=0
-
-+verbose=0
- doc=1
- debug=0
- strip=0
-@@ -125,6 +126,8 @@
- --pidfile=... $pidfile
- --config=... $config
-
-+--verbose=0/1 Disable/enable verbose build $verbose
-+
- --msn=0/1 Disable/enable MSN part $msn
- --jabber=0/1 Disable/enable Jabber part $jabber
- --oscar=0/1 Disable/enable Oscar part (ICQ, AIM) $oscar
-@@ -282,6 +285,12 @@
- debug=1
- fi
-
-+if [ "$verbose" = "0" ]; then
-+ echo 'VERBOSE=@' >> Makefile.settings
-+else
-+ echo 'VERBOSE=' >> Makefile.settings
-+fi
-+
- if [ "$debug" = "1" ]; then
- echo 'DEBUG=1' >> Makefile.settings
- CFLAGS="$CFLAGS -g3 -DDEBUG -O0"
---- bitlbee-3.5/lib/Makefile
-+++ bitlbee-3.5/lib/Makefile
-@@ -35,12 +35,12 @@
-
- lib.o: $(objects) $(subdirs)
- @echo '*' Linking lib.o
-- @$(LD) $(LFLAGS) $(objects) -o lib.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o lib.o
-
- $(objects): ../Makefile.settings Makefile
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- -include .depend/*.d
---- bitlbee-3.5/Makefile
-+++ bitlbee-3.5/Makefile
-@@ -162,28 +162,28 @@
- tar czf $$x.tar.gz --exclude=debian --exclude=.git* --exclude=.depend $$x
-
- $(subdirs):
-- @$(MAKE) -C $@ $(MAKECMDGOALS)
-+ $(MAKE) -C $@ $(MAKECMDGOALS)
-
- $(OTR_PI): %.so: $(_SRCDIR_)%.c
- @echo '*' Building plugin $@
-- @$(CC) $(CFLAGS) -fPIC -shared $(LDFLAGS) $< -o $@ $(OTRFLAGS)
-+ $(VERBOSE) $(CC) $(CFLAGS) -fPIC -shared $(LDFLAGS) $< -o $@ $(OTRFLAGS)
-
- $(SKYPE_PI): $(_SRCDIR_)protocols/skype/skype.c
- @echo '*' Building plugin skype
-- @$(CC) $(CFLAGS) $(LDFLAGS) $(SKYPEFLAGS) $< -o $@
-+ $(VERBOSE) $(CC) $(CFLAGS) $(LDFLAGS) $(SKYPEFLAGS) $< -o $@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- $(objects): Makefile Makefile.settings config.h
-
- $(OUTFILE): $(objects) $(subdirs)
- @echo '*' Linking $(OUTFILE)
-- @$(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LDFLAGS) $(EFLAGS)
-+ $(VERBOSE) $(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LDFLAGS) $(EFLAGS)
- ifneq ($(firstword $(STRIP)), \#)
- @echo '*' Stripping $(OUTFILE)
-- @-$(STRIP) $(OUTFILE)
-+ $(VERBOSE) -$(STRIP) $(OUTFILE)
- endif
-
- ctags:
---- bitlbee-3.5/protocols/jabber/Makefile
-+++ bitlbee-3.5/protocols/jabber/Makefile
-@@ -37,10 +37,10 @@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- jabber_mod.o: $(objects)
- @echo '*' Linking jabber_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o jabber_mod.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o jabber_mod.o
-
- -include .depend/*.d
---- bitlbee-3.5/protocols/Makefile
-+++ bitlbee-3.5/protocols/Makefile
-@@ -42,18 +42,18 @@
- rm -rf .depend
-
- $(subdirs):
-- @$(MAKE) -C $@ $(MAKECMDGOALS)
-+ $(MAKE) -C $@ $(MAKECMDGOALS)
-
- ### MAIN PROGRAM
-
- protocols.o: $(objects) $(subdirs)
- @echo '*' Linking protocols.o
-- @$(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
-
- $(objects): ../Makefile.settings Makefile
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- -include .depend/*.d
---- bitlbee-3.5/protocols/msn/Makefile
-+++ bitlbee-3.5/protocols/msn/Makefile
-@@ -37,10 +37,10 @@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- msn_mod.o: $(objects)
- @echo '*' Linking msn_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o msn_mod.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o msn_mod.o
-
- -include .depend/*.d
---- bitlbee-3.5/protocols/oscar/Makefile
-+++ bitlbee-3.5/protocols/oscar/Makefile
-@@ -38,10 +38,10 @@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- oscar_mod.o: $(objects)
- @echo '*' Linking oscar_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o oscar_mod.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o oscar_mod.o
-
- -include .depend/*.d
---- bitlbee-3.5/protocols/purple/Makefile
-+++ bitlbee-3.5/protocols/purple/Makefile
-@@ -38,10 +38,10 @@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- purple_mod.o: $(objects)
- @echo '*' Linking purple_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o purple_mod.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o purple_mod.o
-
- -include .depend/*.d
---- bitlbee-3.5/protocols/twitter/Makefile
-+++ bitlbee-3.5/protocols/twitter/Makefile
-@@ -37,10 +37,10 @@
-
- $(objects): %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
-
- twitter_mod.o: $(objects)
- @echo '*' Linking twitter_mod.o
-- @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o
-+ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o twitter_mod.o
-
- -include .depend/*.d
---- bitlbee-3.5/tests/Makefile
-+++ bitlbee-3.5/tests/Makefile
-@@ -20,8 +20,8 @@
-
- check: $(test_objs) $(addprefix ../, $(main_objs)) ../protocols/protocols.o ../lib/lib.o
- @echo '*' Linking $@
-- @$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
-+ $(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
-
- %.o: $(_SRCDIR_)%.c
- @echo '*' Compiling $<
-- @$(CC) -c $(CFLAGS) $< -o $@
-+ $(VERBOSE) $(CC) -c $(CFLAGS) $< -o $@
diff --git a/net-im/bitlbee/files/bitlbee-3.6-disabled-plugins-use.patch b/net-im/bitlbee/files/bitlbee-3.6-disabled-plugins-use.patch
new file mode 100644
index 000000000000..0973bd4bd5fa
--- /dev/null
+++ b/net-im/bitlbee/files/bitlbee-3.6-disabled-plugins-use.patch
@@ -0,0 +1,55 @@
+This patch is taken from upstrem https://github.com/bitlbee/bitlbee/pull/156
+where it was already merged.
+
+From a8196d6f72b44be9c315b9ad7dc45276d2aaca0c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Tue, 23 Mar 2021 13:07:18 +0100
+Subject: [PATCH] root_commands: prevent linker error when plugins are disabled
+
+This commit fixes compilation issue with disabled plugin support
+(./configure --plugins=0), where get_plugins function is unavailable.
+The problem has been introduced with addition of new 'plugins info'
+subcommand, where get_plugins is used in cmd_plugins_info function,
+which should be conditionally available only if WITH_PLUGINS is defined.
+
+Bug: https://bugs.gentoo.org/739510
+Bug: https://bugs.gentoo.org/617604
+Fixes: 6908ab747d1e ("Add 'plugins info' subcommand, only show plugin details there")
+Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
+---
+ root_commands.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/root_commands.c b/root_commands.c
+index 8358c030..a4e72f83 100644
+--- a/root_commands.c
++++ b/root_commands.c
+@@ -1168,6 +1168,7 @@ static void prplstr(GList *prpls, GString *gstr)
+ g_list_free(prpls);
+ }
+
++#ifdef WITH_PLUGINS
+ static void cmd_plugins_info(irc_t *irc, char **cmd)
+ {
+ GList *l;
+@@ -1201,6 +1202,7 @@ static void cmd_plugins_info(irc_t *irc, char **cmd)
+ irc_rootmsg(irc, " URL: %s", info->url);
+ }
+ }
++#endif
+
+ static void cmd_plugins(irc_t *irc, char **cmd)
+ {
+@@ -1208,7 +1210,9 @@ static void cmd_plugins(irc_t *irc, char **cmd)
+ GString *gstr;
+
+ if (cmd[1] && g_strcasecmp(cmd[1], "info") == 0) {
++#ifdef WITH_PLUGINS
+ cmd_plugins_info(irc, cmd);
++#endif
+ return;
+ }
+
+--
+2.26.3
+
diff --git a/net-im/bitlbee/files/bitlbee-3.6-system-json-parser.patch b/net-im/bitlbee/files/bitlbee-3.6-system-json-parser.patch
new file mode 100644
index 000000000000..0a9c197d763d
--- /dev/null
+++ b/net-im/bitlbee/files/bitlbee-3.6-system-json-parser.patch
@@ -0,0 +1,99 @@
+This is adapted patch from upstream PR 151. Original PR defines
+--external-json-parser which breaks configuration, see [1]. It was changed to
+--externaljsonparser and $external_json_parser to $externaljsonparser.
+Additionally, LDFLAGS_CHECK variable was introduced in order to make
+tests working, see [2] and #865667.
+
+[1] https://github.com/bitlbee/bitlbee/pull/151#issuecomment-1201181905
+[2] https://github.com/bitlbee/bitlbee/pull/151#issuecomment-1219254239
+
+Upstream-PR: https://github.com/bitlbee/bitlbee/pull/151
+
+diff --git a/configure b/configure
+index fd8d363a..39495515 100755
+--- a/configure
++++ b/configure
+@@ -47,6 +47,7 @@ plugins=1
+ otr=0
+
+ events=glib
++externaljsonparser=auto
+ ssl=auto
+
+ pam=0
+@@ -148,6 +149,7 @@ Option Description Default
+ --events=... Event handler (glib, libevent) $events
+ --ssl=... SSL library to use (gnutls, nss, openssl, auto)
+ $ssl
++--externaljsonparser=0/1/auto Use External JSON parser $externaljsonparser
+
+
+ --target=... Cross compilation target same as host
+@@ -398,6 +400,21 @@ else
+ fi
+ echo 'EVENT_HANDLER=events_'$events'.o' >> Makefile.settings
+
++if [ "$externaljsonparser" = "auto" ]; then
++ if pkg-config --exists json-parser; then
++ externaljsonparser=1
++ else
++ externaljsonparser=0
++ fi
++fi
++echo "EXTERNAL_JSON_PARSER=$externaljsonparser" >> Makefile.settings
++if [ "$externaljsonparser" = "1" ]; then
++ echo "CFLAGS+=$(pkg-config --cflags json-parser)" >> Makefile.settings
++ echo "LDFLAGS_BITLBEE+=$(pkg-config --libs json-parser)" >> Makefile.settings
++ echo "LDFLAGS_CHECK+=$(pkg-config --libs json-parser)" >> Makefile.settings
++fi
++
++
+ detect_gnutls()
+ {
+ if $PKG_CONFIG --exists gnutls; then
+@@ -979,6 +996,12 @@ else
+ echo ' systemd disabled.'
+ fi
+
++if [ "$externaljsonparser" = "1" ]; then
++ echo ' Using system JSON parser.'
++else
++ echo ' Using bundled JSON parser.'
++fi
++
+ echo ' Using event handler: '$events
+ echo ' Using SSL library: '$ssl
+ #echo ' Building with these storage backends: '$STORAGES
+diff --git a/lib/Makefile b/lib/Makefile
+index fc46aedc..ad95d9cb 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -12,7 +12,11 @@ _SRCDIR_ := $(_SRCDIR_)lib/
+ endif
+
+ # [SH] Program variables
+-objects = arc.o base64.o canohost.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
++objects = arc.o base64.o canohost.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o json_util.o md5.o misc.o oauth.o oauth2.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ns_parse.o
++
++ifneq ($(EXTERNAL_JSON_PARSER),1)
++objects += json.o
++endif
+
+ LFLAGS += -r
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 76122a2f..2235bf1d 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -20,7 +20,7 @@ test_objs = check.o check_util.o check_nick.o check_md5.o check_arc.o check_irc.
+
+ check: $(test_objs) $(addprefix ../, $(main_objs)) ../protocols/protocols.o ../lib/lib.o
+ @echo '*' Linking $@
+- $(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
++ $(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(LDFLAGS_CHECK) $(EFLAGS)
+
+ %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+--
+2.35.1
+
diff --git a/net-im/bitlbee/files/bitlbee.confd-r1 b/net-im/bitlbee/files/bitlbee.confd-r1
deleted file mode 100644
index d581222f9fb9..000000000000
--- a/net-im/bitlbee/files/bitlbee.confd-r1
+++ /dev/null
@@ -1,8 +0,0 @@
-# Bitlbee options (see /usr/sbin/bitlbee -h)
-BITLBEE_OPTS="-F"
-
-# By default, the bitlbee init script will attempt to stop
-# all bitlbee-owned processes, including per-client forks.
-# Setting this to "no" tells the init script to only
-# stop the main bitlbee process.
-BITLBEE_STOP_ALL="yes"
diff --git a/net-im/bitlbee/files/bitlbee.initd-r1 b/net-im/bitlbee/files/bitlbee.initd-r1
deleted file mode 100644
index 413bd45735ed..000000000000
--- a/net-im/bitlbee/files/bitlbee.initd-r1
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or
-# later
-
-DAEMON=/usr/sbin/bitlbee
-PIDFILE=/var/run/bitlbee/bitlbee.pid
-
-depend() {
- need logger net
-}
-
-start () {
- ebegin "Starting bitlbee"
- checkpath -d -m 0755 -o bitlbee:bitlbee $(dirname ${PIDFILE})
- start-stop-daemon --start --quiet \
- -u bitlbee:bitlbee --exec ${DAEMON} --pidfile ${PIDFILE} \
- -- -P ${PIDFILE} ${BITLBEE_OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping bitlbee"
- local pidfile=
- yesno ${BITLBEE_STOP_ALL:-YES} ||
- pidfile="--pidfile ${PIDFILE}"
- start-stop-daemon --stop --quiet ${pidfile} -u bitlbee:bitlbee
- eend $?
-}
-
diff --git a/net-im/bitlbee/files/bitlbee.initd-r2 b/net-im/bitlbee/files/bitlbee.initd-r2
index 0b3b1a4911bc..0107909aed6c 100644
--- a/net-im/bitlbee/files/bitlbee.initd-r2
+++ b/net-im/bitlbee/files/bitlbee.initd-r2
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
command="/usr/sbin/bitlbee"
diff --git a/net-im/bitlbee/metadata.xml b/net-im/bitlbee/metadata.xml
index e28610b3c865..99fc3dd0270a 100644
--- a/net-im/bitlbee/metadata.xml
+++ b/net-im/bitlbee/metadata.xml
@@ -1,15 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
</maintainer>
<use>
<flag name="libevent">Use libevent for event handling</flag>
- <flag name="msn">Enable MSN Messenger IM protocol support.</flag>
- <flag name="nss">Use NSS for SSL support in MSN and Jabber</flag>
- <flag name="oscar">Enable Oscar (AIM/ICQ) IM protocol support</flag>
+ <flag name="nss">Prefer <pkg>dev-libs/nss</pkg> as SSL/TLS provider</flag>
<flag name="otr">Enable support for encrypted conversations</flag>
<flag name="plugins">Enable support for plugins</flag>
<flag name="purple">Use libpurple instead of the built-in IM protocol support</flag>
@@ -17,7 +15,9 @@
</use>
<longdescription>
Bitlbee as an IRC to IM gateway. It provides an irc server that allows
- you to log on and then connect to various instant messaging protocols
- (AIM, MSN, Yahoo, Jabber, etc).
+ you to log on and then connect to various instant messaging protocols.
</longdescription>
+ <upstream>
+ <remote-id type="github">bitlbee/bitlbee</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/centerim/centerim-5.0.1.ebuild b/net-im/centerim/centerim-5.0.1-r2.ebuild
index a98925568fbc..1b0105e0b4fd 100644
--- a/net-im/centerim/centerim-5.0.1.ebuild
+++ b/net-im/centerim/centerim-5.0.1-r2.ebuild
@@ -1,38 +1,39 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
MY_P="${PN}5-${PV/_}"
-DESCRIPTION="CenterIM is a ncurses ICQ/Yahoo!/AIM/IRC/MSN/Jabber/GaduGadu/RSS/LiveJournal Client"
-SRC_URI="http://www.centerim.org/download/cim5/${MY_P}.tar.gz"
+DESCRIPTION="Ncurses ICQ/Yahoo!/AIM/IRC/MSN/Jabber/GaduGadu/RSS/LiveJournal client"
HOMEPAGE="http://www.centerim.org/"
-SLOT="0"
+SRC_URI="http://www.centerim.org/download/cim5/${MY_P}.tar.gz"
+
LICENSE="GPL-2"
-KEYWORDS="amd64 x86 ~x86-fbsd"
+SLOT="0"
+KEYWORDS="amd64 x86"
IUSE="debug nls"
DEPEND=">=sys-libs/ncurses-5.2:=
>=net-im/pidgin-2.7.0
>=dev-libs/glib-2.16.0
- >=dev-libs/libsigc++-2.2.0"
+ >=dev-libs/libsigc++-2.2.0:2"
RDEPEND="${DEPEND}
nls? ( sys-devel/gettext )"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
+BDEPEND="virtual/pkgconfig"
S="${WORKDIR}"/${MY_P}
src_configure() {
- econf \
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
$(use_enable debug) \
$(use_enable nls)
}
src_install() {
emake DESTDIR="${D}" install
- rm -f "${D}"/usr/lib*/libcppconsui.{a,la}
+
+ find "${ED}" -name '*.la' -delete || die
dodoc AUTHORS HACKING NEWS README TODO
}
diff --git a/net-im/centerim/metadata.xml b/net-im/centerim/metadata.xml
index a5a5d9728be5..53d5fd602372 100644
--- a/net-im/centerim/metadata.xml
+++ b/net-im/centerim/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>swegener@gentoo.org</email>
diff --git a/net-im/choqok/Manifest b/net-im/choqok/Manifest
index 07a4ee39a1f2..0b4997cb0391 100644
--- a/net-im/choqok/Manifest
+++ b/net-im/choqok/Manifest
@@ -1 +1,2 @@
-DIST choqok-1.6.0_p20190726.tar.xz 1184148 BLAKE2B c0c0459de362aa58337ab2d0c4ea03ff516de87bded48f73c47aa48ed791cfeb82c4085c4d333bff4ac1489a27e038da29d5419569aacb17366dc119e776dd67 SHA512 6471d9b37cc78fd3a14cc970512db3a8d44b21d49efb503917a57332f229c34ed735edfea6a74d6c25d8ab8d153331226effd677405d447c4a2faea3e396decf
+DIST choqok-1.7.0-patchset-1.tar.xz 3260 BLAKE2B 48612da4e92c9ed4a877858940f73075df4142d68da3854c42892bcfb13a59ab5dd45b06597c404badfb55ebaeddf7485bc0970e65ae29898a742742353d6caa SHA512 78e31f4d8de9d5294c8439959d8966b5b966bf6bc8f26d1b9cb1ffd12bf182d167269b26deb2dfa7d7dd8cf09bcaa0c77a560418075105f40a74fa50c96d48d0
+DIST choqok-1.7.0.tar.xz 1202092 BLAKE2B 62e0c561579c36198f645bb550822d9bec583d8337b37e3336e4352199800b1807b80931f8c7c8141f74dfb91ade9f89b371723a8a3ea3e7bde97854634b82b2 SHA512 6f5998078e555f7b4a40270ad0a4defa2d15bb8440b810320fc4cfc38d78cb34bb9b2f6a38eb33eb3217b51a78a7fbc7f79224cd0ddb0fcbf8c9035d8e600e96
diff --git a/net-im/choqok/choqok-1.6.0_p20190726.ebuild b/net-im/choqok/choqok-1.6.0_p20190726.ebuild
deleted file mode 100644
index 4d597025108d..000000000000
--- a/net-im/choqok/choqok-1.6.0_p20190726.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KDE_HANDBOOK="forceoptional"
-inherit kde5
-
-DESCRIPTION="Free/Open Source micro-blogging client by KDE"
-HOMEPAGE="https://choqok.kde.org/"
-SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-KEYWORDS="amd64 x86"
-IUSE="attica konqueror telepathy"
-
-DEPEND="
- $(add_frameworks_dep kcmutils)
- $(add_frameworks_dep kconfig)
- $(add_frameworks_dep kconfigwidgets)
- $(add_frameworks_dep kcoreaddons)
- $(add_frameworks_dep kemoticons)
- $(add_frameworks_dep kglobalaccel)
- $(add_frameworks_dep kguiaddons)
- $(add_frameworks_dep ki18n)
- $(add_frameworks_dep kio)
- $(add_frameworks_dep kjobwidgets)
- $(add_frameworks_dep knotifications)
- $(add_frameworks_dep knotifyconfig)
- $(add_frameworks_dep kservice)
- $(add_frameworks_dep ktextwidgets)
- $(add_frameworks_dep kwallet)
- $(add_frameworks_dep kwidgetsaddons)
- $(add_frameworks_dep kxmlgui)
- $(add_frameworks_dep sonnet)
- $(add_qt_dep qtdbus)
- $(add_qt_dep qtgui)
- $(add_qt_dep qtnetworkauth)
- $(add_qt_dep qtwidgets)
- $(add_qt_dep qtxml)
- app-crypt/qca[qt5(+)]
- attica? ( $(add_frameworks_dep attica) )
- konqueror? (
- $(add_frameworks_dep kparts)
- $(add_frameworks_dep kdewebkit)
- >=dev-qt/qtwebkit-5.212.0_pre20180120:5
- )
- telepathy? ( net-libs/telepathy-qt[qt5(+)] )
-"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- $(cmake-utils_use_find_package attica KF5Attica)
- $(cmake-utils_use_find_package konqueror KF5Parts)
- $(cmake-utils_use_find_package konqueror KF5WebKit)
- $(cmake-utils_use_find_package telepathy TelepathyQt5)
- )
-
- kde5_src_configure
-}
-
-PATCHES=( "${FILESDIR}"/${P}-missing-header.patch )
diff --git a/net-im/choqok/choqok-1.7.0-r1.ebuild b/net-im/choqok/choqok-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..907f34b30bfc
--- /dev/null
+++ b/net-im/choqok/choqok-1.7.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=5.82.0
+QTMIN=5.15.2
+inherit ecm kde.org
+
+DESCRIPTION="Free/Open Source micro-blogging client by KDE"
+HOMEPAGE="https://choqok.kde.org/ https://apps.kde.org/choqok/"
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV%.0}/src/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="5"
+IUSE="attica share telepathy"
+
+DEPEND="
+ >=app-crypt/qca-2.3.0:2[qt5(+)]
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetworkauth-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kemoticons-${KFMIN}:5
+ >=kde-frameworks/kglobalaccel-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/knotifyconfig-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/ktextwidgets-${KFMIN}:5
+ >=kde-frameworks/kwallet-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/sonnet-${KFMIN}:5
+ attica? ( >=kde-frameworks/attica-${KFMIN}:5 )
+ share? ( >=kde-frameworks/purpose-${KFMIN}:5 )
+ telepathy? ( >=net-libs/telepathy-qt-0.9.8 )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS README changelog )
+
+PATCHES=(
+ "${WORKDIR}/${P}-optional-purpose.patch" # bug 708464, upstream MR #11
+ "${WORKDIR}/${P}-fix-retrieve-twitter.patch" # KDE-bug 417193
+ "${WORKDIR}/${P}-choqokplugin.patch"
+ "${WORKDIR}/${P}-fix-layout-of-tweets.patch" # KDE-bug 424938
+ "${WORKDIR}/${P}-fix-partially-static-signatures.patch" # KDE-bug 417297
+ "${FILESDIR}/${P}-fix-KCModule-warning.patch" # bug 871546, git master
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package attica KF5Attica)
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF5WebKit=ON
+ $(cmake_use_find_package share KF5Purpose)
+ $(cmake_use_find_package telepathy TelepathyQt5)
+ )
+
+ ecm_src_configure
+}
diff --git a/net-im/choqok/files/choqok-1.6.0_p20190726-missing-header.patch b/net-im/choqok/files/choqok-1.6.0_p20190726-missing-header.patch
deleted file mode 100644
index d8b58183e2bf..000000000000
--- a/net-im/choqok/files/choqok-1.6.0_p20190726-missing-header.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 08fb06b63a78888e6703de6ac1a4fd6a0e2791eb Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aacid@kde.org>
-Date: Sun, 28 Jul 2019 00:14:30 +0200
-Subject: Fix compile on CI
-
-plugins/uploaders/flickr/flickr.h:50:24: error: field mUrlMap has incomplete type QMap<KJob*, QUrl>
-plugins/uploaders/imageshack/imageshack.h:48:24: error: field mUrlMap has incomplete type QMap<KJob*, QUrl>
----
- plugins/uploaders/flickr/flickr.h | 2 ++
- plugins/uploaders/imageshack/imageshack.h | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/plugins/uploaders/flickr/flickr.h b/plugins/uploaders/flickr/flickr.h
-index 890219a..7b26609 100644
---- a/plugins/uploaders/flickr/flickr.h
-+++ b/plugins/uploaders/flickr/flickr.h
-@@ -26,6 +26,8 @@
-
- #include "uploader.h"
-
-+#include <QMap>
-+
- /**
- @author Andrey Esin \<gmlastik@gmail.com\>
- */
-diff --git a/plugins/uploaders/imageshack/imageshack.h b/plugins/uploaders/imageshack/imageshack.h
-index d9ddc88..63d0e3f 100644
---- a/plugins/uploaders/imageshack/imageshack.h
-+++ b/plugins/uploaders/imageshack/imageshack.h
-@@ -26,6 +26,8 @@
-
- #include "uploader.h"
-
-+#include <QMap>
-+
- /**
- @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\>
- */
---
-cgit v1.1
-
-From bef6784596bf0b41287ebad81f138e1c8c2a6be2 Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aacid@kde.org>
-Date: Sun, 28 Jul 2019 00:20:34 +0200
-Subject: Fix build on CI
-
-Even more missing QMap includes
----
- plugins/uploaders/mobypicture/mobypicture.h | 2 ++
- plugins/uploaders/posterous/posterous.h | 2 ++
- plugins/uploaders/twitgoo/twitgoo.h | 2 ++
- 3 files changed, 6 insertions(+)
-
-diff --git a/plugins/uploaders/mobypicture/mobypicture.h b/plugins/uploaders/mobypicture/mobypicture.h
-index 098f411..86f61fd 100644
---- a/plugins/uploaders/mobypicture/mobypicture.h
-+++ b/plugins/uploaders/mobypicture/mobypicture.h
-@@ -26,6 +26,8 @@
-
- #include "uploader.h"
-
-+#include <QMap>
-+
- class KJob;
-
- class Mobypicture : public Choqok::Uploader
-diff --git a/plugins/uploaders/posterous/posterous.h b/plugins/uploaders/posterous/posterous.h
-index c7f6fe1..5c9442d 100644
---- a/plugins/uploaders/posterous/posterous.h
-+++ b/plugins/uploaders/posterous/posterous.h
-@@ -26,6 +26,8 @@
-
- #include "uploader.h"
-
-+#include <QMap>
-+
- class KJob;
-
- class Posterous : public Choqok::Uploader
-diff --git a/plugins/uploaders/twitgoo/twitgoo.h b/plugins/uploaders/twitgoo/twitgoo.h
-index ee3f496..020080e 100644
---- a/plugins/uploaders/twitgoo/twitgoo.h
-+++ b/plugins/uploaders/twitgoo/twitgoo.h
-@@ -26,6 +26,8 @@
-
- #include "uploader.h"
-
-+#include <QMap>
-+
- class KJob;
-
- class Twitgoo : public Choqok::Uploader
---
-cgit v1.1
diff --git a/net-im/choqok/files/choqok-1.7.0-fix-KCModule-warning.patch b/net-im/choqok/files/choqok-1.7.0-fix-KCModule-warning.patch
new file mode 100644
index 000000000000..26721514ca04
--- /dev/null
+++ b/net-im/choqok/files/choqok-1.7.0-fix-KCModule-warning.patch
@@ -0,0 +1,43 @@
+From 9c488d8f776b5e7462e8e57dc2b15db5fe28815a Mon Sep 17 00:00:00 2001
+From: Andrea Scarpino <scarpino@kde.org>
+Date: Sat, 8 Feb 2020 16:06:18 +0100
+Subject: [PATCH] Fix warning about KCModule::changed
+
+---
+ choqok/config/behavior/behaviorconfig.cpp | 4 ++--
+ choqok/config/plugins/choqokpluginconfig.cpp | 3 +--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/choqok/config/behavior/behaviorconfig.cpp b/choqok/config/behavior/behaviorconfig.cpp
+index a25b0196..fb1d16b3 100644
+--- a/choqok/config/behavior/behaviorconfig.cpp
++++ b/choqok/config/behavior/behaviorconfig.cpp
+@@ -95,9 +95,9 @@ BehaviorConfig::BehaviorConfig(QWidget *parent, const QVariantList &args)
+ d->mBehaviorTabCtl->addTab(d->proxyModule, proxyInfo.moduleName());
+
+ connect(d->mPrfsShorten, (void (BehaviorConfig_Shorten::*)(bool))&BehaviorConfig_Shorten::changed,
+- this, (void (KCModule::*)())&KCModule::changed);
++ this, &BehaviorConfig::markAsChanged);
+ connect(d->proxyModule, (void (KCModuleProxy::*)(KCModuleProxy*))&KCModuleProxy::changed,
+- this, (void (KCModule::*)())&KCModule::changed);
++ this, &BehaviorConfig::markAsChanged);
+
+ load();
+
+diff --git a/choqok/config/plugins/choqokpluginconfig.cpp b/choqok/config/plugins/choqokpluginconfig.cpp
+index 1a5f4fc2..4f36d608 100644
+--- a/choqok/config/plugins/choqokpluginconfig.cpp
++++ b/choqok/config/plugins/choqokpluginconfig.cpp
+@@ -46,8 +46,7 @@ ChoqokPluginConfig::ChoqokPluginConfig(QWidget *parent, const QVariantList &args
+ mainLayout->setMargin(0);
+ mainLayout->addWidget(m_pluginSelector);
+
+- connect(m_pluginSelector, &KPluginSelector::changed, this,
+- (void (KCModule::*)())&KCModule::changed);
++ connect(m_pluginSelector, &KPluginSelector::changed, this, &ChoqokPluginConfig::markAsChanged);
+ connect(m_pluginSelector, &KPluginSelector::configCommitted,
+ this, &ChoqokPluginConfig::reparseConfiguration);
+
+--
+GitLab
+
diff --git a/net-im/choqok/metadata.xml b/net-im/choqok/metadata.xml
index fd48455d9707..1b71d886242e 100644
--- a/net-im/choqok/metadata.xml
+++ b/net-im/choqok/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
<use>
<flag name="attica">Build Open Collaboration Services plugin using <pkg>kde-frameworks/attica</pkg></flag>
- <flag name="konqueror">Build Konqueror Choqok plugin</flag>
+ <flag name="share">Enable support for a share menu using <pkg>kde-frameworks/purpose</pkg></flag>
<flag name="telepathy">Enable support for the real-time communication framework telepathy</flag>
</use>
</pkgmetadata>
diff --git a/net-im/coccinella/Manifest b/net-im/coccinella/Manifest
deleted file mode 100644
index 013fe15428b4..000000000000
--- a/net-im/coccinella/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Coccinella-0.96.20Src.tar.gz 9297799 BLAKE2B 1a69107e68f7cdf2bcc5b69cca99832c60132eff999b87e4f9e1a5b4b12a6d5a61eed00ce29a29f5f29b099d190a87db3ec00dc1a9ce27081972d37a20016005 SHA512 d19530a6293c3e6cdcda5c6f659acb051d8e6db88b3722deb81e3e418976929cbe415b625ee6b5c356b3a8b0bc2bf2c89e2e0140efeeb002b798e4eb2809b4fc
diff --git a/net-im/coccinella/coccinella-0.96.20.ebuild b/net-im/coccinella/coccinella-0.96.20.ebuild
deleted file mode 100644
index d582afacf842..000000000000
--- a/net-im/coccinella/coccinella-0.96.20.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-inherit eutils fdo-mime
-
-NAME=Coccinella
-DESCRIPTION="Jabber Client With a Built-in Whiteboard and VoIP (jingle)"
-HOMEPAGE="http://www.thecoccinella.org/"
-SRC_URI="mirror://sourceforge/coccinella/${NAME}-${PV}Src.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ssl"
-
-DEPEND=">=dev-lang/tk-8.5
- >=dev-tcltk/tkpng-0.9
- >=dev-tcltk/tktreectrl-2.2.9
- >=dev-tcltk/tktray-1.1
- >=dev-tcltk/snack-2.2
- ssl? ( >=dev-tcltk/tls-1.4 )
- >=dev-tcltk/tkimg-1.3"
-
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${NAME}-${PV}Src"
-
-#src_compile() {
-# einfo "Nothing to compile for ${P}."
-#}
-
-src_install () {
- rm -R "${S}"/bin/unix/Linux/i686/ || die
- rm -R "${S}"/bin/macosx || die
- rm -R "${S}"/bin/windows || die
- rm -R "${S}"/bin/unix/NetBSD || die
-
- dodir /opt/coccinella
- cp -R "${S}"/* "${D}"/opt/coccinella/
- fperms 0755 /opt/coccinella/Coccinella.tcl
- dosym /opt/coccinella/Coccinella.tcl /opt/bin/coccinella
- dodoc README.txt READMEs/*
-
- for x in 128 64 32 16 ; do
- src=/opt/coccinella/themes/Oxygen/icons/${x}x${x}/coccinella.png
- src2=/opt/coccinella/themes/Oxygen/icons/${x}x${x}/coccinella.png
- src2shadow=/opt/coccinella/themes/Oxygen/icons/${x}x${x}/coccinella2-shadow.png
- dir=/usr/share/icons/hicolor/${x}x${x}/apps
- dodir ${dir}
- dosym ${src} ${dir}/coccinella.png
- dosym ${src2} ${dir}/coccinella2.png
- dosym ${src2shadow} ${dir}/coccinella2-shadow.png
- unset src
- unset src2
- unset src2shadow
- unset dir
- done
-
- make_desktop_entry "coccinella" "Coccinella IM Client" "coccinella2-shadow"
-}
-
-pkg_postinst() {
- fdo-mime_desktop_database_update
-}
-
-pkg_postrm() {
- fdo-mime_desktop_database_update
-}
diff --git a/net-im/coccinella/metadata.xml b/net-im/coccinella/metadata.xml
deleted file mode 100644
index bfbb296357fe..000000000000
--- a/net-im/coccinella/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
-Coccinella is a Jabber client with a whiteboard. The whiteboard is a shared
-desktop which supports text, drawings, images, and multimedia in a number of
-formats, such as MP3 and video. It runs in two main modes, a peer-to-peer
-configuration and a mode compatible with the Jabber Instant Messaging system. A
-flexible plugin architecture may be used to support additional formats. It
-should run on any machine that runs Tcl/Tk.
-</longdescription>
- <upstream>
- <remote-id type="sourceforge">coccinella</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/corebird/Manifest b/net-im/corebird/Manifest
deleted file mode 100644
index 946446bfbe08..000000000000
--- a/net-im/corebird/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST corebird-1.7.4.tar.gz 555650 BLAKE2B 1c9ef4d81084a291726876a76b700fe556c0c8c803921c2df215db7e0c268029fcefa95ea6aabd8f4934ecbf70e70ee57988b6c7aefebfd0851d3cb73d16b3fc SHA512 7e88f73ef1fc36379172d30251065e7ee3df54eabfaf954015ed4e739c5ad2b1821b43a07e66bb9363b7daa59b5e981d459a4aef87be8a3dd80a7ed41e37e582
diff --git a/net-im/corebird/corebird-1.7.4.ebuild b/net-im/corebird/corebird-1.7.4.ebuild
deleted file mode 100644
index 70c586a41f6c..000000000000
--- a/net-im/corebird/corebird-1.7.4.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-VALA_MIN_API_VERSION=0.34
-
-inherit autotools gnome2 vala virtualx xdg-utils
-
-DESCRIPTION="Native GTK+3 Twitter client"
-HOMEPAGE="https://corebird.baedert.org/"
-SRC_URI="https://github.com/baedert/corebird/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug gstreamer spellcheck"
-
-RDEPEND="dev-db/sqlite:3
- dev-libs/glib:2
- dev-libs/json-glib
- gstreamer? ( media-libs/gst-plugins-bad:1.0[X,gtk]
- media-libs/gst-plugins-base:1.0[X]
- media-libs/gst-plugins-good:1.0
- media-plugins/gst-plugins-hls:1.0
- media-plugins/gst-plugins-libav:1.0
- media-plugins/gst-plugins-meta:1.0[X]
- media-plugins/gst-plugins-soup:1.0 )
- spellcheck? ( app-text/gspell[vala] )
- net-libs/libsoup
- x11-libs/gtk+:3"
-DEPEND="${RDEPEND}
- $(vala_depend)
- dev-util/intltool
- sys-apps/sed
- virtual/pkgconfig"
-
-src_prepare() {
- # Disable that specific test because it would perform a download
- sed -i -e "/inlinemediadownloader/d" tests/Makefile.am || die
- eautoreconf
- gnome2_src_prepare
- vala_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable gstreamer video)
- --disable-gst-check
- $(use_enable spellcheck)
- )
- gnome2_src_configure "${myeconfargs[@]}"
-}
-
-src_test() {
- # Need to have $HOME/.config and friends for the tests to work
- xdg_environment_reset
- virtx emake check
-}
diff --git a/net-im/corebird/metadata.xml b/net-im/corebird/metadata.xml
deleted file mode 100644
index 5b4d772c5be8..000000000000
--- a/net-im/corebird/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="spellcheck">Support spell checking</flag>
- </use>
- <upstream>
- <remote-id type="github">baedert/corebird</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/coturn/Manifest b/net-im/coturn/Manifest
index a8812e377e7f..b7be62479570 100644
--- a/net-im/coturn/Manifest
+++ b/net-im/coturn/Manifest
@@ -1,2 +1,2 @@
-DIST coturn-4.5.0.7.tar.gz 396579 BLAKE2B ac66fbac772ad4b182f0c4b64178a780bfb364e4c1cf105fc340ac60da0a4c2e2b186c3ce08cade347a5d1a4b233bfed604db74eacd81967c3090e00bc1e36e8 SHA512 4e6e4efb456449752b2cd242c9be7c5dc2298472e338293d3de21c3a9da968f2f304625663372bb4d857c092c694aa4681630773a46e4928b9c60c69378adacc
-DIST coturn-4.5.0.8.tar.gz 403711 BLAKE2B 1bc6a145117ffb3a5ea7d6730524d0ad8857755a3d8a59588ec61df9fcf21c1c68a15efb588c73f659c4e855cb7fdce145a83a8a0e10c0bfae2d0a54d1120475 SHA512 2bf32f72223bcb1ee57254def423a6f6d385df8e20661f79a789b08324d432269eeeb4a6a551769f1f9147447bcf1b4471fc634e9d91ca979947119ae76cec9e
+DIST coturn-4.5.2.tar.gz 442745 BLAKE2B c18d5f5cfedd600875c0bfa08b874ef6316a5aa9af34c27e2901825da412b794d437e08f0706f9651bdf6d3d19e151486af39a42f2326c7ab6bb802d33fd0ba4 SHA512 00e86a3a273a8e4e69deaefd338bdd6c44739a807f21a72a2d68efc089053e16efd1d5b34b0c6dea7a0fa2b66f70821d8c3e1107561e1f08dfac2c93933a6121
+DIST coturn-4.6.0.tar.gz 474423 BLAKE2B b70ecd1f333f4f9f37adcab6f5fd3406aa0eb962488b7cae4a30c9339cf7b11b2bfedd1fa70bd3b0c32bf82702d39eb22278506521f71e0cb6aaadee9d3c3d05 SHA512 a80ea1b8d9c78b8f9fc632517a0246cb0d2d4ff21c59d53827f026fb3a145a01b3bec637af94a96b525c35251cb5e9e209ba7f368f08e12ef61220bcb784637c
diff --git a/net-im/coturn/coturn-4.5.0.8.ebuild b/net-im/coturn/coturn-4.5.0.8.ebuild
deleted file mode 100644
index a1fe9ad57b2c..000000000000
--- a/net-im/coturn/coturn-4.5.0.8.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils user systemd tmpfiles
-DESCRIPTION="coturn TURN server project"
-HOMEPAGE="https://github.com/${PN}/${PN}"
-
-if [ ${PV} = 9999 ]; then
- KEYWORDS=""
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
- inherit git-r3
- DEPEND="dev-vcs/git"
-# S="${WORKDIR}/${PN}-master"
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="mongodb mysql postgres redis sqlite"
-RDEPEND="|| ( dev-libs/libevent[-ssl,libressl] dev-libs/libevent[ssl,-libressl] >dev-libs/libevent-2.1.8[ssl,libressl] )
- mongodb? ( dev-libs/mongo-c-driver )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:* )
- redis? ( dev-libs/hiredis )
- sqlite? ( dev-db/sqlite )"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
- sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
- -i "${S}/examples/etc/turnserver.conf" || die "sed for logdir failed"
- sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
- || die "sed for simple-log failed"
- if ! use mongodb; then
- export TURN_NO_MONGO=yes
- fi
- if ! use mysql; then
- export TURN_NO_MYSQL=yes
- fi
- if ! use postgres; then
- export TURN_NO_PQ=yes
- fi
- if ! use redis; then
- export TURN_NO_HIREDIS=yes
- fi
- if ! use sqlite; then
- export TURN_NO_SQLITE=yes
- fi
-
- econf $(use_with sqlite)
-}
-
-src_install() {
- default
- newinitd "${FILESDIR}/turnserver.init" turnserver
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.${PN}" "${PN}"
- systemd_dounit "${FILESDIR}/${PN}.service"
- dotmpfiles "${FILESDIR}/${PN}.conf"
-}
-
-pkg_postinst() {
- tmpfiles_process "${PN}.conf"
- enewgroup turnserver
- enewuser turnserver -1 -1 -1 turnserver
- elog "You need to copy /etc/turnserver.conf.default to"
- elog "/etc/turnserver.conf and do your settings there."
-}
diff --git a/net-im/coturn/coturn-4.5.0.7.ebuild b/net-im/coturn/coturn-4.5.2-r1.ebuild
index a1fe9ad57b2c..d3a3c8813604 100644
--- a/net-im/coturn/coturn-4.5.0.7.ebuild
+++ b/net-im/coturn/coturn-4.5.2-r1.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit eutils user systemd tmpfiles
+EAPI=7
+
+inherit toolchain-funcs systemd tmpfiles
DESCRIPTION="coturn TURN server project"
-HOMEPAGE="https://github.com/${PN}/${PN}"
+HOMEPAGE="https://github.com/coturn/coturn"
if [ ${PV} = 9999 ]; then
- KEYWORDS=""
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
inherit git-r3
- DEPEND="dev-vcs/git"
# S="${WORKDIR}/${PN}-master"
else
KEYWORDS="~amd64 ~x86"
@@ -20,20 +19,33 @@ fi
LICENSE="BSD"
SLOT="0"
IUSE="mongodb mysql postgres redis sqlite"
-RDEPEND="|| ( dev-libs/libevent[-ssl,libressl] dev-libs/libevent[ssl,-libressl] >dev-libs/libevent-2.1.8[ssl,libressl] )
- mongodb? ( dev-libs/mongo-c-driver )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:* )
- redis? ( dev-libs/hiredis )
- sqlite? ( dev-db/sqlite )"
-
+RDEPEND="acct-group/turnserver
+ acct-user/turnserver
+ >dev-libs/libevent-2.1.8:=
+ dev-libs/openssl:=
+ mongodb? ( dev-libs/mongo-c-driver )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ redis? ( dev-libs/hiredis:= )
+ sqlite? ( dev-db/sqlite )"
DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.5.2-respect-TMPDIR.patch
+)
src_configure() {
+ if [ -n "${AR}" ]; then
+ sed 's:ARCHIVERCMD="ar -r":ARCHIVERCMD="${AR} -r":g' -i "${S}/configure"
+ fi
+ sed 's:MANPREFIX}/man/:MANPREFIX}/:g' -i "${S}/Makefile.in" || die "sed for mandir failed"
sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
-i "${S}/examples/etc/turnserver.conf" || die "sed for logdir failed"
sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
|| die "sed for simple-log failed"
+ sed '/INSTALL_DIR} examples\/script/a \ \${INSTALL_DIR} examples\/ca \${DESTDIR}${EXAMPLESDIR}' \
+ -i "${S}/Makefile.in" || die "sed for example ca failed"
if ! use mongodb; then
export TURN_NO_MONGO=yes
fi
@@ -50,6 +62,12 @@ src_configure() {
export TURN_NO_SQLITE=yes
fi
+ tc-export CC
+
+ export ARCHIVERCMD="$(tc-getAR) -r"
+ export PKGCONFIG="$(tc-getPKG_CONFIG)"
+ export DOCSDIR="/usr/share/doc/${PN}-${PV}"
+
econf $(use_with sqlite)
}
@@ -64,8 +82,6 @@ src_install() {
pkg_postinst() {
tmpfiles_process "${PN}.conf"
- enewgroup turnserver
- enewuser turnserver -1 -1 -1 turnserver
elog "You need to copy /etc/turnserver.conf.default to"
elog "/etc/turnserver.conf and do your settings there."
}
diff --git a/net-im/coturn/coturn-4.6.0.ebuild b/net-im/coturn/coturn-4.6.0.ebuild
new file mode 100644
index 000000000000..8c10c10306aa
--- /dev/null
+++ b/net-im/coturn/coturn-4.6.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs systemd tmpfiles
+
+DESCRIPTION="coturn TURN server project"
+HOMEPAGE="https://github.com/coturn/coturn"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/coturn/coturn.git"
+ inherit git-r3
+ #S="${WORKDIR}/${PN}-master"
+else
+ SRC_URI="https://github.com/coturn/coturn/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="mongodb mysql postgres redis sqlite"
+
+RDEPEND="
+ acct-group/turnserver
+ acct-user/turnserver
+ >dev-libs/libevent-2.1.8:=
+ dev-libs/openssl:=
+ mongodb? ( dev-libs/mongo-c-driver )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ redis? ( dev-libs/hiredis:= )
+ sqlite? ( dev-db/sqlite )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.5.2-respect-TMPDIR.patch
+ "${FILESDIR}"/${P}-openssl3.patch
+)
+
+src_configure() {
+ if [[ -n "${AR}" ]]; then
+ sed 's:ARCHIVERCMD="ar -r":ARCHIVERCMD="${AR} -r":g' -i "${S}/configure"
+ fi
+
+ sed 's:MANPREFIX}/man/:MANPREFIX}/:g' -i "${S}/Makefile.in" || die "sed for mandir failed"
+ sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
+ -i "${S}/examples/etc/turnserver.conf" || die "sed for logdir failed"
+ sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
+ || die "sed for simple-log failed"
+ sed '/INSTALL_DIR} examples\/script/a \ \${INSTALL_DIR} examples\/ca \${DESTDIR}${EXAMPLESDIR}' \
+ -i "${S}/Makefile.in" || die "sed for example ca failed"
+
+ if ! use mongodb; then
+ export TURN_NO_MONGO=yes
+ fi
+ if ! use mysql; then
+ export TURN_NO_MYSQL=yes
+ fi
+ if ! use postgres; then
+ export TURN_NO_PQ=yes
+ fi
+ if ! use redis; then
+ export TURN_NO_HIREDIS=yes
+ fi
+ if ! use sqlite; then
+ export TURN_NO_SQLITE=yes
+ fi
+
+ tc-export CC
+
+ export ARCHIVERCMD="$(tc-getAR) -r"
+ export PKGCONFIG="$(tc-getPKG_CONFIG)"
+ export DOCSDIR="/usr/share/doc/${PN}-${PV}"
+
+ econf $(use_with sqlite)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}/turnserver.init" turnserver
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate.${PN}" "${PN}"
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ dotmpfiles "${FILESDIR}/${PN}.conf"
+}
+
+pkg_postinst() {
+ tmpfiles_process ${PN}.conf
+
+ elog "You need to copy ${EROOT}/etc/turnserver.conf.default to"
+ elog "${EROOT}/etc/turnserver.conf and do your settings there."
+}
diff --git a/net-im/coturn/coturn-9999.ebuild b/net-im/coturn/coturn-9999.ebuild
index a1fe9ad57b2c..8c10c10306aa 100644
--- a/net-im/coturn/coturn-9999.ebuild
+++ b/net-im/coturn/coturn-9999.ebuild
@@ -1,39 +1,58 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit eutils user systemd tmpfiles
+EAPI=7
+
+inherit toolchain-funcs systemd tmpfiles
+
DESCRIPTION="coturn TURN server project"
-HOMEPAGE="https://github.com/${PN}/${PN}"
+HOMEPAGE="https://github.com/coturn/coturn"
-if [ ${PV} = 9999 ]; then
- KEYWORDS=""
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/coturn/coturn.git"
inherit git-r3
- DEPEND="dev-vcs/git"
-# S="${WORKDIR}/${PN}-master"
+ #S="${WORKDIR}/${PN}-master"
else
+ SRC_URI="https://github.com/coturn/coturn/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
- SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
LICENSE="BSD"
SLOT="0"
IUSE="mongodb mysql postgres redis sqlite"
-RDEPEND="|| ( dev-libs/libevent[-ssl,libressl] dev-libs/libevent[ssl,-libressl] >dev-libs/libevent-2.1.8[ssl,libressl] )
- mongodb? ( dev-libs/mongo-c-driver )
- mysql? ( dev-db/mysql-connector-c )
- postgres? ( dev-db/postgresql:* )
- redis? ( dev-libs/hiredis )
- sqlite? ( dev-db/sqlite )"
+RDEPEND="
+ acct-group/turnserver
+ acct-user/turnserver
+ >dev-libs/libevent-2.1.8:=
+ dev-libs/openssl:=
+ mongodb? ( dev-libs/mongo-c-driver )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ redis? ( dev-libs/hiredis:= )
+ sqlite? ( dev-db/sqlite )
+"
DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.5.2-respect-TMPDIR.patch
+ "${FILESDIR}"/${P}-openssl3.patch
+)
src_configure() {
+ if [[ -n "${AR}" ]]; then
+ sed 's:ARCHIVERCMD="ar -r":ARCHIVERCMD="${AR} -r":g' -i "${S}/configure"
+ fi
+
+ sed 's:MANPREFIX}/man/:MANPREFIX}/:g' -i "${S}/Makefile.in" || die "sed for mandir failed"
sed 's:#log-file=/var/tmp/turn.log:log-file=/var/log/turnserver.log:' \
-i "${S}/examples/etc/turnserver.conf" || die "sed for logdir failed"
sed 's:#simple-log:simple-log:' -i "${S}/examples/etc/turnserver.conf" \
|| die "sed for simple-log failed"
+ sed '/INSTALL_DIR} examples\/script/a \ \${INSTALL_DIR} examples\/ca \${DESTDIR}${EXAMPLESDIR}' \
+ -i "${S}/Makefile.in" || die "sed for example ca failed"
+
if ! use mongodb; then
export TURN_NO_MONGO=yes
fi
@@ -50,22 +69,30 @@ src_configure() {
export TURN_NO_SQLITE=yes
fi
+ tc-export CC
+
+ export ARCHIVERCMD="$(tc-getAR) -r"
+ export PKGCONFIG="$(tc-getPKG_CONFIG)"
+ export DOCSDIR="/usr/share/doc/${PN}-${PV}"
+
econf $(use_with sqlite)
}
src_install() {
default
+
newinitd "${FILESDIR}/turnserver.init" turnserver
+
insinto /etc/logrotate.d
newins "${FILESDIR}/logrotate.${PN}" "${PN}"
+
systemd_dounit "${FILESDIR}/${PN}.service"
dotmpfiles "${FILESDIR}/${PN}.conf"
}
pkg_postinst() {
- tmpfiles_process "${PN}.conf"
- enewgroup turnserver
- enewuser turnserver -1 -1 -1 turnserver
- elog "You need to copy /etc/turnserver.conf.default to"
- elog "/etc/turnserver.conf and do your settings there."
+ tmpfiles_process ${PN}.conf
+
+ elog "You need to copy ${EROOT}/etc/turnserver.conf.default to"
+ elog "${EROOT}/etc/turnserver.conf and do your settings there."
}
diff --git a/net-im/coturn/files/coturn-4.5.2-respect-TMPDIR.patch b/net-im/coturn/files/coturn-4.5.2-respect-TMPDIR.patch
new file mode 100644
index 000000000000..036705afc1f2
--- /dev/null
+++ b/net-im/coturn/files/coturn-4.5.2-respect-TMPDIR.patch
@@ -0,0 +1,24 @@
+diff --git a/configure b/configure
+index caf11f5..003da8d 100755
+--- a/configure
++++ b/configure
+@@ -513,12 +513,13 @@ fi
+ # Temporary DIR location:
+ #########################
+
+-TMPDIR="."
+-
+-if [ -d /var/tmp ] ; then
+- TMPDIR="/var/tmp"
+-elif [ -d /tmp ] ; then
+- TMPDIR=/tmp
++TMPDIR=${TMPDIR:-.}
++if test x"${TMPDIR}" = "." ; then
++ if [ -d /var/tmp ] ; then
++ TMPDIR="/var/tmp"
++ elif [ -d /tmp ] ; then
++ TMPDIR=/tmp
++ fi
+ fi
+
+ ${ECHO_CMD} Use TMP dir ${TMPDIR}
diff --git a/net-im/coturn/files/coturn-4.6.0-openssl3.patch b/net-im/coturn/files/coturn-4.6.0-openssl3.patch
new file mode 100644
index 000000000000..19b88048af50
--- /dev/null
+++ b/net-im/coturn/files/coturn-4.6.0-openssl3.patch
@@ -0,0 +1,356 @@
+https://github.com/coturn/coturn/commit/9af9f6306ab73c3403f9e11086b1936e9148f7de
+https://github.com/coturn/coturn/commit/4ce784a8781ab086c150e2b9f5641b1a37fd9b31
+https://github.com/coturn/coturn/commit/9370bb742d976166a51032760da1ecedefb92267
+https://github.com/coturn/coturn/commit/d72a2a8920b80ce66b36e22b2c22f308ad06c424
+
+From 9af9f6306ab73c3403f9e11086b1936e9148f7de Mon Sep 17 00:00:00 2001
+From: Pavel Punsky <eakraly@users.noreply.github.com>
+Date: Wed, 14 Sep 2022 03:29:26 -0700
+Subject: [PATCH] Fix renegotiation flag for older version of openssl (#978)
+
+`SSL_OP_NO_RENEGOTIATION` is only supported in openssl-1.1.0 and above
+Older versions have `SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS `
+
+Fixes #977 and #952
+
+Test:
+Build in a docker container running running openssl-1.0.2g (ubuntu
+16.04) successfully (without the fix getting the same errors)
+--- a/src/apps/relay/dtls_listener.c
++++ b/src/apps/relay/dtls_listener.c
+@@ -295,8 +295,17 @@ static ioa_socket_handle dtls_server_input_handler(dtls_listener_relay_server_ty
+ SSL_set_accept_state(connecting_ssl);
+
+ SSL_set_bio(connecting_ssl, NULL, wbio);
+- SSL_set_options(connecting_ssl, SSL_OP_COOKIE_EXCHANGE | SSL_OP_NO_RENEGOTIATION);
+-
++ SSL_set_options(connecting_ssl, SSL_OP_COOKIE_EXCHANGE
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS)
++ | SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS
++#endif
++#else
++#if defined(SSL_OP_NO_RENEGOTIATION)
++ | SSL_OP_NO_RENEGOTIATION
++#endif
++#endif
++ );
+ SSL_set_max_cert_list(connecting_ssl, 655350);
+
+ ioa_socket_handle rc = dtls_accept_client_connection(server, s, connecting_ssl,
+@@ -581,7 +590,17 @@ static int create_new_connected_udp_socket(
+
+ SSL_set_bio(connecting_ssl, NULL, wbio);
+
+- SSL_set_options(connecting_ssl, SSL_OP_COOKIE_EXCHANGE | SSL_OP_NO_RENEGOTIATION);
++ SSL_set_options(connecting_ssl, SSL_OP_COOKIE_EXCHANGE
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS)
++ | SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS
++#endif
++#else
++#if defined(SSL_OP_NO_RENEGOTIATION)
++ | SSL_OP_NO_RENEGOTIATION
++#endif
++#endif
++ );
+
+ SSL_set_max_cert_list(connecting_ssl, 655350);
+ int rc = ssl_read(ret->fd, connecting_ssl, server->sm.m.sm.nd.nbh,
+--- a/src/apps/relay/ns_ioalib_engine_impl.c
++++ b/src/apps/relay/ns_ioalib_engine_impl.c
+@@ -1428,7 +1428,17 @@ static void set_socket_ssl(ioa_socket_handle s, SSL *ssl)
+ if(ssl) {
+ SSL_set_app_data(ssl,s);
+ SSL_set_info_callback(ssl, (ssl_info_callback_t)ssl_info_callback);
+- SSL_set_options(ssl, SSL_OP_NO_RENEGOTIATION);
++ SSL_set_options(ssl,
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS)
++ SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS
++#endif
++#else
++#if defined(SSL_OP_NO_RENEGOTIATION)
++ SSL_OP_NO_RENEGOTIATION
++#endif
++#endif
++ );
+ }
+ }
+ }
+
+From 4ce784a8781ab086c150e2b9f5641b1a37fd9b31 Mon Sep 17 00:00:00 2001
+From: Pavel Punsky <eakraly@users.noreply.github.com>
+Date: Fri, 16 Sep 2022 00:46:45 -0700
+Subject: [PATCH] Improve openssl3 and FIPS support (#955)
+
+openssl-3.0 deprecated some APIs and introduced new APIs instead:
+
+`SSL_get_peer_certificate ` -> `SSL_get1_peer_certificate `
+`FIPS_mode()`->`EVP_default_properties_is_fips_enabled()`
+`EVP_MD_CTX_set_flags()`->`EVP_default_properties_enable_fips()`
+specifically for enabling FIPS mode
+
+This change should workaround that by ifdef-ing old/new versions of
+openssl and APIs - so pre-3.0 use existing APIs (so not change there)
+and >=3.0 will use new APIs (whether it actually works or not is still
+TBD as this is just a first step in openssl-3.0 support)
+
+Should fix #886
+
+Test Plan:
+Run CI build that supports ubuntu-20.04 (openssl-1.1.1) and ubuntu-22.04
+(openssl-3.0.2)
+Both builds pass
+None of them have FIPS support (which for 1.1.x stays the same as
+before)
+
+Co-authored-by: Pavel Punsky <pavel.punsky@epicgames.com>
+--- a/src/apps/relay/ns_ioalib_engine_impl.c
++++ b/src/apps/relay/ns_ioalib_engine_impl.c
+@@ -1868,7 +1868,11 @@ int ssl_read(evutil_socket_t fd, SSL* ssl, ioa_network_buffer_handle nbh, int ve
+
+ } else if (!if1 && if2) {
+
++#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
++ if(verbose && SSL_get1_peer_certificate(ssl)) {
++#else
+ if(verbose && SSL_get_peer_certificate(ssl)) {
++#endif
+ printf("\n------------------------------------------------------------\n");
+ X509_NAME_print_ex_fp(stdout, X509_get_subject_name(SSL_get_peer_certificate(ssl)), 1,
+ XN_FLAG_MULTILINE);
+--- a/src/apps/uclient/startuclient.c
++++ b/src/apps/uclient/startuclient.c
+@@ -138,7 +138,11 @@ static SSL* tls_connect(ioa_socket_raw fd, ioa_addr *remote_addr, int *try_again
+ if (rc > 0) {
+ TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: client session connected with cipher %s, method=%s\n",__FUNCTION__,
+ SSL_get_cipher(ssl),turn_get_ssl_method(ssl,NULL));
++#if (OPENSSL_VERSION_NUMBER >= 0x30000000L)
++ if(clnet_verbose && SSL_get1_peer_certificate(ssl)) {
++#else
+ if(clnet_verbose && SSL_get_peer_certificate(ssl)) {
++#endif
+ TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "------------------------------------------------------------\n");
+ X509_NAME_print_ex_fp(stdout, X509_get_subject_name(SSL_get_peer_certificate(ssl)), 1,
+ XN_FLAG_MULTILINE);
+--- a/src/client/ns_turn_msg.c
++++ b/src/client/ns_turn_msg.c
+@@ -248,12 +248,22 @@ int stun_produce_integrity_key_str(const uint8_t *uname, const uint8_t *realm, c
+ if (FIPS_mode()) {
+ EVP_MD_CTX_set_flags(&ctx,EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
+ }
+-#endif
++#endif // defined EVP_MD_CTX_FLAG_NON_FIPS_ALLOW && !defined(LIBRESSL_VERSION_NUMBER)
+ EVP_DigestInit_ex(&ctx,EVP_md5(), NULL);
+ EVP_DigestUpdate(&ctx,str,strl);
+ EVP_DigestFinal(&ctx,key,&keylen);
+ EVP_MD_CTX_cleanup(&ctx);
+-#else
++#elif OPENSSL_VERSION_NUMBER >= 0x30000000L
++ unsigned int keylen = 0;
++ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
++ if (EVP_default_properties_is_fips_enabled(NULL)) {
++ EVP_default_properties_enable_fips(NULL, 0);
++ }
++ EVP_DigestInit_ex(ctx,EVP_md5(), NULL);
++ EVP_DigestUpdate(ctx,str,strl);
++ EVP_DigestFinal(ctx,key,&keylen);
++ EVP_MD_CTX_free(ctx);
++#else // OPENSSL_VERSION_NUMBER < 0x10100000L
+ unsigned int keylen = 0;
+ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
+ #if defined EVP_MD_CTX_FLAG_NON_FIPS_ALLOW && ! defined(LIBRESSL_VERSION_NUMBER)
+@@ -265,7 +275,7 @@ int stun_produce_integrity_key_str(const uint8_t *uname, const uint8_t *realm, c
+ EVP_DigestUpdate(ctx,str,strl);
+ EVP_DigestFinal(ctx,key,&keylen);
+ EVP_MD_CTX_free(ctx);
+-#endif
++#endif // OPENSSL_VERSION_NUMBER < 0X10100000L
+ ret = 0;
+ }
+
+
+From 9370bb742d976166a51032760da1ecedefb92267 Mon Sep 17 00:00:00 2001
+From: Pavel Punsky <eakraly@users.noreply.github.com>
+Date: Fri, 16 Sep 2022 23:29:32 -0700
+Subject: [PATCH] Fix a warning (#988)
+
+There are too many defines that are, eventually, used in one place so
+just inlining.
+
+Current code generates following warning:
+```
+warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]
+```
+
+With the fix there is no warning
+
+Co-authored-by: Pavel Punsky <pavel.punsky@epicgames.com>
+--- a/src/apps/relay/netengine.c
++++ b/src/apps/relay/netengine.c
+@@ -31,13 +31,7 @@
+ #include "mainrelay.h"
+
+ //////////// Backward compatibility with OpenSSL 1.0.x //////////////
+-#define HAVE_OPENSSL11_API (!(OPENSSL_VERSION_NUMBER < 0x10100001L || defined LIBRESSL_VERSION_NUMBER))
+-
+-#ifndef HAVE_SSL_CTX_UP_REF
+-#define HAVE_SSL_CTX_UP_REF HAVE_OPENSSL11_API
+-#endif
+-
+-#if !HAVE_SSL_CTX_UP_REF
++#if (OPENSSL_VERSION_NUMBER < 0x10100001L || defined LIBRESSL_VERSION_NUMBER)
+ #define SSL_CTX_up_ref(ctx) CRYPTO_add(&(ctx)->references, 1, CRYPTO_LOCK_SSL_CTX)
+ #endif
+
+
+From d72a2a8920b80ce66b36e22b2c22f308ad06c424 Mon Sep 17 00:00:00 2001
+From: Pavel Punsky <eakraly@users.noreply.github.com>
+Date: Mon, 24 Oct 2022 13:06:35 -0700
+Subject: [PATCH] Cleanup openssl initialization (#1012)
+
+Rewriting openssl initialization code (threading support to make it
+cleaner
+
+- Regroup functions so that there is one ifdef (for old code and new
+code)
+- Modern openssl (>1.0.2) does not need any synchornization routines so
+they are empty
+- Old openssl (<=1.0.2) now require `OPENSSL_THREADS` which allows
+running multiple threads in turnserver. Not having turnserver
+multi-threaded is a huge waste. `OPENSSL_THREADS` is now a requirement.
+
+
+Test Plan:
+- CI builds pass for openssl versions 1.0.2, 1.1.1, 3.0, including tests
+--- a/src/apps/relay/mainrelay.c
++++ b/src/apps/relay/mainrelay.c
+@@ -1345,7 +1345,6 @@ static void set_option(int c, char *value)
+ STRCPY(turn_params.relay_ifname, value);
+ break;
+ case 'm':
+-#if defined(OPENSSL_THREADS)
+ if(atoi(value)>MAX_NUMBER_OF_GENERAL_RELAY_SERVERS) {
+ TURN_LOG_FUNC(TURN_LOG_LEVEL_WARNING, "WARNING: max number of relay threads is 128.\n");
+ turn_params.general_relay_servers_number = MAX_NUMBER_OF_GENERAL_RELAY_SERVERS;
+@@ -1354,9 +1353,6 @@ static void set_option(int c, char *value)
+ } else {
+ turn_params.general_relay_servers_number = atoi(value);
+ }
+-#else
+- TURN_LOG_FUNC(TURN_LOG_LEVEL_WARNING, "WARNING: OpenSSL version is too old OR does not support threading,\n I am using single thread for relaying.\n");
+-#endif
+ break;
+ case 'd':
+ STRCPY(turn_params.listener_ifname, value);
+@@ -2645,9 +2641,8 @@ int main(int argc, char **argv)
+
+ ////////// OpenSSL locking ////////////////////////////////////////
+
+-#if defined(OPENSSL_THREADS)
+-
+-static char some_buffer[65536];
++#if defined(OPENSSL_THREADS)
++#if OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_1_1_0
+
+ //array larger than anything that OpenSSL may need:
+ static pthread_mutex_t mutex_buf[256];
+@@ -2665,76 +2660,52 @@ void coturn_locking_function(int mode, int n, const char *file, int line) {
+ }
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+ void coturn_id_function(CRYPTO_THREADID *ctid);
+ void coturn_id_function(CRYPTO_THREADID *ctid)
+ {
+ UNUSED_ARG(ctid);
+ CRYPTO_THREADID_set_numeric(ctid, (unsigned long)pthread_self());
+ }
+-#else
+-unsigned long coturn_id_function(void);
+-unsigned long coturn_id_function(void)
+-{
+- return (unsigned long)pthread_self();
+-}
+-#endif
+-
+-#endif
+
+ static int THREAD_setup(void) {
+-
+-#if defined(OPENSSL_THREADS)
+-
+- int i;
+-
+- some_buffer[0] = 0;
+-
++ int i;
+ for (i = 0; i < CRYPTO_num_locks(); i++) {
+ pthread_mutex_init(&(mutex_buf[i]), NULL);
+ }
+
+ mutex_buf_initialized = 1;
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L && OPENSSL_VERSION_NUMBER <= OPENSSL_VERSION_1_1_1
+ CRYPTO_THREADID_set_callback(coturn_id_function);
+-#else
+- CRYPTO_set_id_callback(coturn_id_function);
+-#endif
+-
+ CRYPTO_set_locking_callback(coturn_locking_function);
+-#endif
+-
+ return 1;
+ }
+
+ int THREAD_cleanup(void);
+ int THREAD_cleanup(void) {
++ int i;
+
+-#if defined(OPENSSL_THREADS)
++ if (!mutex_buf_initialized)
++ return 0;
+
+- int i;
+-
+- if (!mutex_buf_initialized)
+- return 0;
++ CRYPTO_THREADID_set_callback(NULL);
++ CRYPTO_set_locking_callback(NULL);
++ for (i = 0; i < CRYPTO_num_locks(); i++) {
++ pthread_mutex_destroy(&(mutex_buf[i]));
++ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10000000L && OPENSSL_VERSION_NUMBER <= OPENSSL_VERSION_1_1_1
+- CRYPTO_THREADID_set_callback(NULL);
++ mutex_buf_initialized = 0;
++ return 1;
++}
+ #else
+- CRYPTO_set_id_callback(NULL);
+-#endif
+-
+- CRYPTO_set_locking_callback(NULL);
+- for (i = 0; i < CRYPTO_num_locks(); i++) {
+- pthread_mutex_destroy(&(mutex_buf[i]));
+- }
+-
+- mutex_buf_initialized = 0;
+-
+-#endif
++static int THREAD_setup(void) {
++ return 1;
++}
+
+- return 1;
++int THREAD_cleanup(void);
++int THREAD_cleanup(void){
++ return 1;
+ }
++#endif /* OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_1_1_0 */
++#endif /* defined(OPENSSL_THREADS) */
+
+ static void adjust_key_file_name(char *fn, const char* file_title, int critical)
+ {
+
diff --git a/net-im/coturn/files/turnserver.init b/net-im/coturn/files/turnserver.init
index 682e4f12202d..676fe1037ad4 100755..100644
--- a/net-im/coturn/files/turnserver.init
+++ b/net-im/coturn/files/turnserver.init
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
diff --git a/net-im/coturn/metadata.xml b/net-im/coturn/metadata.xml
index 2baddb2216a4..1801b91d9921 100644
--- a/net-im/coturn/metadata.xml
+++ b/net-im/coturn/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>nativemad@gentoo.org</email>
- <name>Andreas Schuerch</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">coturn/coturn</remote-id>
</upstream>
diff --git a/net-im/cpop/cpop-0.0.4-r1.ebuild b/net-im/cpop/cpop-0.0.4-r2.ebuild
index b86f14d8e51d..77c21027edcc 100644
--- a/net-im/cpop/cpop-0.0.4-r1.ebuild
+++ b/net-im/cpop/cpop-0.0.4-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils
+EAPI=8
+
+inherit autotools
DESCRIPTION="GTK+ network popup message client. Compatible with the jpop protocol"
HOMEPAGE="http://www.draxil.uklinux.net/hip/index.pl?page=cpop"
@@ -11,14 +12,23 @@ SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-RDEPEND="dev-libs/glib:2
- x11-libs/gtk+:2"
+RDEPEND="
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${P}-implicit-exit_memset_strlen.patch
+ "${FILESDIR}"/${P}-implicit-func-decls.patch
+)
+
src_prepare() {
- epatch "${FILESDIR}"/${P}-implicit-exit_memset_strlen.patch
+ default
+
+ # Clang 16, bug #900072
+ eautoreconf
}
src_install() {
diff --git a/net-im/cpop/files/cpop-0.0.4-implicit-exit_memset_strlen.patch b/net-im/cpop/files/cpop-0.0.4-implicit-exit_memset_strlen.patch
index 3ce224c2910a..d47bfcde9d84 100644
--- a/net-im/cpop/files/cpop-0.0.4-implicit-exit_memset_strlen.patch
+++ b/net-im/cpop/files/cpop-0.0.4-implicit-exit_memset_strlen.patch
@@ -5,8 +5,8 @@ pop_gui_client.c:58:4: warning: incompatible implicit declaration of built-in fu
pop_gui_client.c:72:27: warning: incompatible implicit declaration of built-in function ‘strlen’
pop_gui_client.c:128:3: warning: incompatible implicit declaration of built-in function ‘exit’
---- pop_client.c
-+++ pop_client.c
+--- a/pop_client.c
++++ b/pop_client.c
@@ -1,11 +1,11 @@
#include <stdio.h>
+#include <stdlib.h>
@@ -20,16 +20,16 @@ pop_gui_client.c:128:3: warning: incompatible implicit declaration of built-in f
#include <netdb.h>
#include "pop_common.h"
#include "pop_client.h"
---- pop_common.c
-+++ pop_common.c
+--- a/pop_common.c
++++ b/pop_common.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
void errquit(char *message)
{
perror(message);
---- pop_gui_client.c
-+++ pop_gui_client.c
+--- a/pop_gui_client.c
++++ b/pop_gui_client.c
@@ -1,3 +1,5 @@
+#include <stdlib.h>
+#include <string.h>
diff --git a/net-im/cpop/files/cpop-0.0.4-implicit-func-decls.patch b/net-im/cpop/files/cpop-0.0.4-implicit-func-decls.patch
new file mode 100644
index 000000000000..ff3977e18055
--- /dev/null
+++ b/net-im/cpop/files/cpop-0.0.4-implicit-func-decls.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/885705
+--- a/pop_client.c
++++ b/pop_client.c
+@@ -2,6 +2,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/socket.h>
++#include <unistd.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <errno.h>
+--- a/pop_common.h
++++ b/pop_common.h
+@@ -3,4 +3,5 @@
+ #define CP_MSGSIZE 2048
+ #define CP_PORT 3233
+ void errquit(char *message);
++void printquit(char *message);
+ #endif
diff --git a/net-im/cpop/metadata.xml b/net-im/cpop/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/net-im/cpop/metadata.xml
+++ b/net-im/cpop/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/net-im/dianara/metadata.xml b/net-im/dianara/metadata.xml
index f33e939c94d9..87eb3c5383c3 100644
--- a/net-im/dianara/metadata.xml
+++ b/net-im/dianara/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <bugs-to>https://savannah.nongnu.org/bugs/?group=dianara</bugs-to>
- </upstream>
+ <!-- maintainer-needed -->
+ <upstream>
+ <bugs-to>https://savannah.nongnu.org/bugs/?group=dianara</bugs-to>
+ <remote-id type="savannah-nongnu">dianara</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/dino/Manifest b/net-im/dino/Manifest
new file mode 100644
index 000000000000..674adcabd18e
--- /dev/null
+++ b/net-im/dino/Manifest
@@ -0,0 +1,2 @@
+DIST dino-0.4.2.tar.gz 882421 BLAKE2B 36c0487a19202506e4de69afd923991c912e82c974f61e787ff4af37a40133fdbdb02315e82f7e85ccb8b3cd7d734aed7f8508ca31c1ffec49674ef68f71793b SHA512 b5d5b9e2ab2ff24f53778303e5428ed0613537944cf5d9139aa7e13558ee40ffb1566c6e9267dd802938a6abf0f0d5fbe94ef17fb3e18a11d47cc0d040928d19
+DIST dino-0.4.3.tar.gz 883558 BLAKE2B 31ea5eafedcaabbc1ec99c72b5a0c1a6f80462ce3f8288b2d54d68106cfb9a31d3ac525660cd1ff7bf0faf2fbfdb2f47dd37672cc0f2b3283121fd364f670092 SHA512 c3e5e3ba05d7190206a8a3144002eac94f162525ab229edd420215eff3d5644293d0c8737266f0ed9f112313b2e6e83fb02fcc10d0f568fb5b2295238ebe78ea
diff --git a/net-im/dino/dino-0.4.2-r2.ebuild b/net-im/dino/dino-0.4.2-r2.ebuild
new file mode 100644
index 000000000000..de4977426bc8
--- /dev/null
+++ b/net-im/dino/dino-0.4.2-r2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake vala xdg readme.gentoo-r1
+
+DESCRIPTION="Modern Jabber/XMPP Client using GTK+/Vala"
+HOMEPAGE="https://dino.im"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+gpg +http +omemo +notification-sound +rtp test"
+RESTRICT="!test? ( test )"
+
+MY_REPO_URI="https://github.com/dino/dino"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="${MY_REPO_URI}.git"
+ inherit git-r3
+else
+ KEYWORDS="amd64 ~arm64"
+ SRC_URI="${MY_REPO_URI}/releases/download/v${PV}/${P}.tar.gz"
+fi
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/icu:=
+ dev-libs/libgee:0.8=
+ gui-libs/gtk:4
+ >=gui-libs/libadwaita-1.2.0:1[vala]
+ media-libs/graphene
+ net-libs/glib-networking
+ net-libs/gnutls:=
+ >=net-libs/libnice-0.1.15
+ net-libs/libsignal-protocol-c
+ net-libs/libsrtp:2=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ gpg? ( app-crypt/gpgme:= )
+ http? ( net-libs/libsoup:2.4 )
+ notification-sound? ( media-libs/libcanberra:0[sound] )
+ omemo? (
+ dev-libs/libgcrypt:=
+ media-gfx/qrencode:=
+ )
+ rtp? (
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/webrtc-audio-processing:0
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+"
+BDEPEND="
+ sys-devel/gettext
+ $(vala_depend)
+"
+
+src_configure() {
+ vala_setup
+
+ local disabled_plugins=(
+ $(usex gpg "" "openpgp")
+ $(usex omemo "" "omemo")
+ $(usex http "" "http-files")
+ $(usex rtp "" rtp)
+ )
+ local enabled_plugins=(
+ $(usex notification-sound "notification-sound" "")
+ )
+ local mycmakeargs=(
+ "-DENABLED_PLUGINS=$(local IFS=";"; echo "${enabled_plugins[*]}")"
+ "-DDISABLED_PLUGINS=$(local IFS=";"; echo "${disabled_plugins[*]}")"
+ "-DVALA_EXECUTABLE=${VALAC}"
+ "-DSOUP_VERSION=2"
+ "-DBUILD_TESTS=$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/xmpp-vala-test || die
+}
+
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ readme.gentoo_print_elog
+}
diff --git a/net-im/dino/dino-0.4.3-r1.ebuild b/net-im/dino/dino-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..0badcf1fd992
--- /dev/null
+++ b/net-im/dino/dino-0.4.3-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake vala xdg readme.gentoo-r1
+
+DESCRIPTION="Modern Jabber/XMPP Client using GTK+/Vala"
+HOMEPAGE="https://dino.im"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+gpg +http +omemo +notification-sound +rtp test"
+RESTRICT="!test? ( test )"
+
+MY_REPO_URI="https://github.com/dino/dino"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="${MY_REPO_URI}.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm64"
+ SRC_URI="${MY_REPO_URI}/releases/download/v${PV}/${P}.tar.gz"
+fi
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/icu:=
+ dev-libs/libgee:0.8=
+ gui-libs/gtk:4
+ >=gui-libs/libadwaita-1.2.0:1[vala]
+ media-libs/graphene
+ net-libs/glib-networking
+ net-libs/gnutls:=
+ >=net-libs/libnice-0.1.15
+ net-libs/libsignal-protocol-c
+ net-libs/libsrtp:2=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ gpg? ( app-crypt/gpgme:= )
+ http? ( net-libs/libsoup:2.4 )
+ notification-sound? ( media-libs/libcanberra:0[sound] )
+ omemo? (
+ dev-libs/libgcrypt:=
+ media-gfx/qrencode:=
+ )
+ rtp? (
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/webrtc-audio-processing:0
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+"
+BDEPEND="
+ sys-devel/gettext
+ $(vala_depend)
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_configure() {
+ vala_setup
+
+ local disabled_plugins=(
+ $(usex gpg "" "openpgp")
+ $(usex omemo "" "omemo")
+ $(usex http "" "http-files")
+ $(usex rtp "" rtp)
+ )
+ local enabled_plugins=(
+ $(usex notification-sound "notification-sound" "")
+ )
+ local mycmakeargs=(
+ "-DENABLED_PLUGINS=$(local IFS=";"; echo "${enabled_plugins[*]}")"
+ "-DDISABLED_PLUGINS=$(local IFS=";"; echo "${disabled_plugins[*]}")"
+ "-DVALA_EXECUTABLE=${VALAC}"
+ "-DSOUP_VERSION=2"
+ "-DBUILD_TESTS=$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/xmpp-vala-test || die
+}
+
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ readme.gentoo_print_elog
+}
diff --git a/net-im/dino/dino-0.4.3.ebuild b/net-im/dino/dino-0.4.3.ebuild
new file mode 100644
index 000000000000..443a60ca974f
--- /dev/null
+++ b/net-im/dino/dino-0.4.3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake vala xdg readme.gentoo-r1
+
+DESCRIPTION="Modern Jabber/XMPP Client using GTK+/Vala"
+HOMEPAGE="https://dino.im"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+gpg +http +omemo +notification-sound +rtp test"
+RESTRICT="!test? ( test )"
+
+MY_REPO_URI="https://github.com/dino/dino"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="${MY_REPO_URI}.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm64"
+ SRC_URI="${MY_REPO_URI}/releases/download/v${PV}/${P}.tar.gz"
+fi
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/icu:=
+ dev-libs/libgee:0.8=
+ gui-libs/gtk:4
+ >=gui-libs/libadwaita-1.2.0:1[vala]
+ media-libs/graphene
+ net-libs/glib-networking
+ net-libs/gnutls:=
+ >=net-libs/libnice-0.1.15
+ net-libs/libsignal-protocol-c
+ net-libs/libsrtp:2=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ gpg? ( app-crypt/gpgme:= )
+ http? ( net-libs/libsoup:2.4 )
+ notification-sound? ( media-libs/libcanberra:0[sound] )
+ omemo? (
+ dev-libs/libgcrypt:=
+ media-gfx/qrencode:=
+ )
+ rtp? (
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/webrtc-audio-processing:0
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+"
+BDEPEND="
+ sys-devel/gettext
+ $(vala_depend)
+"
+
+src_configure() {
+ vala_setup
+
+ local disabled_plugins=(
+ $(usex gpg "" "openpgp")
+ $(usex omemo "" "omemo")
+ $(usex http "" "http-files")
+ $(usex rtp "" rtp)
+ )
+ local enabled_plugins=(
+ $(usex notification-sound "notification-sound" "")
+ )
+ local mycmakeargs=(
+ "-DENABLED_PLUGINS=$(local IFS=";"; echo "${enabled_plugins[*]}")"
+ "-DDISABLED_PLUGINS=$(local IFS=";"; echo "${disabled_plugins[*]}")"
+ "-DVALA_EXECUTABLE=${VALAC}"
+ "-DSOUP_VERSION=2"
+ "-DBUILD_TESTS=$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/xmpp-vala-test || die
+}
+
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ readme.gentoo_print_elog
+}
diff --git a/net-im/dino/dino-9999.ebuild b/net-im/dino/dino-9999.ebuild
index a1a9b20b2833..443a60ca974f 100644
--- a/net-im/dino/dino-9999.ebuild
+++ b/net-im/dino/dino-9999.ebuild
@@ -1,86 +1,99 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-CMAKE_MAKEFILE_GENERATOR="ninja"
-VALA_MIN_API_VERSION="0.34"
-inherit cmake-utils gnome2-utils vala xdg-utils
+inherit cmake vala xdg readme.gentoo-r1
DESCRIPTION="Modern Jabber/XMPP Client using GTK+/Vala"
HOMEPAGE="https://dino.im"
+
LICENSE="GPL-3"
SLOT="0"
-IUSE="+gpg +http +omemo"
+IUSE="+gpg +http +omemo +notification-sound +rtp test"
+RESTRICT="!test? ( test )"
MY_REPO_URI="https://github.com/dino/dino"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="${MY_REPO_URI}.git"
inherit git-r3
else
- KEYWORDS="~amd64"
- SRC_URI="${MY_REPO_URI}/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+ SRC_URI="${MY_REPO_URI}/releases/download/v${PV}/${P}.tar.gz"
fi
RDEPEND="
dev-db/sqlite:3
dev-libs/glib:2
- dev-libs/icu
- dev-libs/libgee:0.8
+ dev-libs/icu:=
+ dev-libs/libgee:0.8=
+ gui-libs/gtk:4
+ >=gui-libs/libadwaita-1.2.0:1[vala]
+ media-libs/graphene
net-libs/glib-networking
+ net-libs/gnutls:=
+ >=net-libs/libnice-0.1.15
+ net-libs/libsignal-protocol-c
+ net-libs/libsrtp:2=
x11-libs/cairo
x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
x11-libs/pango
- gpg? ( app-crypt/gpgme:1 )
+ gpg? ( app-crypt/gpgme:= )
http? ( net-libs/libsoup:2.4 )
+ notification-sound? ( media-libs/libcanberra:0[sound] )
omemo? (
- dev-libs/libgcrypt:0
- media-gfx/qrencode
+ dev-libs/libgcrypt:=
+ media-gfx/qrencode:=
+ )
+ rtp? (
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/webrtc-audio-processing:0
)
"
DEPEND="
- $(vala_depend)
${RDEPEND}
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+"
+BDEPEND="
sys-devel/gettext
+ $(vala_depend)
"
-src_prepare() {
- cmake-utils_src_prepare
- vala_src_prepare
-}
-
src_configure() {
+ vala_setup
+
local disabled_plugins=(
$(usex gpg "" "openpgp")
$(usex omemo "" "omemo")
$(usex http "" "http-files")
+ $(usex rtp "" rtp)
+ )
+ local enabled_plugins=(
+ $(usex notification-sound "notification-sound" "")
)
- local mycmakeargs+=(
+ local mycmakeargs=(
+ "-DENABLED_PLUGINS=$(local IFS=";"; echo "${enabled_plugins[*]}")"
"-DDISABLED_PLUGINS=$(local IFS=";"; echo "${disabled_plugins[*]}")"
"-DVALA_EXECUTABLE=${VALAC}"
+ "-DSOUP_VERSION=2"
+ "-DBUILD_TESTS=$(usex test)"
)
- if has test ${FEATURES}; then
- mycmakeargs+=("-DBUILD_TESTS=yes")
- fi
-
- cmake-utils_src_configure
+ cmake_src_configure
}
src_test() {
"${BUILD_DIR}"/xmpp-vala-test || die
}
-update_caches() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
}
pkg_postinst() {
- update_caches
-}
-
-pkg_postrm() {
- update_caches
+ xdg_pkg_postinst
+ readme.gentoo_print_elog
}
diff --git a/net-im/dino/files/README.gentoo b/net-im/dino/files/README.gentoo
new file mode 100644
index 000000000000..b51e4391562e
--- /dev/null
+++ b/net-im/dino/files/README.gentoo
@@ -0,0 +1,23 @@
+To enable video calls, install the following packages.
+
+Transport level security:
+- gst-plugins-srtp
+- gst-plugins-dtls
+
+Peer to peer connection reliability:
+- gst-plugins-libnice
+
+Video output into a window:
+- gst-plugins-gtk
+
+At least one codec is needed in common with the other end of the call, as they
+are negotiated when the call begins.
+
+Video codecs:
+- gst-plugins-x264
+- gst-plugins-vpx
+
+Audio codecs:
+- gst-plugins-good
+- gst-plugins-speex
+- gst-plugins-opus
diff --git a/net-im/dino/files/dino-0.4.3-c99.patch b/net-im/dino/files/dino-0.4.3-c99.patch
new file mode 100644
index 000000000000..d21ff5e4adec
--- /dev/null
+++ b/net-im/dino/files/dino-0.4.3-c99.patch
@@ -0,0 +1,57 @@
+https://bugs.gentoo.org/926073
+https://github.com/dino/dino/commit/0c45387bf903e5b0d02502d27642dd2a78aa6539
+
+From 0c45387bf903e5b0d02502d27642dd2a78aa6539 Mon Sep 17 00:00:00 2001
+From: fiaxh <git@lightrise.org>
+Date: Sat, 7 Oct 2023 13:56:38 +0200
+Subject: [PATCH] Fix implicit-function-declaration compiler warnings
+
+--- a/xmpp-vala/src/module/xep/0384_omemo/omemo_encryptor.vala
++++ b/xmpp-vala/src/module/xep/0384_omemo/omemo_encryptor.vala
+@@ -72,27 +72,27 @@ namespace Xmpp.Xep.Omemo {
+ }
+
+ public class EncryptionResult {
+- public int lost { get; internal set; }
+- public int success { get; internal set; }
+- public int unknown { get; internal set; }
+- public int failure { get; internal set; }
++ public int lost { get; set; }
++ public int success { get; set; }
++ public int unknown { get; set; }
++ public int failure { get; set; }
+ }
+
+ public class EncryptState {
+- public bool encrypted { get; internal set; }
+- public int other_devices { get; internal set; }
+- public int other_success { get; internal set; }
+- public int other_lost { get; internal set; }
+- public int other_unknown { get; internal set; }
+- public int other_failure { get; internal set; }
+- public int other_waiting_lists { get; internal set; }
+-
+- public int own_devices { get; internal set; }
+- public int own_success { get; internal set; }
+- public int own_lost { get; internal set; }
+- public int own_unknown { get; internal set; }
+- public int own_failure { get; internal set; }
+- public bool own_list { get; internal set; }
++ public bool encrypted { get; set; }
++ public int other_devices { get; set; }
++ public int other_success { get; set; }
++ public int other_lost { get; set; }
++ public int other_unknown { get; set; }
++ public int other_failure { get; set; }
++ public int other_waiting_lists { get; set; }
++
++ public int own_devices { get; set; }
++ public int own_success { get; set; }
++ public int own_lost { get; set; }
++ public int own_unknown { get; set; }
++ public int own_failure { get; set; }
++ public bool own_list { get; set; }
+
+ public void add_result(EncryptionResult enc_res, bool own) {
+ if (own) {
+
diff --git a/net-im/dino/metadata.xml b/net-im/dino/metadata.xml
index 05d64fd0a3f9..8798c1dab8d4 100644
--- a/net-im/dino/metadata.xml
+++ b/net-im/dino/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<bugs-to>https://github.com/dino/dino/issues</bugs-to>
<remote-id type="github">dino/dino</remote-id>
@@ -13,5 +10,7 @@
<flag name="gpg">Enable OpenPGP encryption plugin</flag>
<flag name="http">Enable HTTP file upload plugin</flag>
<flag name="omemo">Enable OMEMO encryption plugin</flag>
+ <flag name="notification-sound">notification sounds plugin</flag>
+ <flag name="rtp">Enable Audio/Video calls over XMPP using RTP</flag>
</use>
</pkgmetadata>
diff --git a/net-im/discord-bin/Manifest b/net-im/discord-bin/Manifest
deleted file mode 100644
index 6b8c77f30da7..000000000000
--- a/net-im/discord-bin/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST discord-0.0.9.deb 44445792 BLAKE2B 0e2904282a6486f9d0aed8498dfa38233196d3e3c9b14d6064eefe770c061fd48c70f048972f58c911e5711b171e0a0702a2657ae6f6ee0c69f415ea7f641eb7 SHA512 3c9465566a340b9f6afcb47a3d2deec4b560c78d44e807742c660ab2d834ddf1d7b66958ae6ac1438ace21ccbcb81b11f9c72efb0ded2cbfce6b6e5631375b4a
diff --git a/net-im/discord-bin/discord-bin-0.0.9.ebuild b/net-im/discord-bin/discord-bin-0.0.9.ebuild
deleted file mode 100644
index 99ca345176a1..000000000000
--- a/net-im/discord-bin/discord-bin-0.0.9.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-MY_PN=${PN/-bin/}
-MY_BIN="D${MY_PN/d/}"
-
-inherit desktop gnome2-utils pax-utils unpacker xdg-utils
-
-DESCRIPTION="All-in-one voice and text chat for gamers"
-HOMEPAGE="https://discordapp.com"
-SRC_URI="https://dl.discordapp.net/apps/linux/${PV}/${MY_PN}-${PV}.deb"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="pax_kernel"
-RESTRICT="mirror bindist"
-
-RDEPEND="
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- gnome-base/gconf:2
- media-libs/alsa-lib
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- net-print/cups
- sys-apps/dbus
- sys-libs/libcxx
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/pango
-"
-
-S=${WORKDIR}
-
-QA_PREBUILT="
- opt/discord/${MY_BIN}
- opt/discord/libEGL.so
- opt/discord/libGLESv2.so
- opt/discord/swiftshader/libEGL.so
- opt/discord/swiftshader/libGLESv2.so
- opt/discord/libVkICD_mock_icd.so
- opt/discord/libffmpeg.so
-"
-
-src_prepare() {
- default
-
- sed -i \
- -e "s:/usr/share/discord/Discord:/opt/${MY_PN}/${MY_BIN}:g" \
- usr/share/${MY_PN}/${MY_PN}.desktop || die
-}
-
-src_install() {
- doicon usr/share/${MY_PN}/${MY_PN}.png
- domenu usr/share/${MY_PN}/${MY_PN}.desktop
-
- insinto /opt/${MY_PN}
- doins -r usr/share/${MY_PN}/.
- fperms +x /opt/${MY_PN}/${MY_BIN}
- dosym ../../opt/${MY_PN}/${MY_BIN} usr/bin/${MY_PN}
-
- use pax_kernel && pax-mark -m "${ED%/}"/opt/${MY_PN}/${MY_PN}
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
diff --git a/net-im/discord-bin/metadata.xml b/net-im/discord-bin/metadata.xml
deleted file mode 100644
index 6fc119fa9d04..000000000000
--- a/net-im/discord-bin/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>johu@gentoo.org</email>
- <name>Johannes Huber</name>
- </maintainer>
- <use>
- <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
- </use>
-</pkgmetadata>
diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest
new file mode 100644
index 000000000000..411593c05be3
--- /dev/null
+++ b/net-im/discord/Manifest
@@ -0,0 +1 @@
+DIST discord-0.0.50.tar.gz 101523210 BLAKE2B 7ebbc99d1145bc1719d8297d5a1d39aad7b65bde53359973662293f21b92884ca692c217166c4d7e274799dbe345eab682083fa5c55b049a8413e8ca64274286 SHA512 8e745436645ab8aa3fae582e125224b81c8556b74b40476ead337594f377fab95684a96287c53510d3838e948a64e0397f07ca8a76f6d99cd243af6a06080873
diff --git a/net-im/discord/discord-0.0.50.ebuild b/net-im/discord/discord-0.0.50.ebuild
new file mode 100644
index 000000000000..fefed5b524d7
--- /dev/null
+++ b/net-im/discord/discord-0.0.50.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop linux-info optfeature unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discordapp.com"
+SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
+S="${WORKDIR}/${MY_PN^}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+
+IUSE="appindicator +seccomp"
+RESTRICT="bindist mirror strip test"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/libsecret
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa[gbm(+)]
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/pango
+ appindicator? ( dev-libs/libayatana-appindicator )
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="~USER_NS"
+
+src_unpack() {
+ unpack ${MY_PN}-${MY_PV}.tar.gz
+}
+
+src_configure() {
+ default
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # remove post-install script
+ rm postinst.sh || die "the removal of the unneeded post-install script failed"
+ # cleanup languages
+ pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+ chromium_remove_language_paks
+ popd >/dev/null || die "location reset for language cleanup failed"
+ # fix .desktop exec location
+ sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+ "${MY_PN}.desktop" ||
+ die "fixing of exec location on .desktop failed"
+ # USE seccomp
+ if ! use seccomp; then
+ sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+ "${MY_PN}.desktop" ||
+ die "sed failed for seccomp"
+ fi
+}
+
+src_install() {
+ doicon -s 256 "${MY_PN}.png"
+
+ # install .desktop file
+ domenu "${MY_PN}.desktop"
+
+ exeinto "${DESTDIR}"
+
+ doexe "${MY_PN^}" chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
+
+ insinto "${DESTDIR}"
+ doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+ insopts -m0755
+ doins -r locales resources
+
+ # Chrome-sandbox requires the setuid bit to be specifically set.
+ # see https://github.com/electron/electron/issues/17972
+ fowners root "${DESTDIR}/chrome-sandbox"
+ fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+ # Crashpad is included in the package once in a while and when it does, it must be installed.
+ # See #903616 and #890595
+ [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler
+
+ dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
+
+ # https://bugs.gentoo.org/898912
+ if use appindicator; then
+ dosym ../../usr/lib64/libayatana-appindicator3.so /opt/discord/libappindicator3.so
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Install the following packages for additional support:"
+ optfeature "sound support" \
+ media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+ optfeature "emoji support" media-fonts/noto-emoji
+}
diff --git a/net-im/discord/metadata.xml b/net-im/discord/metadata.xml
new file mode 100644
index 000000000000..f5ecac7fcf8c
--- /dev/null
+++ b/net-im/discord/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>ran.dall@icloud.com</email>
+ <name>Randall T. Vasquez</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/ejabberd/Manifest b/net-im/ejabberd/Manifest
index 57e9e73b4c00..87fa8a24c949 100644
--- a/net-im/ejabberd/Manifest
+++ b/net-im/ejabberd/Manifest
@@ -1 +1,8 @@
-DIST ejabberd-17.04.tar.gz 1690441 BLAKE2B 2d31f1f0a393c6531653a55021b9deb729357bb53e86e85b85796a65f505257bcf7a14b0d168af2d13a6820e1524e1164ea7f17797df23ae41d7a8379f9e2066 SHA512 03467434dba92bd1ff2f70d78aa8fcf86fc73cb52aaaa73e4947229e1d14225e7b0d0133c3da7c8efe4c9db13aab932f40f757be46b120d0f280f96d62c203d7
+DIST ejabberd-23.01.tar.gz 2569272 BLAKE2B c8c06204ed6c4992d86b7fcc1a949883267364433fc5d6d05f2214f093301b3fc4cda7b5b078e3ebd1334a418173fd5decd902f582fe0492b2f2f19c39ac88e4 SHA512 3fe11123d24e430fa10d18aabb9cc9613bc25ee48d6c64a642ae1d0d458f220df638b94cde444241399e0d0777a4f64995ad7e37f963f1ee92bbb114ed431c4b
+DIST ejabberd-23.04.tar.gz 2581686 BLAKE2B 292da892f62d6940418980bfaec63f3aa570f0af4c78be80ff6996d13269f5303ff9ecd88c0fa4ba8daecf5183a7eb31a7048f3425d128b03cc7029a3198ff0d SHA512 2edb437baae54afd625222f2b251549af3ec469b535a10109679f1edd27fc840579351499f9bc79e8d0d17f752065787eb52607f886e5599386dbed52c8aecab
+DIST ejabberd-23.10-fix-ejabberdctl.patch 1945 BLAKE2B 3e9e690802dd201aaba50b16435c98e64b52bfa2c77dd054c4db538f8bd9035386282e43b3c51fa444119901addeb2c3174d55d66a515847f80771e350e0a808 SHA512 0a6780915177fa4012a194d3fa755a812f0bed5d446df630c46834953aad54679450ff9fdaa1aa7fb415de5bb905a3dc2b28c65b7b32f0fd83cd99634bb5073d
+DIST ejabberd-23.10-set-ejabberd-opts.patch 1508 BLAKE2B 1692fb54b3aeb9838f057d32ebebffbcca5761c820d95a377b257966094e973465740b224d17bebdae0a4f3d0b5ebe35c9c1b005217a3e9baae69fc2511c69aa SHA512 aa7f13be15ec4cb0a9c17e5c1519d5fd94ccee75b46e3a8ee1de39e23000c7faad530208c049dd4a290be18b8b9f1c866584a9abf3f288a8f2fd66c2d72e4fa5
+DIST ejabberd-23.10.tar.gz 2615643 BLAKE2B 0c3adfac5d99a33f37b0bd9970489f7a9e32bc1a832efe510be3281cd4ac2df890aa7eeab5758149b3cb16a2e6a71937ee955a86113bba14540d5c685f900ef6 SHA512 d42af356b0b6ebbba757de4256e308766f046d6c2a7df355330fbc9a9fb329635a22c2f9e5fc4d0a9dbe2d7e5488efe85000c4d04a9a0ce12921d839899e0c45
+DIST ejabberd-24.02-fix-ejabberdctl.patch 1945 BLAKE2B 3e9e690802dd201aaba50b16435c98e64b52bfa2c77dd054c4db538f8bd9035386282e43b3c51fa444119901addeb2c3174d55d66a515847f80771e350e0a808 SHA512 0a6780915177fa4012a194d3fa755a812f0bed5d446df630c46834953aad54679450ff9fdaa1aa7fb415de5bb905a3dc2b28c65b7b32f0fd83cd99634bb5073d
+DIST ejabberd-24.02-set-ejabberd-opts.patch 1508 BLAKE2B 1692fb54b3aeb9838f057d32ebebffbcca5761c820d95a377b257966094e973465740b224d17bebdae0a4f3d0b5ebe35c9c1b005217a3e9baae69fc2511c69aa SHA512 aa7f13be15ec4cb0a9c17e5c1519d5fd94ccee75b46e3a8ee1de39e23000c7faad530208c049dd4a290be18b8b9f1c866584a9abf3f288a8f2fd66c2d72e4fa5
+DIST ejabberd-24.02.tar.gz 2531049 BLAKE2B 6d18393dd909ef580fdcc173fb927a1302f7d444e5587c30f36e5bbfe7634b61c14e06d31f386123ec8732f0c49180a10b0abbd7dea42589d1d0ec9df54ca0f4 SHA512 43dcf1c0f1a2a0390de9edfa24705be6b5bcfdc83b307c175effeae043b4a67dd00c4930c5e43fda98c7c3e0060fac7198313cd27b7962a8997e006ef255df0c
diff --git a/net-im/ejabberd/ejabberd-17.04-r2.ebuild b/net-im/ejabberd/ejabberd-17.04-r2.ebuild
deleted file mode 100644
index 6a2041af6c58..000000000000
--- a/net-im/ejabberd/ejabberd-17.04-r2.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-SSL_CERT_MANDATORY=1
-
-inherit autotools eutils pam rebar ssl-cert systemd
-
-DESCRIPTION="Robust, scalable and extensible XMPP server"
-HOMEPAGE="https://www.ejabberd.im/ https://github.com/processone/ejabberd/"
-SRC_URI="https://www.process-one.net/downloads/${PN}/${PV}/${P}.tgz
- -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
-REQUIRED_USE="mssql? ( odbc )"
-# TODO: Add 'tools' flag.
-IUSE="captcha debug full-xml hipe ldap mssql mysql nls odbc pam postgres redis
- riak roster-gw sqlite zlib"
-
-RESTRICT="test"
-
-# TODO: Add dependencies for 'tools' flag enabled.
-# TODO: tools? (
-# TODO: >=dev-erlang/meck-0.8.4
-# TODO: >=dev-erlang/moka-1.0.5b
-# TODO: )
-CDEPEND="
- >=dev-erlang/cache_tab-1.0.7
- >=dev-erlang/esip-1.0.11
- >=dev-erlang/fast_tls-1.0.11
- >=dev-erlang/fast_xml-1.1.21
- >=dev-erlang/fast_yaml-1.0.9
- >=dev-erlang/jiffy-0.14.8
- >=dev-erlang/lager-3.2.1
- >=dev-erlang/luerl-0.2
- >=dev-erlang/p1_oauth2-0.6.1
- >=dev-erlang/p1_utils-1.0.8
- >=dev-erlang/stringprep-1.0.8
- >=dev-erlang/stun-1.0.10
- >=dev-erlang/xmpp-1.1.9
- <dev-erlang/xmpp-1.2.0
- >=dev-lang/erlang-17.1[hipe?,odbc?,ssl]
- >=net-im/jabber-base-0.01
- ldap? ( =net-nds/openldap-2* )
- mysql? ( >=dev-erlang/p1_mysql-1.0.2 )
- nls? ( >=dev-erlang/iconv-1.0.4 )
- odbc? ( dev-db/unixODBC )
- pam? ( >=dev-erlang/epam-1.0.2 )
- postgres? ( >=dev-erlang/p1_pgsql-1.1.2 )
- redis? ( >=dev-erlang/eredis-1.0.8 )
- riak? (
- >=dev-erlang/hamcrest-0.1.0_p20150103
- >=dev-erlang/riakc-2.4.1
- )
- sqlite? ( >=dev-erlang/sqlite3-1.1.5 )
- zlib? ( >=dev-erlang/ezlib-1.0.2 )"
-DEPEND="${CDEPEND}
- >=sys-apps/gawk-4.1"
-RDEPEND="${CDEPEND}
- captcha? ( media-gfx/imagemagick[truetype,png] )"
-
-DOCS=( README )
-PATCHES=( "${FILESDIR}/${P}-ejabberdctl.patch"
- "${FILESDIR}/${P}-0001-Don-t-configure-or-compile-deps.patch"
- "${FILESDIR}/${P}-0002-Dont-overwrite-service-file.patch" )
-
-EJABBERD_CERT="${EPREFIX}/etc/ssl/ejabberd/server.pem"
-# Paths in net-im/jabber-base
-JABBER_ETC="${EPREFIX}/etc/jabber"
-JABBER_LOG="${EPREFIX}/var/log/jabber"
-JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
-
-# Adjust example configuration file to Gentoo.
-# - Use our sample certificates.
-# - Correct PAM service name.
-adjust_config() {
- sed -e "s|\"/path/to/ssl.pem\"|\"${EJABBERD_CERT}\"|g" \
- -e "s|\"pamservicename\"|\"xmpp\"|" \
- -i "${S}/ejabberd.yml.example" \
- || die 'failed to adjust example config'
-}
-
-# Set paths to ejabberd lib directory consistently to point always to directory
-# suffixed with version.
-correct_ejabberd_paths() {
- sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${P}:}" \
- -i "${S}/Makefile.in" \
- || die 'failed to set ejabberd path in Makefile.in'
- sed -e "/EJABBERD_BIN_PATH=/{s:ejabberd:${P}:}" \
- -i "${S}/ejabberdctl.template" \
- || die 'failed to set ejabberd path in ejabberdctl.template'
- sed -e 's|\(captcha_cmd:[[:space:]]*"\).\+"|\1'$(get_ejabberd_path)'/priv/bin/captcha.sh"|' \
- -i "${S}/ejabberd.yml.example" \
- || die 'failed to correct path to captcha.sh in example config'
-}
-
-# Get epam-wrapper from 'files' directory and correct path to lib directory in
-# it. epam-wrapper is placed into work directory. It is assumed no epam-wrapper
-# file exists there already.
-customize_epam_wrapper() {
- local epam_wrapper_src="$1"
- local epam_wrapper_dst="${S}/epam-wrapper"
-
- [[ -e ${epam_wrapper_dst} ]] && die 'epam-wrapper already exists'
- sed -r -e "s@^(ERL_LIBS=).*\$@\1${EPREFIX}$(get_erl_libs)@" \
- "${epam_wrapper_src}" >"${epam_wrapper_dst}" \
- || die 'failed to install epam-wrapper'
-}
-
-# Disable mod_irc in example configuration file.
-disable_mod_irc() {
- local needs_iconv='needs dev-erlang/iconv (+nls USE flag)'
- sed -r \
- -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \
- -i "${S}/ejabberd.yml.example" \
- || die 'failed to modify example config'
-}
-
-# Check if there already exists a certificate.
-ejabberd_cert_exists() {
- local cert
-
- for cert in $(gawk -- \
- 'match($0, /^[[:space:]]*certfile: "([^"]+)"/, m) {print m[1];}' \
- "${EROOT%/}${JABBER_ETC}/ejabberd.yml"); do
- [[ -f ${cert} ]] && return 0
- done
-
- return 1
-}
-
-# Generate and install sample ejabberd certificate. It's installed into
-# EJABBERD_CERT path.
-ejabberd_cert_install() {
- SSL_ORGANIZATION="${SSL_ORGANIZATION:-ejabberd XMPP Server}"
- install_cert "${EJABBERD_CERT%.*}"
- chown root:jabber "${EROOT%/}${EJABBERD_CERT}" || die
- chmod 0440 "${EROOT%/}${EJABBERD_CERT}" || die
-}
-
-# Get path to ejabberd lib directory.
-#
-# This is the path ./configure script Base for this path is path set in
-# ./configure script which is /usr/lib by default. If libdir is explicitely set
-# to something else than this should be adjusted here as well.
-get_ejabberd_path() {
- echo "/usr/$(get_libdir)/${P}"
-}
-
-# Check whether mod_irc is enabled in ejabberd configuration on target system.
-is_mod_irc_enabled() {
- egrep '^(\s*)(mod_irc\s*:.*$)' \
- "${EROOT%/}${JABBER_ETC}/ejabberd.yml"
-}
-
-# Make ejabberd.service for systemd from upstream provided template.
-make_ejabberd_service() {
- sed -r \
- -e 's!@ctlscriptpath@!/usr/sbin!g' \
- -e 's!(User|Group)=(.*)!\1=jabber!' \
- "${PN}.service.template" >"${PN}.service" \
- || die 'failed to make ejabberd.service'
-}
-
-# Set paths to defined by net-im/jabber-base.
-set_jabberbase_paths() {
- sed -e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
- -e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
- -e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
- -i "${S}/Makefile.in" \
- || die 'failed to set paths in Makefile.in'
- sed -e "s|\(ETC_DIR=\){{sysconfdir}}.*|\1${JABBER_ETC}|" \
- -e "s|\(LOGS_DIR=\){{localstatedir}}.*|\1${JABBER_LOG}|" \
- -e "s|\(SPOOL_DIR=\){{localstatedir}}.*|\1${JABBER_SPOOL}|" \
- -i "${S}/ejabberdctl.template" \
- || die 'failed to set paths ejabberdctl.template'
-}
-
-# Skip installing docs because it's only COPYING that's installed by Makefile.
-skip_docs() {
- gawk -i inplace '
-/# Documentation/, /^[[:space:]]*#?[[:space:]]*$/ {
- if ($0 ~ /^[[:space:]]*#?[[:space:]]*$/) {
- print $0;
- } else {
- next;
- }
-}
-1
-' "${S}/Makefile.in" || die 'failed to remove docs section from Makefile.in'
-}
-
-pkg_setup() {
- if use pam; then
- einfo "Adding jabber user to epam group to allow ejabberd to use PAM" \
- "authentication"
- # See
- # <https://docs.ejabberd.im/admin/configuration/#pam-authentication>.
- # epam binary is installed by dev-erlang/epam package, therefore SUID
- # is set by that package. Instead of jabber group it uses epam group,
- # therefore we need to add jabber user to epam group.
- usermod -a -G epam jabber || die
- fi
-}
-
-src_prepare() {
- default
-
- rebar_remove_deps
- correct_ejabberd_paths
- set_jabberbase_paths
- make_ejabberd_service
- skip_docs
- adjust_config
- use nls || disable_mod_irc
- customize_epam_wrapper "${FILESDIR}/epam-wrapper"
-
- rebar_fix_include_path fast_xml
- rebar_fix_include_path p1_utils
- rebar_fix_include_path xmpp
-
- # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
- # rather than its parent which is default. That way ejabberd directory
- # takes precedence is module lookup.
- local ejabberd_erl_libs="$(get_ejabberd_path):$(get_erl_libs)"
- sed -e "s|\(ERL_LIBS=\){{libdir}}.*|\1${ejabberd_erl_libs}|" \
- -i "${S}/ejabberdctl.template" \
- || die 'failed to set ERL_LIBS in ejabberdctl.template'
-
- # https://github.com/processone/ejabberd/commit/58110e4bc152100078dbc0cb66d4a5257ae645e0,
- # bug #651932, drop in next version
- sed -i -e 's/REQUIRE_ERLANG_MAX="9.0.0 (No Max)"/REQUIRE_ERLANG_MAX="100.0.0 (No Max)"/' configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --enable-user=jabber \
- $(use_enable debug) \
- $(use_enable full-xml) \
- $(use_enable hipe) \
- $(use_enable mssql) \
- $(use_enable mysql) \
- $(use_enable nls iconv) \
- $(use_enable odbc) \
- $(use_enable pam) \
- $(use_enable postgres pgsql) \
- $(use_enable redis) \
- $(use_enable riak) \
- $(use_enable roster-gw roster-gateway-workaround) \
- $(use_enable sqlite) \
- $(use_enable zlib)
-}
-
-src_compile() {
- emake REBAR='rebar -v' src
-}
-
-src_install() {
- default
-
- if use pam; then
- local epam_path="$(get_ejabberd_path)/priv/bin/epam"
-
- pamd_mimic_system xmpp auth account || die "cannot create pam.d file"
- into "$(get_ejabberd_path)/priv"
- newbin epam-wrapper epam
- fi
-
- newconfd "${FILESDIR}/${PN}.confd" "${PN}"
- newinitd "${FILESDIR}/${PN}.initd" "${PN}"
- systemd_dounit "${PN}.service"
- systemd_dotmpfilesd "${FILESDIR}/${PN}.tmpfiles.conf"
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotate" "${PN}"
-}
-
-pkg_postinst() {
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- echo
- elog "For configuration instructions, please see"
- elog " https://docs.ejabberd.im/"
- echo
- if [[ " ${REPLACING_VERSIONS} " =~ \ 2\. ]]; then
- ewarn "If you have used pubsub in ejabberd-2.* you may encounter issues after"
- ewarn "migration to ${PV}. pubsub data may not be migrated automatically and"
- ewarn "you may need to run migration script manually, see:"
- ewarn
- ewarn " https://github.com/processone/ejabberd/issues/479#issuecomment-124497456"
- ewarn
- ewarn "In case you don't care about all stored moods, activities, geoinfo and you"
- ewarn "know you don't store in pubsub anything important, you can just remove"
- ewarn "pubsub tables:"
- ewarn
- ewarn " rm ${EROOT%/}${JABBER_SPOOL}/pubsub_*"
- ewarn
- ewarn "See also: https://bugs.gentoo.org/show_bug.cgi?id=588244"
- echo
- fi
- elif [[ -f ${EROOT}etc/jabber/ejabberd.cfg ]]; then
- elog "Ejabberd now defaults to using a YAML format for its config file."
- elog "The old ejabberd.cfg file can be converted using the following instructions:"
- echo
- elog "1. Make sure all processes related to the previous version of ejabberd aren't"
- elog " running. Usually this just means the ejabberd and epmd daemons and possibly"
- elog " the pam-related process (epam) if pam support is enabled."
- elog "2. Run \`ejabberdctl start\` with sufficient permissions. Note that this can"
- elog " fail to start ejabberd properly for various reasons. Check ejabberd's main"
- elog " log file at /var/log/jabber/ejabberd.log to confirm it started successfully."
- elog "3. Run"
- elog " \`ejabberdctl convert_to_yaml /etc/jabber/ejabberd.cfg /etc/jabber/ejabberd.yml.new\`"
- elog " with sufficient permissions, edit and rename /etc/jabber/ejabberd.yml.new to"
- elog " /etc/jabber/ejabberd.yml, and finally restart ejabberd with the new config"
- elog " file."
- echo
- fi
-
- if ! ejabberd_cert_exists; then
- ejabberd_cert_install
- fi
-
- if ! use nls && is_mod_irc_enabled; then
- ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd"
- ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml."
- fi
-}
diff --git a/net-im/ejabberd/ejabberd-23.01.ebuild b/net-im/ejabberd/ejabberd-23.01.ebuild
new file mode 100644
index 000000000000..82b509558d13
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-23.01.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools pam rebar systemd
+
+DESCRIPTION="Robust, scalable and extensible XMPP server"
+HOMEPAGE="https://www.ejabberd.im/ https://github.com/processone/ejabberd/"
+SRC_URI="
+ https://github.com/processone/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~sparc ~x86"
+REQUIRED_USE="mssql? ( odbc )"
+# TODO: Add 'tools' flag.
+IUSE="captcha debug full-xml ldap mssql mysql odbc pam postgres redis
+ roster-gw selinux sip sqlite +stun zlib"
+
+RESTRICT="test"
+
+# TODO: Add dependencies for 'tools' flag enabled.
+# TODO: tools? (
+# TODO: >=dev-erlang/luerl-0.3
+# TODO: )
+DEPEND="
+ >=dev-lang/erlang-19.3[odbc?,ssl]
+ >=dev-erlang/cache_tab-1.0.30
+ >=dev-erlang/eimp-1.0.22
+ >=dev-erlang/fast_tls-1.1.16
+ >=dev-erlang/fast_xml-1.1.49
+ >=dev-erlang/fast_yaml-1.0.36
+ >=dev-erlang/yconf-1.0.15
+ >=dev-erlang/jiffy-1.0.5
+ >=dev-erlang/jose-1.11.5
+ >=dev-erlang/lager-3.9.1
+ >=dev-erlang/p1_oauth2-0.6.11
+ >=dev-erlang/p1_utils-1.0.25
+ >=dev-erlang/stringprep-1.0.29
+ >=dev-erlang/xmpp-1.6.1
+ >=dev-erlang/pkix-1.0.9
+ >=dev-erlang/mqtree-1.0.15
+ >=dev-erlang/idna-6.0.0-r1
+ >=dev-erlang/p1_acme-1.0.22
+ >=dev-erlang/base64url-1.0.1
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( >=dev-erlang/p1_mysql-1.0.21 )
+ odbc? ( dev-db/unixODBC )
+ pam? ( >=dev-erlang/epam-1.0.14 )
+ postgres? ( >=dev-erlang/p1_pgsql-1.1.20 )
+ redis? ( >=dev-erlang/eredis-1.2.0 )
+ sip? ( >=dev-erlang/esip-1.0.49 )
+ sqlite? ( >=dev-erlang/sqlite3-1.1.14 )
+ stun? ( >=dev-erlang/stun-1.2.7 )
+ zlib? ( >=dev-erlang/ezlib-1.0.12 )
+"
+RDEPEND="
+ ${DEPEND}
+ >=acct-user/ejabberd-2[pam?]
+ captcha? ( media-gfx/imagemagick[truetype,png] )
+ selinux? ( sec-policy/selinux-jabber )
+"
+
+DOCS=( CHANGELOG.md README.md )
+PATCHES=(
+ "${FILESDIR}/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch"
+)
+
+# Get path to ejabberd lib directory.
+#
+# This is the path ./configure script Base for this path is path set in
+# ./configure script which is /usr/lib by default. If libdir is explicitely set
+# to something else than this should be adjusted here as well.
+get_ejabberd_path() {
+ echo "/usr/$(get_libdir)/${P}"
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ rebar_remove_deps
+
+ # Set paths to ejabberd lib directory consistently to point always to directory
+ # suffixed with version.
+ sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${P}:}" \
+ -i "${S}/Makefile.in" \
+ || die 'failed to set ejabberd path in Makefile.in'
+ sed -e "/EJABBERD_BIN_PATH=/{s:ejabberd:${P}:}" \
+ -i "${S}/ejabberdctl.template" \
+ || die 'failed to set ejabberd path in ejabberdctl.template'
+
+ # Get epam-wrapper from 'files' directory and correct path to lib directory in
+ # it. epam-wrapper is placed into work directory. It is assumed no epam-wrapper
+ # file exists there already.
+ local epam_wrapper_src="${FILESDIR}/epam-wrapper"
+ local epam_wrapper_dst="${S}/epam-wrapper"
+ [[ -e ${epam_wrapper_dst} ]] && die 'epam-wrapper already exists'
+ sed -r -e "s@^(ERL_LIBS=).*\$@\1${EPREFIX}$(get_erl_libs)@" \
+ "${epam_wrapper_src}" >"${epam_wrapper_dst}" \
+ || die 'failed to install epam-wrapper'
+
+ rebar_fix_include_path fast_xml
+ rebar_fix_include_path p1_utils
+ rebar_fix_include_path xmpp
+
+ # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
+ # rather than its parent which is default. That way ejabberd directory
+ # takes precedence is module lookup.
+ local ejabberd_erl_libs="$(get_ejabberd_path):$(get_erl_libs)"
+ sed -e "s|\(ERL_LIBS=\)'{{libdir}}'\.*|\1${ejabberd_erl_libs}|" \
+ -i "${S}/ejabberdctl.template" \
+ || die 'failed to set ERL_LIBS in ejabberdctl.template'
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-user=${PN} \
+ $(use_enable debug) \
+ $(use_enable full-xml) \
+ $(use_enable mssql) \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_enable pam) \
+ $(use_enable postgres pgsql) \
+ $(use_enable redis) \
+ $(use_enable roster-gw roster-gateway-workaround) \
+ $(use_enable sqlite) \
+ $(use_enable sip) \
+ $(use_enable stun) \
+ $(use_enable zlib)
+
+ # more options to support
+ # --enable-elixir requires https://github.com/elixir-lang/elixir
+}
+
+src_compile() {
+ # Note that we also add ejabberdctl.example, which will be used by
+ # ejabberd's build system to create /usr/sbin/ejabberdctl, as
+ # target. Otherwise, ejabberdctl.example is due to be created by the
+ # 'install' target (as per upstream's Makefile.in). However when
+ # invoke the 'install' target (in src_install below), DESTDIR is
+ # set, which causes DESTDIR to scope into the ejabberdctl.example
+ # generation.
+ emake REBAR='rebar -v' src ejabberdctl.example ejabberd.service
+}
+
+src_install() {
+ default
+
+ if use pam; then
+ local epam_path="$(get_ejabberd_path)/priv/bin/epam"
+
+ pamd_mimic_system xmpp auth account
+ into "$(get_ejabberd_path)/priv"
+ newbin epam-wrapper epam
+ fi
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-22.05.initd" "${PN}"
+ systemd_dounit "${PN}.service"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}-22.05.logrotate" "${PN}"
+
+ keepdir /var/{lib,log}/ejabberd
+}
+
+pkg_postinst() {
+ local migrate_to_ejabberd_user=false
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 21.04-r1; then
+ migrate_to_ejabberd_user=true
+ break
+ fi
+ done
+ fi
+
+ # Sarting with >=21.04-r1, the ejabberd configuration is now in
+ # /etc/ejabberd and no longer in /etc/jabber. See if we need to
+ # migrate the configuration. Furthermore, ejabberd no longer runs
+ # under the, shared via net-im/jabber-base, 'jabber' use, but under
+ # its own user. This increase isolation and hence robustness and
+ # security.
+ if $migrate_to_ejabberd_user; then
+ ewarn "Newer versions of the ejabberd Gentoo package use /etc/ejabberd"
+ ewarn "(just as upstream) and *not* /etc/jabber."
+ ewarn "The files from /etc/jabber will now be copied to /etc/ejabberd."
+ ewarn "Also ejabberd's spool directory became /var/lib/ejabberd (was /var/spool/jabber)."
+ ewarn "Please check your configuration, and finish the migration by stopping ejabberd"
+ ewarn "followed by rsync'ing /var/spool/jabber to /var/lib/ejabberd."
+
+ local -A dirs_to_migrate=(
+ [/etc/jabber]=/etc/ejabberd
+ [/var/spool/jabber]=/var/lib/ejabberd
+ )
+
+ for src_dir in "${!dirs_to_migrate[@]}"; do
+ local eroot_src_dir="${EROOT}${src_dir}"
+ local eroot_dst_dir="${EROOT}${dirs_to_migrate[${src_dir}]}"
+
+ cp -r "${eroot_src_dir}"/. "${eroot_dst_dir}" || die "Could not copy ${eroot_src_dir} to ${eroot_dst_dir}"
+
+ if [[ -f "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 ]]; then
+ rm "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 || die
+ fi
+ if ! use prefix; then
+ chown --recursive ejabberd:ejabberd "${eroot_dst_dir}" || die
+ fi
+ done
+ fi
+}
diff --git a/net-im/ejabberd/ejabberd-23.04.ebuild b/net-im/ejabberd/ejabberd-23.04.ebuild
new file mode 100644
index 000000000000..69ddba1b5199
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-23.04.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools pam rebar systemd
+
+DESCRIPTION="Robust, scalable and extensible XMPP server"
+HOMEPAGE="https://www.ejabberd.im/ https://github.com/processone/ejabberd/"
+SRC_URI="
+ https://github.com/processone/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~sparc ~x86"
+REQUIRED_USE="mssql? ( odbc )"
+# TODO: Add 'tools' flag.
+IUSE="captcha debug full-xml ldap mssql mysql odbc pam postgres redis
+ roster-gw selinux sip sqlite +stun zlib"
+
+RESTRICT="test"
+
+# TODO: Add dependencies for 'tools' flag enabled.
+# TODO: tools? (
+# TODO: >=dev-erlang/luerl-0.3
+# TODO: )
+DEPEND="
+ >=dev-lang/erlang-19.3[odbc?,ssl]
+ >=dev-erlang/cache_tab-1.0.30
+ >=dev-erlang/eimp-1.0.22
+ >=dev-erlang/fast_tls-1.1.16
+ >=dev-erlang/fast_xml-1.1.49
+ >=dev-erlang/fast_yaml-1.0.36
+ >=dev-erlang/yconf-1.0.15
+ >=dev-erlang/jiffy-1.0.5
+ >=dev-erlang/jose-1.11.5
+ >=dev-erlang/lager-3.9.1
+ >=dev-erlang/p1_oauth2-0.6.11
+ >=dev-erlang/p1_utils-1.0.25
+ >=dev-erlang/stringprep-1.0.29
+ >=dev-erlang/xmpp-1.6.2
+ >=dev-erlang/pkix-1.0.9
+ >=dev-erlang/mqtree-1.0.15
+ >=dev-erlang/idna-6.0.0-r1
+ >=dev-erlang/p1_acme-1.0.22
+ >=dev-erlang/base64url-1.0.1
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( >=dev-erlang/p1_mysql-1.0.21 )
+ odbc? ( dev-db/unixODBC )
+ pam? ( >=dev-erlang/epam-1.0.14 )
+ postgres? ( >=dev-erlang/p1_pgsql-1.1.22 )
+ redis? ( >=dev-erlang/eredis-1.2.0 )
+ sip? ( >=dev-erlang/esip-1.0.49 )
+ sqlite? ( >=dev-erlang/sqlite3-1.1.14 )
+ stun? ( >=dev-erlang/stun-1.2.7 )
+ zlib? ( >=dev-erlang/ezlib-1.0.12 )
+"
+RDEPEND="
+ ${DEPEND}
+ >=acct-user/ejabberd-2[pam?]
+ captcha? ( media-gfx/imagemagick[truetype,png] )
+ selinux? ( sec-policy/selinux-jabber )
+"
+
+DOCS=( CHANGELOG.md README.md )
+PATCHES=(
+ "${FILESDIR}/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch"
+)
+
+# Get path to ejabberd lib directory.
+#
+# This is the path ./configure script Base for this path is path set in
+# ./configure script which is /usr/lib by default. If libdir is explicitely set
+# to something else than this should be adjusted here as well.
+get_ejabberd_path() {
+ echo "/usr/$(get_libdir)/${P}"
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ rebar_remove_deps
+
+ # Set paths to ejabberd lib directory consistently to point always to directory
+ # suffixed with version.
+ sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${P}:}" \
+ -i "${S}/Makefile.in" \
+ || die 'failed to set ejabberd path in Makefile.in'
+
+ # Get epam-wrapper from 'files' directory and correct path to lib directory in
+ # it. epam-wrapper is placed into work directory. It is assumed no epam-wrapper
+ # file exists there already.
+ local epam_wrapper_src="${FILESDIR}/epam-wrapper"
+ local epam_wrapper_dst="${S}/epam-wrapper"
+ [[ -e ${epam_wrapper_dst} ]] && die 'epam-wrapper already exists'
+ sed -r -e "s@^(ERL_LIBS=).*\$@\1${EPREFIX}$(get_erl_libs)@" \
+ "${epam_wrapper_src}" >"${epam_wrapper_dst}" \
+ || die 'failed to install epam-wrapper'
+
+ rebar_fix_include_path fast_xml
+ rebar_fix_include_path p1_utils
+ rebar_fix_include_path xmpp
+
+ # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
+ # rather than its parent which is default. That way ejabberd directory
+ # takes precedence is module lookup.
+ local ejabberd_erl_libs="$(get_ejabberd_path):$(get_erl_libs)"
+ sed -e "s|\(ERL_LIBS=\)'{{libdir}}'\.*|\1${ejabberd_erl_libs}|" \
+ -i "${S}/ejabberdctl.template" \
+ || die 'failed to set ERL_LIBS in ejabberdctl.template'
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-user=${PN} \
+ $(use_enable debug) \
+ $(use_enable full-xml) \
+ $(use_enable mssql) \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_enable pam) \
+ $(use_enable postgres pgsql) \
+ $(use_enable redis) \
+ $(use_enable roster-gw roster-gateway-workaround) \
+ $(use_enable sqlite) \
+ $(use_enable sip) \
+ $(use_enable stun) \
+ $(use_enable zlib)
+
+ # more options to support
+ # --enable-elixir requires https://github.com/elixir-lang/elixir
+}
+
+src_compile() {
+ # Note that we also add ejabberdctl.example, which will be used by
+ # ejabberd's build system to create /usr/sbin/ejabberdctl, as
+ # target. Otherwise, ejabberdctl.example is due to be created by the
+ # 'install' target (as per upstream's Makefile.in). However when
+ # invoke the 'install' target (in src_install below), DESTDIR is
+ # set, which causes DESTDIR to scope into the ejabberdctl.example
+ # generation.
+ emake REBAR='rebar -v' src ejabberdctl.example ejabberd.service
+}
+
+src_install() {
+ default
+
+ if use pam; then
+ local epam_path="$(get_ejabberd_path)/priv/bin/epam"
+
+ pamd_mimic_system xmpp auth account
+ into "$(get_ejabberd_path)/priv"
+ newbin epam-wrapper epam
+ fi
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-22.05.initd" "${PN}"
+ systemd_dounit "${PN}.service"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}-22.05.logrotate" "${PN}"
+
+ keepdir /var/{lib,log}/ejabberd
+}
+
+pkg_postinst() {
+ local migrate_to_ejabberd_user=false
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 21.04-r1; then
+ migrate_to_ejabberd_user=true
+ break
+ fi
+ done
+ fi
+
+ # Sarting with >=21.04-r1, the ejabberd configuration is now in
+ # /etc/ejabberd and no longer in /etc/jabber. See if we need to
+ # migrate the configuration. Furthermore, ejabberd no longer runs
+ # under the, shared via net-im/jabber-base, 'jabber' use, but under
+ # its own user. This increase isolation and hence robustness and
+ # security.
+ if $migrate_to_ejabberd_user; then
+ ewarn "Newer versions of the ejabberd Gentoo package use /etc/ejabberd"
+ ewarn "(just as upstream) and *not* /etc/jabber."
+ ewarn "The files from /etc/jabber will now be copied to /etc/ejabberd."
+ ewarn "Also ejabberd's spool directory became /var/lib/ejabberd (was /var/spool/jabber)."
+ ewarn "Please check your configuration, and finish the migration by stopping ejabberd"
+ ewarn "followed by rsync'ing /var/spool/jabber to /var/lib/ejabberd."
+
+ local -A dirs_to_migrate=(
+ [/etc/jabber]=/etc/ejabberd
+ [/var/spool/jabber]=/var/lib/ejabberd
+ )
+
+ for src_dir in "${!dirs_to_migrate[@]}"; do
+ local eroot_src_dir="${EROOT}${src_dir}"
+ local eroot_dst_dir="${EROOT}${dirs_to_migrate[${src_dir}]}"
+
+ cp -r "${eroot_src_dir}"/. "${eroot_dst_dir}" || die "Could not copy ${eroot_src_dir} to ${eroot_dst_dir}"
+
+ if [[ -f "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 ]]; then
+ rm "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 || die
+ fi
+ if ! use prefix; then
+ chown --recursive ejabberd:ejabberd "${eroot_dst_dir}" || die
+ fi
+ done
+ fi
+}
diff --git a/net-im/ejabberd/ejabberd-23.10-r1.ebuild b/net-im/ejabberd/ejabberd-23.10-r1.ebuild
new file mode 100644
index 000000000000..6a842d1ea221
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-23.10-r1.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools pam rebar systemd
+
+DESCRIPTION="Robust, scalable and extensible XMPP server"
+HOMEPAGE="https://www.ejabberd.im/ https://github.com/processone/ejabberd/"
+SRC_URI="
+ https://github.com/processone/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/processone/ejabberd/commit/841d5c029905d5feabe07ab5a4db3aacfeedefb6.patch ->
+ ${P}-fix-ejabberdctl.patch
+ https://github.com/processone/ejabberd/commit/4ea46c57653b3d9ea9c1386d1cc3dd07163d74d6.patch ->
+ ${P}-set-ejabberd-opts.patch
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~sparc ~x86"
+REQUIRED_USE="mssql? ( odbc )"
+# TODO: Add 'tools' flag.
+IUSE="captcha debug full-xml ldap mssql mysql odbc pam postgres redis
+ roster-gw selinux sip sqlite +stun zlib"
+
+RESTRICT="test"
+
+# TODO: Add dependencies for 'tools' flag enabled.
+# TODO: tools? (
+# TODO: >=dev-erlang/luerl-0.3
+# TODO: )
+DEPEND="
+ >=dev-lang/erlang-20[odbc?,ssl]
+ >=dev-erlang/cache_tab-1.0.30
+ >=dev-erlang/eimp-1.0.22
+ >=dev-erlang/fast_tls-1.1.16
+ >=dev-erlang/fast_xml-1.1.49
+ >=dev-erlang/fast_yaml-1.0.36
+ >=dev-erlang/yconf-1.0.15
+ >=dev-erlang/jiffy-1.0.5
+ >=dev-erlang/jose-1.11.5
+ >=dev-erlang/lager-3.9.1
+ >=dev-erlang/p1_oauth2-0.6.11
+ >=dev-erlang/p1_utils-1.0.25
+ >=dev-erlang/stringprep-1.0.29
+ >=dev-erlang/xmpp-1.7.0
+ >=dev-erlang/pkix-1.0.9
+ >=dev-erlang/mqtree-1.0.15
+ >=dev-erlang/idna-6.0.0-r1
+ >=dev-erlang/p1_acme-1.0.22
+ >=dev-erlang/base64url-1.0.1
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( >=dev-erlang/p1_mysql-1.0.22 )
+ odbc? ( dev-db/unixODBC )
+ pam? ( >=dev-erlang/epam-1.0.14 )
+ postgres? ( >=dev-erlang/p1_pgsql-1.1.23 )
+ redis? ( >=dev-erlang/eredis-1.2.0 )
+ sip? ( >=dev-erlang/esip-1.0.50 )
+ sqlite? ( >=dev-erlang/sqlite3-1.1.14 )
+ stun? ( >=dev-erlang/stun-1.2.10 )
+ zlib? ( >=dev-erlang/ezlib-1.0.12 )
+"
+RDEPEND="
+ ${DEPEND}
+ >=acct-user/ejabberd-2[pam?]
+ captcha? ( media-gfx/imagemagick[truetype,png] )
+ selinux? ( sec-policy/selinux-jabber )
+"
+
+DOCS=( CHANGELOG.md README.md )
+PATCHES=(
+ "${FILESDIR}/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch"
+ # Both patches for https://bugs.gentoo.org/919711
+ "${DISTDIR}/${P}-fix-ejabberdctl.patch"
+ "${DISTDIR}/${P}-set-ejabberd-opts.patch"
+)
+
+# Get path to ejabberd lib directory.
+#
+# This is the path ./configure script Base for this path is path set in
+# ./configure script which is /usr/lib by default. If libdir is explicitely set
+# to something else than this should be adjusted here as well.
+get_ejabberd_path() {
+ echo "/usr/$(get_libdir)/${P}"
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ rebar_remove_deps
+
+ # Set paths to ejabberd lib directory consistently to point always to directory
+ # suffixed with version.
+ sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${P}:}" \
+ -i "${S}/Makefile.in" \
+ || die 'failed to set ejabberd path in Makefile.in'
+
+ # Get epam-wrapper from 'files' directory and correct path to lib directory in
+ # it. epam-wrapper is placed into work directory. It is assumed no epam-wrapper
+ # file exists there already.
+ local epam_wrapper_src="${FILESDIR}/epam-wrapper"
+ local epam_wrapper_dst="${S}/epam-wrapper"
+ [[ -e ${epam_wrapper_dst} ]] && die 'epam-wrapper already exists'
+ sed -r -e "s@^(ERL_LIBS=).*\$@\1${EPREFIX}$(get_erl_libs)@" \
+ "${epam_wrapper_src}" >"${epam_wrapper_dst}" \
+ || die 'failed to install epam-wrapper'
+
+ rebar_fix_include_path fast_xml
+ rebar_fix_include_path p1_utils
+ rebar_fix_include_path xmpp
+
+ # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
+ # rather than its parent which is default. That way ejabberd directory
+ # takes precedence is module lookup.
+ local ejabberd_erl_libs="$(get_ejabberd_path):$(get_erl_libs)"
+ sed -e "s|\(ERL_LIBS=\)'{{libdir}}'\.*|\1${ejabberd_erl_libs}|" \
+ -i "${S}/ejabberdctl.template" \
+ || die 'failed to set ERL_LIBS in ejabberdctl.template'
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-user=${PN} \
+ $(use_enable debug) \
+ $(use_enable full-xml) \
+ $(use_enable mssql) \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_enable pam) \
+ $(use_enable postgres pgsql) \
+ $(use_enable redis) \
+ $(use_enable roster-gw roster-gateway-workaround) \
+ $(use_enable sqlite) \
+ $(use_enable sip) \
+ $(use_enable stun) \
+ $(use_enable zlib)
+
+ # more options to support
+ # --enable-elixir requires https://github.com/elixir-lang/elixir
+}
+
+src_compile() {
+ # Note that we also add ejabberdctl.example, which will be used by
+ # ejabberd's build system to create /usr/sbin/ejabberdctl, as
+ # target. Otherwise, ejabberdctl.example is due to be created by the
+ # 'install' target (as per upstream's Makefile.in). However when
+ # invoke the 'install' target (in src_install below), DESTDIR is
+ # set, which causes DESTDIR to scope into the ejabberdctl.example
+ # generation.
+ emake REBAR='rebar -v' src ejabberdctl.example ejabberd.service
+}
+
+src_install() {
+ default
+
+ if use pam; then
+ local epam_path="$(get_ejabberd_path)/priv/bin/epam"
+
+ pamd_mimic_system xmpp auth account
+ into "$(get_ejabberd_path)/priv"
+ newbin epam-wrapper epam
+ fi
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-22.05.initd" "${PN}"
+ systemd_dounit "${PN}.service"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}-22.05.logrotate" "${PN}"
+
+ keepdir /var/{lib,log}/ejabberd
+}
+
+pkg_postinst() {
+ local migrate_to_ejabberd_user=false
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 21.04-r1; then
+ migrate_to_ejabberd_user=true
+ break
+ fi
+ done
+ fi
+
+ # Sarting with >=21.04-r1, the ejabberd configuration is now in
+ # /etc/ejabberd and no longer in /etc/jabber. See if we need to
+ # migrate the configuration. Furthermore, ejabberd no longer runs
+ # under the, shared via net-im/jabber-base, 'jabber' use, but under
+ # its own user. This increase isolation and hence robustness and
+ # security.
+ if $migrate_to_ejabberd_user; then
+ ewarn "Newer versions of the ejabberd Gentoo package use /etc/ejabberd"
+ ewarn "(just as upstream) and *not* /etc/jabber."
+ ewarn "The files from /etc/jabber will now be copied to /etc/ejabberd."
+ ewarn "Also ejabberd's spool directory became /var/lib/ejabberd (was /var/spool/jabber)."
+ ewarn "Please check your configuration, and finish the migration by stopping ejabberd"
+ ewarn "followed by rsync'ing /var/spool/jabber to /var/lib/ejabberd."
+
+ local -A dirs_to_migrate=(
+ [/etc/jabber]=/etc/ejabberd
+ [/var/spool/jabber]=/var/lib/ejabberd
+ )
+
+ for src_dir in "${!dirs_to_migrate[@]}"; do
+ local eroot_src_dir="${EROOT}${src_dir}"
+ local eroot_dst_dir="${EROOT}${dirs_to_migrate[${src_dir}]}"
+
+ cp -r "${eroot_src_dir}"/. "${eroot_dst_dir}" || die "Could not copy ${eroot_src_dir} to ${eroot_dst_dir}"
+
+ if [[ -f "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 ]]; then
+ rm "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 || die
+ fi
+ if ! use prefix; then
+ chown --recursive ejabberd:ejabberd "${eroot_dst_dir}" || die
+ fi
+ done
+ fi
+}
diff --git a/net-im/ejabberd/ejabberd-24.02-r1.ebuild b/net-im/ejabberd/ejabberd-24.02-r1.ebuild
new file mode 100644
index 000000000000..c6595ebb5cd8
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-24.02-r1.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools pam rebar systemd
+
+DESCRIPTION="Robust, scalable and extensible XMPP server"
+HOMEPAGE="https://www.ejabberd.im/ https://github.com/processone/ejabberd/"
+SRC_URI="
+ https://github.com/processone/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/processone/ejabberd/commit/841d5c029905d5feabe07ab5a4db3aacfeedefb6.patch ->
+ ${P}-fix-ejabberdctl.patch
+ https://github.com/processone/ejabberd/commit/4ea46c57653b3d9ea9c1386d1cc3dd07163d74d6.patch ->
+ ${P}-set-ejabberd-opts.patch
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~sparc ~x86"
+REQUIRED_USE="mssql? ( odbc )"
+# TODO: Add 'tools' flag.
+IUSE="captcha debug full-xml ldap mssql mysql odbc pam postgres redis
+ roster-gw selinux sip sqlite +stun zlib"
+
+RESTRICT="test"
+
+# TODO: Add dependencies for 'tools' flag enabled.
+# TODO: tools? (
+# TODO: >=dev-erlang/luerl-0.3
+# TODO: )
+DEPEND="
+ >=dev-lang/erlang-20[odbc?,ssl]
+ >=dev-erlang/cache_tab-1.0.30
+ >=dev-erlang/eimp-1.0.22
+ >=dev-erlang/fast_tls-1.1.19
+ >=dev-erlang/fast_xml-1.1.51
+ >=dev-erlang/fast_yaml-1.0.36
+ >=dev-erlang/yconf-1.0.15
+ >=dev-erlang/jiffy-1.0.5
+ >=dev-erlang/jose-1.11.5
+ >=dev-erlang/lager-3.9.1
+ >=dev-erlang/p1_oauth2-0.6.14
+ >=dev-erlang/p1_utils-1.0.25
+ >=dev-erlang/stringprep-1.0.29
+ >=dev-erlang/xmpp-1.8.1
+ >=dev-erlang/pkix-1.0.9
+ >=dev-erlang/mqtree-1.0.16
+ >=dev-erlang/idna-6.0.0-r1
+ >=dev-erlang/p1_acme-1.0.22
+ >=dev-erlang/base64url-1.0.1
+ ldap? ( =net-nds/openldap-2* )
+ mysql? ( >=dev-erlang/p1_mysql-1.0.23 )
+ odbc? ( dev-db/unixODBC )
+ pam? ( >=dev-erlang/epam-1.0.14 )
+ postgres? ( >=dev-erlang/p1_pgsql-1.1.25 )
+ redis? ( >=dev-erlang/eredis-1.2.0 )
+ sip? ( >=dev-erlang/esip-1.0.52 )
+ sqlite? ( >=dev-erlang/sqlite3-1.1.14 )
+ stun? ( >=dev-erlang/stun-1.2.12 )
+ zlib? ( >=dev-erlang/ezlib-1.0.12 )
+"
+RDEPEND="
+ ${DEPEND}
+ >=acct-user/ejabberd-2[pam?]
+ captcha? ( media-gfx/imagemagick[truetype,png] )
+ selinux? ( sec-policy/selinux-jabber )
+"
+
+DOCS=( CHANGELOG.md README.md )
+PATCHES=(
+ "${FILESDIR}/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch"
+)
+
+# Get path to ejabberd lib directory.
+#
+# This is the path ./configure script Base for this path is path set in
+# ./configure script which is /usr/lib by default. If libdir is explicitely set
+# to something else than this should be adjusted here as well.
+get_ejabberd_path() {
+ echo "/usr/$(get_libdir)/${P}"
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ rebar_remove_deps
+
+ # Set paths to ejabberd lib directory consistently to point always to directory
+ # suffixed with version.
+ sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${P}:}" \
+ -i "${S}/Makefile.in" \
+ || die 'failed to set ejabberd path in Makefile.in'
+
+ # Get epam-wrapper from 'files' directory and correct path to lib directory in
+ # it. epam-wrapper is placed into work directory. It is assumed no epam-wrapper
+ # file exists there already.
+ local epam_wrapper_src="${FILESDIR}/epam-wrapper"
+ local epam_wrapper_dst="${S}/epam-wrapper"
+ [[ -e ${epam_wrapper_dst} ]] && die 'epam-wrapper already exists'
+ sed -r -e "s@^(ERL_LIBS=).*\$@\1${EPREFIX}$(get_erl_libs)@" \
+ "${epam_wrapper_src}" >"${epam_wrapper_dst}" \
+ || die 'failed to install epam-wrapper'
+
+ rebar_fix_include_path fast_xml
+ rebar_fix_include_path p1_utils
+ rebar_fix_include_path xmpp
+
+ # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
+ # rather than its parent which is default. That way ejabberd directory
+ # takes precedence is module lookup.
+ local ejabberd_erl_libs="$(get_ejabberd_path):$(get_erl_libs)"
+ sed -e "s|\(ERL_LIBS=\)'{{libdir}}'\.*|\1${ejabberd_erl_libs}|" \
+ -i "${S}/ejabberdctl.template" \
+ || die 'failed to set ERL_LIBS in ejabberdctl.template'
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-user=${PN} \
+ --with-rebar=rebar \
+ $(use_enable debug) \
+ $(use_enable full-xml) \
+ $(use_enable mssql) \
+ $(use_enable mysql) \
+ $(use_enable odbc) \
+ $(use_enable pam) \
+ $(use_enable postgres pgsql) \
+ $(use_enable redis) \
+ $(use_enable roster-gw roster-gateway-workaround) \
+ $(use_enable sqlite) \
+ $(use_enable sip) \
+ $(use_enable stun) \
+ $(use_enable zlib)
+
+ # more options to support
+ # --enable-elixir requires https://github.com/elixir-lang/elixir
+}
+
+src_compile() {
+ # Note that we also add ejabberdctl.example, which will be used by
+ # ejabberd's build system to create /usr/sbin/ejabberdctl, as
+ # target. Otherwise, ejabberdctl.example is due to be created by the
+ # 'install' target (as per upstream's Makefile.in). However when
+ # invoke the 'install' target (in src_install below), DESTDIR is
+ # set, which causes DESTDIR to scope into the ejabberdctl.example
+ # generation.
+ emake REBAR='rebar -v' src ejabberdctl.example ejabberd.service
+}
+
+src_install() {
+ default
+
+ if use pam; then
+ local epam_path="$(get_ejabberd_path)/priv/bin/epam"
+
+ pamd_mimic_system xmpp auth account
+ into "$(get_ejabberd_path)/priv"
+ newbin epam-wrapper epam
+ fi
+
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-22.05.initd" "${PN}"
+ systemd_dounit "${PN}.service"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}-22.05.logrotate" "${PN}"
+
+ keepdir /var/{lib,log}/ejabberd
+}
+
+pkg_postinst() {
+ local migrate_to_ejabberd_user=false
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 21.04-r1; then
+ migrate_to_ejabberd_user=true
+ break
+ fi
+ done
+ fi
+
+ # Sarting with >=21.04-r1, the ejabberd configuration is now in
+ # /etc/ejabberd and no longer in /etc/jabber. See if we need to
+ # migrate the configuration. Furthermore, ejabberd no longer runs
+ # under the, shared via net-im/jabber-base, 'jabber' use, but under
+ # its own user. This increase isolation and hence robustness and
+ # security.
+ if $migrate_to_ejabberd_user; then
+ ewarn "Newer versions of the ejabberd Gentoo package use /etc/ejabberd"
+ ewarn "(just as upstream) and *not* /etc/jabber."
+ ewarn "The files from /etc/jabber will now be copied to /etc/ejabberd."
+ ewarn "Also ejabberd's spool directory became /var/lib/ejabberd (was /var/spool/jabber)."
+ ewarn "Please check your configuration, and finish the migration by stopping ejabberd"
+ ewarn "followed by rsync'ing /var/spool/jabber to /var/lib/ejabberd."
+
+ local -A dirs_to_migrate=(
+ [/etc/jabber]=/etc/ejabberd
+ [/var/spool/jabber]=/var/lib/ejabberd
+ )
+
+ for src_dir in "${!dirs_to_migrate[@]}"; do
+ local eroot_src_dir="${EROOT}${src_dir}"
+ local eroot_dst_dir="${EROOT}${dirs_to_migrate[${src_dir}]}"
+
+ cp -r "${eroot_src_dir}"/. "${eroot_dst_dir}" || die "Could not copy ${eroot_src_dir} to ${eroot_dst_dir}"
+
+ if [[ -f "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 ]]; then
+ rm "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 || die
+ fi
+ if ! use prefix; then
+ chown --recursive ejabberd:ejabberd "${eroot_dst_dir}" || die
+ fi
+ done
+ fi
+}
diff --git a/net-im/ejabberd/files/adjust-ejabberd.service.template-to-Gentoo.patch b/net-im/ejabberd/files/adjust-ejabberd.service.template-to-Gentoo.patch
new file mode 100644
index 000000000000..9bf8e10f87a9
--- /dev/null
+++ b/net-im/ejabberd/files/adjust-ejabberd.service.template-to-Gentoo.patch
@@ -0,0 +1,39 @@
+From c0af543fc3b6047f66bfe820e7ce75abd3ed2049 Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Fri, 10 Dec 2021 12:36:45 +0100
+Subject: [PATCH] Adjust ejabberd.service.template to Gentoo
+
+---
+ Makefile.in | 2 +-
+ ejabberd.service.template | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ab0e9d96702e..4d97570733aa 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -300,7 +300,7 @@ install: copy-files
+ chmod 755 ejabberd.init
+ #
+ # Service script
+- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \
++ $(SED) -e "s*@ctlscriptpath@*/usr/sbin*g" \
+ -e "s*@installuser@*$(INIT_USER)*g" ejabberd.service.template \
+ > ejabberd.service
+ chmod 644 ejabberd.service
+diff --git a/ejabberd.service.template b/ejabberd.service.template
+index 685a104d00ae..e384e920280b 100644
+--- a/ejabberd.service.template
++++ b/ejabberd.service.template
+@@ -1,6 +1,7 @@
+ [Unit]
+ Description=XMPP Server
+-After=network.target
++After=epmd.service network.target
++Requires=epmd.service
+
+ [Service]
+ Type=notify
+--
+2.33.1
+
diff --git a/net-im/ejabberd/files/ejabberd-17.04-0001-Don-t-configure-or-compile-deps.patch b/net-im/ejabberd/files/ejabberd-17.04-0001-Don-t-configure-or-compile-deps.patch
deleted file mode 100644
index 0a42f549b58c..000000000000
--- a/net-im/ejabberd/files/ejabberd-17.04-0001-Don-t-configure-or-compile-deps.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 4086249e78cde107df84e6ad022e9d9821cecc40 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
-Date: Sun, 28 May 2017 14:22:08 +0100
-Subject: [PATCH] Don't configure or compile deps
-
----
- rebar.config.script | 23 -----------------------
- 1 file changed, 23 deletions(-)
-
-diff --git a/rebar.config.script b/rebar.config.script
-index 19142b9e..04f8b310 100644
---- a/rebar.config.script
-+++ b/rebar.config.script
-@@ -242,27 +242,6 @@ CtParams = fun(CompileOpts) ->
- TestConfig]
- end,
-
--GenDepConfigureLine =
--fun(DepPath, Flags) ->
-- ["sh -c 'if test ! -f ",DepPath,"config.status -o ",
-- "config.status -nt ",DepPath,"config.status; ",
-- "then (cd ", DepPath, " && ",
-- "CFLAGS=\"", CFlags,"\" ",
-- "CPPFLAGS=\"", CPPFlags, "\" "
-- "LDFLAGS=\"", LDFlags, "\"",
-- " ./configure ", string:join(Flags, " "),
-- "); fi'"]
--end,
--
--GenDepsConfigure =
--fun(Hooks) ->
-- lists:map(fun({Pkg, Flags}) ->
-- DepPath = ResolveDepPath("deps/" ++ Pkg ++ "/"),
-- {'compile',
-- lists:flatten(GenDepConfigureLine(DepPath, Flags))}
-- end, Hooks)
--end,
--
- ProcessErlOpt = fun(Vals) ->
- lists:map(
- fun({i, Path}) ->
-@@ -315,8 +294,6 @@ Rules = [
- AppendList([{coveralls, ".*", {git, "https://github.com/markusn/coveralls-erl.git", "master"}}]), []},
- {[post_hooks], [cover_enabled], os:getenv("TRAVIS") == "true",
- AppendList2(TravisPostHooks), [], false},
-- {[pre_hooks], [post_hook_configure], true,
-- AppendList2(GenDepsConfigure), [], []},
- {[ct_extra_params], [eunit_compile_opts], true,
- AppendStr2(CtParams), "", []},
- {[erl_opts], true,
---
-2.12.2
-
diff --git a/net-im/ejabberd/files/ejabberd-17.04-0002-Dont-overwrite-service-file.patch b/net-im/ejabberd/files/ejabberd-17.04-0002-Dont-overwrite-service-file.patch
deleted file mode 100644
index 2bea750ef04e..000000000000
--- a/net-im/ejabberd/files/ejabberd-17.04-0002-Dont-overwrite-service-file.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index a0b4553d..4675b88a 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -204,8 +204,8 @@ install: all copy-files
- chmod 755 ejabberd.init
- #
- # Service script
-- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" ejabberd.service.template \
-- > ejabberd.service
-+ [ -f ejabberd.service ] || $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \
-+ ejabberd.service.template > ejabberd.service
- chmod 644 ejabberd.service
- #
- # Spool directory
diff --git a/net-im/ejabberd/files/ejabberd-17.04-ejabberdctl.patch b/net-im/ejabberd/files/ejabberd-17.04-ejabberdctl.patch
deleted file mode 100644
index 6001c651f5d6..000000000000
--- a/net-im/ejabberd/files/ejabberd-17.04-ejabberdctl.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 185923a3c5f11c2d29599416a52b6594bc94d8c9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
-Date: Mon, 29 Aug 2016 22:29:41 +0100
-Subject: [PATCH] Adjust ejabberdctl for Gentoo jabberbase setup
-
-Set SHELL since the generic jabber user used on Gentoo for jabber
-servers doesn't have a valid shell set by default and fix EXEC_CMD
-otherwise it fails with "This account is currently not available" again
-due to jabber not having a valid shell.
-
-Also, workaround the assumption that jabber's $HOME is a directory when
-instead it defaults to /dev/null on Gentoo.
----
- ejabberdctl.template | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/ejabberdctl.template b/ejabberdctl.template
-index 5b34ebe..3c080fd 100755
---- a/ejabberdctl.template
-+++ b/ejabberdctl.template
-@@ -16,6 +16,7 @@ IEX={{bindir}}/iex
- EPMD={{epmd}}
- INSTALLUSER={{installuser}}
- ERL_LIBS={{libdir}}
-+SHELL=/bin/sh
-
- # check the proper system user is used if defined
- if [ "$INSTALLUSER" != "" ] ; then
-@@ -23,11 +24,11 @@ if [ "$INSTALLUSER" != "" ] ; then
- for GID in `id -G`; do
- if [ $GID -eq 0 ] ; then
- INSTALLUSER_HOME=$(getent passwd "$INSTALLUSER" | cut -d: -f6)
-- if [ -n "$INSTALLUSER_HOME" ] && [ ! -d "$INSTALLUSER_HOME" ] ; then
-+ if [ -n "$INSTALLUSER_HOME" ] && [ ! -e "$INSTALLUSER_HOME" ] ; then
- mkdir -p "$INSTALLUSER_HOME"
- chown "$INSTALLUSER" "$INSTALLUSER_HOME"
- fi
-- EXEC_CMD="su $INSTALLUSER -c"
-+ EXEC_CMD="su $INSTALLUSER -p -c"
- fi
- done
- if [ `id -g` -eq `id -g $INSTALLUSER` ] ; then
-@@ -91,6 +92,7 @@ EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log
- DATETIME=`date "+%Y%m%d-%H%M%S"`
- ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
- ERL_INETRC=$ETC_DIR/inetrc
-+HOME=$SPOOL_DIR
-
- # define mnesia options
- MNESIA_OPTS="-mnesia dir \"\\\"$SPOOL_DIR\\\"\" $MNESIA_OPTIONS"
-@@ -149,6 +151,8 @@ export ERL_MAX_ETS_TABLES
- export CONTRIB_MODULES_PATH
- export CONTRIB_MODULES_CONF_DIR
- export ERL_LIBS
-+export HOME
-+export SHELL
-
- shell_escape_str()
- {
---
-2.9.2
-
diff --git a/net-im/ejabberd/files/ejabberd.initd b/net-im/ejabberd/files/ejabberd-22.05.initd
index 94ac2ae8e465..57f9cd5aa335 100644
--- a/net-im/ejabberd/files/ejabberd.initd
+++ b/net-im/ejabberd/files/ejabberd-22.05.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
@@ -37,7 +37,7 @@ stop() {
cnt=0
sleep 1
while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
- echo -n .
+ echo .
cnt=`expr $cnt + 1`
if [ $cnt -ge 60 ] ; then
eend 1
diff --git a/net-im/ejabberd/files/ejabberd.logrotate b/net-im/ejabberd/files/ejabberd-22.05.logrotate
index 4f324729dba8..fd51673fc428 100644
--- a/net-im/ejabberd/files/ejabberd.logrotate
+++ b/net-im/ejabberd/files/ejabberd-22.05.logrotate
@@ -1,5 +1,5 @@
-/var/log/jabber/*.log {
- su jabber jabber
+/var/log/ejabberd/*.log {
+ su ejabberd ejabberd
weekly
rotate 4
missingok
diff --git a/net-im/ejabberd/files/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch b/net-im/ejabberd/files/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch
new file mode 100644
index 000000000000..f607f48037ae
--- /dev/null
+++ b/net-im/ejabberd/files/ejabberd-22.10-adjust-ejabberd.service.template-to-Gentoo.patch
@@ -0,0 +1,16 @@
+From c0af543fc3b6047f66bfe820e7ce75abd3ed2049 Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Fri, 10 Dec 2021 12:36:45 +0100
+Subject: [PATCH] Adjust ejabberd.service.template to Gentoo
+
+--- a/ejabberd.service.template
++++ b/ejabberd.service.template
+@@ -1,6 +1,7 @@
+ [Unit]
+ Description=XMPP Server
+-After=network.target
++After=epmd.service network.target
++Requires=epmd.service
+
+ [Service]
+ Type=notify
diff --git a/net-im/ejabberd/files/ejabberd.tmpfiles.conf b/net-im/ejabberd/files/ejabberd.tmpfiles.conf
deleted file mode 100644
index 6a9cc9e61b7a..000000000000
--- a/net-im/ejabberd/files/ejabberd.tmpfiles.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/lock/ejabberdctl 0750 jabber jabber
-d /run/ejabberd 0750 jabber jabber
diff --git a/net-im/ejabberd/metadata.xml b/net-im/ejabberd/metadata.xml
index d9f1e24554e1..f894e535971b 100644
--- a/net-im/ejabberd/metadata.xml
+++ b/net-im/ejabberd/metadata.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>hanno@gentoo.org</email>
- <name>Hanno Böck</name>
+ <maintainer type="project">
+ <email>ejabberd@gentoo.org</email>
</maintainer>
<longdescription>
Free and Open Source distributed fault-tolerant Jabber server. It's
@@ -13,22 +12,21 @@
<flag name="captcha">Support for CAPTCHA Forms (XEP-158) on registration</flag>
<flag name="full-xml">Use XML features in XMPP stream (ex: CDATA),
requires XML compliant clients</flag>
- <flag name="hipe">Compile natively with HiPE, not recommended</flag>
<flag name="mssql">Enable Microsoft SQL Server support (via ODBC) for
data storage</flag>
<flag name="mysql">Enable MySQL support for data storage</flag>
- <flag name="nls">Enable character set conversion for mod_irc</flag>
<flag name="odbc">Enable ODBC support to access data storage</flag>
<flag name="postgres">Enable PostgreSQL support for data storage</flag>
<flag name="redis">Enable Redis support for transient data</flag>
- <flag name="riak">Enable support for Riak - distributed NoSQL key-value
- data store</flag>
<flag name="roster-gw">Turn on workaround for processing gateway subscriptions</flag>
<flag name="sqlite">Enable SQLite database support</flag>
+ <flag name="sip">Enable SIP support</flag>
+ <flag name="stun">Enable STUN/TURN support</flag>
<flag name="zlib">Enable Stream Compression (XEP-0138) using zlib</flag>
<!-- TODO Add later: flag name="tools">Build development tools</flag -->
</use>
<upstream>
+ <doc>https://docs.ejabberd.im</doc>
<remote-id type="github">processone/ejabberd</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-im/ekg2/Manifest b/net-im/ekg2/Manifest
deleted file mode 100644
index 38cae254de61..000000000000
--- a/net-im/ekg2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ekg2-f427d083ee899d42532c046100490a915b0e8a82.tar.gz 1177484 BLAKE2B 7bf6918a7f75738ac34eeae64ac53d3c90acd72795711c856206b79ca96c94b2ce397132ee31dfa8a9060d91d7b4b9aa23834596fca190dadf476660c6e5cd71 SHA512 ba28b66233290bd6c9b6a9602a5409c0fb2d847993bda638172da2f68430b5b5cf9bc0ff0d327983939fa0fd078bf6030069c60cd8bdd8449c349964b23e1f44
diff --git a/net-im/ekg2/ekg2-0.4_pre20190315.ebuild b/net-im/ekg2/ekg2-0.4_pre20190315.ebuild
deleted file mode 100644
index e6954bc0de6b..000000000000
--- a/net-im/ekg2/ekg2-0.4_pre20190315.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit autotools python-single-r1
-
-EGIT_COMMIT="f427d083ee899d42532c046100490a915b0e8a82"
-DESCRIPTION="Text-based, multi-protocol instant messenger"
-HOMEPAGE="https://github.com/ekg2/ekg2/"
-SRC_URI="https://github.com/ekg2/ekg2/archive/${EGIT_COMMIT}.tar.gz
- -> ${PN}-${EGIT_COMMIT}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="gadu gpm gpg gtk minimal ncurses nls nntp openssl
- perl python readline rss spell sqlite ssl xmpp unicode zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/glib:2
- gadu? ( <net-libs/libgadu-1.12:0= )
- gpg? ( app-crypt/gpgme:1= )
- gtk? ( x11-libs/gtk+:2 )
- nls? ( virtual/libintl:0= )
- openssl? ( dev-libs/openssl:0= )
- perl? ( dev-lang/perl:0= )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- rss? ( dev-libs/expat:0= )
- ssl? ( net-libs/gnutls:0= )
- xmpp? ( dev-libs/expat:0= )
- zlib? ( sys-libs/zlib:0= )
-
- ncurses? ( sys-libs/ncurses:0=[unicode=]
- gpm? ( sys-libs/gpm:0= )
- spell? ( app-text/aspell:0= ) )
- sqlite? ( dev-db/sqlite:3= )"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext"
-
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-
-DOCS=(
- AUTHORS README.md docs/README docs/TODO
- docs/events.txt docs/mouse.txt docs/sim.txt docs/voip.txt
- docs/themes.txt docs/themes-en.txt
- docs/ui-ncurses.txt docs/ui-ncurses-en.txt
-)
-
-pkg_pretend() {
- if ! use gtk && ! use ncurses && ! use readline; then
- ewarn 'ekg2 is being compiled without any frontend. You should consider'
- ewarn 'enabling at least one of following USEflags:'
- ewarn ' gtk, ncurses, readline.'
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- # direct plugin references
- $(use_enable gadu gg)
- $(use_enable gpg)
- $(use_enable gtk)
- $(use_enable ncurses)
- $(use_enable nntp)
- $(use_enable openssl sim)
- $(use_enable perl)
- $(use_enable python)
- $(use_enable readline)
- $(use_enable rss)
- $(use_enable sqlite logsqlite)
- $(use_enable xmpp jabber)
-
- $(use_enable !minimal autoresponder)
- $(use_enable !minimal jogger)
- $(use_enable !minimal mail)
- $(use_enable !minimal polchat)
- $(use_enable !minimal rivchat)
- $(use_enable !minimal sms)
-
- # sqlite switch
- --with-sqlite3
-
- # optional deps
- $(use_with gpm)
- # do not pass --with-inotify as it will fail if check fails
- $(use_with spell aspell)
- $(use_with ssl gnutls)
- $(use_with zlib)
-
- # other magic
- $(use_enable nls)
- --with-perl-module-build-flags='INSTALLDIRS=vendor'
- --enable-fast-configure
- )
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/net-im/ekg2/ekg2-9999.ebuild b/net-im/ekg2/ekg2-9999.ebuild
deleted file mode 100644
index 8c458e0a9e43..000000000000
--- a/net-im/ekg2/ekg2-9999.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit autotools git-r3 python-single-r1
-
-DESCRIPTION="Text-based, multi-protocol instant messenger"
-HOMEPAGE="https://github.com/ekg2/ekg2/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/ekg2/${PN}.git"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="gadu gpm gpg gtk minimal ncurses nls nntp openssl
- perl python readline rss spell sqlite ssl xmpp unicode zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/glib:2
- gadu? ( <net-libs/libgadu-1.12:0= )
- gpg? ( app-crypt/gpgme:1= )
- gtk? ( x11-libs/gtk+:2 )
- nls? ( virtual/libintl:0= )
- openssl? ( dev-libs/openssl:0= )
- perl? ( dev-lang/perl:0= )
- python? ( ${PYTHON_DEPS} )
- readline? ( sys-libs/readline:0= )
- rss? ( dev-libs/expat:0= )
- ssl? ( net-libs/gnutls:0= )
- xmpp? ( dev-libs/expat:0= )
- zlib? ( sys-libs/zlib:0= )
-
- ncurses? ( sys-libs/ncurses:0=[unicode=]
- gpm? ( sys-libs/gpm:0= )
- spell? ( app-text/aspell:0= ) )
- sqlite? ( dev-db/sqlite:3= )"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext"
-
-DOCS=(
- AUTHORS README.md docs/README docs/TODO
- docs/events.txt docs/mouse.txt docs/sim.txt docs/voip.txt
- docs/themes.txt docs/themes-en.txt
- docs/ui-ncurses.txt docs/ui-ncurses-en.txt
-)
-
-pkg_pretend() {
- if ! use gtk && ! use ncurses && ! use readline; then
- ewarn 'ekg2 is being compiled without any frontend. You should consider'
- ewarn 'enabling at least one of following USEflags:'
- ewarn ' gtk, ncurses, readline.'
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- # direct plugin references
- $(use_enable gadu gg)
- $(use_enable gpg)
- $(use_enable gtk)
- $(use_enable ncurses)
- $(use_enable nntp)
- $(use_enable openssl sim)
- $(use_enable perl)
- $(use_enable python)
- $(use_enable readline)
- $(use_enable rss)
- $(use_enable sqlite logsqlite)
- $(use_enable xmpp jabber)
-
- $(use_enable !minimal autoresponder)
- $(use_enable !minimal jogger)
- $(use_enable !minimal mail)
- $(use_enable !minimal polchat)
- $(use_enable !minimal rivchat)
- $(use_enable !minimal sms)
-
- # sqlite switch
- --with-sqlite3
-
- # optional deps
- $(use_with gpm)
- # do not pass --with-inotify as it will fail if check fails
- $(use_with spell aspell)
- $(use_with ssl gnutls)
- $(use_with zlib)
-
- # other magic
- $(use_enable nls)
- --with-perl-module-build-flags='INSTALLDIRS=vendor'
- --enable-fast-configure
- )
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/net-im/ekg2/metadata.xml b/net-im/ekg2/metadata.xml
deleted file mode 100644
index 56d35d283099..000000000000
--- a/net-im/ekg2/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>mgorny@gentoo.org</email>
- <name>Michał Górny</name>
- </maintainer>
-
- <use>
- <flag name="gadu">Enable Gadu-Gadu protocol support (requires
- <pkg>net-libs/libgadu</pkg>).</flag>
- <flag name="gpg">Enable jabber message encryption through
- <pkg>app-crypt/gpgme</pkg>.</flag>
- <flag name="minimal">Disable building extra plugins with no additional
- deps.</flag>
- <flag name="openssl">Support encryption in sim plugin, using OpenSSL.</flag>
- <flag name="sqlite">Support logging messages into SQLite3 database.</flag>
- </use>
-</pkgmetadata>
diff --git a/net-im/element-desktop-bin/Manifest b/net-im/element-desktop-bin/Manifest
new file mode 100644
index 000000000000..9ea60ab694b6
--- /dev/null
+++ b/net-im/element-desktop-bin/Manifest
@@ -0,0 +1 @@
+DIST element-desktop_1.11.54_amd64.deb 94677944 BLAKE2B dac8908b263734b6c1cbf8a62e99c9f2eb7e40c70715c7e0456561ca70ec4d8b8f1f41181d7b0c8dd3a980285184f0dfd9284aa72fb1a5539ed6c3c92f1e09c7 SHA512 1e266cb08404bb622a5ab0f3a769e16944322274cfdadbea66f92839da863b45e8afd3f14b4d6c0d6c8c49f77953f5914a7abaf6abe888eec56ebec197b3ee71
diff --git a/net-im/element-desktop-bin/element-desktop-bin-1.11.54.ebuild b/net-im/element-desktop-bin/element-desktop-bin-1.11.54.ebuild
new file mode 100644
index 000000000000..afefcad54396
--- /dev/null
+++ b/net-im/element-desktop-bin/element-desktop-bin-1.11.54.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature unpacker xdg
+
+MY_PN="${PN/-bin}"
+
+DESCRIPTION="A glossy Matrix collaboration client for desktop (binary package)"
+HOMEPAGE="https://element.io"
+SRC_URI="https://packages.element.io/debian/pool/main/e/element-desktop/${MY_PN}_${PV}_amd64.deb"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+RESTRICT="splitdebug"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/libsecret
+ dev-db/sqlcipher
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nettle
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/mesa
+ net-print/cups
+ sys-apps/dbus
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango"
+
+QA_PREBUILT="opt/Element/chrome-sandbox
+ opt/Element/chrome_crashpad_handler
+ opt/Element/element-desktop
+ opt/Element/libEGL.so
+ opt/Element/libGLESv2.so
+ opt/Element/libffmpeg.so
+ opt/Element/libvk_swiftshader.so
+ opt/Element/libvulkan.so.1
+ opt/Element/resources/app.asar.unpacked/node_modules/matrix-seshat/index.node
+ opt/Element/resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"
+
+src_prepare() {
+ default
+ rm opt/Element/{LICENSE.electron.txt,LICENSES.chromium.html} || die
+}
+
+src_install() {
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+ gunzip usr/share/doc/${PF}/changelog.gz || die
+
+ insinto /
+ doins -r usr
+ doins -r opt
+ local f
+ for f in ${QA_PREBUILT}; do
+ fperms +x "/${f}"
+ done
+ fperms u+s /opt/Element/chrome-sandbox
+
+ dosym ../../opt/Element/${MY_PN} /usr/bin/${MY_PN}
+ dosym ${MY_PN} /usr/bin/riot-desktop
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "emojis" media-fonts/noto-emoji
+}
diff --git a/net-im/element-desktop-bin/metadata.xml b/net-im/element-desktop-bin/metadata.xml
new file mode 100644
index 000000000000..6da2e8686fd5
--- /dev/null
+++ b/net-im/element-desktop-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>steils@gentoo.org</email>
+ <name>Stefan Strogin</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/empathy/Manifest b/net-im/empathy/Manifest
deleted file mode 100644
index c79a8ccd4fd1..000000000000
--- a/net-im/empathy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST empathy-3.12.14.tar.xz 5017776 BLAKE2B 15f4c71a4f40988afd51d0665ee24164fb7e1d14994e577c23fa29a995503e78f8b784d26edd90503f9825c64dc814f07860aa6792eec6948c566dc3ff669dad SHA512 f467277278a9e8d330e4ab656b3edb2acac6efec211baa146a5ea0a6d0da299e68cdb83ceb1a27a1aa4744c2ce1a441fa287001003c523036ada517029a40123
diff --git a/net-im/empathy/empathy-3.12.14.ebuild b/net-im/empathy/empathy-3.12.14.ebuild
deleted file mode 100644
index 5f30e3ecb6ab..000000000000
--- a/net-im/empathy/empathy-3.12.14.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit gnome2 python-any-r1 virtualx
-
-DESCRIPTION="Telepathy instant messaging and video/audio call client for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Empathy"
-
-LICENSE="GPL-2 CC-BY-SA-3.0 FDL-1.3 LGPL-2.1"
-SLOT="0"
-IUSE="debug +geolocation gnome gnome-online-accounts +map spell test +v4l"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
-
-# False positives caused by nested configure scripts
-QA_CONFIGURE_OPTIONS=".*"
-
-# gdk-pixbuf and pango extensively used in libempathy-gtk
-COMMON_DEPEND="
- >=dev-libs/glib-2.48:2[dbus]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.9.4:3
- x11-libs/pango
- >=dev-libs/dbus-glib-0.51
- >=dev-libs/folks-0.9.5:=[telepathy]
- dev-libs/libgee:0.8=
- >=app-crypt/libsecret-0.5
- >=media-libs/libcanberra-0.25[gtk3]
- >=net-libs/webkit-gtk-2.10:4
- >=x11-libs/libnotify-0.7:=
-
- media-libs/gstreamer:1.0
- >=media-libs/clutter-1.10.0:1.0
- >=media-libs/clutter-gtk-1.1.2:1.0
- media-libs/clutter-gst:3.0
- >=media-libs/cogl-1.14:1.0=
-
- net-libs/farstream:0.2=
- >=net-libs/telepathy-farstream-0.6.0:=
- >=net-libs/telepathy-glib-0.23.2
- >=net-im/telepathy-logger-0.8.0:=
-
- app-crypt/gcr[gtk]
- dev-libs/libxml2:2
- gnome-base/gsettings-desktop-schemas
- media-sound/pulseaudio[glib]
- net-libs/libsoup:2.4
- x11-libs/libX11
-
- geolocation? (
- >=app-misc/geoclue-2.1:2.0
- >=sci-geosciences/geocode-glib-3.10 )
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.5.1:= )
- map? (
- >=media-libs/clutter-1.7.14:1.0
- >=media-libs/clutter-gtk-0.90.3:1.0
- >=media-libs/libchamplain-0.12.1:0.12[gtk] )
- spell? (
- >=app-text/enchant-1.2
- >=app-text/iso-codes-0.35 )
- v4l? (
- media-plugins/gst-plugins-v4l2:1.0
- >=media-video/cheese-3.4:=
- virtual/libgudev:= )
-"
-
-# >=empathy-3.4 is incompatible with telepathy-rakia-0.6, bug #403861
-RDEPEND="${COMMON_DEPEND}
- media-libs/gst-plugins-base:1.0
- net-im/telepathy-connection-managers
- !<net-voip/telepathy-rakia-0.7
- x11-themes/adwaita-icon-theme
- gnome? ( gnome-extra/gnome-contacts )
-"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=dev-util/intltool-0.50.0
- dev-util/itstool
- virtual/pkgconfig
- test? (
- sys-apps/grep
- >=dev-libs/check-0.9.4 )
-"
-PDEPEND=">=net-im/telepathy-mission-control-5.14"
-
-pkg_setup() {
- python-any-r1_pkg_setup
- export PYTHONIOENCODING=UTF-8 # See bug 489774
-}
-
-src_configure() {
- DOCS="CONTRIBUTORS AUTHORS ChangeLog NEWS README"
- gnome2_src_configure \
- --disable-coding-style-checks \
- --disable-static \
- --disable-ubuntu-online-accounts \
- --enable-gst-1.0 \
- $(use_enable debug) \
- $(use_enable geolocation geocode) \
- $(use_enable geolocation location) \
- $(use_enable gnome-online-accounts goa) \
- $(use_enable map) \
- $(use_enable spell) \
- $(use_enable v4l gudev) \
- $(use_with v4l cheese)
-}
-
-src_test() {
- dbus-launch virtx emake check #504516
-}
diff --git a/net-im/empathy/metadata.xml b/net-im/empathy/metadata.xml
deleted file mode 100644
index 54f02c7adf8b..000000000000
--- a/net-im/empathy/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="gnome-online-accounts">Enable using
- <pkg>net-libs/gnome-online-accounts</pkg> for authorization (e.g.
- for Google Talk)</flag>
- <flag name="map">Enable world map support through
- <pkg>media-libs/libchamplain</pkg></flag>
- </use>
- <longdescription>
- Empathy consists of a rich set of reusable instant messaging widgets,
- and a GNOME client using those widgets. It uses Telepathy and Nokia's
- Mission Control. The main goal is to permit desktop integration by
- providing libempathy and libempathy-gtk libraries. libempathy-gtk is a
- set of powerful widgets that can be embeded into any GNOME application.
- A client application is provided.
- </longdescription>
-</pkgmetadata>
diff --git a/net-im/err/Manifest b/net-im/err/Manifest
index 62697aaabeec..56c41525b4c0 100644
--- a/net-im/err/Manifest
+++ b/net-im/err/Manifest
@@ -1 +1 @@
-DIST errbot-5.2.0.tar.gz 189305 BLAKE2B 96e275ee2a70fcab217f4a91c855192d8536cc177e0cafe08c8f55e17a09c06913c07e50473f87ea29e4537cd6389907615eba86d44756962ed59a87498be398 SHA512 d879e9da6647d697ead0a5f72fe83cf33614201863a9a62bc62c90d7ac0478e1e0902438c6f053d2ea56c940d68b136bbfa497175fb11647913bd7f139220aec
+DIST err-6.1.9.tar.gz 1554146 BLAKE2B 62a715d57c213b8d68c40afad92c14d26ff23fdce1df6b489be23817d33d8bc01c7c400ca7360546abc880b4a7e6205f92a3787cabfce3e14500ef8918a4b010 SHA512 cc8f7a00bc9bd7680d978b4c2e6c9ac78f32e0a99796cc9933802206b2c2998caf060d474aca374d8102923bf8eb64f69a01846c5761b13a8624641796893c9b
diff --git a/net-im/err/err-5.2.0-r1.ebuild b/net-im/err/err-6.1.9.ebuild
index 4a854df6d56a..2abe868affb0 100644
--- a/net-im/err/err-5.2.0-r1.ebuild
+++ b/net-im/err/err-6.1.9.ebuild
@@ -1,75 +1,75 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python{3_5,3_6} )
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
MY_PN="errbot"
MY_P="${MY_PN}-${PV}"
-inherit distutils-r1 user
-
DESCRIPTION="Multiprotocol chatbot designed to be easily deployable and maintainable"
-HOMEPAGE="http://errbot.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://errbot.readthedocs.io/en/latest/"
+SRC_URI="https://github.com/errbotio/errbot/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv"
LICENSE="GPL-3"
SLOT="0"
IUSE="irc +xmpp"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="
+DEPEND="
+ acct-group/err
+ acct-user/err"
+RDEPEND="${DEPEND}
dev-python/ansi[${PYTHON_USEDEP}]
dev-python/bottle[${PYTHON_USEDEP}]
dev-python/colorlog[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/daemonize[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
+ dev-python/deepmerge[${PYTHON_USEDEP}]
+ dev-python/dulwich[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/webtest[${PYTHON_USEDEP}]
- dev-python/yapsy[${PYTHON_USEDEP}]
irc? (
dev-python/irc[${PYTHON_USEDEP}]
)
xmpp? (
dev-python/pyasn1[${PYTHON_USEDEP}]
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
- dev-python/sleekxmpp[${PYTHON_USEDEP}]
- )
-"
+ dev-python/slixmpp[${PYTHON_USEDEP}]
+ )"
+BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
-S="${WORKDIR}/${MY_P}"
-
-# NOTES:
-# 1. Support for BOT_SENTRY option is missing, cause
-# we do not have apropriate packages in portage yet
-# 2. Currently only XMPP is supported(IRC still untested)
-# 3. Internal web server is temporarily removed (rocket-err from requires.txt)
-# 4. pygments-markdown-lexer dependency(needed only for debugging?) is temporarily removed (pygments-markdown-lexer from requires.txt)
-
-pkg_setup() {
- ebegin "Creating err group and user"
- enewgroup 'err'
- enewuser 'err' -1 -1 -1 'err'
- eend ${?}
-}
+distutils_enable_tests pytest
python_prepare_all() {
- sed -i \
- -e '/rocket-errbot/d' \
- -e 's/dnspython3/dnspython/' \
- -e '/pygments-markdown-lexer/d' \
- setup.py || die
+ sed -i -e '/pygments-markdown-lexer/d' setup.py || die
+
+ # NameError: name 'slack' is not defined
+ rm tests/backend_tests/slack_test.py || die
distutils-r1_python_prepare_all
}
+python_test() {
+ local deselect=(
+ tests/commands_test.py::test_plugin_cycle
+ tests/commands_test.py::test_broken_plugin
+ tests/commands_test.py::test_backup
+ tests/plugin_management_test.py::test_check_dependencies_requi
+ )
+
+ epytest ${deselect[@]/#/--deselect }
+}
+
python_install_all() {
distutils-r1_python_install_all
@@ -85,3 +85,7 @@ python_install_all() {
insinto /etc/${PN}
newins errbot/config-template.py config.py
}
+
+pkg_postinst() {
+ elog "For more backends (Slack, Telegram) support, use pip install \"errbot[slack]\""
+}
diff --git a/net-im/err/metadata.xml b/net-im/err/metadata.xml
index 21914ed5cfe5..3a8a8e82fe09 100644
--- a/net-im/err/metadata.xml
+++ b/net-im/err/metadata.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
+ <maintainer type="person" proxied="yes">
+ <email>guyu2876@gmail.com</email>
+ <name>Yu Gu</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
<use>
<flag name="irc">Pull optional dependencies, needed for IRC backend</flag>
</use>
<upstream>
- <remote-id type="github">gbin/err</remote-id>
- <maintainer status="active">
- <email>gbin@gootz.net</email>
- <name>Guillaume BINET</name>
- </maintainer>
+ <remote-id type="github">errbotio/errbot</remote-id>
<remote-id type="pypi">err</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-im/fractal/Manifest b/net-im/fractal/Manifest
new file mode 100644
index 000000000000..869ecbcd8733
--- /dev/null
+++ b/net-im/fractal/Manifest
@@ -0,0 +1,3 @@
+DIST fractal-6.tar.bz2 1430986 BLAKE2B 2388771eb34b527ce758efc9a81a5134cb5558ba64bbdf2cbb4911e56698dff7fcf175280b1a8126ffe59189024dbdb3fb847a88e991b86adb81b5e0f64a4ef7 SHA512 78f5ae06117b8f7218084946c883022ec08ae213a433c17386cdf84a30dcb2796f957c13b5b21cef1e500df0b1a86794aff144698c014fdeb42b782bf5583280
+DIST fractal-6_beta-crates.tar.xz 45123596 BLAKE2B 88bd065066367943dc84af70a514f79e96382d62fb47caf80844a0c5532cc065fe5aa72bc737f240d6f64cd5e9f123be467c9fef0fd64e8f7a4aa496e613a408 SHA512 23cfff457be78c6ba2e71342d54605adad28dd0a21dcf3d3415477a36e78c52c921fd92083551798b6fccb4569814a33606812752c5b9c4ca2952e94f7f2f596
+DIST matrix-rust-sdk-19526cea6bce133fc48904838956846aeb966dc6.gh.tar.gz 1743912 BLAKE2B 48b6352fbad17eb1651e5ca57bca25ea64dacecf0e97b63502fa54fd86ac65728656e799c0b50fddec575d05aa408c8347815f30afbf78413e973c35e0d8768f SHA512 a330250bf25dcb4a4a4a8bfc3bdda1a19d389080fb6a4983f00cc9cddc2f12b7a8f652942a58b9ed78b9c52802f94fd391e3dfd6971add8a44dbf66460488a1b
diff --git a/net-im/fractal/fractal-6.ebuild b/net-im/fractal/fractal-6.ebuild
new file mode 100644
index 000000000000..975db0e74b70
--- /dev/null
+++ b/net-im/fractal/fractal-6.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [matrix-sdk-base]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-base'
+ [matrix-sdk-common]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-common'
+ [matrix-sdk-crypto]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-crypto'
+ [matrix-sdk-indexeddb]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-indexeddb'
+ [matrix-sdk-qrcode]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-qrcode'
+ [matrix-sdk-sqlite]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-sqlite'
+ [matrix-sdk-store-encryption]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-store-encryption'
+ [matrix-sdk-ui]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk-ui'
+ [matrix-sdk]='https://github.com/matrix-org/matrix-rust-sdk;19526cea6bce133fc48904838956846aeb966dc6;matrix-rust-sdk-%commit%/crates/matrix-sdk'
+)
+
+inherit cargo gnome2-utils meson
+
+MY_P=${P/_/.}
+DESCRIPTION="Matrix messaging app for GNOME written in Rust"
+HOMEPAGE="
+ https://wiki.gnome.org/Apps/Fractal
+ https://gitlab.gnome.org/World/fractal/
+"
+SRC_URI="
+ https://gitlab.gnome.org/World/fractal/-/archive/${PV/_/.}/${MY_P}.tar.bz2
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${P}_beta-crates.tar.xz
+ "
+fi
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT
+ MPL-2.0 MPL-2.0 Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+
+DEPEND="
+ >=dev-libs/glib-2.72
+ >=gui-libs/gtk-4.10.0:4
+ >=gui-libs/libadwaita-1.4.0:1
+
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-bad-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+
+ >=gui-libs/gtksourceview-5.0.0:5
+ >=media-video/pipewire-0.3.0:=[gstreamer]
+ >=dev-libs/openssl-1.0.1:=
+ >=media-libs/libshumate-1.0.0:1.0
+ >=dev-db/sqlite-3.24.0:3
+ >=sys-apps/xdg-desktop-portal-1.14.1
+"
+RDEPEND="
+ ${DEPEND}
+ virtual/secret-service
+"
+# clang needed by bindgen
+BDEPEND="
+ sys-devel/clang
+ >=virtual/rust-1.75.0
+"
+
+# Rust
+QA_FLAGS_IGNORED="usr/bin/fractal"
+
+src_configure() {
+ meson_src_configure
+ ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die
+}
+
+pkg_postinst() {
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_schemas_update
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/net-im/fractal/metadata.xml b/net-im/fractal/metadata.xml
new file mode 100644
index 000000000000..7090f1871134
--- /dev/null
+++ b/net-im/fractal/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">World/fractal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/gajim/Manifest b/net-im/gajim/Manifest
index 0e11c6d16397..56614ec8e60c 100644
--- a/net-im/gajim/Manifest
+++ b/net-im/gajim/Manifest
@@ -1,2 +1,4 @@
-DIST gajim-1.0.3.tar.bz2 5964743 BLAKE2B af4bf2206a962eb68c4df09359fa3a0ccaca1e886d4fad67d9839f5fd4c1fd359c7ee7933d39d8c1ae7dcbde6b72548fef3564a467653064d4d37aa1db234c04 SHA512 a6d7f92a22a9dddc8a4b07eda0aae0b6fb4db57c73133ee19937f7e2a2a82c5351051d1f3627c94a44434276ed001b83d375f708f177962125af66cda8579ec8
-DIST gajim-1.1.3.tar.bz2 8013585 BLAKE2B 7be25380ecfe76ae5e2a7534665688dcca9ff850c12c7a450e8d1f6caab1820a1022750710df0a8a7ae259c5748f55582b272ad83fbdb0560f18e6ab8642bf78 SHA512 18062832f9b9295c7a844c347d5ece4a6db43126d5b58bbf362fdf2f8e082e2241c46dae6d1cbe66ebf2ef19f65618102c3c21fa0079a96fc21511e6e93420ac
+DIST gajim-1.7.3.tar.gz 3753831 BLAKE2B c7b8b1dc47b1faf9f1c0803e7931cb00bfbf31075fe481d557ec0f308c79e7580d0054d224781a67eaeea24dba40e40de5faf55d633d71f759022a1ac113f6e4 SHA512 66135e88784350bab79b61debc1b65144a82f8eee2c1841d21e4f511b3792361e57b60304d2478654e563687e8302426d76063e748236f4e1c959511c7c28665
+DIST gajim-1.8.0.tar.gz 3835799 BLAKE2B 030293fc8114877c6d060cd0feae0fecdcecbb26aac8817e1db7db59aee3ee79973efc94584434641ccd39adcf809e0c7a86a017ab46c9695666d898fb7b7905 SHA512 724290de6d438aacd929a9759d7a712068c303caf9002a1a70ddc0e9aa16387054d3e4efacf84eced28f49ef79749c764d5fe67fcb23c3baef3a2b7714df218e
+DIST gajim-1.8.1.tar.gz 3844796 BLAKE2B b7bbd751a051cd2a46e814a9b3ebc08f10a6570dc071752838a2463019cdf6ea4198f2a349f3935c33d988cd6908cf31dba572bac31f9363675433328e6d679b SHA512 b417d76a4225f16730441dee7befacd6db5be782c9271b789d5f9c10232e342f2d46930eef79a58839c13b2887926591d953a87a7544e32c7bf80d2c65390e31
+DIST gajim-1.8.4.tar.gz 3710470 BLAKE2B e23eafe707bc482a050fcef44df9e68af552444cce173c506538ebe01557a894dc0ba8b9afe18f195fd0b00b717b1268531a960b1c8b868c22081135d14e3079 SHA512 1a5b028c0e308eb15417c8c11584bc0e8b0218fead5155093ede4bc3961b6bee2b47bc3510f751dc70194634d6ca94d4a675f6891c8f050859fb4729020e52cb
diff --git a/net-im/gajim/gajim-1.0.3-r1.ebuild b/net-im/gajim/gajim-1.0.3-r1.ebuild
deleted file mode 100644
index 0ea841d01b32..000000000000
--- a/net-im/gajim/gajim-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-PYTHON_REQ_USE="sqlite,xml"
-DISTUTILS_SINGLE_IMPL=1
-
-inherit gnome2-utils distutils-r1 versionator xdg-utils
-
-DESCRIPTION="Jabber client written in PyGTK"
-HOMEPAGE="https://www.gajim.org/"
-SRC_URI="https://www.gajim.org/downloads/$(get_version_component_range 1-2)/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-#KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
-KEYWORDS="~amd64 ~x86"
-IUSE="+crypt geolocation jingle keyring networkmanager remote rst +spell upnp
- +webp"
-
-COMMON_DEPEND="
- dev-libs/gobject-introspection[cairo]
- >=x11-libs/gtk+-3.22:3[introspection]"
-DEPEND="${COMMON_DEPEND}
- app-arch/unzip
- >=dev-util/intltool-0.40.1
- virtual/pkgconfig
- >=sys-devel/gettext-0.17-r1"
-RDEPEND="${COMMON_DEPEND}
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- dev-python/pygobject[cairo,${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/python-nbxmpp-0.6.6[${PYTHON_USEDEP}]
- x11-libs/libXScrnSaver
- crypt? (
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
- geolocation? ( app-misc/geoclue[introspection] )
- jingle? (
- net-libs/farstream:0.2[introspection]
- media-libs/gstreamer:1.0[introspection]
- media-libs/gst-plugins-base:1.0[introspection]
- media-libs/gst-plugins-ugly:1.0
- )
- keyring? (
- app-crypt/libsecret[crypt,introspection]
- dev-python/keyring[${PYTHON_USEDEP}]
- )
- networkmanager? ( net-misc/networkmanager[introspection] )
- remote? (
- >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
- sys-apps/dbus[X]
- )
- rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
- spell? (
- app-text/gspell[introspection]
- app-text/hunspell
- )
- upnp? ( net-libs/gupnp-igd[introspection] )
- webp? ( dev-python/pillow[${PYTHON_USEDEP}] )"
-
-RESTRICT="test"
-
-pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/net-im/gajim/gajim-1.0.3.ebuild b/net-im/gajim/gajim-1.0.3.ebuild
deleted file mode 100644
index 0727b7f841e2..000000000000
--- a/net-im/gajim/gajim-1.0.3.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-PYTHON_REQ_USE="sqlite,xml"
-DISTUTILS_SINGLE_IMPL=1
-
-inherit gnome2-utils distutils-r1 versionator xdg-utils
-
-DESCRIPTION="Jabber client written in PyGTK"
-HOMEPAGE="https://www.gajim.org/"
-SRC_URI="https://www.gajim.org/downloads/$(get_version_component_range 1-2)/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-#KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
-KEYWORDS="amd64 x86"
-IUSE="+crypt geolocation jingle keyring networkmanager remote rst +spell upnp
- +webp"
-
-COMMON_DEPEND="
- dev-libs/gobject-introspection[cairo]
- >=x11-libs/gtk+-3.22:3[introspection]"
-DEPEND="${COMMON_DEPEND}
- app-arch/unzip
- >=dev-util/intltool-0.40.1
- virtual/pkgconfig
- >=sys-devel/gettext-0.17-r1"
-RDEPEND="${COMMON_DEPEND}
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- dev-python/pygobject[cairo,${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/python-nbxmpp-0.6.6[${PYTHON_USEDEP}]
- x11-libs/libXScrnSaver
- crypt? (
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
- geolocation? ( app-misc/geoclue[introspection] )
- jingle? (
- net-libs/farstream:0.2[introspection]
- media-libs/gstreamer:1.0[introspection]
- media-libs/gst-plugins-base:1.0[introspection]
- media-libs/gst-plugins-ugly:1.0
- )
- keyring? (
- app-crypt/libsecret[crypt,introspection]
- dev-python/keyring[${PYTHON_USEDEP}]
- )
- networkmanager? ( net-misc/networkmanager[introspection] )
- remote? (
- >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
- sys-apps/dbus[X]
- )
- rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
- spell? (
- app-text/gspell[introspection]
- app-text/hunspell
- )
- upnp? ( net-libs/gupnp-igd[introspection] )
- webp? ( dev-python/pillow[${PYTHON_USEDEP}] )"
-
-RESTRICT="test"
-
-pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/net-im/gajim/gajim-1.1.3.ebuild b/net-im/gajim/gajim-1.1.3.ebuild
deleted file mode 100644
index 54f26a180bee..000000000000
--- a/net-im/gajim/gajim-1.1.3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6} )
-PYTHON_REQ_USE="sqlite,xml"
-DISTUTILS_SINGLE_IMPL=1
-
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Jabber client written in PyGTK"
-HOMEPAGE="https://www.gajim.org/"
-SRC_URI="https://www.gajim.org/downloads/$(ver_cut 1-2)/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-#KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
-KEYWORDS="~amd64 ~x86"
-IUSE="+crypt geolocation jingle networkmanager remote rst +spell upnp
- +webp"
-
-COMMON_DEPEND="
- dev-libs/gobject-introspection[cairo]
- >=x11-libs/gtk+-3.22:3[introspection]"
-DEPEND="${COMMON_DEPEND}
- app-arch/unzip
- >=dev-util/intltool-0.40.1
- virtual/pkgconfig
- >=sys-devel/gettext-0.17-r1"
-RDEPEND="${COMMON_DEPEND}
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- dev-python/pygobject[cairo,${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
- >=dev-python/python-nbxmpp-0.6.9[${PYTHON_USEDEP}]
- x11-libs/libXScrnSaver
- app-crypt/libsecret[crypt,introspection]
- dev-python/keyring[${PYTHON_USEDEP}]
- >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
- >=dev-python/cssutils-1.0.2[${PYTHON_USEDEP}]
- crypt? (
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
- geolocation? ( app-misc/geoclue[introspection] )
- jingle? (
- net-libs/farstream:0.2[introspection]
- media-libs/gstreamer:1.0[introspection]
- media-libs/gst-plugins-base:1.0[introspection]
- media-libs/gst-plugins-ugly:1.0
- )
- networkmanager? ( net-misc/networkmanager[introspection] )
- remote? (
- >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
- sys-apps/dbus[X]
- )
- rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
- spell? (
- app-text/gspell[introspection]
- app-text/hunspell
- )
- upnp? ( net-libs/gupnp-igd[introspection] )
- webp? ( dev-python/pillow[${PYTHON_USEDEP}] )"
-
-RESTRICT="test"
-
-src_install() {
- distutils-r1_src_install
-
- # avoid precompressed man pages
- rm -r "${D}/usr/share/man"
- doman data/*.1
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/net-im/gajim/gajim-1.7.3-r1.ebuild b/net-im/gajim/gajim-1.7.3-r1.ebuild
new file mode 100644
index 000000000000..8cdd33907dc9
--- /dev/null
+++ b/net-im/gajim/gajim-1.7.3-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite,xml(+)"
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="https://gajim.org/"
+SRC_URI="https://gajim.org/downloads/$(ver_cut 1-2)/${P/_p/-}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
+IUSE="+crypt geolocation jingle omemo remote rst +spell upnp +webp"
+
+COMMON_DEPEND="
+ dev-libs/gobject-introspection[cairo(+)]
+ >=x11-libs/gtk+-3.22:3[introspection]
+ x11-libs/gtksourceview:4[introspection]"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+ virtual/pkgconfig
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/nbxmpp-4.2.2[${PYTHON_USEDEP}]
+ <dev-python/nbxmpp-5.0.0[${PYTHON_USEDEP}]
+ dev-python/precis-i18n[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ x11-libs/libXScrnSaver
+ app-crypt/libsecret[crypt,introspection]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
+ dev-python/css-parser[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ media-libs/gsound[introspection]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
+ geolocation? ( app-misc/geoclue[introspection] )
+ jingle? (
+ net-libs/farstream:0.2[introspection]
+ media-libs/gstreamer:1.0[introspection]
+ media-libs/gst-plugins-base:1.0[introspection]
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-gtk
+ )
+ omemo? (
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ remote? (
+ >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ )
+ rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ spell? (
+ app-text/gspell[introspection]
+ app-text/hunspell
+ )
+ upnp? ( net-libs/gupnp-igd:0[introspection] )
+ ')"
+
+python_compile() {
+ distutils-r1_python_compile
+ ./pep517build/build_metadata.py -o dist/metadata
+}
+
+python_install() {
+ distutils-r1_python_install
+ ./pep517build/install_metadata.py dist/metadata --prefix="${D}/usr"
+
+ rm "${D}"/usr/share/man/man1/*.gz
+ doman data/*.1
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+# Tests are unfortunately regularly broken
+RESTRICT="test"
diff --git a/net-im/gajim/gajim-1.7.3.ebuild b/net-im/gajim/gajim-1.7.3.ebuild
new file mode 100644
index 000000000000..125c2e7bd15e
--- /dev/null
+++ b/net-im/gajim/gajim-1.7.3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite,xml(+)"
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="https://gajim.org/"
+SRC_URI="https://gajim.org/downloads/$(ver_cut 1-2)/${P/_p/-}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="+crypt geolocation jingle omemo remote rst +spell upnp +webp"
+
+COMMON_DEPEND="
+ dev-libs/gobject-introspection[cairo(+)]
+ >=x11-libs/gtk+-3.22:3[introspection]
+ x11-libs/gtksourceview:4[introspection]"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+ virtual/pkgconfig
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/nbxmpp-4.2.2[${PYTHON_USEDEP}]
+ <dev-python/nbxmpp-5.0.0[${PYTHON_USEDEP}]
+ dev-python/precis-i18n[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ x11-libs/libXScrnSaver
+ app-crypt/libsecret[crypt,introspection]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
+ dev-python/css-parser[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ media-libs/gsound[introspection]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
+ geolocation? ( app-misc/geoclue[introspection] )
+ jingle? (
+ net-libs/farstream:0.2[introspection]
+ media-libs/gstreamer:1.0[introspection]
+ media-libs/gst-plugins-base:1.0[introspection]
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-gtk
+ )
+ omemo? (
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ remote? (
+ >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ )
+ rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ spell? (
+ app-text/gspell[introspection]
+ app-text/hunspell
+ )
+ upnp? ( net-libs/gupnp-igd:0[introspection] )
+ ')"
+
+src_install() {
+ distutils-r1_src_install
+ doman data/*.1
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+# Tests are unfortunately regularly broken
+RESTRICT="test"
diff --git a/net-im/gajim/gajim-1.8.0.ebuild b/net-im/gajim/gajim-1.8.0.ebuild
new file mode 100644
index 000000000000..0e911bf76b48
--- /dev/null
+++ b/net-im/gajim/gajim-1.8.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite,xml(+)"
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="https://gajim.org/"
+SRC_URI="https://gajim.org/downloads/$(ver_cut 1-2)/${P/_p/-}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+# KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+# Gajim depends now on omemo-dr. Add KEYWORDS again,
+# when https://bugs.gentoo.org/912285 is fixed.
+
+KEYWORDS="~amd64"
+IUSE="+crypt geolocation jingle remote rst +spell upnp +webp"
+
+COMMON_DEPEND="
+ dev-libs/gobject-introspection[cairo(+)]
+ >=x11-libs/gtk+-3.22:3[introspection]
+ x11-libs/gtksourceview:4[introspection]"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+ virtual/pkgconfig
+ >=x11-libs/pango-1.5.0
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/nbxmpp-4.2.2[${PYTHON_USEDEP}]
+ <dev-python/nbxmpp-5.0.0[${PYTHON_USEDEP}]
+ dev-python/precis-i18n[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ x11-libs/libXScrnSaver
+ app-crypt/libsecret[crypt,introspection]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
+ dev-python/css-parser[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ media-libs/gsound[introspection]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/omemo-dr[${PYTHON_USEDEP}]
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
+ geolocation? ( app-misc/geoclue[introspection] )
+ jingle? (
+ net-libs/farstream:0.2[introspection]
+ media-libs/gstreamer:1.0[introspection]
+ media-libs/gst-plugins-base:1.0[introspection]
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-gtk
+ )
+ remote? (
+ >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ )
+ rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ spell? (
+ app-text/gspell[introspection]
+ app-text/hunspell
+ )
+ upnp? ( net-libs/gupnp-igd:0[introspection] )
+ ')"
+
+python_compile() {
+ distutils-r1_python_compile
+ ./pep517build/build_metadata.py -o dist/metadata
+}
+
+python_install() {
+ distutils-r1_python_install
+ ./pep517build/install_metadata.py dist/metadata --prefix="${D}/usr"
+
+ gzip -d "${ED}"/usr/share/man/man1/*.gz || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+# Tests are unfortunately regularly broken
+RESTRICT="test"
diff --git a/net-im/gajim/gajim-1.8.1.ebuild b/net-im/gajim/gajim-1.8.1.ebuild
new file mode 100644
index 000000000000..b66f62a0dc62
--- /dev/null
+++ b/net-im/gajim/gajim-1.8.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite,xml(+)"
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="https://gajim.org/"
+SRC_URI="https://gajim.org/downloads/$(ver_cut 1-2)/${P/_p/-}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+# KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+# Gajim depends now on omemo-dr. Add KEYWORDS again,
+# when https://bugs.gentoo.org/912285 is fixed.
+
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
+IUSE="+crypt geolocation jingle remote rst +spell upnp +webp"
+
+COMMON_DEPEND="
+ dev-libs/gobject-introspection[cairo(+)]
+ >=x11-libs/gtk+-3.22:3[introspection]
+ x11-libs/gtksourceview:4[introspection]"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+ virtual/pkgconfig
+ >=x11-libs/pango-1.5.0
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/nbxmpp-4.2.2[${PYTHON_USEDEP}]
+ <dev-python/nbxmpp-5.0.0[${PYTHON_USEDEP}]
+ dev-python/precis-i18n[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ x11-libs/libXScrnSaver
+ app-crypt/libsecret[crypt,introspection]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
+ dev-python/css-parser[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ media-libs/gsound[introspection]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/omemo-dr[${PYTHON_USEDEP}]
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
+ geolocation? ( app-misc/geoclue[introspection] )
+ jingle? (
+ net-libs/farstream:0.2[introspection]
+ media-libs/gstreamer:1.0[introspection]
+ media-libs/gst-plugins-base:1.0[introspection]
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-gtk
+ )
+ remote? (
+ >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ )
+ rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ spell? (
+ app-text/gspell[introspection]
+ app-text/hunspell
+ )
+ upnp? ( net-libs/gupnp-igd:0[introspection] )
+ ')"
+
+python_compile() {
+ distutils-r1_python_compile
+ ./pep517build/build_metadata.py -o dist/metadata
+}
+
+python_install() {
+ distutils-r1_python_install
+ ./pep517build/install_metadata.py dist/metadata --prefix="${D}/usr"
+
+ gzip -d "${ED}"/usr/share/man/man1/*.gz || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+# Tests are unfortunately regularly broken
+RESTRICT="test"
diff --git a/net-im/gajim/gajim-1.8.4.ebuild b/net-im/gajim/gajim-1.8.4.ebuild
new file mode 100644
index 000000000000..32d9ec5bc5a5
--- /dev/null
+++ b/net-im/gajim/gajim-1.8.4.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite,xml(+)"
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Jabber client written in PyGTK"
+HOMEPAGE="https://gajim.org/"
+SRC_URI="https://gajim.org/downloads/$(ver_cut 1-2)/${P/_p/-}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+# KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+# Gajim depends now on omemo-dr. Add KEYWORDS again,
+# when https://bugs.gentoo.org/912285 is fixed.
+
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+crypt geolocation jingle remote rst +spell upnp +webp"
+
+COMMON_DEPEND="
+ dev-libs/gobject-introspection[cairo(+)]
+ >=x11-libs/gtk+-3.22:3[introspection]
+ x11-libs/gtksourceview:4[introspection]"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+ virtual/pkgconfig
+ >=x11-libs/pango-1.5.0
+ >=sys-devel/gettext-0.17-r1"
+RDEPEND="${COMMON_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/nbxmpp-4.2.2[${PYTHON_USEDEP}]
+ <dev-python/nbxmpp-5.0.0[${PYTHON_USEDEP}]
+ dev-python/precis-i18n[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ x11-libs/libXScrnSaver
+ app-crypt/libsecret[crypt,introspection]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ >=dev-python/secretstorage-3.1.1[${PYTHON_USEDEP}]
+ dev-python/css-parser[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ net-libs/libsoup:3.0[introspection]
+ media-libs/gsound[introspection]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/omemo-dr[${PYTHON_USEDEP}]
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ >=dev-python/python-gnupg-0.4.0[${PYTHON_USEDEP}] )
+ geolocation? ( app-misc/geoclue[introspection] )
+ jingle? (
+ net-libs/farstream:0.2[introspection]
+ media-libs/gstreamer:1.0[introspection]
+ media-libs/gst-plugins-base:1.0[introspection]
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-gtk
+ )
+ remote? (
+ >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ )
+ rst? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ spell? (
+ app-text/gspell[introspection]
+ app-text/hunspell
+ )
+ upnp? ( net-libs/gupnp-igd:0[introspection] )
+ ')"
+
+python_compile() {
+ distutils-r1_python_compile
+ ./pep517build/build_metadata.py -o dist/metadata
+}
+
+python_install() {
+ distutils-r1_python_install
+ ./pep517build/install_metadata.py dist/metadata --prefix="${D}/usr"
+
+ gzip -d "${ED}"/usr/share/man/man1/*.gz || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+# Tests are unfortunately regularly broken
+RESTRICT="test"
diff --git a/net-im/gajim/metadata.xml b/net-im/gajim/metadata.xml
index b7751e37af04..543a6366d0ff 100644
--- a/net-im/gajim/metadata.xml
+++ b/net-im/gajim/metadata.xml
@@ -1,22 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
- <longdescription>
- A fully featured and easy to use GTK+ Jabber client written in PyGTK.
- </longdescription>
+ <!-- maintainer-needed -->
<use>
<flag name="crypt">End to end encryption and GPG encryption</flag>
<flag name="geolocation">Sharing your location</flag>
<flag name="jingle">Audio and video calls</flag>
- <flag name="keyring">Saving your password to your system keyring</flag>
- <flag name="networkmanager">Network lose detection using NetworkManager</flag>
<flag name="remote">Controling Gajim instance from command line with gajim-remote</flag>
<flag name="rst">Generating XHTML output from RST code</flag>
<flag name="spell">Spellchecking of composed messages</flag>
<flag name="upnp">Ability to request your router to forward port for file transfer</flag>
<flag name="webp">Support WebP avatars</flag>
+ <flag name="omemo">Install dependencies for OMEMO encryption plugin</flag>
</use>
</pkgmetadata>
diff --git a/net-im/gg-transport/Manifest b/net-im/gg-transport/Manifest
deleted file mode 100644
index a504b7ae1389..000000000000
--- a/net-im/gg-transport/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jggtrans-2.2.6.tar.gz 883775 BLAKE2B bc27dce3fb70e7a5a1d71e8b46f1acf2c21899b956e5fab4c1d85756356973492d1617bd66517052f2fcdd81ab27e8e330837ee01787180d5193e62255cbcba6 SHA512 9fa6beb03427dc29db6b1aa5707486b857d3f850ed4efc9f2a627cbec4a9e40c91a9092b42a4a338976659f6ebfa0ca6f69e194e51bc51744a7665494fc210e7
diff --git a/net-im/gg-transport/files/jggtrans-2.2.4 b/net-im/gg-transport/files/jggtrans-2.2.4
deleted file mode 100644
index 35713d52cfec..000000000000
--- a/net-im/gg-transport/files/jggtrans-2.2.4
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- after net jabber-server
-}
-
-start() {
- ebegin "Starting Jabber GG Transport"
- start-stop-daemon --start --user jabber --group jabber --exec /usr/sbin/jggtrans -- -u jabber -g jabber /etc/jabber/jggtrans.xml
- eend $?
-}
-
-stop() {
- ebegin "Stopping Jabber GG Transport"
- start-stop-daemon --stop --pidfile /var/run/jabber/jggtrans.pid
- eend $?
-}
diff --git a/net-im/gg-transport/gg-transport-2.2.6.ebuild b/net-im/gg-transport/gg-transport-2.2.6.ebuild
deleted file mode 100644
index 99cf02c8ee1a..000000000000
--- a/net-im/gg-transport/gg-transport-2.2.6.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Gadu-Gadu transport for Jabber"
-HOMEPAGE="https://github.com/Jajcus/jggtrans"
-SRC_URI="https://github.com/Jajcus/jggtrans/releases/download/v${PV}/jggtrans-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- >=net-im/jabber-base-0.01
- >=dev-libs/glib-2.6.4:2
- net-dns/libidn
- >=net-libs/libgadu-1.9.0_rc3
- dev-libs/expat"
-DEPEND="${RDEPEND}
- >=sys-devel/gettext-0.18.3
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/jggtrans-${PV}"
-
-src_install() {
- emake DESTDIR="${D}" install
-
- keepdir /var/spool/jabber/gg
- keepdir /var/run/jabber
- keepdir /var/log/jabber
- fowners jabber:jabber /var/spool/jabber/gg
- fowners jabber:jabber /var/run/jabber
- fowners jabber:jabber /var/log/jabber
-
- newinitd "${FILESDIR}/jggtrans-2.2.4" jggtrans
-
- insinto /etc/jabber
- doins jggtrans.xml
-
- sed -i \
- -e 's,/var/lib/jabber/spool/gg.localhost/,/var/spool/jabber/gg/,' \
- -e 's,/var/lib/jabber/ggtrans.pid,/var/run/jabber/jggtrans.pid,' \
- -e 's,/tmp/ggtrans.log,/var/log/jabber/jggtrans.log,' \
- "${D}/etc/jabber/jggtrans.xml" || die "sed failed"
-
- einstalldocs
-}
diff --git a/net-im/gg-transport/metadata.xml b/net-im/gg-transport/metadata.xml
deleted file mode 100644
index 163724893272..000000000000
--- a/net-im/gg-transport/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
- Gadu-Gadu is a IM network vary famous in Poland, this package will
- enable your jabber server to talk to that network.
- </longdescription>
- <upstream>
- <remote-id type="github">Jajcus/jggtrans</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/gitter-bin/Manifest b/net-im/gitter-bin/Manifest
index 81b684895c88..91239435c8c0 100644
--- a/net-im/gitter-bin/Manifest
+++ b/net-im/gitter-bin/Manifest
@@ -1,4 +1,4 @@
-DIST gitter_3.1.0_amd64.deb 43340316 BLAKE2B 18682a8f467159fc3a0f765505a53982ba3bf0c7992782e256388076f6fba82e4e895d915376f9dfd333af57288d66f93e58bc9e48ecbfb1a5d11f060ac2df41 SHA512 b2888a2c9ed399102e2e80a2ec1ffafe093bdbe2f11d74753052c14841201cf586e0bb2a42ff8e67517d000a7c0b6f6aed30c32b3a7ecc683a18f8433b0bfa1c
-DIST gitter_3.1.0_i386.deb 45251440 BLAKE2B 01ea8b670e95496b7b4015ad6a31f546cf00a615dc562255b5761e797fd65ac00c5a89dd6353522359cbb5abf299aed50e3461fd1d2364e7667f4f748a288137 SHA512 4e58f5ca1a5db9139bef29eff2ffd7d599268844c11be65f98e9a78ad7a602c5d115e633c02519d025fe3d81f3174c478d5590bb2beaa92697617dc11fc141f6
DIST gitter_4.1.0_amd64.deb 98314502 BLAKE2B 3f14e044865c9af89dc6ac62dbe8f8221824c6f529418a31fd5236ecec45ddfd6013d734100a414a2bbca0db9e8c40cb7046868391d507ba5c9de9da0c66225d SHA512 2ea0ebbc05cbdc40e4e8cb07a68b3948477a61a81e550b8f131af46315c6fc7547c0954aa101260f93b63c557f3e00b1e23006a236b77be01ea4a82edd170f70
DIST gitter_4.1.0_i386.deb 101820112 BLAKE2B 3d1ab270389da9c82440dc7a204d1973402de1648e0387a026601d34bd1f2b26469b0fab9be4ff4b596cbe257047e88446b5c36d08deeeae1aaea4f387c45ac3 SHA512 c76da19e6eaf79894319848b6121660dab0bd8f2d8cdfaf413a68bee0f4c62fdca25c19c24eeb226164b643582db9ed686c68a5f72701618d41b423df9c9cee8
+DIST gitter_5.0.1_amd64.deb 136453344 BLAKE2B 6e057fb04872f89961a8970d079b14fbaf416db126ac0596485936a069a85fb5e783b052e20af7fbce40bc4805313ad793873c6ad3cadf87fc2662fef39604f1 SHA512 9bca96a2e312e7893ea7e5faca4a6a3e343d0d3bf96b86e0353437517fc006eb917787cb872f305d1c843978cfd80f729474bd485070ec26d99d67d24ffbf4d1
+DIST gitter_5.0.1_i386.deb 141585750 BLAKE2B 464e3416085717702df605fefade3a5aabafbdbfa9274eb9da03832b9a5e442d0a92eacd5c4d757e64709b3ba39bfdc5a87d689bb24db1ede3aca43b187550ce SHA512 b340b161728530e6c397ad6d5fbd591393a893c73b29056094514514d3e0f3a30ebdab94bb19f6c78cf1c73a30c6cd145476e34db5eaea06ba061f8a410579f7
diff --git a/net-im/gitter-bin/gitter-bin-3.1.0.ebuild b/net-im/gitter-bin/gitter-bin-3.1.0.ebuild
deleted file mode 100644
index e6e41ad17b2a..000000000000
--- a/net-im/gitter-bin/gitter-bin-3.1.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PN="${PN/-bin/}"
-
-inherit eutils gnome2-utils unpacker
-
-DESCRIPTION="Chat and network platform"
-HOMEPAGE="http://www.gitter.im/"
-SRC_URI="
- amd64? ( https://update.gitter.im/linux64/${MY_PN}_${PV}_amd64.deb )
- x86? ( https://update.gitter.im/linux32/${MY_PN}_${PV}_i386.deb )"
-LICENSE="MIT no-source-code"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-IUSE=""
-RESTRICT="bindist mirror"
-
-RDEPEND="dev-libs/expat:0
- dev-libs/glib:2
- dev-libs/nspr:0
- dev-libs/nss:0
- gnome-base/gconf:2
- media-libs/alsa-lib:0
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- sys-apps/dbus:0
- x11-libs/cairo:0
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:2
- x11-libs/libnotify:0
- x11-libs/libX11:0
- x11-libs/libXcomposite:0
- x11-libs/libXcursor:0
- x11-libs/libXdamage:0
- x11-libs/libXext:0
- x11-libs/libXfixes:0
- x11-libs/libXi:0
- x11-libs/libXrandr:0
- x11-libs/libXrender:0
- x11-libs/libXtst:0
- x11-libs/pango:0"
-
-QA_PREBUILT="/opt/${MY_PN}/${MY_PN^}"
-
-S="${WORKDIR}"
-
-src_prepare() {
- local arch=$(usex amd64 "64" "32")
-
- default
- # Modify desktop file to use common paths
- sed -i \
- -e '/Exec/s/=.*/=\/usr\/bin\/gitter/' \
- -e '/Icon/s/=.*/=\/usr\/share\/pixmaps\/gitter.png/' \
- opt/${MY_PN^}/linux${arch}/${MY_PN}.desktop || die "sed failed"
-}
-
-src_install() {
- local arch=$(usex amd64 "64" "32")
-
- insinto /usr/share/pixmaps
- newins opt/${MY_PN^}/linux${arch}/logo.png ${MY_PN}.png
-
- newicon -s 256 opt/${MY_PN^}/linux${arch}/logo.png ${MY_PN}.png
- domenu opt/${MY_PN^}/linux${arch}/${MY_PN}.desktop
-
- insinto /opt/${MY_PN}
- doins opt/${MY_PN^}/linux${arch}/{Gitter,icudtl.dat,libffmpegsumo.so,nw.pak}
- insinto /opt/${MY_PN}/locales
- doins -r opt/${MY_PN^}/linux${arch}/locales/.
- fperms +x /opt/${MY_PN}/${MY_PN^}
- dosym /opt/${MY_PN}/${MY_PN^} /usr/bin/${MY_PN}
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/net-im/gitter-bin/gitter-bin-4.1.0.ebuild b/net-im/gitter-bin/gitter-bin-4.1.0-r1.ebuild
index b0d7e485b685..cff11e1e4799 100644
--- a/net-im/gitter-bin/gitter-bin-4.1.0.ebuild
+++ b/net-im/gitter-bin/gitter-bin-4.1.0-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
MULTILIB_COMPAT=( abi_x86_{32,64} )
MY_PN="${PN/-bin/}"
-inherit desktop gnome2-utils multilib-build pax-utils unpacker
+inherit desktop multilib-build pax-utils unpacker xdg
QA_PREBUILT="opt/gitter/pnacl/pnacl_public_x86_64_libcrt_platform_a
opt/gitter/pnacl/pnacl_public_x86_64_pnacl_llc_nexe
@@ -23,9 +23,11 @@ QA_PREBUILT="opt/gitter/pnacl/pnacl_public_x86_64_libcrt_platform_a
opt/gitter/nwjc
opt/gitter/nacl_irt_x86_64.nexe
opt/gitter/Gitter"
+QA_FLAGS_IGNORED="/opt/gitter/minidump_stackwalk
+ /opt/gitter/nacl_helper_bootstrap"
DESCRIPTION="Chat and network platform"
-HOMEPAGE="http://www.gitter.im/"
+HOMEPAGE="https://www.gitter.im"
SRC_URI="
amd64? ( https://update.gitter.im/linux64/${MY_PN}_${PV}_amd64.deb )
x86? ( https://update.gitter.im/linux32/${MY_PN}_${PV}_i386.deb )"
@@ -33,7 +35,7 @@ SRC_URI="
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="pax_kernel"
+IUSE=""
RESTRICT="bindist mirror"
RDEPEND="dev-libs/atk:0[${MULTILIB_USEDEP}]
@@ -42,6 +44,7 @@ RDEPEND="dev-libs/atk:0[${MULTILIB_USEDEP}]
dev-libs/nspr:0[${MULTILIB_USEDEP}]
dev-libs/nss:0[${MULTILIB_USEDEP}]
media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
+ net-print/cups:0[${MULTILIB_USEDEP}]
sys-apps/dbus:0[${MULTILIB_USEDEP}]
x11-libs/cairo:0[${MULTILIB_USEDEP}]
x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
@@ -56,9 +59,10 @@ RDEPEND="dev-libs/atk:0[${MULTILIB_USEDEP}]
x11-libs/libXi:0[${MULTILIB_USEDEP}]
x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
x11-libs/libXrender:0[${MULTILIB_USEDEP}]
+ x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
x11-libs/libXtst:0[${MULTILIB_USEDEP}]
x11-libs/pango:0[${MULTILIB_USEDEP}]"
-DEPEND="sys-apps/fix-gnustack"
+BDEPEND="sys-apps/fix-gnustack"
S="${WORKDIR}"
@@ -91,17 +95,5 @@ src_install() {
fperms +x /opt/gitter/Gitter
dosym ../../opt/gitter/Gitter /usr/bin/gitter
- use pax_kernel && pax-mark -m "${ED%/}"/opt/gitter/Gitter
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
+ pax-mark -m "${ED}"/opt/gitter/Gitter
}
diff --git a/net-im/gitter-bin/gitter-bin-5.0.1-r1.ebuild b/net-im/gitter-bin/gitter-bin-5.0.1-r1.ebuild
new file mode 100644
index 000000000000..e4dd3c659d02
--- /dev/null
+++ b/net-im/gitter-bin/gitter-bin-5.0.1-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit desktop multilib-build pax-utils unpacker xdg
+
+MY_PN="${PN/-bin/}"
+
+DESCRIPTION="Chat and network platform"
+HOMEPAGE="https://gitter.im"
+SRC_URI="amd64? ( https://update.gitter.im/linux64/${MY_PN}_${PV}_amd64.deb )
+ x86? ( https://update.gitter.im/linux32/${MY_PN}_${PV}_i386.deb )"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="abi_x86_32 +abi_x86_64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
+ dev-libs/atk:0[${MULTILIB_USEDEP}]
+ dev-libs/expat:0[${MULTILIB_USEDEP}]
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ dev-libs/nspr:0[${MULTILIB_USEDEP}]
+ dev-libs/nss:0[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
+ net-print/cups:0[${MULTILIB_USEDEP}]
+ sys-apps/dbus:0[${MULTILIB_USEDEP}]
+ x11-libs/cairo:0[${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ x11-libs/libdrm:0[${MULTILIB_USEDEP}]
+ x11-libs/libX11:0[${MULTILIB_USEDEP}]
+ x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor:0[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
+ x11-libs/libXext:0[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
+ x11-libs/libXi:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrender:0[${MULTILIB_USEDEP}]
+ x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
+ x11-libs/libXtst:0[${MULTILIB_USEDEP}]
+ x11-libs/pango:0[${MULTILIB_USEDEP}]"
+
+S="${WORKDIR}"
+
+QA_EXECSTACK="opt/gitter/pnacl/pnacl_public_x86_64_libcrt_platform_a*"
+QA_PREBUILT="opt/gitter/pnacl/pnacl_public_x86_64_pnacl_llc_nexe
+ opt/gitter/pnacl/pnacl_public_x86_64_ld_nexe
+ opt/gitter/pnacl/pnacl_public_x86_64_pnacl_sz_nexe
+ opt/gitter/payload
+ opt/gitter/swiftshader/libEGL.so
+ opt/gitter/swiftshader/libGLESv2.so
+ opt/gitter/chromedriver
+ opt/gitter/lib/libnw.so
+ opt/gitter/lib/libnode.so
+ opt/gitter/lib/libffmpeg.so
+ opt/gitter/nacl_helper
+ opt/gitter/nwjc
+ opt/gitter/nacl_irt_x86_64.nexe
+ opt/gitter/Gitter"
+QA_FLAGS_IGNORED="opt/gitter/minidump_stackwalk
+ opt/gitter/nacl_helper_bootstrap
+ opt/gitter/crashpad_handler
+ opt/gitter/lib/libEGL.so
+ opt/gitter/lib/libGLESv2.so"
+
+src_prepare() {
+ default
+
+ local arch
+ multilib_get_enabled_abis
+ arch="$(usex amd64 "64" "32")"
+
+ # Remove hardcoded paths
+ sed -i \
+ -e '/Exec/s/=.*/=gitter/' \
+ -e '/Icon/s/=.*/=gitter/' \
+ opt/Gitter/linux"${arch}"/gitter.desktop || die "sed failed"
+}
+
+src_install() {
+ local arch
+ arch="$(usex amd64 "64" "32")"
+
+ newicon opt/Gitter/linux"${arch}"/logo.png gitter.png
+ newicon -s 256 opt/Gitter/linux"${arch}"/logo.png gitter.png
+ domenu opt/Gitter/linux"${arch}"/gitter.desktop
+
+ insinto /opt/gitter
+ doins -r opt/Gitter/linux"${arch}"/.
+ fperms -R +x /opt/gitter/lib/ /opt/gitter/swiftshader/ \
+ /opt/gitter/pnacl/pnacl_public_x86_64_{ld_nexe,pnacl_llc_nexe,pnacl_sz_nexe} \
+ /opt/gitter/{Gitter,chromedriver,crashpad_handler,minidump_stackwalk,nwjc,payload} \
+ /opt/gitter/nacl_{helper,helper_bootstrap,irt_x86_64.nexe}
+
+ dosym ../../opt/gitter/Gitter /usr/bin/gitter
+
+ pax-mark -m "${ED}"/opt/gitter/Gitter
+}
diff --git a/net-im/gitter-bin/gitter-bin-5.0.1.ebuild b/net-im/gitter-bin/gitter-bin-5.0.1.ebuild
new file mode 100644
index 000000000000..df5c40ef1ebb
--- /dev/null
+++ b/net-im/gitter-bin/gitter-bin-5.0.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+MY_PN="${PN/-bin/}"
+
+inherit desktop multilib-build pax-utils unpacker xdg
+
+QA_PREBUILT="opt/gitter/pnacl/pnacl_public_x86_64_pnacl_llc_nexe
+ opt/gitter/pnacl/pnacl_public_x86_64_ld_nexe
+ opt/gitter/pnacl/pnacl_public_x86_64_pnacl_sz_nexe
+ opt/gitter/payload
+ opt/gitter/swiftshader/libEGL.so
+ opt/gitter/swiftshader/libGLESv2.so
+ opt/gitter/chromedriver
+ opt/gitter/lib/libnw.so
+ opt/gitter/lib/libnode.so
+ opt/gitter/lib/libffmpeg.so
+ opt/gitter/nacl_helper
+ opt/gitter/nwjc
+ opt/gitter/nacl_irt_x86_64.nexe
+ opt/gitter/Gitter"
+QA_FLAGS_IGNORED="opt/gitter/minidump_stackwalk
+ opt/gitter/nacl_helper_bootstrap
+ opt/gitter/crashpad_handler
+ opt/gitter/lib/libEGL.so
+ opt/gitter/lib/libGLESv2.so"
+
+DESCRIPTION="Chat and network platform"
+HOMEPAGE="https://www.gitter.im"
+SRC_URI="
+ amd64? ( https://update.gitter.im/linux64/${MY_PN}_${PV}_amd64.deb )
+ x86? ( https://update.gitter.im/linux32/${MY_PN}_${PV}_i386.deb )"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+RESTRICT="bindist mirror"
+
+RDEPEND="app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
+ dev-libs/atk:0[${MULTILIB_USEDEP}]
+ dev-libs/expat:0[${MULTILIB_USEDEP}]
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ dev-libs/nspr:0[${MULTILIB_USEDEP}]
+ dev-libs/nss:0[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
+ net-print/cups:0[${MULTILIB_USEDEP}]
+ sys-apps/dbus:0[${MULTILIB_USEDEP}]
+ x11-libs/cairo:0[${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ x11-libs/libdrm:0[${MULTILIB_USEDEP}]
+ x11-libs/libX11:0[${MULTILIB_USEDEP}]
+ x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor:0[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
+ x11-libs/libXext:0[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
+ x11-libs/libXi:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrender:0[${MULTILIB_USEDEP}]
+ x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
+ x11-libs/libXtst:0[${MULTILIB_USEDEP}]
+ x11-libs/pango:0[${MULTILIB_USEDEP}]"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+
+ local arch
+ arch="$(usex amd64 "64" "32")"
+
+ # Remove hardcoded paths
+ sed -i \
+ -e '/Exec/s/=.*/=gitter/' \
+ -e '/Icon/s/=.*/=gitter/' \
+ opt/Gitter/linux"${arch}"/gitter.desktop || die "sed failed"
+}
+
+src_install() {
+ local arch
+ arch="$(usex amd64 "64" "32")"
+
+ newicon opt/Gitter/linux"${arch}"/logo.png gitter.png
+ newicon -s 256 opt/Gitter/linux"${arch}"/logo.png gitter.png
+ domenu opt/Gitter/linux"${arch}"/gitter.desktop
+
+ insinto /opt/gitter
+ doins -r opt/Gitter/linux"${arch}"/.
+ fperms -R +x /opt/gitter/lib/ /opt/gitter/swiftshader/ \
+ /opt/gitter/pnacl/pnacl_public_x86_64_{ld_nexe,pnacl_llc_nexe,pnacl_sz_nexe} \
+ /opt/gitter/{Gitter,chromedriver,crashpad_handler,minidump_stackwalk,nwjc,payload} \
+ /opt/gitter/nacl_{helper,helper_bootstrap,irt_x86_64.nexe}
+
+ dosym ../../opt/gitter/Gitter /usr/bin/gitter
+
+ pax-mark -m "${ED}"/opt/gitter/Gitter
+}
diff --git a/net-im/gitter-bin/metadata.xml b/net-im/gitter-bin/metadata.xml
index 88b44ca0dc0c..6a40236a6aa9 100644
--- a/net-im/gitter-bin/metadata.xml
+++ b/net-im/gitter-bin/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>spiderx@spiderx.dp.ua</email>
<name>Vladimir Pavljuchenkov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -14,9 +14,6 @@
grow and connect communities through messaging, content
and discovery.
</longdescription>
- <use>
- <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
- </use>
<upstream>
<doc>https://gitter.zendesk.com/hc/en-us</doc>
</upstream>
diff --git a/net-im/jabber-base/jabber-base-0.01-r1.ebuild b/net-im/jabber-base/jabber-base-0.01-r1.ebuild
deleted file mode 100644
index 919283672cab..000000000000
--- a/net-im/jabber-base/jabber-base-0.01-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils user
-
-DESCRIPTION="Jabber servers and transports layout package"
-SRC_URI=""
-HOMEPAGE="https://www.gentoo.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-
-S="${WORKDIR}"
-
-#Info for people working in jabber related packages
-
-#/etc/jabber/ for configuration files
-#/var/run/jabber/ for the pid files
-#/var/spool/jabber/ for the flat files databases (actually there must be a ewarn
-#at end of ebuild telling user to creat /var/spool/jabber/JID, as some transports fail to start if
-#the directory is not there, even if they have permissions to creat it)
-#/var/log/jabber/ for the log files
-
-#for the python based transports with no install script:
-#they must inherit python and be installed in:
-#$(python_get_sitedir)/$package-name
-
-#the user should be the one created here username=group=jabber
-
-src_install() {
- keepdir /etc/jabber
- keepdir /var/run/jabber
- keepdir /var/spool/jabber
- keepdir /var/log/jabber
-}
-
-pkg_postinst() {
- # Users should not be created in src_install see bug #124680
- # Add our default jabber group and user
- enewgroup jabber
- enewuser jabber -1 -1 -1 jabber
- # We can't use fowners & fperms convenience wrappers as we are outside the sandbox
- chown jabber:jabber /etc/jabber /var/log/jabber /var/spool/jabber /var/run/jabber
- chmod 770 /etc/jabber /var/log/jabber /var/spool/jabber /var/run/jabber
-}
diff --git a/net-im/jabber-base/jabber-base-0.01.ebuild b/net-im/jabber-base/jabber-base-0.01.ebuild
deleted file mode 100644
index a0cbb48beb39..000000000000
--- a/net-im/jabber-base/jabber-base-0.01.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils user
-
-DESCRIPTION="Jabber servers and transports layout package"
-SRC_URI=""
-HOMEPAGE="https://www.gentoo.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ~ia64 ppc sparc x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-
-S="${WORKDIR}"
-
-#Info for people working in jabber related packages
-
-#/etc/jabber/ for configuration files
-#/var/run/jabber/ for the pid files
-#/var/spool/jabber/ for the flat files databases (actually there must be a ewarn
-#at end of ebuild telling user to creat /var/spool/jabber/JID, as some transports fail to start if
-#the directory is not there, even if they have permissions to creat it)
-#/var/log/jabber/ for the log files
-
-#for the python based transports with no install script:
-#they must inherit python and be installed in:
-#$(python_get_sitedir)/$package-name
-
-#the user should be the one created here username=group=jabber
-
-src_install() {
- keepdir /etc/jabber
- keepdir /var/run/jabber
- keepdir /var/spool/jabber
- keepdir /var/log/jabber
-}
-
-pkg_postinst() {
- # Users should not be created in src_install see bug #124680
- # Add our default jabber group and user
- enewgroup jabber
- enewuser jabber -1 -1 -1 jabber
- # We can't use fowners & fperms convenience wrappers as we are outside the sandbox
- chown jabber:jabber /etc/jabber /var/log/jabber /var/spool/jabber /var/run/jabber
- chmod 770 /etc/jabber /var/log/jabber /var/spool/jabber /var/run/jabber
-}
diff --git a/net-im/jabber-base/metadata.xml b/net-im/jabber-base/metadata.xml
deleted file mode 100644
index 1eebfe0ed7d2..000000000000
--- a/net-im/jabber-base/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>chainsaw@gentoo.org</email>
- </maintainer>
- <longdescription>
- Package that creats the users and directory's for jabber
- related packages. See ebuild for more info.
- </longdescription>
-</pkgmetadata>
diff --git a/net-im/kadu/Manifest b/net-im/kadu/Manifest
deleted file mode 100644
index 01f168c52132..000000000000
--- a/net-im/kadu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kadu-4.3.tar.bz2 8087786 BLAKE2B b63ce2beebb1fd1f64ae8e85430784c6c7d25a071e00342e33d97a2e49b25c02ab131fb30d591acc11a336427118d4dd23e03d89ad07ef066eca09d0463397db SHA512 fb3d16320894bbfbd50e695d61f305710e59bccce84319389a4047626e97da95ded0b35bc5f7e5d8c2ac96594693b14dd8dd8d46eb1863f89d3eec2e51c73cc9
diff --git a/net-im/kadu/files/kadu-4.3-do-not-force-ccache.patch b/net-im/kadu/files/kadu-4.3-do-not-force-ccache.patch
deleted file mode 100644
index 2511f3c42b99..000000000000
--- a/net-im/kadu/files/kadu-4.3-do-not-force-ccache.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -ruN kadu-4.3/CMakeLists.txt my/CMakeLists.txt
---- kadu-4.3/CMakeLists.txt 2017-01-24 22:36:21.000000000 +0100
-+++ my/CMakeLists.txt 2017-11-03 03:00:07.005162047 +0100
-@@ -75,13 +75,6 @@
- endif ()
- endif ()
-
--## CCache is cool stuff to improve compilation time
--find_program (CCACHE_FOUND ccache)
--if (CCACHE_FOUND)
-- set_property (GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
-- set_property (GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
--endif (CCACHE_FOUND)
--
- # Look above, DEBUG_ENABLED is always enabled in Debug configuration.
- # Enable it in all configurations when ENABLE_DEVELOPER_BUILD is on.
- if (ENABLE_DEVELOPER_BUILD)
diff --git a/net-im/kadu/files/kadu-4.3-fix-plugins-rpath.patch b/net-im/kadu/files/kadu-4.3-fix-plugins-rpath.patch
deleted file mode 100644
index bb171af5f41b..000000000000
--- a/net-im/kadu/files/kadu-4.3-fix-plugins-rpath.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN kadu-4.3/cmake/KaduMacros.cmake my/cmake/KaduMacros.cmake
---- kadu-4.3/cmake/KaduMacros.cmake 2017-01-24 22:36:21.000000000 +0100
-+++ my/cmake/KaduMacros.cmake 2017-11-03 03:24:17.827054622 +0100
-@@ -221,7 +221,7 @@
-
- if (NOT WIN32)
- set_target_properties (${KADU_PLUGIN_NAME} PROPERTIES
-- INSTALL_RPATH "${KADU_INSTALL_LIB_DIR}/kadu"
-+ INSTALL_RPATH "${KADU_INSTALL_PREFIX}/${KADU_INSTALL_LIB_DIR}/kadu"
- BUILD_WITH_INSTALL_RPATH TRUE
- )
- endif ()
diff --git a/net-im/kadu/files/kadu-4.3-gcc7.patch b/net-im/kadu/files/kadu-4.3-gcc7.patch
deleted file mode 100644
index 097157f98c77..000000000000
--- a/net-im/kadu/files/kadu-4.3-gcc7.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/kadu-core/plugin/dependency-graph/plugin-dependency-graph-builder.h
-+++ b/kadu-core/plugin/dependency-graph/plugin-dependency-graph-builder.h
-@@ -20,6 +20,7 @@
- #pragma once
-
- #include <QtCore/QObject>
-+#include <functional>
- #include <map>
- #include <set>
-
diff --git a/net-im/kadu/kadu-4.3-r2.ebuild b/net-im/kadu/kadu-4.3-r2.ebuild
deleted file mode 100644
index 10dd889fae2e..000000000000
--- a/net-im/kadu/kadu-4.3-r2.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cmake-utils flag-o-matic gnome2-utils virtualx
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="An open source Gadu-Gadu and Jabber/XMPP protocol Instant Messenger client"
-HOMEPAGE="http://www.kadu.net"
-SRC_URI="http://download.kadu.im/stable/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 x86"
-SLOT="0"
-IUSE="+gadu mpd otr sdk speech spell xmpp"
-REQUIRED_USE="
- || (
- gadu
- xmpp
- )
-"
-COMMON_DEPEND="
- >=app-arch/libarchive-2.6[lzma]
- >=dev-libs/injeqt-1.1.0
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtscript:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qttest:5
- dev-qt/qtwebkit:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXScrnSaver
- gadu? ( >=net-libs/libgadu-1.12.2[threads] )
- mpd? ( media-libs/libmpdclient )
- otr? (
- >=dev-libs/libgcrypt-1.2.2:0
- >=net-libs/libotr-4.1.0
- )
- spell? ( app-text/enchant )
- xmpp? (
- net-dns/libidn
- >=net-libs/qxmpp-0.9.3-r1
- sys-libs/zlib
- )
-"
-DEPEND="${COMMON_DEPEND}
- dev-qt/linguist-tools:5
- x11-base/xorg-proto
-"
-RDEPEND="${COMMON_DEPEND}
- speech? ( app-accessibility/powiedz )
-"
-
-PLUGINS='
-antistring
-auto_hide
-autoaway
-autoresponder
-autostatus
-cenzor
-chat_notify
-config_wizard
-docking
-docking_notify
-emoticons
-exec_notify
-ext_sound
-filedesc
-firewall
-freedesktop_notify
-hints
-history
-idle
-imagelink
-last_seen
-mediaplayer
-mprisplayer_mediaplayer
-pcspeaker
-screenshot
-simpleview
-single_window
-sms
-sound
-sql_history
-tabs
-word_fix
-'
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.3-do-not-force-ccache.patch"
- "${FILESDIR}/${PN}-4.3-fix-plugins-rpath.patch"
- "${FILESDIR}/${PN}-4.3-gcc7.patch"
-)
-
-src_configure() {
- # Filter out dangerous flags
- filter-flags -fno-rtti
- strip-unsupported-flags
-
- # Ensure -DQT_NO_DEBUG is added
- append-cppflags -DQT_NO_DEBUG
-
- # Plugin selection
- use gadu && PLUGINS+=' gadu_protocol'
- use mpd && PLUGINS+=' mpd_mediaplayer'
- use otr && PLUGINS+=' encryption_otr'
- use speech && PLUGINS+=' speech'
- use spell && PLUGINS+=' spellchecker'
- use xmpp && PLUGINS+=' jabber_protocol'
-
- # Configure package
- local mycmakeargs=(
- -DCOMPILE_PLUGINS="${PLUGINS}"
- -DENABLE_TESTS=OFF
- -DNETWORK_IMPLEMENTATION="Qt"
- -DINSTALL_SDK=$(usex sdk)
- -DWITH_ENCHANT=$(usex spell)
- )
- unset PLUGINS
-
- cmake-utils_src_configure
-}
-
-src_test() {
- virtx cmake-utils_src_test
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/net-im/kadu/metadata.xml b/net-im/kadu/metadata.xml
deleted file mode 100644
index 6bf7f3370862..000000000000
--- a/net-im/kadu/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>reavertm@gentoo.org</email>
- <name>Maciej Mrozowski</name>
- </maintainer>
- <use>
- <flag name="gadu">Enables Gadu communication protocol</flag>
- <flag name="mpd">Enables Music Player Daemon support</flag>
- <flag name="otr">Enable char encryption via OTR library</flag>
- <flag name="sdk">Install Kadu SDK (cmake module, API headers)</flag>
- <flag name="speech">Enables speech module</flag>
- </use>
-</pkgmetadata>
diff --git a/net-im/kouchat/Manifest b/net-im/kouchat/Manifest
deleted file mode 100644
index e5f84eef97c1..000000000000
--- a/net-im/kouchat/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST kouchat-1.1.0-buildfiles.tar.gz 2793 BLAKE2B 0b852a4cc65ef16993b01205f81cb2a3f7a4238425d62b499672529396cf6cc2506a50a9bbfc87c56fd4e6780064f6a8cb84920a00d2f0200520369bb02849d9 SHA512 daae5a4f3374ab588214321793725f4b9add063f4c7b98f64f6db0ab71cc2d07f2ae9f27fb0ed12c7704604fd97781b0cfa9bdb0a188782c4f5bd0172e167c89
-DIST kouchat-1.1.0-src.tar.gz 363491 BLAKE2B 3b4c72678a10892cd4b145c496b5d1042f8b6820806326f985f3313d5b764ee0beb85b0594cc532370f459ac630045a71f9a994d21dfe87c6ad744ecc163c0be SHA512 838d2afac858d698a543ad9ca6e249fa6439cd6f31bf67d20bc44961c9dcbed843fefb51430202666c74c02ec71b8bd30edbd5dcfe5a15d2c364426e99350c27
diff --git a/net-im/kouchat/kouchat-1.1.0.ebuild b/net-im/kouchat/kouchat-1.1.0.ebuild
deleted file mode 100644
index 3c7522dc9b9c..000000000000
--- a/net-im/kouchat/kouchat-1.1.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-JAVA_PKG_IUSE=""
-
-inherit eutils java-pkg-2 java-ant-2
-
-DESCRIPTION="KouChat is a simple serverless chat client for local area networks"
-HOMEPAGE="https://kouchat.googlecode.com/"
-SRC_URI="https://kouchat.googlecode.com/files/${P}-src.tar.gz
- https://dev.gentoo.org/~serkan/distfiles/${P}-buildfiles.tar.gz"
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND=">=virtual/jre-1.6"
-DEPEND=">=virtual/jdk-1.6"
-
-S=${WORKDIR}/${P}-src
-
-src_install() {
- java-pkg_newjar target/${P}.jar ${PN}.jar
- java-pkg_dolauncher ${PN} --main net.usikkert.kouchat.KouChat
- java-pkg_dolauncher ${PN}-console --main net.usikkert.kouchat.KouChat --pkg_args "--console"
- newicon kou_shortcut.png ${PN}.png
- make_desktop_entry ${PN} "KouChat"
-}
diff --git a/net-im/kouchat/metadata.xml b/net-im/kouchat/metadata.xml
deleted file mode 100644
index 62957fbb082d..000000000000
--- a/net-im/kouchat/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="google-code">kouchat</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/libcommuni/Manifest b/net-im/libcommuni/Manifest
index 7670d11af66f..815fc58bfd9e 100644
--- a/net-im/libcommuni/Manifest
+++ b/net-im/libcommuni/Manifest
@@ -1 +1 @@
-DIST libcommuni-3.5.0_p20180116.tar.gz 471286 BLAKE2B 9f89a5eea2444c207b54f6b820c7cef89ff2e578d34ad751fdbfe558af2bcf0e52238ef63b244fb321baa7716c0119ca084c547cc0161a08b46af4c9d604dd0e SHA512 f7ce9c92acbd67b3d75b9b7fc1cef55796a3d44294024da591c7b0c21fc065ec484dbc6a4c83af96fcb6fd6e725a7b6ed4219bd09e2aa0de303b82d64741efba
+DIST libcommuni-3.7.0.tar.gz 475364 BLAKE2B d5bc6deac50b403c7423ab3f9953f94fa3db522f67740a62095700f45c8ee9c35a84aba35f48ff3104a8ffdadaf904f96b625dd1882fa89f49e31731f97e96c0 SHA512 ed1182256899f6be4b492e20958de2edf557b744362701f031ede279c7464b031a57a50e3d7174ae61e313e43564dbf0b04eb382af6bcda71eb96d3405f168c1
diff --git a/net-im/libcommuni/libcommuni-3.5.0_p20180116.ebuild b/net-im/libcommuni/libcommuni-3.7.0.ebuild
index 1d66a904764e..6c0ce18b28d0 100644
--- a/net-im/libcommuni/libcommuni-3.5.0_p20180116.ebuild
+++ b/net-im/libcommuni/libcommuni-3.7.0.ebuild
@@ -1,57 +1,48 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-
-MY_PV="d3e388de9a146faad3277b46e480b0f1415f9a24"
+EAPI=8
inherit qmake-utils
DESCRIPTION="A cross-platform IRC framework written with Qt"
-HOMEPAGE="http://communi.github.io/"
-SRC_URI="https://github.com/communi/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://communi.github.io/"
+SRC_URI="https://github.com/communi/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE="qml test +uchardet"
+IUSE="examples qml test +uchardet"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-qt/qtcore:5
dev-qt/qtdeclarative:5
+ examples? ( || (
+ dev-qt/qtgui:5[X(-)]
+ dev-qt/qtgui:5[xcb(-)]
+ ) )
uchardet? ( app-i18n/uchardet )
!uchardet? ( dev-libs/icu:= )
- "
+"
DEPEND="
${RDEPEND}
test? ( dev-qt/qttest:5 )
"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-src_prepare() {
- default
-
- # Currently the test tst_IrcLagTimer fails, so disabling
- # See: https://github.com/communi/libcommuni/issues/63
- sed -e '/irclagtimer/d' -i tests/auto/auto.pro || die
-}
-
src_configure() {
local myqmakeargs=( libcommuni.pro
# Disables compile run-time benchmarks, as they don't make any sense
-config no_benchmarks
- # Disables examples, as no new files are installed
- -config no_examples
# Is needed for fixing the QA Notice: The following files contain insecure RUNPATHs
-config no_rpath
# Compile libcommuni always in Release mode, as Debug seems to do nothing
-config release
# Don't silence all compile messages
-config verbose
- -config $(usex qml '' 'no_')install_imports
- -config $(usex qml '' 'no_')install_qml
+ -config $(usex examples '' 'no_')examples
+ -config $(usex qml '' 'no_')qml
-config $(usex test '' 'no_')tests
-config $(usex uchardet 'no_' '')icu
-config $(usex uchardet '' 'no_')uchardet )
@@ -72,5 +63,13 @@ src_test() {
src_install() {
emake install INSTALL_ROOT="${D}"
+
+ if use examples; then
+ local examples=( "bot" "client" "minimal" "qmlbot" "quick" )
+ for example in ${examples[@]}; do
+ newbin examples/"${example}"/"${example}" libcommuni."${example}"
+ done
+ fi
+
einstalldocs
}
diff --git a/net-im/libcommuni/metadata.xml b/net-im/libcommuni/metadata.xml
index 40dcff97d647..e5cca9123839 100644
--- a/net-im/libcommuni/metadata.xml
+++ b/net-im/libcommuni/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
A cross-platform IRC framework written with Qt.
Communi provides a set of tools for enabling
@@ -18,4 +14,7 @@
<flag name="qml">Install optional qml files.</flag>
<flag name="uchardet">Use <pkg>app-i18n/uchardet</pkg>, which is upstreams default, instead of <pkg>dev-libs/icu</pkg>, which makes impossible to run tests.</flag>
</use>
+ <upstream>
+ <remote-id type="github">communi/libcommuni</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/librvp/librvp-0.9.7.ebuild b/net-im/librvp/librvp-0.9.7.ebuild
index 69563f1ad40e..c51d20139da9 100644
--- a/net-im/librvp/librvp-0.9.7.ebuild
+++ b/net-im/librvp/librvp-0.9.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,13 +10,20 @@ SRC_URI="https://www.waider.ie/hacks/workshop/c/rvp/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-RDEPEND="net-im/pidgin[gtk]"
+RDEPEND="net-im/pidgin[gtk]
+ virtual/libcrypt:="
DEPEND="virtual/pkgconfig
${RDEPEND}"
src_configure() {
- econf --with-gaim-plugin-dir="${EPREFIX}"/usr/$(get_libdir)/pidgin \
- --with-gaim-data-dir="${EPREFIX}"/usr/share/pixmaps/pidgin
+ econf \
+ --with-gaim-plugin-dir="${EPREFIX}"/usr/$(get_libdir)/pidgin \
+ --with-gaim-data-dir="${EPREFIX}"/usr/share/pixmaps/pidgin \
+ --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-im/librvp/metadata.xml b/net-im/librvp/metadata.xml
index df410a0e3a73..9513683eeb85 100644
--- a/net-im/librvp/metadata.xml
+++ b/net-im/librvp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
diff --git a/net-im/mattermost-desktop-bin/Manifest b/net-im/mattermost-desktop-bin/Manifest
index 199effec862a..742466595f29 100644
--- a/net-im/mattermost-desktop-bin/Manifest
+++ b/net-im/mattermost-desktop-bin/Manifest
@@ -1,3 +1,4 @@
-DIST mattermost-desktop-4.2.3-linux-ia32.tar.gz 66255949 BLAKE2B de657ed1944e516c184eaa65bea7a8e395c97b93e788bd5f7c13e749d6ecde7a26b0c4901a838c23f1785ff1c498cc982082bc9836bdd8b74cce6a53f49d8a13 SHA512 e8ff1893b8e9bfd7ea99b64f99b3a2302939dc21877fe99de5137cfcc5d6ae688f1fabcba4ebac4e0e41366a419666a5a37795a9804a15f6a12d083d20797613
-DIST mattermost-desktop-4.2.3-linux-x64.tar.gz 63208288 BLAKE2B 6f8389bf1149ca14b9f97f71a897e2900e194ca0fc0a4fe68fc317d594347db9d6f3887e5ec191498ee278a3e83aab5101c53857132353f9441b90ea7ea26a67 SHA512 0c0a700741c21cc9f10049b10ba9c561f0d50d705eeecf1044a5a14c3707b93ad4eeb58c7bed8ed3898d4c3ac43853203fd1c3ed8c60830657084159768c4a7b
-DIST mattermost-desktop-bin-4.2.3.tar.gz 1126293 BLAKE2B 363236d8fe2df03cef66ce32d650af9caabf83cd1e37b4bd5b36ddb3fd015fa60608e49491d4ffdda3495bcf7318da6f4019e52a27e0971b0e47164ced1bc1f4 SHA512 478124a2cf9fff618035d408a73176fd68c21d16fdbecc307c621bf576d9bbdd2663a52a1dd4be6e3a0ea52029270d3f1d92c2180f0158b3c29d4116630c6f37
+DIST mattermost-desktop-5.6.0-linux-arm64.tar.gz 103186982 BLAKE2B a36a010cde79713b5228478610447a53c5e4d0a132876f49428fbe265f6dc42054ad7bfa0129d0a17688200514b74536963e4a77f12cde32a8f98ab10f3c957a SHA512 dd121db5e77321ed2fd4d06bfaa2fbba37d25a2d06c7d455cf34e645ead274bef8244fabade323d4ff07c6a1202e3a8a0b9fd96f8e0ec5976d96023de3a75973
+DIST mattermost-desktop-5.6.0-linux-x64.tar.gz 102835133 BLAKE2B 4ef34c12ad2b8fefd224237aedf7c7a68844d37b6ca2fca517ffa109c6de9a99709f8accd969964dab3246289d642203e1a84a9b05ef9ca87ca0f0e5305fd949 SHA512 3a6e09dbacb65c1200932c652fab1dafbb136ee7596034efbfeaadea2ee2bd16476d231fb01357a6ec4fbdd392c955e79dc1e03b61dfc67dbaeb10f5167b5d14
+DIST mattermost-desktop-5.7.0-linux-arm64.tar.gz 104464404 BLAKE2B 08caa572a986826f212dde6235c8ab36a31e559d14ca5a4e1a5e1e9024efc7f6a4126e56f96ad9f6dbc0fcc5798c466328791d9dccc6a5dcd83e0e0b80664930 SHA512 8e83d2105daa5a701b0f067203f7a0466a440962be2764f59ad7fa7ad892d6dcc07a1df8d5d924456b4038fae568a65efd52adc2c6f5c953f5ee7106468d526a
+DIST mattermost-desktop-5.7.0-linux-x64.tar.gz 104733209 BLAKE2B 3da6c25a3b197f60169b8178208e7dd2d14585c8d1e83247720f1cebd71e7f8a663df1ad479cca47931abcb016f3d576ece435ea6ab9a9ea3dbef9d653216d88 SHA512 e993f30d19adc5ee619f2708b0e7e91872b07ff8d4cba102097239e8928ea6464efd87d80a66d39219a79393719fe5db7d7b28df7fd9d53fae3a72e84ee7e718
diff --git a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-4.2.3.ebuild b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-4.2.3.ebuild
deleted file mode 100644
index 288732cad020..000000000000
--- a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-4.2.3.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="${PN%-*}"
-
-inherit desktop eutils
-
-DESCRIPTION="Mattermost Desktop application"
-HOMEPAGE="https://about.mattermost.com/"
-
-SRC_URI="
- https://github.com/mattermost/desktop/archive/v${PV}.tar.gz -> ${P}.tar.gz
- amd64? ( https://releases.mattermost.com/desktop/${PV}/mattermost-desktop-${PV}-linux-x64.tar.gz )
- x86? ( https://releases.mattermost.com/desktop/${PV}/mattermost-desktop-${PV}-linux-ia32.tar.gz )
-"
-
-LICENSE="Apache-2.0 GPL-2+ LGPL-2.1+ MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- gnome-base/gconf:2
- dev-libs/atk:0
- dev-libs/expat:0
- dev-libs/glib:2
- dev-libs/nspr:0
- dev-libs/nss:0
- gnome-base/gconf:2
- media-libs/alsa-lib:0
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- net-print/cups:0
- sys-apps/dbus:0
- sys-devel/gcc
- sys-libs/glibc:2.2
- x11-libs/cairo:0
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:2
- x11-libs/libX11:0
- x11-libs/libxcb:0/1.12
- x11-libs/libXcomposite:0
- x11-libs/libXcursor:0
- x11-libs/libXdamage:0
- x11-libs/libXext:0
- x11-libs/libXfixes:0
- x11-libs/libXi:0
- x11-libs/libXrandr:0
- x11-libs/libXrender:0
- x11-libs/libXScrnSaver:0
- x11-libs/libXtst:0
- x11-libs/pango:0"
-
-QA_PREBUILT="
- opt/mattermost-desktop/mattermost-desktop
- opt/mattermost-desktop/libnode.so
- opt/mattermost-desktop/libffmpeg.so
-"
-
-DOCS=(
- NOTICE.txt
- LICENSES.chromium.html
- LICENSE.txt
- LICENSE.electron.txt
- README.md
-)
-
-src_unpack() {
- unpack ${A}
- use amd64 && mv "${WORKDIR}/mattermost-desktop-${PV}-linux-x64" "${S}"
- use x86 && mv "${WORKDIR}/mattermost-desktop-${PV}-linux-ia32" "${S}"
-}
-
-src_install() {
- insinto "/opt/${MY_PN}/locales"
- doins locales/*.pak
-
- insinto "/opt/${MY_PN}/resources"
- doins resources/*.asar
-
- insinto "/opt/${MY_PN}"
- doins *.pak *.bin *.dat
- exeinto "/opt/${MY_PN}"
- doexe *.so "${MY_PN}"
-
- dosym "/opt/${MY_PN}/${MY_PN}" "/usr/bin/${MY_PN}"
-
- newicon "${S}/icon.svg" "${MY_PN}.svg"
- make_desktop_entry "${MY_PN}" Mattermost "${MY_PN}"
-
- einstalldocs
-}
diff --git a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.6.0.ebuild b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.6.0.ebuild
new file mode 100644
index 000000000000..75064aceabf4
--- /dev/null
+++ b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.6.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN%-*}"
+MY_PV="${PV/_rc/-rc.}"
+
+inherit desktop xdg
+
+DESCRIPTION="Mattermost Desktop application"
+HOMEPAGE="https://mattermost.com/"
+
+SRC_URI="
+ amd64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-x64.tar.gz )
+ arm64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-arm64.tar.gz )
+"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0 GPL-2+ LGPL-2.1+ MIT"
+SLOT="0"
+# Starting with 5.2.0 upstream dropped x86 for their binary release #879519
+if [[ ${PV} != *rc* ]]; then
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2[X]
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-libs/alsa-lib
+ media-libs/mesa
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango
+"
+
+QA_PREBUILT="
+ opt/mattermost-desktop/mattermost-desktop
+ opt/mattermost-desktop/libnode.so
+ opt/mattermost-desktop/libffmpeg.so
+ opt/mattermost-desktop/libGLESv2.so
+ opt/mattermost-desktop/libEGL.so
+ opt/mattermost-desktop/libvk_swiftshader.so
+ opt/mattermost-desktop/libvulkan.so.1
+ opt/mattermost-desktop/resources/*
+"
+
+DOCS=(
+ NOTICE.txt
+)
+
+src_install() {
+ if use amd64; then
+ cd mattermost-desktop-${MY_PV}-linux-x64 || die
+ elif use arm64; then
+ cd mattermost-desktop-${MY_PV}-linux-arm64 || die
+ fi
+ newicon app_icon.png ${MY_PN}.png
+
+ insinto "/opt/${MY_PN}/locales"
+ doins locales/*.pak
+
+ insinto "/opt/${MY_PN}/resources"
+ doins -r resources/*.asar*
+
+ insinto "/opt/${MY_PN}"
+ doins *.pak *.bin *.dat
+ exeinto "/opt/${MY_PN}"
+ doexe *.so *.so.* "${MY_PN}"
+
+ dosym -r "/opt/${MY_PN}/${MY_PN}" "/usr/bin/${MY_PN}"
+
+ make_desktop_entry \
+ "${MY_PN} --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto %U" \
+ Mattermost "${MY_PN}" "Network;InstantMessaging;" \
+ "MimeType=x-scheme-handler/mattermost;"
+
+ einstalldocs
+}
diff --git a/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.7.0.ebuild b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.7.0.ebuild
new file mode 100644
index 000000000000..8db20297843a
--- /dev/null
+++ b/net-im/mattermost-desktop-bin/mattermost-desktop-bin-5.7.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN%-*}"
+MY_PV="${PV/_rc/-rc.}"
+
+inherit desktop xdg
+
+DESCRIPTION="Mattermost Desktop application"
+HOMEPAGE="https://mattermost.com/"
+
+SRC_URI="
+ amd64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-x64.tar.gz )
+ arm64? ( https://releases.mattermost.com/desktop/${MY_PV}/mattermost-desktop-${MY_PV}-linux-arm64.tar.gz )
+"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0 GPL-2+ LGPL-2.1+ MIT"
+SLOT="0"
+# Starting with 5.2.0 upstream dropped x86 for their binary release #879519
+if [[ ${PV} != *rc* ]]; then
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2[X]
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-libs/alsa-lib
+ media-libs/mesa
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/pango
+"
+
+QA_PREBUILT="
+ opt/mattermost-desktop/mattermost-desktop
+ opt/mattermost-desktop/libnode.so
+ opt/mattermost-desktop/libffmpeg.so
+ opt/mattermost-desktop/libGLESv2.so
+ opt/mattermost-desktop/libEGL.so
+ opt/mattermost-desktop/libvk_swiftshader.so
+ opt/mattermost-desktop/libvulkan.so.1
+ opt/mattermost-desktop/resources/*
+"
+
+DOCS=(
+ NOTICE.txt
+)
+
+src_install() {
+ if use amd64; then
+ cd mattermost-desktop-${MY_PV}-linux-x64 || die
+ elif use arm64; then
+ cd mattermost-desktop-${MY_PV}-linux-arm64 || die
+ fi
+ newicon app_icon.png ${MY_PN}.png
+
+ insinto "/opt/${MY_PN}/locales"
+ doins locales/*.pak
+
+ insinto "/opt/${MY_PN}/resources"
+ doins -r resources/*.asar*
+
+ insinto "/opt/${MY_PN}"
+ doins *.pak *.bin *.dat
+ exeinto "/opt/${MY_PN}"
+ doexe *.so *.so.* "${MY_PN}"
+
+ dosym -r "/opt/${MY_PN}/${MY_PN}" "/usr/bin/${MY_PN}"
+
+ make_desktop_entry \
+ "${MY_PN} --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto %U" \
+ Mattermost "${MY_PN}" "Network;InstantMessaging;" \
+ "MimeType=x-scheme-handler/mattermost;"
+
+ einstalldocs
+}
diff --git a/net-im/mattermost-desktop-bin/metadata.xml b/net-im/mattermost-desktop-bin/metadata.xml
index f8151855e277..f9342913d57d 100644
--- a/net-im/mattermost-desktop-bin/metadata.xml
+++ b/net-im/mattermost-desktop-bin/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+ </maintainer>
<upstream>
<remote-id type="github">mattermost/desktop</remote-id>
</upstream>
diff --git a/net-im/mcabber/Manifest b/net-im/mcabber/Manifest
deleted file mode 100644
index ce87b9acbbb8..000000000000
--- a/net-im/mcabber/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mcabber-1.1.0.tar.bz2 608975 BLAKE2B 856b1a4d7118337f40b11348274c79d125776d5dddcd50f87097e58240807a4ecafc4816c44d44a51bf9cbb920edb225b312c1d5d0d52be4be93810512ef2706 SHA512 d12546e9fe9da94b6107f4d38d4083bee74e2702f7f2225e26be291230c6fe1319f60a3204da669dc00b14d69822425bf8214ebb723c3c4a7a33b1247a03093f
diff --git a/net-im/mcabber/files/README.gentoo b/net-im/mcabber/files/README.gentoo
deleted file mode 100644
index dc394e6e5a4a..000000000000
--- a/net-im/mcabber/files/README.gentoo
+++ /dev/null
@@ -1,17 +0,0 @@
-MCabber requires you to create a subdirectory .mcabber in your home
-directory and to place a configuration file there.
-An example mcabberrc was installed as part of the documentation.
-To create a new mcabberrc based on the example mcabberrc, execute the
-following commands:
-
- mkdir -p ~/.mcabber
- bzcat /usr/share/doc/mcabber*/mcabberrc.example.bz2 > ~/.mcabber/mcabberrc
-
-Then edit ~/.mcabber/mcabberrc with your favorite editor.
-
-See the CONFIGURATION FILE and FILES sections of the mcabber
-manual page (section 1) for more information.
-
-MCabber supports PGP encryption of messages. See README_PGP.txt for details.
-
-Check out /usr/share/mcabber/ for contributed themes and event scripts.
diff --git a/net-im/mcabber/mcabber-1.1.0-r1.ebuild b/net-im/mcabber/mcabber-1.1.0-r1.ebuild
deleted file mode 100644
index 5d7b56216812..000000000000
--- a/net-im/mcabber/mcabber-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic readme.gentoo-r1
-
-DESCRIPTION="A small Jabber console client with various features, like MUC, SSL, PGP"
-HOMEPAGE="http://mcabber.com/"
-
-if [[ "${PV}" == 9999 ]]; then
- inherit mercurial
- EHG_REPO_URI="https://bitbucket.org/McKael/mcabber"
- EHG_CHECKOUT_DIR="${WORKDIR}"
- EHG_BOOTSTRAP="autogen.sh"
- S="${WORKDIR}/${PN}"
-else
- SRC_URI="http://mcabber.com/files/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 ~arm ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="aspell crypt idn otr spell ssl vim-syntax"
-
-LANGS="cs de fr it nl pl ru uk"
-# localized help versions are installed only, when L10N var is set
-for i in ${LANGS}; do
- IUSE="${IUSE} l10n_${i}"
-done;
-
-RDEPEND="crypt? ( >=app-crypt/gpgme-1.0.0 )
- otr? ( >=net-libs/libotr-3.1.0 )
- aspell? ( app-text/aspell )
- vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
- idn? ( net-dns/libidn:= )
- spell? ( app-text/enchant )
- dev-libs/glib:2
- net-libs/libnsl:0=
- sys-libs/ncurses:0=
- >=net-libs/loudmouth-1.4.3-r1[ssl?]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO mcabberrc.example doc/README_PGP.txt )
-
-pkg_setup() {
- if use aspell && use spell; then
- ewarn "NOTE: You have both USE flags 'aspell' and 'spell' enabled, enchant (USE flag 'spell') will be preferred."
- fi
-}
-
-src_configure() {
- econf \
- --enable-modules \
- $(use_enable crypt gpgme) \
- $(use_enable otr) \
- $(use_enable aspell) \
- $(use_enable spell enchant) \
- $(use_with idn libidn)
-}
-
-src_install() {
- default
-
- # clean unneeded language documentation
- for i in ${LANGS}; do
- use l10n_${i} || rm -rf "${ED}"/usr/share/${PN}/help/${i}
- done
-
- # contrib themes
- insinto /usr/share/${PN}/themes
- doins "${S}"/contrib/themes/*
-
- # contrib generic scripts
- exeinto /usr/share/${PN}/scripts
- doexe "${S}"/contrib/*.{pl,py}
-
- # contrib event scripts
- exeinto /usr/share/${PN}/scripts/events
- doexe "${S}"/contrib/events/*
-
- if use vim-syntax; then
- cd contrib/vim/ || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins mcabber_log-syntax.vim
-
- insinto /usr/share/vim/vimfiles/ftdetect
- doins mcabber_log-ftdetect.vim
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/net-im/mcabber/mcabber-9999.ebuild b/net-im/mcabber/mcabber-9999.ebuild
deleted file mode 100644
index 75d371a188d9..000000000000
--- a/net-im/mcabber/mcabber-9999.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit readme.gentoo-r1
-
-DESCRIPTION="A small Jabber console client with various features, like MUC, SSL, PGP"
-HOMEPAGE="http://mcabber.com/"
-
-if [[ "${PV}" == 9999 ]]; then
- inherit mercurial
- EHG_REPO_URI="https://bitbucket.org/McKael/mcabber"
- EHG_CHECKOUT_DIR="${WORKDIR}"
- EHG_BOOTSTRAP="autogen.sh"
- S="${WORKDIR}/${PN}"
-else
- SRC_URI="http://mcabber.com/files/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="aspell crypt idn otr spell ssl vim-syntax"
-
-LANGS="cs de fr it nl pl ru uk"
-# localized help versions are installed only, when L10N var is set
-for i in ${LANGS}; do
- IUSE="${IUSE} l10n_${i}"
-done;
-
-RDEPEND="crypt? ( >=app-crypt/gpgme-1.0.0 )
- otr? ( >=net-libs/libotr-3.1.0 )
- aspell? ( app-text/aspell )
- vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
- idn? ( net-dns/libidn:= )
- spell? ( app-text/enchant )
- dev-libs/glib:2
- net-libs/libnsl:0=
- sys-libs/ncurses:0=
- >=net-libs/loudmouth-1.4.3-r1[ssl?]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO mcabberrc.example doc/README_PGP.txt )
-
-pkg_setup() {
- if use aspell && use spell; then
- ewarn "NOTE: You have both USE flags 'aspell' and 'spell' enabled, enchant (USE flag 'spell') will be preferred."
- fi
-}
-
-src_configure() {
- econf \
- --enable-modules \
- $(use_enable crypt gpgme) \
- $(use_enable otr) \
- $(use_enable aspell) \
- $(use_enable spell enchant) \
- $(use_with idn libidn)
-}
-
-src_install() {
- default
-
- # clean unneeded language documentation
- for i in ${LANGS}; do
- use l10n_${i} || rm -rf "${ED}"/usr/share/${PN}/help/${i}
- done
-
- # contrib themes
- insinto /usr/share/${PN}/themes
- doins "${S}"/contrib/themes/*
-
- # contrib generic scripts
- exeinto /usr/share/${PN}/scripts
- doexe "${S}"/contrib/*.{pl,py}
-
- # contrib event scripts
- exeinto /usr/share/${PN}/scripts/events
- doexe "${S}"/contrib/events/*
-
- if use vim-syntax; then
- cd contrib/vim/ || die
-
- insinto /usr/share/vim/vimfiles/syntax
- doins mcabber_log-syntax.vim
-
- insinto /usr/share/vim/vimfiles/ftdetect
- doins mcabber_log-ftdetect.vim
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/net-im/mcabber/metadata.xml b/net-im/mcabber/metadata.xml
deleted file mode 100644
index 30df6e581bc7..000000000000
--- a/net-im/mcabber/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
- </maintainer>
- <longdescription lang="en">
- MCabber is a small Jabber console client that features
- such as GPG encryption, SSL support, MUC (Multi-User Chat) support,
- history logging, commands completion, and external actions triggers.
- </longdescription>
- <use>
- <flag name="aspell">Adds support for app-text/aspell spell
- checker.</flag>
- <flag name="otr">Enable encrypted conversations using Off-The-Records
- messaging
- </flag>
- </use>
-</pkgmetadata>
-
diff --git a/net-im/metadata.xml b/net-im/metadata.xml
index efaf4c0dda2d..55f0a269d69c 100644
--- a/net-im/metadata.xml
+++ b/net-im/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The net-im category contains instant messaging software.
</longdescription>
<longdescription lang="de">
- Die Kategorie net-im enthält Instand Messaging Software.
+ Die Kategorie net-im enthält Software für Instant Messaging.
</longdescription>
<longdescription lang="es">
La categoría net-im contiene programas de mensajería instantánea.
@@ -32,4 +32,3 @@
Kategoria net-im zawiera komunikatory internetowe.
</longdescription>
</catmetadata>
-
diff --git a/net-im/minbif/Manifest b/net-im/minbif/Manifest
deleted file mode 100644
index f22b7b17b0b8..000000000000
--- a/net-im/minbif/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST minbif-1.0.5.tar.gz 176039 BLAKE2B 195af3dbb45f0c2b6499fd440c4ffc637d7e4e723879282a4914538d562c2833f30ae562098ebc5c47ac694b37f558984e599cb3701d6b1af6256db32ad91152 SHA512 e84c6f38ad35a660f9c319b702ae5743cece167c8e116976a9ca0caf527ad23ea17ea8f518f9bd76536e87283362d2087201a5307128740fc7f05dccabacfbcd
diff --git a/net-im/minbif/files/minbif-1.0.5-gcc47.patch b/net-im/minbif/files/minbif-1.0.5-gcc47.patch
deleted file mode 100644
index 8566406a318f..000000000000
--- a/net-im/minbif/files/minbif-1.0.5-gcc47.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-commit fe71fd989a4501c77314b2906756f4e9a328ff31
-Author: Romain Bignon <romain@symlink.me>
-Date: Tue May 8 16:46:35 2012 +0200
-
- fixes for gcc 4.7
-
---- a/src/im/account.cpp
-+++ b/src/im/account.cpp
-@@ -18,6 +18,7 @@
-
- #include <cassert>
- #include <cstring>
-+#include <unistd.h>
- #ifdef HAVE_IMLIB
- #include <Imlib2.h>
- #endif /* HAVE_IMLIB */
---- a/src/im/request.cpp
-+++ b/src/im/request.cpp
-@@ -18,6 +18,7 @@
-
- #include <errno.h>
- #include <string.h>
-+#include <unistd.h>
-
- #include "request.h"
- #include "buddy.h"
---- a/src/irc/dcc.cpp
-+++ b/src/irc/dcc.cpp
-@@ -23,6 +23,7 @@
- #include <string.h>
- #include <sys/types.h>
- #include <netinet/in.h>
-+#include <unistd.h>
-
- #include "dcc.h"
- #include "nick.h"
---- a/src/irc/irc.cpp
-+++ b/src/irc/irc.cpp
-@@ -246,7 +246,7 @@ Nick* IRC::getNick(string nickname, bool case_sensitive) const
- Buddy* IRC::getNick(const im::Buddy& buddy) const
- {
- map<string, Nick*>::const_iterator it;
-- Buddy* nb;
-+ Buddy* nb = NULL;
- for(it = users.begin();
- it != users.end() && (!(nb = dynamic_cast<Buddy*>(it->second)) || nb->getBuddy() != buddy);
- ++it)
-@@ -261,7 +261,7 @@ Buddy* IRC::getNick(const im::Buddy& buddy) const
- ConvNick* IRC::getNick(const im::Conversation& conv) const
- {
- map<string, Nick*>::const_iterator it;
-- ConvNick* n;
-+ ConvNick* n = NULL;
- for(it = users.begin();
- it != users.end() && (!(n = dynamic_cast<ConvNick*>(it->second)) || n->getConversation() != conv);
- ++it)
---- a/src/server_poll/inetd.cpp
-+++ b/src/server_poll/inetd.cpp
-@@ -18,6 +18,7 @@
-
- #include <cassert>
- #include <glib.h>
-+#include <unistd.h>
-
- #include "inetd.h"
- #include "irc/irc.h"
---- a/src/sockwrap/sockwrap.cpp
-+++ b/src/sockwrap/sockwrap.cpp
-@@ -22,6 +22,7 @@
- # include "sockwrap_tls.h"
- #endif
- #include "core/util.h"
-+#include <unistd.h>
-
- namespace sock
- {
diff --git a/net-im/minbif/files/minbif-1.0.5-glib-single-includes.patch b/net-im/minbif/files/minbif-1.0.5-glib-single-includes.patch
deleted file mode 100644
index 599355eb502c..000000000000
--- a/net-im/minbif/files/minbif-1.0.5-glib-single-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: minbif-1.0.5/src/server_poll/daemon_fork.cpp
-===================================================================
---- minbif-1.0.5.orig/src/server_poll/daemon_fork.cpp
-+++ minbif-1.0.5/src/server_poll/daemon_fork.cpp
-@@ -20,7 +20,7 @@
- #include <cassert>
- #include <cstring>
- #include <cerrno>
--#include <glib/gmain.h>
-+#include <glib.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <arpa/inet.h>
-Index: minbif-1.0.5/src/server_poll/inetd.cpp
-===================================================================
---- minbif-1.0.5.orig/src/server_poll/inetd.cpp
-+++ minbif-1.0.5/src/server_poll/inetd.cpp
-@@ -17,7 +17,7 @@
- */
-
- #include <cassert>
--#include <glib/gmain.h>
-+#include <glib.h>
-
- #include "inetd.h"
- #include "irc/irc.h"
diff --git a/net-im/minbif/files/minbif-1.0.5-rename-imlib-load-error.patch b/net-im/minbif/files/minbif-1.0.5-rename-imlib-load-error.patch
deleted file mode 100644
index e9fa875d247c..000000000000
--- a/net-im/minbif/files/minbif-1.0.5-rename-imlib-load-error.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/im/account.cpp b/src/im/account.cpp
-index f155334..f040fcd 100644
---- a/src/im/account.cpp
-+++ b/src/im/account.cpp
-@@ -272,7 +272,7 @@ void Account::setBuddyIcon(string filename)
- else
- {
- char** prpl_formats = g_strsplit(prplinfo->icon_spec.format,",",0);
-- ImlibLoadError err = IMLIB_LOAD_ERROR_UNKNOWN;
-+ Imlib_Load_Error err = IMLIB_LOAD_ERROR_UNKNOWN;
-
- close(temp_fd);
- /* Try to encode in a supported format. */
diff --git a/net-im/minbif/files/minbif.initd b/net-im/minbif/files/minbif.initd
deleted file mode 100644
index 06cac415f61d..000000000000
--- a/net-im/minbif/files/minbif.initd
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-MINBIF_EXEC="/usr/bin/minbif"
-
-depend() {
- need logger net
-}
-
-start() {
- ebegin "Starting minbif"
- start-stop-daemon --start --startas ${MINBIF_EXEC} \
- -c minbif:minbif --exec ${MINBIF_EXEC} -- \
- /etc/minbif/minbif.conf
- eend $?
-}
-
-stop() {
- ebegin "Stopping minbif"
- start-stop-daemon --stop --exec ${MINBIF_EXEC}
- eend $?
-}
diff --git a/net-im/minbif/metadata.xml b/net-im/minbif/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/net-im/minbif/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/net-im/minbif/minbif-1.0.5-r2.ebuild b/net-im/minbif/minbif-1.0.5-r2.ebuild
deleted file mode 100644
index 1f05cc67faa1..000000000000
--- a/net-im/minbif/minbif-1.0.5-r2.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils user
-
-DESCRIPTION="IRC gateway to IM networks"
-HOMEPAGE="https://symlink.me/projects/minbif/wiki/"
-SRC_URI="https://symlink.me/attachments/download/148/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="gnutls +imlib +libcaca pam xinetd"
-REQUIRED_USE="
- libcaca? ( imlib )
-"
-
-DEPEND="
- >=net-im/pidgin-2.6
- gnutls? ( net-libs/gnutls )
- imlib? ( media-libs/imlib2 )
- libcaca? (
- media-libs/imlib2
- media-libs/libcaca
- )
- pam? ( sys-libs/pam )
-"
-RDEPEND="${DEPEND}
- virtual/logger
- xinetd? ( sys-apps/xinetd )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.5-glib-single-includes.patch"
- "${FILESDIR}/${PN}-1.0.5-gcc47.patch"
- "${FILESDIR}/${PN}-1.0.5-rename-imlib-load-error.patch"
-)
-
-pkg_setup() {
- enewgroup minbif
- enewuser minbif -1 -1 /var/lib/minbif minbif
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- sed -i "s/-Werror//g" CMakeLists.txt || die "sed failed"
-
- sed -i "s#share/doc/minbif#share/doc/${P}#" \
- CMakeLists.txt || die "sed failed"
-
- if use xinetd; then
- sed -i "s/type\s=\s[0-9]/type = 0/" \
- minbif.conf || die "sed failed"
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCONF_PREFIX="${EPREFIX}"/etc/minbif
- -DENABLE_VIDEO=OFF
- -DENABLE_TLS=$(usex gnutls)
- -DENABLE_IMLIB=$(usex imlib)
- -DENABLE_CACA=$(usex libcaca)
- -DENABLE_PAM=$(usex pam)
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- keepdir /var/lib/minbif
- fperms 700 /var/lib/minbif
- fowners minbif:minbif /var/lib/minbif
-
- doman man/minbif.8
-
- if use xinetd; then
- insinto /etc/xinetd.d
- newins doc/minbif.xinetd minbif
- fi
-
- newinitd "${FILESDIR}"/minbif.initd minbif
-
- dodir /usr/share/minbif
- insinto /usr/share/minbif
- doins -r scripts
-}
diff --git a/net-im/neochat/Manifest b/net-im/neochat/Manifest
new file mode 100644
index 000000000000..e398b36c9b25
--- /dev/null
+++ b/net-im/neochat/Manifest
@@ -0,0 +1,2 @@
+DIST neochat-23.08.5.tar.xz 795564 BLAKE2B 1f6dec3376f059e9d70e8be5461719bc74d631a0f98b4d417cd5b8709b4ed1ce9fc48e90a57c8f32889ad2fbf3089f80d9b29a7a73a1944fb54db81f837c4a67 SHA512 936e8112818bc925121d71fcc23d43bc448387af7c8c7857f2ce8b5d128f1acedc9c3c2b6d66e50fb317418cbd144c5262e2fb9e6d80364d48e08e42b27316bf
+DIST neochat-24.02.2.tar.xz 884660 BLAKE2B 38298089b6034f955e0285e13f652750e6593ab8201b8177a77e4fb524c188a1cd73f0254a548daadb564e7cbd42b097dbb26f6c7088971038f1dfcd83e458c7 SHA512 726ae34b6e714f34d4f88070ef3e173cfb2893530e65efdaf294b835ab9c1e1f8c600c6accf6124bd7f509079acacf2e9b36f3b43956ba37b531677f25a4f18c
diff --git a/net-im/neochat/metadata.xml b/net-im/neochat/metadata.xml
new file mode 100644
index 000000000000..d925f2439758
--- /dev/null
+++ b/net-im/neochat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/neochat/neochat-23.08.5.ebuild b/net-im/neochat/neochat-23.08.5.ebuild
new file mode 100644
index 000000000000..468a4b99124e
--- /dev/null
+++ b/net-im/neochat/neochat-23.08.5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Client for Matrix, the decentralized communication protocol"
+HOMEPAGE="https://apps.kde.org/neochat/"
+
+LICENSE="GPL-3+ handbook? ( CC-BY-SA-4.0 )"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+DEPEND="
+ app-text/cmark:=
+ >=dev-libs/kirigami-addons-0.7.2:5
+ dev-libs/qcoro5
+ dev-libs/qtkeychain:=[qt5(+)]
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer]
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
+ >=kde-frameworks/knotifications-${KFMIN}:5[qml]
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
+ >=kde-frameworks/sonnet-${KFMIN}:5[qml]
+ media-libs/kquickimageeditor:5
+ >=net-libs/libquotient-0.8:=[qt5(+)]
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=dev-qt/qtlocation-${QTMIN}:5
+ >=dev-qt/qtmultimedia-${QTMIN}:5[qml]
+ >=dev-qt/qtpositioning-${QTMIN}:5[qml]
+ >=kde-frameworks/kquickcharts-${KFMIN}:5
+ >=kde-frameworks/purpose-${KFMIN}:5
+"
+BDEPEND="virtual/pkgconfig"
diff --git a/net-im/neochat/neochat-24.02.2.ebuild b/net-im/neochat/neochat-24.02.2.ebuild
new file mode 100644
index 000000000000..9e2ad8fc04a0
--- /dev/null
+++ b/net-im/neochat/neochat-24.02.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Client for Matrix, the decentralized communication protocol"
+HOMEPAGE="https://apps.kde.org/neochat/"
+
+LICENSE="GPL-3+ handbook? ( CC-BY-SA-4.0 )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# TODO: Wire up kunifiedpush once packaged? (1a3055df8673802076bc0c269ec24274abef375b)
+DEPEND="
+ app-text/cmark:=
+ dev-libs/kirigami-addons:6
+ >=dev-libs/icu-61.0:=
+ dev-libs/qcoro[network]
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtmultimedia-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qtwebview-${QTMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6[qml]
+ media-libs/kquickimageeditor:6
+ >=net-libs/libquotient-0.8.1.2-r1:=[qt6]
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=dev-qt/qtlocation-${QTMIN}:6
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ >=dev-qt/qtpositioning-${QTMIN}:6[qml]
+ >=kde-frameworks/kquickcharts-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ >=kde-frameworks/prison-${KFMIN}:6[qml]
+"
+BDEPEND="virtual/pkgconfig"
diff --git a/net-im/openfire/Manifest b/net-im/openfire/Manifest
deleted file mode 100644
index b05b5f8cfe01..000000000000
--- a/net-im/openfire/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST openfire_src_4_2_3.tar.gz 113557155 BLAKE2B f01bfb57ee76be4dfea11d450534f66f1b50450095cf2d752f910352057ab421f72603b8a79f809f1e9aef20004bb90e9514e68dccb95de709083de9410e4a57 SHA512 8b968c94fcd779544c90de34172b00d472dc2e42142f2aa5eda01f0e0c3dda903a3b9b6d82286916bb1ae8f97fb12f0a94aeb42fad1df0b2dd47e951e03b8523
diff --git a/net-im/openfire/files/openfire-confd b/net-im/openfire/files/openfire-confd
deleted file mode 100644
index 35caecef20cc..000000000000
--- a/net-im/openfire/files/openfire-confd
+++ /dev/null
@@ -1,11 +0,0 @@
-OPENFIRE_HOME=/opt/openfire
-OPENFIRE_LIB="${OPENFIRE_HOME}/lib"
-OPENFIRE_OPTS="-Xmx256m -DopenfireHome=${OPENFIRE_HOME} -Dopenfire.lib.dir=${OPENFIRE_LIB}"
-OPENFIRE_CLASS="-classpath ${OPENFIRE_LIB}/startup.jar"
-OPENFIRE_JAR="-jar ${OPENFIRE_LIB}/startup.jar"
-OPENFIRE_ARGS="-server ${OPENFIRE_OPTS} ${OPENFIRE_CLASS} ${OPENFIRE_JAR}"
-
-
-#JVM used by the openfire server. You can see a list of available vm's in /usr/lib/jvm/
-#But remenber that openfire needs a 1.5 jvm
-GENTOO_VM=sun-jdk-1.5
diff --git a/net-im/openfire/files/openfire-initd b/net-im/openfire/files/openfire-initd
deleted file mode 100644
index 281e5197af2c..000000000000
--- a/net-im/openfire/files/openfire-initd
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/sbin/openrc-run
-
-depend() {
- need net
- provide jabber-server
-}
-
-start() {
- [ -d /var/run/jabber ] || mkdir /var/run/jabber
- #source /etc/env.d/java/20sun-jdk-1.5.0.06
- #OPENFIRE_CMD="${JAVA_HOME}/bin/java"
- OPENFIRE_CMD=`GENTOO_VM=${GENTOO_VM} java-config -J`
-
- ebegin "Starting Openfire Server"
- start-stop-daemon \
- --user jabber \
- --background \
- --make-pidfile \
- --pidfile /var/run/jabber/openfire.pid \
- --start \
- --exec ${OPENFIRE_CMD} -- ${OPENFIRE_ARGS} > /var/log/openfire.log 2>&1
- eend
-}
-
-stop() {
- ebegin "Stopping Openfire Messenger"
- start-stop-daemon --pidfile /var/run/jabber/openfire.pid --stop
- eend
-}
diff --git a/net-im/openfire/files/openfire.service b/net-im/openfire/files/openfire.service
deleted file mode 100644
index 6f2ff26ed497..000000000000
--- a/net-im/openfire/files/openfire.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Openfire XMPP Server
-After=network.target
-
-[Service]
-User=jabber
-Group=jabber
-PrivateTmp=true
-ExecStart=/usr/bin/java -server -Xmx256m -DopenfireHome=/opt/openfire -Dopenfire.lib.dir=/opt/openfire/lib -classpath /opt/openfire/lib/startup.jar -jar /opt/openfire/lib/startup.jar
-SuccessExitStatus=143 SIGKILL
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-im/openfire/metadata.xml b/net-im/openfire/metadata.xml
deleted file mode 100644
index a2f087043e20..000000000000
--- a/net-im/openfire/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
- Openfire is a Java implementation of a complete Jabber
- server. It includes a web based administration interface, conference
- support and a web/client support system.
- </longdescription>
-</pkgmetadata>
diff --git a/net-im/openfire/openfire-4.2.3-r1.ebuild b/net-im/openfire/openfire-4.2.3-r1.ebuild
deleted file mode 100644
index 19845942c736..000000000000
--- a/net-im/openfire/openfire-4.2.3-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils java-pkg-2 java-ant-2 systemd
-
-MY_P=${PN}_src_${PV//./_}
-DESCRIPTION="Openfire (formerly wildfire) real time collaboration (RTC) server"
-HOMEPAGE="http://www.igniterealtime.org/projects/openfire/"
-SRC_URI="http://www.igniterealtime.org/builds/openfire/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-
-RDEPEND=">=virtual/jre-1.7"
-DEPEND="net-im/jabber-base
- ~dev-java/ant-contrib-1.0_beta2
- >=virtual/jdk-1.7"
-
-S=${WORKDIR}/${PN}_src
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-}
-
-src_compile() {
- # Jikes doesn't support -source 1.5
- java-pkg_filter-compiler jikes
-
- ANT_TASKS="ant-contrib"
- eant -f build/build.xml openfire plugins $(use_doc)
-
- # delete nativeAuth prebuilt libs:
- # uses outdated unmaintained libshaj, does not support amd64
- rm -rfv target/openfire/resources/nativeAuth || die
-}
-
-src_install() {
- dodir /opt/openfire
-
- newinitd "${FILESDIR}"/openfire-initd openfire
- newconfd "${FILESDIR}"/openfire-confd openfire
- systemd_dounit "${FILESDIR}"/${PN}.service
-
- dodir /opt/openfire/conf
- insinto /opt/openfire/conf
- newins target/openfire/conf/openfire.xml openfire.xml.sample
- newins target/openfire/conf/security.xml security.xml.sample
-
- dodir /opt/openfire/logs
- keepdir /opt/openfire/logs
-
- dodir /opt/openfire/lib
- insinto /opt/openfire/lib
- doins target/openfire/lib/*
-
- dodir /opt/openfire/plugins
- insinto /opt/openfire/plugins
- doins -r target/openfire/plugins/*
-
- dodir /opt/openfire/resources
- insinto /opt/openfire/resources
- doins -r target/openfire/resources/*
-
- if use doc; then
- dohtml -r documentation/docs/*
- fi
- dodoc documentation/dist/*
-
- #Protect ssl key on upgrade
- dodir /etc/env.d/
- echo 'CONFIG_PROTECT="/opt/openfire/resources/security/"' > "${D}"/etc/env.d/98openfire
-
- fowners -R jabber:jabber /opt/openfire
-}
-
-pkg_postinst() {
- local src
- local dst
-
- # http://community.igniterealtime.org/thread/52289
- for dst in "${ROOT%/}"/opt/openfire/conf/{openfire,security}.xml
- do
- src="${dst}".sample
- if [[ -f "${dst}" ]]; then
- einfo "Leaving old '${dst}'"
- else
- einfo "Created default '${dst}'. Please edit."
- cp -v "${src}" "${dst}" || ewarn "cp '${dst}' failed"
- chmod -v 0600 "${dst}" || ewarn "chmod '${dst}' failed"
- fi
- done
-}
diff --git a/net-im/openfire/openfire-4.2.3-r2.ebuild b/net-im/openfire/openfire-4.2.3-r2.ebuild
deleted file mode 100644
index dc79cda8b4ba..000000000000
--- a/net-im/openfire/openfire-4.2.3-r2.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils java-pkg-2 java-ant-2 systemd
-
-MY_P=${PN}_src_${PV//./_}
-DESCRIPTION="Openfire (formerly wildfire) real time collaboration (RTC) server"
-HOMEPAGE="http://www.igniterealtime.org/projects/openfire/"
-SRC_URI="http://www.igniterealtime.org/builds/openfire/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RDEPEND=">=virtual/jre-1.7"
-DEPEND="net-im/jabber-base
- ~dev-java/ant-contrib-1.0_beta2
- >=virtual/jdk-1.7"
-
-S=${WORKDIR}/${PN}_src
-
-pkg_setup() {
- java-pkg-2_pkg_setup
-}
-
-src_compile() {
- # Jikes doesn't support -source 1.5
- java-pkg_filter-compiler jikes
-
- ANT_TASKS="ant-contrib"
- eant -f build/build.xml openfire plugins $(use_doc)
-
- # delete nativeAuth prebuilt libs:
- # uses outdated unmaintained libshaj, does not support amd64
- rm -rfv target/openfire/resources/nativeAuth || die
-}
-
-src_install() {
- #Protect ssl key on upgrade
- dodir /etc/env.d/
- echo 'CONFIG_PROTECT="/opt/openfire/conf/ /opt/openfire/resources/security/"' > "${D}"/etc/env.d/98openfire
-
- newinitd "${FILESDIR}"/openfire-initd openfire
- newconfd "${FILESDIR}"/openfire-confd openfire
- systemd_dounit "${FILESDIR}"/${PN}.service
-
- diropts --owner=jabber --group=jabber
- insopts --owner=jabber --group=jabber
- dodir /opt/openfire
-
- dodir /opt/openfire/logs
- keepdir /opt/openfire/logs
-
- dodir /opt/openfire/lib
- insinto /opt/openfire/lib
- doins target/openfire/lib/*
-
- dodir /opt/openfire/plugins
- insinto /opt/openfire/plugins
- doins -r target/openfire/plugins/*
-
- dodir /opt/openfire/resources
- insinto /opt/openfire/resources
- doins -r target/openfire/resources/*
-
- if use doc; then
- dohtml -r documentation/docs/*
- fi
- dodoc documentation/dist/*
-
- dodir /opt/openfire/conf
- insinto /opt/openfire/conf
- insopts --mode=0600 --owner=jabber --group=jabber
- newins target/openfire/conf/openfire.xml openfire.xml
- newins target/openfire/conf/security.xml security.xml
-}
diff --git a/net-im/openmittsu/Manifest b/net-im/openmittsu/Manifest
index ac64148517e5..f396862e2e46 100644
--- a/net-im/openmittsu/Manifest
+++ b/net-im/openmittsu/Manifest
@@ -1,2 +1 @@
-DIST openmittsu-0.9.13.32.tar.xz 2078892 BLAKE2B 4960d3046dfe45568f56ddc4ad77677992ac4dc4d618a926a15b35431955c8f30aa20ad236cc3143bc1a24f64a4635fdc072a1c9f921238f1283b81b3d6befb7 SHA512 671ce8ed1a6f9aa8d15ee0d72ce78e2b5aef556243efacec4b0b434eaf5b0bd1b34aa6a0391e42ead9007011cca88e7ba2649f16456a2bf74d22355d1f308a0f
-DIST openmittsu-0.9.13.46.tar.xz 2183136 BLAKE2B 3935a00fae8aa937fdc2f629a7dbf2a06cf518fb3758e7c1e191247004fa4077f60dbe2a0e3fba9750405ec069c33b6336cc26f990947ecbb1dabfe3b7b586f6 SHA512 bd58189e7c714f74ec6271a94251f4222dcd4fdb8015d6d01ef57e860804ebfa97aab632f3db94da386bb58bbb674bb4db6b659d2c9ccdeedf8ddd9b026a99c4
+DIST openmittsu-0.10.0.0.tar.xz 2345724 BLAKE2B 407fe07147b17e6ac6ec2381e77256d09824fce87f1d9d141d2940e566191e911b05fb3d6701d342be9bb667551903f4f8913cbb25f504100e92ab4a38339555 SHA512 d4334c8516efcd63a3e9dfcf9f9655922aa14b2574f39269cf7019a8c951144569138c2a0a75abb16e2746a33002f0c07ef6c86dbdb5405e11c315ec630eb0d0
diff --git a/net-im/openmittsu/files/openmittsu-0.10.0.0-musl.patch b/net-im/openmittsu/files/openmittsu-0.10.0.0-musl.patch
new file mode 100644
index 000000000000..7935ff5530d4
--- /dev/null
+++ b/net-im/openmittsu/files/openmittsu-0.10.0.0-musl.patch
@@ -0,0 +1,25 @@
+Fix compilation with MUSL libc
+https://bugs.gentoo.org/907754
+
+Patch backported from spdlog repository:
+https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96
+
+commit 287a00d364990edbb621fe5e392aeb550135fb96
+Author: Khem Raj <raj.khem@gmail.com>
+Date: Tue Jan 3 09:54:50 2023 -0800
+
+ Do not use LFS64 functions on linux/musl (#2589)
+
+--- openmittsu-0.10.0.0/3rdparty/spdlog/include/spdlog/details/os-inl.h
++++ openmittsu-0.10.0.0/3rdparty/spdlog/include/spdlog/details/os-inl.h
+@@ -230,8 +230,8 @@
+ #else
+ int fd = ::fileno(f);
+ #endif
+-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
+-#if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
++// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated)
++#if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
+ struct stat64 st;
+ if (::fstat64(fd, &st) == 0)
+ {
diff --git a/net-im/openmittsu/files/openmittsu-0.9.13.32-fix-tests.patch b/net-im/openmittsu/files/openmittsu-0.9.13.32-fix-tests.patch
deleted file mode 100644
index c89d24536ae9..000000000000
--- a/net-im/openmittsu/files/openmittsu-0.9.13.32-fix-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- openmittsu-0.9.13.32-orig/CMakeLists.txt
-+++ openmittsu-0.9.13.32/CMakeLists.txt
-@@ -570,7 +570,7 @@
- target_link_libraries(openMittsu openMittsuCore Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network Qt5::Multimedia Qt5::MultimediaWidgets Qt5::Sql)
- target_link_libraries(openMittsuVersionInfo Qt5::Core)
- if (OPENMITTSU_ENABLE_TESTS)
-- target_link_libraries(openMittsuTests openMittsuCore Qt5::Core Qt5::Network Qt5::Multimedia Qt5::MultimediaWidgets Qt5::Sql gmock gtest)
-+ target_link_libraries(openMittsuTests openMittsuCore Qt5::Core Qt5::Network Qt5::Multimedia Qt5::MultimediaWidgets Qt5::Sql gmock gtest pthread)
- endif (OPENMITTSU_ENABLE_TESTS)
-
- # Link against libc++abi if requested.
diff --git a/net-im/openmittsu/metadata.xml b/net-im/openmittsu/metadata.xml
index c665e48637be..10e4ea021b98 100644
--- a/net-im/openmittsu/metadata.xml
+++ b/net-im/openmittsu/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ulm@gentoo.org</email>
diff --git a/net-im/openmittsu/openmittsu-0.9.13.32.ebuild b/net-im/openmittsu/openmittsu-0.10.0.0.ebuild
index cd5a0bb92916..dc31c3a2ca06 100644
--- a/net-im/openmittsu/openmittsu-0.9.13.32.ebuild
+++ b/net-im/openmittsu/openmittsu-0.10.0.0.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils desktop
+inherit cmake desktop
-DESCRIPTION="An open source chat client for Threema-style end-to-end encrypted chat networks"
+DESCRIPTION="Open source chat client for Threema-style end-to-end encrypted chat networks"
HOMEPAGE="https://www.openmittsu.de/"
-# git-archive-all.sh snapshot of https://github.com/blizzard4591/openMittsu.git
+# snapshot of https://github.com/blizzard4591/openMittsu.git
+# git-archive-all.sh --prefix ${P}/ -- - | xz > ${P}.tar.xz
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="GPL-2+ BitstreamVera OFL-1.1 Apache-2.0 CC0-1.0 MIT BSD"
@@ -17,7 +18,7 @@ IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-db/qt5-sqlcipher
- >=dev-libs/libsodium-1.0.11:=
+ >=dev-libs/libsodium-1.0.18:=
>=dev-qt/qtcore-5.7.1:5=
>=dev-qt/qtgui-5.7.1:5=
>=dev-qt/qtmultimedia-5.7.1:5=[widgets]
@@ -28,9 +29,7 @@ RDEPEND="dev-db/qt5-sqlcipher
DEPEND="${RDEPEND}
test? ( >=dev-cpp/gtest-1.8.0 )"
-PATCHES=(
- "${FILESDIR}"/${P}-fix-tests.patch
-)
+PATCHES=( "${FILESDIR}"/${P}-musl.patch )
DOCS=(
README.md
@@ -38,6 +37,8 @@ DOCS=(
Example-contacts-file.txt
)
+CMAKE_BUILD_TYPE="Gentoo"
+
src_configure() {
local mycmakeargs=(
# set version manually, since autodetection works only with git
@@ -45,7 +46,7 @@ src_configure() {
"-DOPENMITTSU_DISABLE_VERSION_UPDATE_CHECK=ON"
"-DOPENMITTSU_ENABLE_TESTS=$(usex test)"
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_test() {
@@ -55,7 +56,7 @@ src_test() {
src_install() {
local my_pn="openMittsu"
- cmake-utils_src_install
+ cmake_src_install
newicon resources/icon.png ${my_pn}.png
make_desktop_entry ${my_pn} ${my_pn} ${my_pn}
rm "${ED}"/usr/bin/${my_pn}VersionInfo || die
diff --git a/net-im/openmittsu/openmittsu-0.9.13.46.ebuild b/net-im/openmittsu/openmittsu-0.9.13.46.ebuild
deleted file mode 100644
index 3689bcc19f9e..000000000000
--- a/net-im/openmittsu/openmittsu-0.9.13.46.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils desktop
-
-DESCRIPTION="An open source chat client for Threema-style end-to-end encrypted chat networks"
-HOMEPAGE="https://www.openmittsu.de/"
-# git-archive-all.sh snapshot of https://github.com/blizzard4591/openMittsu.git
-SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
-
-LICENSE="GPL-2+ BitstreamVera OFL-1.1 Apache-2.0 CC0-1.0 MIT BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-db/qt5-sqlcipher
- >=dev-libs/libsodium-1.0.11:=
- >=dev-qt/qtcore-5.7.1:5=
- >=dev-qt/qtgui-5.7.1:5=
- >=dev-qt/qtmultimedia-5.7.1:5=[widgets]
- >=dev-qt/qtnetwork-5.7.1:5=[ssl]
- >=dev-qt/qtsql-5.7.1:5=[sqlite]
- >=dev-qt/qtwidgets-5.7.1:5=
- >=media-gfx/qrencode-3.4.4-r1:="
-DEPEND="${RDEPEND}
- test? ( >=dev-cpp/gtest-1.8.0 )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.9.13.32-fix-tests.patch
-)
-
-DOCS=(
- README.md
- Example-client-configuration-file.ini
- Example-contacts-file.txt
-)
-
-src_configure() {
- local mycmakeargs=(
- # set version manually, since autodetection works only with git
- "-DOPENMITTSU_CUSTOM_VERSION_STRING=${PV%.*}-${PV##*.}-00000000"
- "-DOPENMITTSU_DISABLE_VERSION_UPDATE_CHECK=ON"
- "-DOPENMITTSU_ENABLE_TESTS=$(usex test)"
- )
- cmake-utils_src_configure
-}
-
-src_test() {
- cd "${BUILD_DIR}" || die
- ./openMittsuTests || die
-}
-
-src_install() {
- local my_pn="openMittsu"
- cmake-utils_src_install
- newicon resources/icon.png ${my_pn}.png
- make_desktop_entry ${my_pn} ${my_pn} ${my_pn}
- rm "${ED}"/usr/bin/${my_pn}VersionInfo || die
- rm -f "${ED}"/usr/bin/${my_pn}Tests || die
-}
diff --git a/net-im/pidgin/Manifest b/net-im/pidgin/Manifest
index 1793616a9acd..e56f63e61b80 100644
--- a/net-im/pidgin/Manifest
+++ b/net-im/pidgin/Manifest
@@ -1,3 +1,3 @@
-DIST pidgin-2.10.9-irc_join_sleep.patch 534 BLAKE2B 0215cebb93993e19e700e4d4974351ab5e9a00ea094775076d8f439569b34c0ec2faaed360965867df58bc42677516983ce11a2601dd322c1bdf2f288253a5b8 SHA512 8de0d6f05e48cd5a3e894576e06c7fb82e4bfc778cce8bb179fa22e2a05f5c2390a0e4c5b626ee4b910a18eab170d8f4be200f435ce408a86575af99e51e3bdf
-DIST pidgin-2.13.0.tar.bz2 8994457 BLAKE2B 32be31509a90b924fba4a4dbaba304580d88dfc6d3bbe0c88ef12eef381f70e031af1a55ada2abfb6968a9967a9fdadfa69973482b80dea7bb554a983a96fa12 SHA512 68b3d1eefee111544c7eb347386d0aea4f47c3e320d5963a4e0d833ed6af7b1be243a7bcd6a38c9234b58601d10a9aebf8541f1d97decfeca754fa78dc693047
-DIST pidgin-eds-3.6.patch.bz2 2352 BLAKE2B 1d69dc55f43b9efe5d5278a017642702d67a297fe2587467ec0fdca7f9888e26640efe9ac2a18f77ae9c523bf125a2cec6d0bf621f0b2b16f55d30df1bf470df SHA512 a0195679ab55ed9c7ea18ace6dbf0fc994698f1f4eea9d8335dfdcdcd6a68975c0191bd22f150bf5a9a0a691ce7e9e73d79598e1e8be541efa1d9824a633d877
+DIST pidgin-2.14.10.tar.bz2 8229328 BLAKE2B 9f004abda0f00b315e763e8b17e4e938b44b8a971d5411d775b9428363ab2ae071462d6d16654fcc09270123c434ef2d1f639d7f6d85c08a83b05c0ba4342c21 SHA512 53241e9f62170fe7a8ea27ac03176d442f8aad4ed16da0033164b0949b00c3d476539b182e761950e7d6c385f22a891524c5f40a9cf8fe543b3003c37693314d
+DIST pidgin-2.14.12.tar.bz2 8226145 BLAKE2B 0f0bec301c196fb722b88998a2a420af4084aedb7563215bb44c2c74a670a20db030ac207f226cef7989477dba04a9655c71269564ccc3680b42946ee84fdb16 SHA512 ce016ab4c48448653ae22eead1ddc16f1d10f446c601f8abd2c85b4ea83a4e80092e1ce8182834d998b6587f42a92a9a91105b4db976e170ec7043bb6af3c54c
+DIST pidgin-2.14.13.tar.bz2 8230755 BLAKE2B 38dc8bbd8966b0fce9bdcc043077628df172568490c390e1b6730a326398557b0df2f6289c8fbcb55bee0dd73fad6efc4ca0341c0d172326ba69a6cc5afbd35c SHA512 8bce143079c9421370ec4762d6fdb9b4cacf41c754eecf55c678943b834b709af9c1969070f30361341c0f51576cad4dfcaff89935c2160446be46deb8d2d3ef
diff --git a/net-im/pidgin/files/pidgin-2.10.0-gold.patch b/net-im/pidgin/files/pidgin-2.10.0-gold.patch
deleted file mode 100644
index 819bfdc5c6bf..000000000000
--- a/net-im/pidgin/files/pidgin-2.10.0-gold.patch
+++ /dev/null
@@ -1,30 +0,0 @@
- pidgin/Makefile.am | 2 +-
- pidgin/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
-index b6a5bd4..96d207d 100644
---- a/pidgin/Makefile.am
-+++ b/pidgin/Makefile.am
-@@ -158,7 +158,7 @@ pidgin_LDADD = \
- $(GTKSPELL_LIBS) \
- $(LIBXML_LIBS) \
- $(GTK_LIBS) \
-- $(top_builddir)/libpurple/libpurple.la
-+ $(top_builddir)/libpurple/libpurple.la -lm
-
- if USE_INTERNAL_LIBGADU
- INTGG_CFLAGS = -DUSE_INTERNAL_LIBGADU
-diff --git a/pidgin/Makefile.in b/pidgin/Makefile.in
-index 615c196..0293e5c 100644
---- a/pidgin/Makefile.in
-+++ b/pidgin/Makefile.in
-@@ -607,7 +607,7 @@ EXTRA_DIST = \
- @ENABLE_GTK_TRUE@ $(GTKSPELL_LIBS) \
- @ENABLE_GTK_TRUE@ $(LIBXML_LIBS) \
- @ENABLE_GTK_TRUE@ $(GTK_LIBS) \
--@ENABLE_GTK_TRUE@ $(top_builddir)/libpurple/libpurple.la
-+@ENABLE_GTK_TRUE@ $(top_builddir)/libpurple/libpurple.la -lm
-
- @ENABLE_GTK_TRUE@@USE_INTERNAL_LIBGADU_TRUE@INTGG_CFLAGS = -DUSE_INTERNAL_LIBGADU
- @ENABLE_GTK_TRUE@AM_CPPFLAGS = \
diff --git a/net-im/pidgin/files/pidgin-2.10.10-eds-3.6-configure.ac.patch b/net-im/pidgin/files/pidgin-2.10.10-eds-3.6-configure.ac.patch
deleted file mode 100644
index 555ef8c1ab16..000000000000
--- a/net-im/pidgin/files/pidgin-2.10.10-eds-3.6-configure.ac.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -urN pidgin-2.10.10.orig/configure.ac pidgin-2.10.10/configure.ac
---- pidgin-2.10.10.orig/configure.ac 2014-10-17 04:19:33.000000000 +0400
-+++ pidgin-2.10.10/configure.ac 2014-10-28 15:56:27.853702740 +0300
-@@ -569,18 +569,10 @@
- dnl # Check for stuff needed by the Evolution integration plugin.
- dnl #######################################################################
- if test "x$enable_gevolution" = "xyes"; then
-- evo_deps="libebook-1.2 libedata-book-1.2 evolution-data-server-1.2 < 3.6"
-+ evo_deps="libebook-1.2 libedata-book-1.2 evolution-data-server-1.2 >= 3.6"
- PKG_CHECK_MODULES(EVOLUTION_ADDRESSBOOK, $evo_deps, , [
- enable_gevolution="no"
- ])
-- if test "x$enable_gevolution" = "xno"; then
-- evo_deps="libebook-1.0 libedata-book-1.0"
-- PKG_CHECK_MODULES(EVOLUTION_ADDRESSBOOK, $evo_deps, [
-- enable_gevolution="yes"
-- ], [
-- enable_gevolution="no"
-- ])
-- fi
- if test "x$enable_gevolution" = "xyes"; then
- AC_DEFINE(HAVE_EVOLUTION_ADDRESSBOOK, 1, [Define if we're using evolution addressbook.])
- AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
diff --git a/net-im/pidgin/files/pidgin-2.10.11-tinfo.patch b/net-im/pidgin/files/pidgin-2.10.11-tinfo.patch
deleted file mode 100644
index 370ac62a6e23..000000000000
--- a/net-im/pidgin/files/pidgin-2.10.11-tinfo.patch
+++ /dev/null
@@ -1,24 +0,0 @@
- configure.ac | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 51471b1..81c57ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -635,6 +635,8 @@ AC_ARG_WITH(ncurses-headers, [AC_HELP_STRING([--with-ncurses-headers=DIR],
- [compile finch against the ncurses includes in DIR])],
- [ac_ncurses_includes="$withval"], [ac_ncurses_includes=""])
- if test "x$enable_consoleui" = "xyes"; then
-+ PKG_CHECK_MODULES([GNT], [ncursesw panelw], [], [
-+ PKG_CHECK_MODULES([GNT], [ncurses panel], [], [
- AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_consoleui=no])
- AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"],
- [enable_consoleui=no], [$GNT_LIBS])
-@@ -699,6 +701,7 @@ if test "x$enable_consoleui" = "xyes"; then
- fi
- fi
- fi
-+ ])])
- fi
-
- if test "x$force_finch" = "xyes" -a "x$enable_consoleui" != "xyes"; then
diff --git a/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch b/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch
deleted file mode 100644
index 4cec32663808..000000000000
--- a/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/pidgin/Makefile.am 2014-02-02 22:29:20.000000000 +0100
-+++ b/pidgin/Makefile.am 2014-02-14 19:35:24.347547795 +0100
-@@ -154,6 +154,7 @@
- $(GSTREAMER_LIBS) \
- $(XSS_LIBS) \
- $(SM_LIBS) \
-+ $(X11_LIBS) \
- $(INTLLIBS) \
- $(GTKSPELL_LIBS) \
- $(LIBXML_LIBS) \
diff --git a/net-im/pidgin/files/pidgin-2.10.9-irc_join_sleep.patch b/net-im/pidgin/files/pidgin-2.10.9-irc_join_sleep.patch
new file mode 100644
index 000000000000..860a43a9551a
--- /dev/null
+++ b/net-im/pidgin/files/pidgin-2.10.9-irc_join_sleep.patch
@@ -0,0 +1,11 @@
+diff -ur ./pidgin-2.10.9.orig/libpurple/protocols/irc/irc.c pidgin-2.10.9/libpurple/protocols/irc/irc.c
+--- ./pidgin-2.10.9.orig/libpurple/protocols/irc/irc.c 2014-02-02 15:29:18.000000000 -0600
++++ pidgin-2.10.9/libpurple/protocols/irc/irc.c 2014-09-02 10:30:24.830599697 -0500
+@@ -742,6 +742,7 @@
+ struct irc_conn *irc = gc->proto_data;
+ const char *args[2];
+
++ g_usleep(500000);
+ args[0] = g_hash_table_lookup(data, "channel");
+ args[1] = g_hash_table_lookup(data, "password");
+ irc_cmd_join(irc, "join", NULL, args);
diff --git a/net-im/pidgin/files/pidgin-2.13.0-disable-one-jid-test.patch b/net-im/pidgin/files/pidgin-2.13.0-disable-one-jid-test.patch
deleted file mode 100644
index cf3a6de7bfb2..000000000000
--- a/net-im/pidgin/files/pidgin-2.13.0-disable-one-jid-test.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/593338
-
-Workaround one failing test. test fails on all platforms.
-Needs to be fixed upstream.
-
---- a/libpurple/tests/test_jabber_jutil.c
-+++ b/libpurple/tests/test_jabber_jutil.c
-@@ -144,7 +144,16 @@ START_TEST(test_jabber_id_new)
- * string MUST NOT contain any LCat character."
- * The character is U+066D (ARABIC FIVE POINTED STAR).
- */
-+#if 0
-+ /*
-+ Fails in gentoo: https://bugs.gentoo.org/593338
-+
-+ 98%: Checks: 87, Failures: 1, Errors: 0
-+ test_jabber_jutil.c:147:F:JID validate:test_jabber_id_new:0: JID 'foo@example.com/٭simplexe٭' is invalid but jabber_id_new() allowed it
-+ FAIL check_libpurple (exit status: 1)
-+ */
- assert_invalid_jid("foo@example.com/٭simplexe٭");
-+#endif
-
- /* Ensure that jabber_id_new is properly lowercasing node and domains */
- assert_jid_parts("paul", "darkrain42.org", "PaUL@darkrain42.org");
diff --git a/net-im/pidgin/files/pidgin-2.13.0-python3_support.patch b/net-im/pidgin/files/pidgin-2.13.0-python3_support.patch
deleted file mode 100644
index 19ece4a9a223..000000000000
--- a/net-im/pidgin/files/pidgin-2.13.0-python3_support.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-# HG changeset patch
-# User John Bailey <rekkanoryo@rekkanoryo.org>
-# Date 1527918187 14400
-# Sat Jun 02 01:43:07 2018 -0400
-# Branch upstream-fedora-patches
-# Node ID ab3a54cf9afbd2a1cb6736c7ee424d8fc82e7b14
-# Parent de18cefddad5ffe593a192f3a20f6f91165ab516
-Modified Jan Synacek's purple-remote python3 compatibility patch to make it
-compatible with both python2 and python3.
-
-diff --git a/COPYRIGHT b/COPYRIGHT
---- a/COPYRIGHT
-+++ b/COPYRIGHT
-@@ -544,6 +544,7 @@
- Sun Microsystems
- Marcus Sundberg
- Mårten Svantesson (fursten)
-+Jan Synacek <jsynacek@redhat.com>
- Amir Szekely (kichik)
- Gábor Szuromi (kukkerman)
- Jakub Szypulka
-diff --git a/libpurple/purple-remote b/libpurple/purple-remote
---- a/libpurple/purple-remote
-+++ b/libpurple/purple-remote
-@@ -14,7 +14,11 @@
- import xml.dom.minidom
-
- sys.stdin = codecs.getwriter('utf-8')(sys.stdin);
--sys.stdout = codecs.getwriter('utf-8')(sys.stdout);
-+
-+if(sys.version_info > (3,0)):
-+ sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach());
-+else:
-+ sys.stdout = codecs.getwriter('utf-8')(sys.stdout);
-
- xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName
-
diff --git a/net-im/pidgin/metadata.xml b/net-im/pidgin/metadata.xml
index 718b51ce3ea3..8875dc41710e 100644
--- a/net-im/pidgin/metadata.xml
+++ b/net-im/pidgin/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>nativemad@gentoo.org</email>
+ <name>Andreas Schuerch</name>
</maintainer>
<longdescription>
- Pidgin is an instant messaging program for Windows, Linux, BSD, and other Unixes. You can talk to your friends using AIM, ICQ, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC, SIMPLE, and Zephyr.
+ Pidgin is an instant messaging program for Windows, Linux, BSD, and other Unixes.
+ You can talk to your friends using AIM, ICQ, Jabber/XMPP, MSN Messenger, Yahoo!,
+ Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SIMPLE,
+ and Zephyr.
</longdescription>
<use>
<flag name="gadu">Enable Gadu Gadu protocol support</flag>
@@ -17,7 +20,6 @@
<flag name="ncurses">Build finch, console interface</flag>
<flag name="prediction">Enable Contact Availability Prediction plugin</flag>
<flag name="python">Build libgnt (GLib Ncurses Toolkit used by finch) with python scripting support</flag>
- <flag name="silc">Enable SILC protocol support</flag>
<flag name="xscreensaver">Use X screensaver protocol extension to monitor idle/active status based on mouse/keyboard events</flag>
<flag name="zephyr">Enable Zephyr protocol support</flag>
</use>
diff --git a/net-im/pidgin/pidgin-2.13.0-r1.ebuild b/net-im/pidgin/pidgin-2.14.10-r1.ebuild
index 68c1f9e981a0..384fc9483316 100644
--- a/net-im/pidgin/pidgin-2.13.0-r1.ebuild
+++ b/net-im/pidgin/pidgin-2.14.10-r1.ebuild
@@ -1,27 +1,24 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
GENTOO_DEPEND_ON_PERL=no
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+PYTHON_COMPAT=( python3_{9..10} )
-inherit autotools flag-o-matic gnome2 toolchain-funcs multilib perl-module python-single-r1 xdg-utils
+inherit autotools gnome2-utils flag-o-matic perl-module python-single-r1 xdg
DESCRIPTION="GTK Instant Messenger client"
-HOMEPAGE="http://pidgin.im/"
-SRC_URI="
- mirror://sourceforge/${PN}/${P}.tar.bz2
- https://dev.gentoo.org/~polynomial-c/${PN}-eds-3.6.patch.bz2
- https://gist.githubusercontent.com/imcleod/77f38d11af11b2413ada/raw/46e9d6cb4d2f839832dad2d697bb141a88028e04/pidgin-irc-join-sleep.patch -> ${PN}-2.10.9-irc_join_sleep.patch"
+HOMEPAGE="https://pidgin.im/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0/2" # libpurple version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="dbus debug doc eds gadu gnutls +gstreamer +gtk idn meanwhile pie"
-IUSE+=" networkmanager nls perl silc tcl tk spell sasl ncurses"
-IUSE+=" groupwise prediction python +xscreensaver zephyr zeroconf" # mono"
-IUSE+=" aqua"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="aqua dbus debug doc eds gadu gnutls groupwise +gstreamer +gtk idn
+meanwhile ncurses networkmanager nls perl pie prediction python sasl spell tcl
+test tk v4l +xscreensaver zephyr zeroconf"
+RESTRICT="!test? ( test )"
# dbus requires python to generate C code for dbus bindings (thus DEPEND only).
# finch uses libgnt that links with libpython - {R,}DEPEND. But still there is
@@ -32,10 +29,23 @@ IUSE+=" aqua"
RDEPEND="
>=dev-libs/glib-2.16
>=dev-libs/libxml2-2.6.18
- ncurses? (
- sys-libs/ncurses:0=[unicode]
- dbus? ( ${PYTHON_DEPS} )
- python? ( ${PYTHON_DEPS} )
+ dbus? (
+ >=dev-libs/dbus-glib-0.71
+ >=sys-apps/dbus-0.90
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ ')
+ )
+ gadu? ( >=net-libs/libgadu-1.11.0 )
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/nspr
+ dev-libs/nss
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ >=net-libs/farstream-0.2.7:0.2
)
gtk? (
>=x11-libs/gtk+-2.10:2[aqua=]
@@ -46,54 +56,41 @@ RDEPEND="
eds? ( >=gnome-extra/evolution-data-server-3.6:= )
prediction? ( >=dev-db/sqlite-3.3:3 )
)
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- >=net-libs/farstream-0.2.7:0.2
- )
- zeroconf? ( net-dns/avahi[dbus] )
- dbus? (
- >=dev-libs/dbus-glib-0.71
- >=sys-apps/dbus-0.90
- dev-python/dbus-python[${PYTHON_USEDEP}]
+ idn? ( net-dns/libidn:= )
+ meanwhile? ( net-libs/meanwhile )
+ ncurses? (
+ >=dev-libs/libgnt-$(ver_cut 1-2)
+ sys-libs/ncurses:=[unicode(+)]
+ dbus? ( ${PYTHON_DEPS} )
+ python? ( ${PYTHON_DEPS} )
)
+ networkmanager? ( net-misc/networkmanager )
perl? ( >=dev-lang/perl-5.16:= )
- gadu? (
- || (
- >=net-libs/libgadu-1.11.0[ssl,gnutls]
- >=net-libs/libgadu-1.11.0[-ssl]
- )
- )
- gnutls? ( net-libs/gnutls )
- !gnutls? (
- dev-libs/nspr
- dev-libs/nss
- )
- meanwhile? ( net-libs/meanwhile )
- silc? ( >=net-im/silc-toolkit-1.0.1 )
+ sasl? ( dev-libs/cyrus-sasl:2 )
tcl? ( dev-lang/tcl:0= )
tk? ( dev-lang/tk:0= )
- sasl? ( dev-libs/cyrus-sasl:2 )
- networkmanager? ( net-misc/networkmanager )
- idn? ( net-dns/libidn:= )
- !<x11-plugins/pidgin-facebookchat-1.69-r1"
- # Mono support crashes pidgin
- #mono? ( dev-lang/mono )"
+ v4l? ( media-plugins/gst-plugins-v4l2 )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
# We want nls in case gtk is enabled, bug #
NLS_DEPEND=">=dev-util/intltool-0.41.1 sys-devel/gettext"
-DEPEND="$RDEPEND
- dev-lang/perl
- dev-perl/XML-Parser
- virtual/pkgconfig
+DEPEND="${RDEPEND}
gtk? (
x11-base/xorg-proto
${NLS_DEPEND}
)
dbus? ( ${PYTHON_DEPS} )
- doc? ( app-doc/doxygen )
- !gtk? ( nls? ( ${NLS_DEPEND} ) )"
+"
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ !gtk? ( nls? ( ${NLS_DEPEND} ) )
+ test? ( >=dev-libs/check-0.9.4 )
+"
DOCS=( AUTHORS HACKING NEWS README ChangeLog )
@@ -101,10 +98,11 @@ REQUIRED_USE="
dbus? ( ${PYTHON_REQUIRED_USE} )
networkmanager? ( dbus )
python? ( ${PYTHON_REQUIRED_USE} )
+ v4l? ( gstreamer )
"
# Enable Default protocols
-DYNAMIC_PRPLS="irc,jabber,oscar,simple"
+DEFAULT_PRPLS="irc,jabber,simple"
# List of plugins
# app-accessibility/pidgin-festival
@@ -114,7 +112,6 @@ DYNAMIC_PRPLS="irc,jabber,oscar,simple"
# x11-plugins/pidgin-encryption
# x11-plugins/pidgin-extprefs
# x11-plugins/pidgin-hotkeys
-# x11-plugins/pidgin-latex
# x11-plugins/pidgintex
# x11-plugins/pidgin-libnotify
# x11-plugins/pidgin-mbpurple
@@ -137,16 +134,7 @@ DYNAMIC_PRPLS="irc,jabber,oscar,simple"
# x11-plugins/pidgin-sendscreenshot
# x11-plugins/pidgimpd
-PATCHES=(
- "${FILESDIR}/${PN}-2.10.0-gold.patch"
- "${WORKDIR}/${PN}-eds-3.6.patch"
- "${FILESDIR}/${PN}-2.10.9-fix-gtkmedia.patch"
- "${FILESDIR}/${PN}-2.10.10-eds-3.6-configure.ac.patch"
- "${FILESDIR}/${PN}-2.10.11-tinfo.patch"
- "${DISTDIR}/${PN}-2.10.9-irc_join_sleep.patch" # 577286
- "${FILESDIR}/${PN}-2.13.0-disable-one-jid-test.patch" # 593338
- "${FILESDIR}/${PN}-2.13.0-python3_support.patch" #459996
-)
+PATCHES=( "${FILESDIR}/${PN}-2.10.9-irc_join_sleep.patch" ) # 577286
pkg_pretend() {
if ! use gtk && ! use ncurses ; then
@@ -171,6 +159,7 @@ pkg_setup() {
}
src_prepare() {
+ xdg_environment_reset
default
eautoreconf
}
@@ -181,71 +170,82 @@ src_configure() {
replace-flags -O? -O2
use pie && append-cflags -fPIE -pie
- use gadu && DYNAMIC_PRPLS+=",gg"
- use groupwise && DYNAMIC_PRPLS+=",novell"
- use silc && DYNAMIC_PRPLS+=",silc"
- use meanwhile && DYNAMIC_PRPLS+=",sametime"
- use zephyr && DYNAMIC_PRPLS+=",zephyr"
- use zeroconf && DYNAMIC_PRPLS+=",bonjour"
+ use gadu && DEFAULT_PRPLS+=",gg"
+ use groupwise && DEFAULT_PRPLS+=",novell"
+ use meanwhile && DEFAULT_PRPLS+=",sametime"
+ use zephyr && DEFAULT_PRPLS+=",zephyr"
+ use zeroconf && DEFAULT_PRPLS+=",bonjour"
local myconf=(
--disable-mono
- --with-dynamic-prpls="${DYNAMIC_PRPLS}"
+ --disable-static
+ # Don't downgrade F_S, we already set it in toolchain, bug #890276
+ --disable-fortify
+ --with-dynamic-prpls="${DEFAULT_PRPLS}"
--with-system-ssl-certs="${EPREFIX}/etc/ssl/certs/"
--x-includes="${EPREFIX}"/usr/include/X11
- $(use_enable ncurses consoleui)
+ $(use_enable dbus)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable gstreamer)
$(use_enable gtk gtkui)
$(use_enable gtk sm)
- $(usex gtk '--enable-nls' "$(use_enable nls)")
- $(use gtk && use_enable xscreensaver screensaver)
- $(use gtk && use_enable prediction cap)
- $(use gtk && use_enable eds gevolution)
- $(use gtk && use_enable spell gtkspell)
+ $(use_enable idn)
+ $(use_enable meanwhile)
+ $(use_enable networkmanager nm)
+ $(use_enable ncurses consoleui)
$(use_enable perl)
+ $(use_enable sasl cyrus-sasl )
$(use_enable tk)
$(use_enable tcl)
- $(use_enable debug)
- $(use_enable dbus)
- $(use_enable meanwhile)
- $(use_enable gstreamer)
- $(use_with gstreamer gstreamer 1.0)
- $(use_enable gstreamer farstream)
- $(use_enable gstreamer vv)
- $(use_enable sasl cyrus-sasl )
- $(use_enable doc doxygen)
- $(use_enable networkmanager nm)
+ $(use_enable v4l farstream)
+ $(use_enable v4l gstreamer-video)
+ $(use_enable v4l vv)
$(use_enable zeroconf avahi)
- $(use_enable idn)
+ $(use_with gstreamer gstreamer 1.0)
+ $(usex gtk '--enable-nls' "$(use_enable nls)")
+ $(use gtk && use_enable eds gevolution)
+ $(use gtk && use_enable prediction cap)
+ $(use gtk && use_enable spell gtkspell)
+ $(use gtk && use_enable xscreensaver screensaver)
)
- if use gnutls; then
+ if use gnutls ; then
einfo "Disabling NSS, using GnuTLS"
- myconf+=( --enable-nss=no --enable-gnutls=yes )
- myconf+=( --with-gnutls-includes="${EPREFIX}/usr/include/gnutls" )
- myconf+=( --with-gnutls-libs="${EPREFIX}/usr/$(get_libdir)" )
+ myconf+=(
+ --enable-gnutls=yes
+ --enable-nss=no
+ --with-gnutls-includes="${EPREFIX}/usr/include/gnutls"
+ --with-gnutls-libs="${EPREFIX}/usr/$(get_libdir)"
+ )
else
einfo "Disabling GnuTLS, using NSS"
- myconf+=( --enable-gnutls=no --enable-nss=yes )
+ myconf+=(
+ --enable-gnutls=no
+ --enable-nss=yes
+ )
fi
if use dbus || { use ncurses && use python ; } ; then
- myconf+=( --with-python=${PYTHON} )
+ myconf+=( --with-python3=${PYTHON} )
else
- myconf+=( --without-python )
+ myconf+=( --without-python3 )
fi
econf "${myconf[@]}"
}
src_install() {
- gnome2_src_install
+ # setting this here because we no longer use gnome2.eclass
+ export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
+ default
if use gtk ; then
# Fix tray paths for e16 (x11-wm/enlightenment) and other
- # implementations that are not complient with new hicolor theme yet, #323355
- local pixmapdir
- for d in 16 22 32 48; do
- pixmapdir=${ED%/}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions
+ # implementations that are not compliant with new hicolor theme yet, #323355
+ local d f pixmapdir
+ for d in 16 22 32 48 ; do
+ pixmapdir="${ED}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions"
mkdir "${pixmapdir}" || die
pushd "${pixmapdir}" >/dev/null || die
for f in ../status/*; do
@@ -256,30 +256,36 @@ src_install() {
fi
use perl && perl_delete_localpod
- if use python && use dbus ; then
- python_fix_shebang "${ED}"
+ use dbus && python_fix_shebang "${ED}"
+ if use python || use dbus ; then
python_optimize
fi
- dodoc ${DOCS} finch/plugins/pietray.py
+ dodoc ${DOCS[@]} finch/plugins/pietray.py
docompress -x /usr/share/doc/${PF}/pietray.py
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+ find "${ED}" -type f -name "*.la" -delete || die
}
src_test() {
# make default build logs slightly more useful
+ local -x GST_PLUGIN_SYSTEM_PATH_1_0=
emake check VERBOSE=1
}
-pkg_preinst() { gnome2_icon_savelist; }
+pkg_preinst() {
+ gnome2_gconf_savelist
+ xdg_pkg_preinst
+}
pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+ gnome2_gconf_install
+ gnome2_schemas_update
+ xdg_pkg_postinst
}
pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+ gnome2_gconf_uninstall
+ gnome2_schemas_update
+ xdg_pkg_postrm
}
diff --git a/net-im/pidgin/pidgin-2.13.0.ebuild b/net-im/pidgin/pidgin-2.14.12.ebuild
index 940a4d414de2..de2d6665b465 100644
--- a/net-im/pidgin/pidgin-2.13.0.ebuild
+++ b/net-im/pidgin/pidgin-2.14.12.ebuild
@@ -1,27 +1,24 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
GENTOO_DEPEND_ON_PERL=no
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools flag-o-matic gnome2 toolchain-funcs multilib perl-module python-single-r1 xdg-utils
+inherit autotools gnome2-utils flag-o-matic perl-module python-single-r1 xdg
DESCRIPTION="GTK Instant Messenger client"
-HOMEPAGE="http://pidgin.im/"
-SRC_URI="
- mirror://sourceforge/${PN}/${P}.tar.bz2
- https://dev.gentoo.org/~polynomial-c/${PN}-eds-3.6.patch.bz2
- https://gist.githubusercontent.com/imcleod/77f38d11af11b2413ada/raw/46e9d6cb4d2f839832dad2d697bb141a88028e04/pidgin-irc-join-sleep.patch -> ${PN}-2.10.9-irc_join_sleep.patch"
+HOMEPAGE="https://pidgin.im/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0/2" # libpurple version
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="dbus debug doc eds gadu gnutls +gstreamer +gtk idn meanwhile pie"
-IUSE+=" networkmanager nls perl silc tcl tk spell sasl ncurses"
-IUSE+=" groupwise prediction python +xscreensaver zephyr zeroconf" # mono"
-IUSE+=" aqua"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="aqua dbus debug doc eds gadu gnutls groupwise +gstreamer +gtk idn
+meanwhile ncurses networkmanager nls perl pie prediction python sasl spell tcl
+test tk v4l +xscreensaver zephyr zeroconf"
+RESTRICT="!test? ( test )"
# dbus requires python to generate C code for dbus bindings (thus DEPEND only).
# finch uses libgnt that links with libpython - {R,}DEPEND. But still there is
@@ -32,10 +29,23 @@ IUSE+=" aqua"
RDEPEND="
>=dev-libs/glib-2.16
>=dev-libs/libxml2-2.6.18
- ncurses? (
- sys-libs/ncurses:0=[unicode]
- dbus? ( ${PYTHON_DEPS} )
- python? ( ${PYTHON_DEPS} )
+ dbus? (
+ >=dev-libs/dbus-glib-0.71
+ >=sys-apps/dbus-0.90
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ ')
+ )
+ gadu? ( >=net-libs/libgadu-1.11.0 )
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/nspr
+ dev-libs/nss
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ >=net-libs/farstream-0.2.7:0.2
)
gtk? (
>=x11-libs/gtk+-2.10:2[aqua=]
@@ -46,54 +56,44 @@ RDEPEND="
eds? ( >=gnome-extra/evolution-data-server-3.6:= )
prediction? ( >=dev-db/sqlite-3.3:3 )
)
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- >=net-libs/farstream-0.2.7:0.2
- )
- zeroconf? ( net-dns/avahi[dbus] )
- dbus? (
- >=dev-libs/dbus-glib-0.71
- >=sys-apps/dbus-0.90
- dev-python/dbus-python
+ idn? ( net-dns/libidn:= )
+ meanwhile? ( net-libs/meanwhile )
+ ncurses? (
+ >=dev-libs/libgnt-$(ver_cut 1-2)
+ sys-libs/ncurses:=[unicode(+)]
+ dbus? ( ${PYTHON_DEPS} )
+ python? ( ${PYTHON_DEPS} )
)
+ networkmanager? ( net-misc/networkmanager )
perl? ( >=dev-lang/perl-5.16:= )
- gadu? (
- || (
- >=net-libs/libgadu-1.11.0[ssl,gnutls]
- >=net-libs/libgadu-1.11.0[-ssl]
- )
- )
- gnutls? ( net-libs/gnutls )
- !gnutls? (
- dev-libs/nspr
- dev-libs/nss
- )
- meanwhile? ( net-libs/meanwhile )
- silc? ( >=net-im/silc-toolkit-1.0.1 )
+ sasl? ( dev-libs/cyrus-sasl:2 )
tcl? ( dev-lang/tcl:0= )
tk? ( dev-lang/tk:0= )
- sasl? ( dev-libs/cyrus-sasl:2 )
- networkmanager? ( net-misc/networkmanager )
- idn? ( net-dns/libidn:= )
- !<x11-plugins/pidgin-facebookchat-1.69-r1"
- # Mono support crashes pidgin
- #mono? ( dev-lang/mono )"
+ v4l? ( media-plugins/gst-plugins-v4l2 )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
# We want nls in case gtk is enabled, bug #
-NLS_DEPEND=">=dev-util/intltool-0.41.1 sys-devel/gettext"
-
-DEPEND="$RDEPEND
- dev-lang/perl
- dev-perl/XML-Parser
- virtual/pkgconfig
+NLS_DEPEND="
+ >=dev-util/intltool-0.41.1
+ sys-devel/gettext
+"
+DEPEND="
+ ${RDEPEND}
gtk? (
x11-base/xorg-proto
${NLS_DEPEND}
)
dbus? ( ${PYTHON_DEPS} )
- doc? ( app-doc/doxygen )
- !gtk? ( nls? ( ${NLS_DEPEND} ) )"
+"
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ !gtk? ( nls? ( ${NLS_DEPEND} ) )
+ test? ( >=dev-libs/check-0.9.4 )
+"
DOCS=( AUTHORS HACKING NEWS README ChangeLog )
@@ -101,10 +101,11 @@ REQUIRED_USE="
dbus? ( ${PYTHON_REQUIRED_USE} )
networkmanager? ( dbus )
python? ( ${PYTHON_REQUIRED_USE} )
+ v4l? ( gstreamer )
"
# Enable Default protocols
-DYNAMIC_PRPLS="irc,jabber,oscar,simple"
+DEFAULT_PRPLS="irc,jabber,simple"
# List of plugins
# app-accessibility/pidgin-festival
@@ -114,7 +115,6 @@ DYNAMIC_PRPLS="irc,jabber,oscar,simple"
# x11-plugins/pidgin-encryption
# x11-plugins/pidgin-extprefs
# x11-plugins/pidgin-hotkeys
-# x11-plugins/pidgin-latex
# x11-plugins/pidgintex
# x11-plugins/pidgin-libnotify
# x11-plugins/pidgin-mbpurple
@@ -137,36 +137,30 @@ DYNAMIC_PRPLS="irc,jabber,oscar,simple"
# x11-plugins/pidgin-sendscreenshot
# x11-plugins/pidgimpd
-PATCHES=(
- "${FILESDIR}/${PN}-2.10.0-gold.patch"
- "${WORKDIR}/${PN}-eds-3.6.patch"
- "${FILESDIR}/${PN}-2.10.9-fix-gtkmedia.patch"
- "${FILESDIR}/${PN}-2.10.10-eds-3.6-configure.ac.patch"
- "${FILESDIR}/${PN}-2.10.11-tinfo.patch"
- "${DISTDIR}/${PN}-2.10.9-irc_join_sleep.patch" # 577286
- "${FILESDIR}/${PN}-2.13.0-disable-one-jid-test.patch" # 593338
-)
-
-pkg_setup() {
+pkg_pretend() {
if ! use gtk && ! use ncurses ; then
elog "You did not pick the ncurses or gtk use flags, only libpurple"
elog "will be built."
fi
- if use python || use dbus ; then
- python-single-r1_pkg_setup
- fi
# dbus is enabled, no way to disable linkage with python => python is enabled
#REQUIRED_USE="gtk? ( nls ) dbus? ( python )"
- if use gtk && ! use nls; then
+ if use gtk && ! use nls ; then
ewarn "gtk build => nls is enabled!"
fi
- if use dbus && ! use python; then
+ if use dbus && ! use python ; then
elog "dbus is enabled, no way to disable linkage with python => python is enabled"
fi
}
+pkg_setup() {
+ if use python || use dbus ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
src_prepare() {
+ xdg_environment_reset
default
eautoreconf
}
@@ -177,71 +171,82 @@ src_configure() {
replace-flags -O? -O2
use pie && append-cflags -fPIE -pie
- use gadu && DYNAMIC_PRPLS+=",gg"
- use groupwise && DYNAMIC_PRPLS+=",novell"
- use silc && DYNAMIC_PRPLS+=",silc"
- use meanwhile && DYNAMIC_PRPLS+=",sametime"
- use zephyr && DYNAMIC_PRPLS+=",zephyr"
- use zeroconf && DYNAMIC_PRPLS+=",bonjour"
+ use gadu && DEFAULT_PRPLS+=",gg"
+ use groupwise && DEFAULT_PRPLS+=",novell"
+ use meanwhile && DEFAULT_PRPLS+=",sametime"
+ use zephyr && DEFAULT_PRPLS+=",zephyr"
+ use zeroconf && DEFAULT_PRPLS+=",bonjour"
local myconf=(
--disable-mono
- --with-dynamic-prpls="${DYNAMIC_PRPLS}"
+ --disable-static
+ # Don't downgrade F_S, we already set it in toolchain, bug #890276
+ --disable-fortify
+ --with-dynamic-prpls="${DEFAULT_PRPLS}"
--with-system-ssl-certs="${EPREFIX}/etc/ssl/certs/"
--x-includes="${EPREFIX}"/usr/include/X11
- $(use_enable ncurses consoleui)
+ $(use_enable dbus)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable gstreamer)
$(use_enable gtk gtkui)
$(use_enable gtk sm)
- $(usex gtk '--enable-nls' "$(use_enable nls)")
- $(use gtk && use_enable xscreensaver screensaver)
- $(use gtk && use_enable prediction cap)
- $(use gtk && use_enable eds gevolution)
- $(use gtk && use_enable spell gtkspell)
+ $(use_enable idn)
+ $(use_enable meanwhile)
+ $(use_enable networkmanager nm)
+ $(use_enable ncurses consoleui)
$(use_enable perl)
+ $(use_enable sasl cyrus-sasl )
$(use_enable tk)
$(use_enable tcl)
- $(use_enable debug)
- $(use_enable dbus)
- $(use_enable meanwhile)
- $(use_enable gstreamer)
- $(use_with gstreamer gstreamer 1.0)
- $(use_enable gstreamer farstream)
- $(use_enable gstreamer vv)
- $(use_enable sasl cyrus-sasl )
- $(use_enable doc doxygen)
- $(use_enable networkmanager nm)
+ $(use_enable v4l farstream)
+ $(use_enable v4l gstreamer-video)
+ $(use_enable v4l vv)
$(use_enable zeroconf avahi)
- $(use_enable idn)
+ $(use_with gstreamer gstreamer 1.0)
+ $(usex gtk '--enable-nls' "$(use_enable nls)")
+ $(use gtk && use_enable eds gevolution)
+ $(use gtk && use_enable prediction cap)
+ $(use gtk && use_enable spell gtkspell)
+ $(use gtk && use_enable xscreensaver screensaver)
)
- if use gnutls; then
+ if use gnutls ; then
einfo "Disabling NSS, using GnuTLS"
- myconf+=( --enable-nss=no --enable-gnutls=yes )
- myconf+=( --with-gnutls-includes="${EPREFIX}/usr/include/gnutls" )
- myconf+=( --with-gnutls-libs="${EPREFIX}/usr/$(get_libdir)" )
+ myconf+=(
+ --enable-gnutls=yes
+ --enable-nss=no
+ --with-gnutls-includes="${EPREFIX}/usr/include/gnutls"
+ --with-gnutls-libs="${EPREFIX}/usr/$(get_libdir)"
+ )
else
einfo "Disabling GnuTLS, using NSS"
- myconf+=( --enable-gnutls=no --enable-nss=yes )
+ myconf+=(
+ --enable-gnutls=no
+ --enable-nss=yes
+ )
fi
if use dbus || { use ncurses && use python ; } ; then
- myconf+=( --with-python=${PYTHON} )
+ myconf+=( --with-python3=${PYTHON} )
else
- myconf+=( --without-python )
+ myconf+=( --without-python3 )
fi
econf "${myconf[@]}"
}
src_install() {
- gnome2_src_install
+ # setting this here because we no longer use gnome2.eclass
+ export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
+ default
- if use gtk; then
+ if use gtk ; then
# Fix tray paths for e16 (x11-wm/enlightenment) and other
- # implementations that are not complient with new hicolor theme yet, #323355
- local pixmapdir
- for d in 16 22 32 48; do
- pixmapdir=${ED%/}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions
+ # implementations that are not compliant with new hicolor theme yet, #323355
+ local d f pixmapdir
+ for d in 16 22 32 48 ; do
+ pixmapdir="${ED}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions"
mkdir "${pixmapdir}" || die
pushd "${pixmapdir}" >/dev/null || die
for f in ../status/*; do
@@ -252,30 +257,36 @@ src_install() {
fi
use perl && perl_delete_localpod
- if use python && use dbus ; then
- python_fix_shebang "${D}"
+ use dbus && python_fix_shebang "${ED}"
+ if use python || use dbus ; then
python_optimize
fi
- dodoc ${DOCS} finch/plugins/pietray.py
+ dodoc ${DOCS[@]} finch/plugins/pietray.py
docompress -x /usr/share/doc/${PF}/pietray.py
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+ find "${ED}" -type f -name "*.la" -delete || die
}
src_test() {
# make default build logs slightly more useful
+ local -x GST_PLUGIN_SYSTEM_PATH_1_0=
emake check VERBOSE=1
}
-pkg_preinst() { gnome2_icon_savelist; }
+pkg_preinst() {
+ gnome2_gconf_savelist
+ xdg_pkg_preinst
+}
pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+ gnome2_gconf_install
+ gnome2_schemas_update
+ xdg_pkg_postinst
}
pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+ gnome2_gconf_uninstall
+ gnome2_schemas_update
+ xdg_pkg_postrm
}
diff --git a/net-im/pidgin/pidgin-2.14.13.ebuild b/net-im/pidgin/pidgin-2.14.13.ebuild
new file mode 100644
index 000000000000..9b4c8c0a4078
--- /dev/null
+++ b/net-im/pidgin/pidgin-2.14.13.ebuild
@@ -0,0 +1,297 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL=no
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit autotools gnome2-utils flag-o-matic perl-module python-single-r1 xdg
+
+DESCRIPTION="GTK Instant Messenger client"
+HOMEPAGE="https://pidgin.im/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0/2" # libpurple version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+# The new gui useflag depends on the gtk useflag, as most pidgin plugins depend
+# on the gtk flag. As soon as all plugins have been updated to use the new
+# gui flag, the gtk flag can get removed.
+IUSE="aqua dbus debug doc eds gadu gnutls groupwise +gstreamer +gtk +gui idn
+meanwhile ncurses networkmanager nls perl pie prediction python sasl spell tcl
+test tk v4l +xscreensaver zephyr zeroconf"
+RESTRICT="!test? ( test )"
+
+# dbus requires python to generate C code for dbus bindings (thus DEPEND only).
+# finch uses libgnt that links with libpython - {R,}DEPEND. But still there is
+# no way to build dbus and avoid libgnt linkage with python. If you want this
+# send patch upstream.
+# purple-url-handler and purple-remote require dbus-python thus in reality we
+# rdepend on python if dbus enabled. But it is possible to separate this dep.
+RDEPEND="
+ >=dev-libs/glib-2.16
+ >=dev-libs/libxml2-2.6.18
+ dbus? (
+ >=dev-libs/dbus-glib-0.71
+ >=sys-apps/dbus-0.90
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ ')
+ )
+ gadu? ( >=net-libs/libgadu-1.11.0 )
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ dev-libs/nspr
+ dev-libs/nss
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ >=net-libs/farstream-0.2.7:0.2
+ )
+ gtk? (
+ >=x11-libs/gtk+-2.10:2[aqua=]
+ x11-libs/libSM
+ >=x11-libs/pango-1.4.0
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ spell? ( >=app-text/gtkspell-2.0.2:2 )
+ eds? ( >=gnome-extra/evolution-data-server-3.6:= )
+ prediction? ( >=dev-db/sqlite-3.3:3 )
+ )
+ idn? ( net-dns/libidn:= )
+ meanwhile? ( net-libs/meanwhile )
+ ncurses? (
+ >=dev-libs/libgnt-$(ver_cut 1-2)
+ sys-libs/ncurses:=[unicode(+)]
+ dbus? ( ${PYTHON_DEPS} )
+ python? ( ${PYTHON_DEPS} )
+ )
+ networkmanager? ( net-misc/networkmanager )
+ perl? ( >=dev-lang/perl-5.16:= )
+ sasl? ( dev-libs/cyrus-sasl:2 )
+ tcl? ( dev-lang/tcl:0= )
+ tk? ( dev-lang/tk:0= )
+ v4l? ( media-plugins/gst-plugins-v4l2 )
+ zeroconf? ( net-dns/avahi[dbus] )
+"
+
+# We want nls in case gtk is enabled, bug #
+NLS_DEPEND="
+ >=dev-util/intltool-0.41.1
+ sys-devel/gettext
+"
+DEPEND="
+ ${RDEPEND}
+ gtk? (
+ x11-base/xorg-proto
+ ${NLS_DEPEND}
+ )
+ dbus? ( ${PYTHON_DEPS} )
+"
+BDEPEND="
+ dev-lang/perl
+ dev-perl/XML-Parser
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ !gtk? ( nls? ( ${NLS_DEPEND} ) )
+ test? ( >=dev-libs/check-0.9.4 )
+"
+
+DOCS=( AUTHORS HACKING NEWS README ChangeLog )
+
+REQUIRED_USE="
+ dbus? ( ${PYTHON_REQUIRED_USE} )
+ gtk? ( gui )
+ gui? ( gtk )
+ networkmanager? ( dbus )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ v4l? ( gstreamer )
+"
+
+# Enable Default protocols
+DEFAULT_PRPLS="irc,jabber,simple"
+
+# List of plugins
+# app-accessibility/pidgin-festival
+# net-im/librvp
+# x11-plugins/guifications
+# x11-plugins/msn-pecan
+# x11-plugins/pidgin-encryption
+# x11-plugins/pidgin-extprefs
+# x11-plugins/pidgin-hotkeys
+# x11-plugins/pidgintex
+# x11-plugins/pidgin-libnotify
+# x11-plugins/pidgin-mbpurple
+# x11-plugins/pidgin-bot-sentry
+# x11-plugins/pidgin-otr
+# x11-plugins/pidgin-rhythmbox
+# x11-plugins/purple-plugin_pack
+# x11-themes/pidgin-smileys
+# x11-plugins/pidgin-knotify
+# Plugins in Sunrise:
+# x11-plugins/pidgin-audacious-remote
+# x11-plugins/pidgin-autoanswer
+# x11-plugins/pidgin-birthday-reminder
+# x11-plugins/pidgin-blinklight
+# x11-plugins/pidgin-convreverse
+# x11-plugins/pidgin-embeddedvideo
+# x11-plugins/pidgin-extended-blist-sort
+# x11-plugins/pidgin-gfire
+# x11-plugins/pidgin-lastfm
+# x11-plugins/pidgin-sendscreenshot
+# x11-plugins/pidgimpd
+
+pkg_pretend() {
+ if ! use gtk && ! use ncurses ; then
+ elog "You did not pick the ncurses or gtk use flags, only libpurple"
+ elog "will be built."
+ fi
+
+ # dbus is enabled, no way to disable linkage with python => python is enabled
+ #REQUIRED_USE="gtk? ( nls ) dbus? ( python )"
+ if use gtk && ! use nls ; then
+ ewarn "gtk build => nls is enabled!"
+ fi
+ if use dbus && ! use python ; then
+ elog "dbus is enabled, no way to disable linkage with python => python is enabled"
+ fi
+}
+
+pkg_setup() {
+ if use python || use dbus ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # Stabilize things, for your own good
+ strip-flags
+ replace-flags -O? -O2
+ use pie && append-cflags -fPIE -pie
+
+ use gadu && DEFAULT_PRPLS+=",gg"
+ use groupwise && DEFAULT_PRPLS+=",novell"
+ use meanwhile && DEFAULT_PRPLS+=",sametime"
+ use zephyr && DEFAULT_PRPLS+=",zephyr"
+ use zeroconf && DEFAULT_PRPLS+=",bonjour"
+
+ local myconf=(
+ --disable-mono
+ --disable-static
+ # Don't downgrade F_S, we already set it in toolchain, bug #890276
+ --disable-fortify
+ --with-dynamic-prpls="${DEFAULT_PRPLS}"
+ --with-system-ssl-certs="${EPREFIX}/etc/ssl/certs/"
+ --x-includes="${EPREFIX}"/usr/include/X11
+ $(use_enable dbus)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable gstreamer)
+ $(use_enable gtk gtkui)
+ $(use_enable gtk sm)
+ $(use_enable idn)
+ $(use_enable meanwhile)
+ $(use_enable networkmanager nm)
+ $(use_enable ncurses consoleui)
+ $(use_enable perl)
+ $(use_enable sasl cyrus-sasl )
+ $(use_enable tk)
+ $(use_enable tcl)
+ $(use_enable v4l farstream)
+ $(use_enable v4l gstreamer-video)
+ $(use_enable v4l vv)
+ $(use_enable zeroconf avahi)
+ $(use_with gstreamer gstreamer 1.0)
+ $(usex gtk '--enable-nls' "$(use_enable nls)")
+ $(use gtk && use_enable eds gevolution)
+ $(use gtk && use_enable prediction cap)
+ $(use gtk && use_enable spell gtkspell)
+ $(use gtk && use_enable xscreensaver screensaver)
+ )
+
+ if use gnutls ; then
+ einfo "Disabling NSS, using GnuTLS"
+ myconf+=(
+ --enable-gnutls=yes
+ --enable-nss=no
+ --with-gnutls-includes="${EPREFIX}/usr/include/gnutls"
+ --with-gnutls-libs="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ einfo "Disabling GnuTLS, using NSS"
+ myconf+=(
+ --enable-gnutls=no
+ --enable-nss=yes
+ )
+ fi
+
+ if use dbus || { use ncurses && use python ; } ; then
+ myconf+=( --with-python3=${PYTHON} )
+ else
+ myconf+=( --without-python3 )
+ fi
+ # set variable to prevent configure script from calling gconftool-2
+ GCONF_SCHEMA_INSTALL_SOURCE=/etc/gconf/schemas econf "${myconf[@]}"
+}
+
+src_install() {
+ # setting this here because we no longer use gnome2.eclass
+ export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
+ default
+
+ if use gtk ; then
+ # Fix tray paths for e16 (x11-wm/enlightenment) and other
+ # implementations that are not compliant with new hicolor theme yet, #323355
+ local d f pixmapdir
+ for d in 16 22 32 48 ; do
+ pixmapdir="${ED}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions"
+ mkdir "${pixmapdir}" || die
+ pushd "${pixmapdir}" >/dev/null || die
+ for f in ../status/*; do
+ ln -s ${f} || die
+ done
+ popd >/dev/null || die
+ done
+ fi
+ use perl && perl_delete_localpod
+
+ use dbus && python_fix_shebang "${ED}"
+ if use python || use dbus ; then
+ python_optimize
+ fi
+
+ dodoc ${DOCS[@]} finch/plugins/pietray.py
+ docompress -x /usr/share/doc/${PF}/pietray.py
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+src_test() {
+ # make default build logs slightly more useful
+ local -x GST_PLUGIN_SYSTEM_PATH_1_0=
+ emake check VERBOSE=1
+}
+
+pkg_preinst() {
+ gnome2_gconf_savelist
+ xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ gnome2_gconf_install
+ gnome2_schemas_update
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_gconf_uninstall
+ gnome2_schemas_update
+ xdg_pkg_postrm
+}
diff --git a/net-im/poezio/Manifest b/net-im/poezio/Manifest
index 9187b8c3e15f..89fdd00059f4 100644
--- a/net-im/poezio/Manifest
+++ b/net-im/poezio/Manifest
@@ -1 +1 @@
-DIST poezio-0.12.tar.gz 585750 BLAKE2B d79cab965b39a9ea191c763e1560bedbf46e3107e1b301a651103caf8f9e63b8465925ea01ac4e2e6b747b66cf5d4be8cabd8be80a069fe4eafcf331c7daada8 SHA512 6249daf23c6f4c1b25a9de686abaa62076e1eac7566da0a174ae3a82e3a53b7f2a86145d20d587a7ee43c8b679d90cb381d5afbfc7860459c5a497e97af32ff4
+DIST poezio-0.14.tar.gz 662379 BLAKE2B 467741d82945c084c79811d41ff85358ad236d0dcefca7e6f1f8ed5d78aa127f800d2370d624ebaf9e2eb20e1038f280c2e874694ea2b86965fe329b82c4b7d8 SHA512 6e68954a918c645592e2d2f8a265e2f2445a39e256c0525a5517e758a90cc404e066cc08d67ad0f8a3c7d6f3efd61f13a776737d110dd23df7a5f7fab54fc6b5
diff --git a/net-im/poezio/files/Do-not-install-man-pages-and-files-in-usr-share-poez.patch b/net-im/poezio/files/Do-not-install-man-pages-and-files-in-usr-share-poez.patch
new file mode 100644
index 000000000000..7b85ba892c43
--- /dev/null
+++ b/net-im/poezio/files/Do-not-install-man-pages-and-files-in-usr-share-poez.patch
@@ -0,0 +1,22 @@
+From 343c1e9be4cbf76c0ae437143b4000e36a1488ca Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Mon, 12 Jul 2021 15:08:30 +0200
+Subject: [PATCH] Do not install man pages and files in /usr/share/poezio
+
+Signed-off-by: Florian Schmaus <flo@geekplace.eu>
+--- a/setup.py
++++ b/setup.py
+@@ -156,13 +156,9 @@ setup(
+ scripts=['scripts/poezio_logs'],
+ entry_points={'console_scripts': ['poezio = poezio.__main__:run']},
+ data_files=([
+- ('share/man/man1/', ['data/poezio.1', 'data/poezio_logs.1']),
+- ('share/poezio/', ['README.rst', 'COPYING', 'CHANGELOG']),
+ ('share/applications/', ['data/io.poez.Poezio.desktop']),
+ ('share/metainfo/', ['data/io.poez.Poezio.appdata.xml'])
+ ]
+- + find_doc('share/doc/poezio/source', 'source')
+- + find_doc('share/doc/poezio/html', 'build/html')
+ + sphinx_files_found
+ ),
+ install_requires=['slixmpp>=1.6.0', 'aiodns', 'pyasn1_modules', 'pyasn1', 'typing_extensions', 'setuptools'],
diff --git a/net-im/poezio/metadata.xml b/net-im/poezio/metadata.xml
index 0f3aace8afd4..116cdcfb8474 100644
--- a/net-im/poezio/metadata.xml
+++ b/net-im/poezio/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
</maintainer>
<upstream>
<remote-id type="pypi">poezio</remote-id>
+ <remote-id type="codeberg">poezio/poezio</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-im/poezio/poezio-0.12.ebuild b/net-im/poezio/poezio-0.12.ebuild
deleted file mode 100644
index d550ee29c570..000000000000
--- a/net-im/poezio/poezio-0.12.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit distutils-r1 readme.gentoo-r1
-
-DESCRIPTION="Console XMPP client that looks like most famous IRC clients"
-HOMEPAGE="https://poez.io/"
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="test"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://git.poez.io/${PN}.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-RDEPEND="
- dev-python/aiodns[${PYTHON_USEDEP}]
- dev-python/pyasn1-modules[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/slixmpp[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- ${RDEPEND}
- dev-python/potr
- dev-python/pyinotify
- )"
-
-DOC_CONTENTS="
-Install these optional runtime dependencies for additional features.
-* dev-python/potr for OTR encryption support.
-* dev-python/pyinotify for screen autoaway plugin support.
-"
-DISABLE_AUTOFORMATTING=true
-
-src_prepare() {
- default
- # Delete unmaintained plugin which requires an excessive external dep
- rm plugins/mpd_client.py || die
-}
-
-src_install() {
- distutils-r1_src_install
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
-
-python_test() {
- esetup.py test
-}
diff --git a/net-im/poezio/poezio-0.14.ebuild b/net-im/poezio/poezio-0.14.ebuild
new file mode 100644
index 000000000000..31269b9415ce
--- /dev/null
+++ b/net-im/poezio/poezio-0.14.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 optfeature xdg
+
+DESCRIPTION="Console XMPP client that looks like most famous IRC clients"
+HOMEPAGE="https://poez.io/ https://codeberg.org/poezio/poezio"
+LICENSE="GPL-3+"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://lab.louiz.org/${PN}/${PN}.git https://github.com/poezio/poezio.git"
+ inherit git-r3
+
+ # We build the html documentation using sphinx.
+ BDEPEND="dev-python/sphinx"
+else
+ inherit pypi
+ KEYWORDS="amd64"
+fi
+
+RDEPEND="
+ dev-python/aiodns[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/slixmpp-1.8.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/Do-not-install-man-pages-and-files-in-usr-share-poez.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+ # Delete unmaintained plugin which requires an excessive external dep
+ rm plugins/mpd_client.py || die
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if [[ -n "${EGIT_REPO_URI}" ]]; then
+ emake -C doc html
+ fi
+}
+
+# Poezio provides its own Python C extension 'poopt', which needs to be
+# correctly discovered to run the tests. See
+# https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions
+python_test() {
+ cd "${T}" || die
+ epytest "${S}"/test
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ doman data/poezio.1 data/poezio_logs.1
+
+ if [[ -n "${EGIT_REPO_URI}" ]]; then
+ docinto html
+ dodoc -r doc/build/html/*
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "screen autoaway support" dev-python/pyinotify
+}
diff --git a/net-im/poezio/poezio-9999.ebuild b/net-im/poezio/poezio-9999.ebuild
index a0147fb03e58..65ae78d42495 100644
--- a/net-im/poezio/poezio-9999.ebuild
+++ b/net-im/poezio/poezio-9999.ebuild
@@ -1,22 +1,26 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{5,6} )
+EAPI=8
-inherit distutils-r1 readme.gentoo-r1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 optfeature xdg
DESCRIPTION="Console XMPP client that looks like most famous IRC clients"
-HOMEPAGE="https://poez.io/"
-LICENSE="ZLIB"
+HOMEPAGE="https://poez.io/ https://codeberg.org/poezio/poezio"
+LICENSE="GPL-3+"
SLOT="0"
-IUSE="test"
if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://lab.louiz.org/${PN}/${PN}.git"
+ EGIT_REPO_URI="https://lab.louiz.org/${PN}/${PN}.git https://github.com/poezio/poezio.git"
inherit git-r3
+
+ # We build the html documentation using sphinx.
+ BDEPEND="dev-python/sphinx"
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ inherit pypi
KEYWORDS="~amd64"
fi
@@ -24,21 +28,14 @@ RDEPEND="
dev-python/aiodns[${PYTHON_USEDEP}]
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/slixmpp[${PYTHON_USEDEP}]
+ >=dev-python/slixmpp-1.8.2[${PYTHON_USEDEP}]
"
-DEPEND="
- test? (
- ${RDEPEND}
- dev-python/potr
- dev-python/pyinotify
- )"
-
-DOC_CONTENTS="
-Install these optional runtime dependencies for additional features.
-* dev-python/potr for OTR encryption support.
-* dev-python/pyinotify for screen autoaway plugin support.
-"
-DISABLE_AUTOFORMATTING=true
+
+PATCHES=(
+ "${FILESDIR}/Do-not-install-man-pages-and-files-in-usr-share-poez.patch"
+)
+
+distutils_enable_tests pytest
src_prepare() {
default
@@ -46,15 +43,35 @@ src_prepare() {
rm plugins/mpd_client.py || die
}
+src_compile() {
+ distutils-r1_src_compile
+
+ if [[ -n "${EGIT_REPO_URI}" ]]; then
+ emake -C doc html
+ fi
+}
+
+# Poezio provides its own Python C extension 'poopt', which needs to be
+# correctly discovered to run the tests. See
+# https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions
+python_test() {
+ cd "${T}" || die
+ epytest "${S}"/test
+}
+
src_install() {
distutils-r1_src_install
- readme.gentoo_create_doc
+
+ doman data/poezio.1 data/poezio_logs.1
+
+ if [[ -n "${EGIT_REPO_URI}" ]]; then
+ docinto html
+ dodoc -r doc/build/html/*
+ fi
}
pkg_postinst() {
- readme.gentoo_print_elog
-}
+ xdg_pkg_postinst
-python_test() {
- esetup.py test
+ optfeature "screen autoaway support" dev-python/pyinotify
}
diff --git a/net-im/profanity/Manifest b/net-im/profanity/Manifest
index 94dfe57fd10c..9726decea4da 100644
--- a/net-im/profanity/Manifest
+++ b/net-im/profanity/Manifest
@@ -1 +1,5 @@
-DIST profanity-0.6.0.tar.gz 741812 BLAKE2B ba6cff070ee0e8a83b52677f6551c1d7397cd25993982d6b5390590a4924d902050504cb8803ee2741262b1409e4d75e9f223397f87f39d7dc86fcc56a0e5df6 SHA512 c7d8e74b764276f59fccfa029d45271032db315cdbf6e00deccbd611f202983a0930fed99021202333047acee9f3f0d7779cd9bb3628d2e5c4757e3de8c3629e
+DIST profanity-0.13.1.tar.xz 621836 BLAKE2B e038fa01272150cb7974b03f88f64335bf1690115dbbb1c6fe04c79acb69db18c556edf41316af1d363f9715cd2e7aeb3f3bd867836704b620d9a87976b64fa9 SHA512 6d7d3c96c65e26c15cac1157bd296c1dbd3e2471aec959d6c319c68b70ec21cef0c40d7b4eed40c30c377a766db9f13a774ccb4880c227ee368e4dd607d9c267
+DIST profanity-0.14.0-ox-carbons.patch 1525 BLAKE2B 85fe9a76a8c735047365d56555c8e1df7906b5a676740a165fc5d9eab3933124b58abf6bdd0b448b5030a51cd1fad3ce8627cc03a2fbdacdd20c5dcc71d194e1 SHA512 36cfbb12ef7889ae5f318e35da2b0edf39dca067cefb9ac921f27cba0f52746eaae9d65b7631be392dd6e9a15d1fc8f8a3de36efe8707c756e9b008291e7f55e
+DIST profanity-0.14.0-plugins-install.patch 2295 BLAKE2B 8b67718abdb620875b9040f550685189acf5a2776aa5f45422e3471c13ae05bd773c05652048940d5b8d10d88c9a013c3262742db7c84b0ff0c108f5f78ead45 SHA512 a8912d5a33d4d6eebf85733f616ed729a05688b4acf70c927aa733755527fd4e523c3a485bbb0390b2006225e8420e1d76db7e91d2122af41496c0081e3b0cea
+DIST profanity-0.14.0-xscreensaver.patch 1678 BLAKE2B fe350b2249e45224b6510bb5730f38eafeb47e60a44035eaf88771940c9f0e556cc72ca737cb68c0b148b9faff442b9c9b6cdf9169a3db7ff6c7a60c2bdfc025 SHA512 2875df728b9957fc3bc8734a87c0e1a48913170b9718d6664ea65187327e26da1a7b2f5b80fe243a5ce5ab74983e4f3d22113747f44f8b8e8c13c871d31cf651
+DIST profanity-0.14.0.tar.gz 936272 BLAKE2B ec2ae625950a838ee50d6d3a87910bec76f28777bd662e909f394f18c277662694611a59d3be6c7f66821c2800a94b08f94b27a68d82e4de33b7d2f7b14ddf18 SHA512 25afd2f3146e6ed9f573f0e073cad0f06f7f8a21441c3c2c61641442d1aa5b9a7a817cdccc17354b32045ab9a965a95495a30c49088577a5060e8969725ea86e
diff --git a/net-im/profanity/metadata.xml b/net-im/profanity/metadata.xml
index d2349017e1a3..7b75b4cdd81c 100644
--- a/net-im/profanity/metadata.xml
+++ b/net-im/profanity/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
+ <maintainer type="person" proxied="yes">
+ <email>jubalh@iodoru.org</email>
+ <name>Michael Vetter</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<longdescription>
Profanity is a console based XMPP client written in C using
@@ -11,6 +15,12 @@
</longdescription>
<use>
<flag name="gpg">Enable OpenPGP encryption</flag>
+ <flag name="omemo">Enable OMEMO encryption</flag>
+ <flag name="omemo-qrcode">Enable exchanging OMEMO information via QR code</flag>
<flag name="otr">Enable encrypted conversations using Off-The-Records messaging</flag>
+ <flag name="python">Enable Python plugins support</flag>
</use>
+ <upstream>
+ <remote-id type="github">profanity-im/profanity</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/profanity/profanity-0.13.1.ebuild b/net-im/profanity/profanity-0.13.1.ebuild
new file mode 100644
index 000000000000..e4e9ada1cc2d
--- /dev/null
+++ b/net-im/profanity/profanity-0.13.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A console based XMPP client inspired by Irssi"
+HOMEPAGE="https://profanity-im.github.io"
+SRC_URI="https://github.com/profanity-im/profanity/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="libnotify omemo otr gpg test xscreensaver"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ || ( app-accessibility/at-spi2-atk dev-libs/atk )
+ dev-libs/glib:2
+ dev-libs/libassuan
+ dev-libs/libgpg-error
+ >=dev-libs/libstrophe-0.12.2
+ media-libs/harfbuzz:=
+ net-misc/curl
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/readline:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ x11-misc/shared-mime-info
+ virtual/libcrypt:=
+ gpg? ( app-crypt/gpgme:= )
+ libnotify? ( x11-libs/libnotify )
+ omemo? (
+ dev-libs/libgcrypt:=
+ net-libs/libsignal-protocol-c
+ )
+ otr? ( net-libs/libotr )
+ xscreensaver? (
+ x11-libs/libXScrnSaver
+ x11-libs/libX11
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+
+src_configure() {
+ local myeconfargs=(
+ --enable-gdk-pixbuf
+ $(use_enable libnotify notifications)
+ $(use_enable omemo)
+ $(use_enable otr)
+ $(use_enable gpg pgp)
+ $(use_with xscreensaver)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/net-im/profanity/profanity-0.14.0-r1.ebuild b/net-im/profanity/profanity-0.14.0-r1.ebuild
new file mode 100644
index 000000000000..7ffbb30da303
--- /dev/null
+++ b/net-im/profanity/profanity-0.14.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-single-r1
+
+DESCRIPTION="A console based XMPP client inspired by Irssi"
+HOMEPAGE="https://profanity-im.github.io"
+SRC_URI="
+ https://github.com/profanity-im/profanity/releases/download/${PV}/${P}.tar.gz
+ https://github.com/profanity-im/profanity/commit/122434a.patch
+ -> ${PN}-0.14.0-ox-carbons.patch
+ https://github.com/profanity-im/profanity/commit/2ed6211c.patch
+ -> ${PN}-0.14.0-xscreensaver.patch
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="libnotify omemo omemo-qrcode otr gpg test xscreensaver python"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="omemo-qrcode? ( omemo ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ >=dev-libs/libstrophe-0.12.3:=
+ media-libs/harfbuzz:=
+ net-misc/curl
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/readline:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ x11-misc/shared-mime-info
+ gpg? ( app-crypt/gpgme:= )
+ libnotify? ( x11-libs/libnotify )
+ omemo? (
+ dev-libs/libgcrypt:=
+ net-libs/libsignal-protocol-c
+ )
+ omemo-qrcode? ( media-gfx/qrencode:= )
+ otr? ( net-libs/libotr )
+ python? ( ${PYTHON_DEPS} )
+ xscreensaver? (
+ x11-libs/libXScrnSaver
+ x11-libs/libX11
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${DISTDIR}/${PN}-0.14.0-ox-carbons.patch"
+ "${DISTDIR}/${PN}-0.14.0-xscreensaver.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-gdk-pixbuf
+ $(use_enable libnotify notifications)
+ $(use_enable omemo)
+ $(use_enable omemo-qrcode)
+ $(use_enable otr)
+ $(use_enable python python-plugins)
+ $(use_enable gpg pgp)
+ $(use_with xscreensaver)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/net-im/profanity/profanity-0.14.0-r2.ebuild b/net-im/profanity/profanity-0.14.0-r2.ebuild
new file mode 100644
index 000000000000..3426b20cecea
--- /dev/null
+++ b/net-im/profanity/profanity-0.14.0-r2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit python-single-r1
+
+DESCRIPTION="A console based XMPP client inspired by Irssi"
+HOMEPAGE="https://profanity-im.github.io"
+SRC_URI="
+ https://github.com/profanity-im/profanity/releases/download/${PV}/${P}.tar.gz
+ https://github.com/profanity-im/profanity/commit/122434a.patch
+ -> ${PN}-0.14.0-ox-carbons.patch
+ https://github.com/profanity-im/profanity/commit/2ed6211c.patch
+ -> ${PN}-0.14.0-xscreensaver.patch
+ https://github.com/profanity-im/profanity/commit/b8817470.patch
+ -> ${PN}-0.14.0-plugins-install.patch
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="libnotify omemo omemo-qrcode otr gpg test xscreensaver python"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="omemo-qrcode? ( omemo ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ >=dev-libs/libstrophe-0.12.3:=
+ media-libs/harfbuzz:=
+ net-misc/curl
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/readline:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ x11-misc/shared-mime-info
+ gpg? ( app-crypt/gpgme:= )
+ libnotify? ( x11-libs/libnotify )
+ omemo? (
+ dev-libs/libgcrypt:=
+ net-libs/libsignal-protocol-c
+ )
+ omemo-qrcode? ( media-gfx/qrencode:= )
+ otr? ( net-libs/libotr )
+ python? ( ${PYTHON_DEPS} )
+ xscreensaver? (
+ x11-libs/libXScrnSaver
+ x11-libs/libX11
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${DISTDIR}/${PN}-0.14.0-ox-carbons.patch"
+ "${DISTDIR}/${PN}-0.14.0-xscreensaver.patch"
+ "${DISTDIR}/${PN}-0.14.0-plugins-install.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-gdk-pixbuf
+ $(use_enable libnotify notifications)
+ $(use_enable omemo)
+ $(use_enable omemo-qrcode)
+ $(use_enable otr)
+ $(use_enable python python-plugins)
+ $(use_enable gpg pgp)
+ $(use_with xscreensaver)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/net-im/profanity/profanity-0.14.0.ebuild b/net-im/profanity/profanity-0.14.0.ebuild
new file mode 100644
index 000000000000..1c3dbeb86ba2
--- /dev/null
+++ b/net-im/profanity/profanity-0.14.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A console based XMPP client inspired by Irssi"
+HOMEPAGE="https://profanity-im.github.io"
+SRC_URI="https://github.com/profanity-im/profanity/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="libnotify omemo omemo-qrcode otr gpg test xscreensaver"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="omemo-qrcode? ( omemo )"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ >=dev-libs/libstrophe-0.12.3:=
+ media-libs/harfbuzz:=
+ net-misc/curl
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/readline:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ x11-misc/shared-mime-info
+ gpg? ( app-crypt/gpgme:= )
+ libnotify? ( x11-libs/libnotify )
+ omemo? (
+ dev-libs/libgcrypt:=
+ net-libs/libsignal-protocol-c
+ )
+ omemo-qrcode? ( media-gfx/qrencode:= )
+ otr? ( net-libs/libotr )
+ xscreensaver? (
+ x11-libs/libXScrnSaver
+ x11-libs/libX11
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+
+src_configure() {
+ local myeconfargs=(
+ --enable-gdk-pixbuf
+ $(use_enable libnotify notifications)
+ $(use_enable omemo)
+ $(use_enable omemo-qrcode)
+ $(use_enable otr)
+ $(use_enable gpg pgp)
+ $(use_with xscreensaver)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/net-im/profanity/profanity-0.6.0.ebuild b/net-im/profanity/profanity-0.6.0.ebuild
deleted file mode 100644
index 402ca75c0859..000000000000
--- a/net-im/profanity/profanity-0.6.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A console based XMPP client inspired by Irssi"
-HOMEPAGE="http://www.profanity.im/"
-SRC_URI="http://www.profanity.im/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="libnotify otr gpg xscreensaver"
-
-DEPEND="
- dev-libs/expat
- dev-libs/glib
- dev-libs/libstrophe:=
- dev-libs/openssl:0=
- net-misc/curl
- sys-apps/util-linux
- sys-libs/ncurses:=[unicode]
- gpg? ( app-crypt/gpgme:= )
- libnotify? ( x11-libs/libnotify )
- otr? ( net-libs/libotr )
- xscreensaver? (
- x11-libs/libXScrnSaver
- x11-libs/libX11 )
- "
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_enable libnotify notifications) \
- $(use_enable otr) \
- $(use_enable gpg pgp) \
- $(use_with xscreensaver)
-}
diff --git a/net-im/prosody-modules/Manifest b/net-im/prosody-modules/Manifest
new file mode 100644
index 000000000000..f201aea92483
--- /dev/null
+++ b/net-im/prosody-modules/Manifest
@@ -0,0 +1 @@
+DIST prosody-modules-0_pre20230221.tar.xz 1243536 BLAKE2B d9bf42acf22f94ab0e3a530ca09e3cdac066c46f8b3e443b1c6e0768e6e0a516175452f673edf85832e527e0533c7ab65f51f328af4f01883d02d91e45880c84 SHA512 b49f4e05ed7b2dbac319380a929240366b2da559bd612838ab447b2b705a962b5d006f1a087d3bbd9df0b6ab307030811747fb2cc78fa2d2e1ab6c8020767c84
diff --git a/net-im/prosody-modules/metadata.xml b/net-im/prosody-modules/metadata.xml
new file mode 100644
index 000000000000..ef7d6f03aa22
--- /dev/null
+++ b/net-im/prosody-modules/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <longdescription>
+ Prosody can be customized extensively using modules (plugins) to change
+ its default behaviour and to add new features and functionality.
+
+ Please note that each module is in a different state of development.
+ Some are proof-of-concept, others are quite stable and ready for production use.
+ Be sure to read the documentation page of any module before installing it on your server.
+ </longdescription>
+</pkgmetadata>
diff --git a/net-im/prosody-modules/prosody-modules-0_pre20230221.ebuild b/net-im/prosody-modules/prosody-modules-0_pre20230221.ebuild
new file mode 100644
index 000000000000..2950cf906871
--- /dev/null
+++ b/net-im/prosody-modules/prosody-modules-0_pre20230221.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit savedconfig
+
+DESCRIPTION="A collection of community-maintained modules for Prosody"
+HOMEPAGE="https://modules.prosody.im"
+SRC_URI="https://dev.gentoo.org/~conikost/distfiles/${P}.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="net-im/prosody"
+
+src_prepare() {
+ default
+
+ # Exclude 'misc' folder from install, since it does not provide any modules.
+ echo "# Remove all modules from this list, which you don't want to install." > prosody-modules.conf || die
+ find * -maxdepth 0 -type d ! -name misc >> prosody-modules.conf || die
+
+ use savedconfig && restore_config prosody-modules.conf
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/prosody/community-modules"
+ while read prosody_module; do
+ if ! [[ "${prosody_module}" = \#* ]]; then
+ if [[ -f "${prosody_module}/README.markdown" ]]; then
+ newdoc "${prosody_module}/README.markdown" "README.${prosody_module}"
+ rm "${prosody_module}/README.markdown" || die
+ fi
+
+ doins -r "${prosody_module}"
+ fi
+ done <prosody-modules.conf
+
+ save_config prosody-modules.conf
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ savedconfig_pkg_postinst
+
+ einfo "In order to use the community modules on an existing instance, you have to add"
+ einfo "'/usr/$(get_libdir)/prosody/community-modules' into 'plugin_paths'"
+ einfo "into your prosody configuration file '/etc/jabber/prosody.cfg.lua.'"
+ einfo ""
+ einfo "Example: plugin_paths = { \"/usr/$(get_libdir)/prosody/modules\","
+ einfo "\"/usr/$(get_libdir)/prosody/community-modules\" };"
+}
diff --git a/net-im/prosody-modules/prosody-modules-9999.ebuild b/net-im/prosody-modules/prosody-modules-9999.ebuild
new file mode 100644
index 000000000000..fe62bc7a36e7
--- /dev/null
+++ b/net-im/prosody-modules/prosody-modules-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit mercurial savedconfig
+
+EHG_REPO_URI="https://hg.prosody.im/${PN}/"
+
+DESCRIPTION="A collection of community-maintained modules for Prosody"
+HOMEPAGE="https://modules.prosody.im"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="net-im/prosody"
+
+src_prepare() {
+ default
+
+ # Exclude 'misc' folder from install, since it does not provide any modules.
+ echo "# Remove all modules from this list, which you don't want to install." > prosody-modules.conf || die
+ find * -maxdepth 0 -type d ! -name misc >> prosody-modules.conf || die
+
+ use savedconfig && restore_config prosody-modules.conf
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/prosody/community-modules"
+ while read prosody_module; do
+ if ! [[ "${prosody_module}" = \#* ]]; then
+ if [[ -f "${prosody_module}/README.markdown" ]]; then
+ newdoc "${prosody_module}/README.markdown" "README.${prosody_module}"
+ rm "${prosody_module}/README.markdown" || die
+ fi
+
+ doins -r "${prosody_module}"
+ fi
+ done <prosody-modules.conf
+
+ save_config prosody-modules.conf
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ savedconfig_pkg_postinst
+
+ einfo "In order to use the community modules on an existing instance, you have to add"
+ einfo "'/usr/$(get_libdir)/prosody/community-modules' into 'plugin_paths'"
+ einfo "into your prosody configuration file '/etc/jabber/prosody.cfg.lua.'"
+ einfo ""
+ einfo "Example: plugin_paths = { \"/usr/$(get_libdir)/prosody/modules\","
+ einfo "\"/usr/$(get_libdir)/prosody/community-modules\" };"
+}
diff --git a/net-im/prosody/Manifest b/net-im/prosody/Manifest
index 048bc0cc99b3..8454059a66ea 100644
--- a/net-im/prosody/Manifest
+++ b/net-im/prosody/Manifest
@@ -1,3 +1 @@
-DIST prosody-0.11.1.tar.gz 418780 BLAKE2B 0fa45b71bb7eeaa60385683427c9547af3e014faa97dec409cc19e48bfd1b91fec7eb001fb14a86c9f3ce2c653ece2fdb113bba860cdc500cb164dd7749af6cc SHA512 6e25d2365d40582f57799bb08bf2673ba43270e8bcca5c5b785381380db55ec3ea6ab771fb9bd228bf265a564bb017dbfeae81713abd2de35a92704f8b8004ef
-DIST prosody-0.11.2.tar.gz 420689 BLAKE2B 3abdab188f66d4eccb21d0981b57d5015605a1257074bbd67098a8624f40a11960fb65a7f56a7d1421a23bfffdb34635eeac5d013c4b7d7d957c51cdff2276c1 SHA512 22e55a551a40c92f38a1ed1de5fdcad574d699d58c2e27f93c3d465b55487b8e923c2ba088daf93c7140cbafb0d429687e0b662c8bb1c1aba4b79ac1ea271cd1
-DIST prosody-0.9.14.tar.gz 268253 BLAKE2B 0ae62ca3c8eb89feb34f1f67aa3d14aa1e6bf02cf10ff90a43fd7de8bd257d70508e36b10b3f159040c1fa5dcfb6ad8018e3411a5d6042992f71f643a13c11d4 SHA512 30116ebc20c719d88bae7f2f44c129604ec4477004581c3556ff548c75ee026a83dc519701a61a8c3f547776ba74c571e38c3e1e5240da9148dad35a5d1f67e3
+DIST prosody-0.12.4.tar.gz 616043 BLAKE2B 6bbe779424a6de6b5d266c3f6301282e010b96c9baca79d8dff46ab91365e6c5fdaa1b52c3caaaf33dad0990fa2c298f0447d37fcc018067f6efcc23d633b4fc SHA512 e035ec9af3831c596ababbc0320f352b7253d3ee968c9937998ffc255839173c9278912a0897fa9f0a0665bc43603f8570b5e15dfd1cba4571599e86a98d8cf4
diff --git a/net-im/prosody/files/prosody-0.12.0-gentoo.patch b/net-im/prosody/files/prosody-0.12.0-gentoo.patch
new file mode 100644
index 000000000000..3b2ba75b15c8
--- /dev/null
+++ b/net-im/prosody/files/prosody-0.12.0-gentoo.patch
@@ -0,0 +1,29 @@
+--- a/prosody.cfg.lua.dist
++++ b/prosody.cfg.lua.dist
+@@ -17,6 +17,15 @@
+ -- Settings in this section apply to the whole server and are the default settings
+ -- for any virtual hosts
+
++-- Prosody will use this user and group for launching the service.
++-- Gentoo uses by default prosody:prosody (uid:gid) for all Jabber related services.
++prosody_user = "prosody"
++prosody_group = "prosody"
++
++-- Prosody will create this pid file after it has been successfully started.
++-- Please don't change that path, as it's being used by the Gentoo init scripts.
++pidfile = "/run/prosody/prosody.pid"
++
+ -- This is a (by default, empty) list of accounts that are admins
+ -- for the server. Note that you must create the accounts separately
+ -- (see https://prosody.im/doc/creating_accounts for info)
+@@ -26,7 +35,9 @@
+ -- This option allows you to specify additional locations where Prosody
+ -- will search first for modules. For additional modules you can install, see
+ -- the community module repository at https://modules.prosody.im/
+---plugin_paths = {}
++-- The default included path is for the optional net-im/prosody-modules package,
++-- which provides additional community maintained modules.
++plugin_paths = { "/usr/GENTOO_LIBDIR/prosody/modules", "/usr/GENTOO_LIBDIR/prosody/community-modules" };
+
+ -- This is the list of modules Prosody will load on startup.
+ -- Documentation for bundled modules can be found at: https://prosody.im/doc/modules
diff --git a/net-im/prosody/files/prosody-0.9.2-cfg.lua.patch b/net-im/prosody/files/prosody-0.9.2-cfg.lua.patch
deleted file mode 100644
index 15c09a24fd80..000000000000
--- a/net-im/prosody/files/prosody-0.9.2-cfg.lua.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -ru prosody-0.9.2/prosody.cfg.lua.dist prosody-0.9.2-gentoo/prosody.cfg.lua.dist
---- prosody-0.9.2/prosody.cfg.lua.dist 2013-12-08 19:05:39.000000000 +0100
-+++ prosody-0.9.2-gentoo/prosody.cfg.lua.dist 2014-01-27 03:00:44.929196948 +0100
-@@ -1,5 +1,3 @@
---- Prosody Example Configuration File
----
- -- Information on configuring Prosody can be found on our
- -- website at http://prosody.im/doc/configure
- --
-@@ -7,9 +5,6 @@
- -- when you have finished by running: luac -p prosody.cfg.lua
- -- If there are any errors, it will let you know what and where
- -- they are, otherwise it will keep quiet.
----
---- The only thing left to do is rename this file to remove the .dist ending, and fill in the
---- blanks. Good luck, and happy Jabbering!
-
-
- ---------- Server-wide settings ----------
-@@ -63,7 +58,7 @@
- --"http_files"; -- Serve static files from a directory over HTTP
-
- -- Other specific functionality
-- --"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
-+ "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. (Keep enabled for Gentoo.)
- --"groups"; -- Shared roster support
- --"announce"; -- Send announcement to all online users
- --"welcome"; -- Welcome users who register accounts
-@@ -72,6 +67,12 @@
- --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
- };
-
-+-- Settings for Gentoo init script and net-im/jabber-base permissions system:
-+daemonize = true;
-+prosody_user = "jabber";
-+prosody_group = "jabber";
-+pidfile = "/var/run/jabber/prosody.pid";
-+
- -- These modules are auto-loaded, but should you want
- -- to disable them then uncomment them here:
- modules_disabled = {
-@@ -139,8 +140,8 @@
- -- Logging configuration
- -- For advanced logging see http://prosody.im/doc/logging
- log = {
-- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
-- error = "prosody.err";
-+ info = "/var/log/jabber/prosody.log"; -- Change 'info' to 'debug' for verbose logging
-+ error = "/var/log/jabber/prosody.err";
- -- "*syslog"; -- Uncomment this for logging to syslog
- -- "*console"; -- Log to the console, useful for debugging with daemonize=false
- }
diff --git a/net-im/prosody/files/prosody.initd-r2 b/net-im/prosody/files/prosody.initd-r2
deleted file mode 100644
index a6b623dd6225..000000000000
--- a/net-im/prosody/files/prosody.initd-r2
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="Prosody is a server for Jabber/XMPP written in Lua."
-description_reload="Reload configuration and reopen log files."
-extra_started_commands="reload"
-pidfile="/var/run/jabber/prosody.pid"
-
-depend() {
- use dns
- need net
- provide jabber-server
-}
-
-checkconfig() {
- if [ ! -e /etc/jabber/prosody.cfg.lua ] ; then
- eerror "You need a /etc/jabber/prosody.cfg.lua file to run prosody"
- return 1
- fi
- luac -p /etc/jabber/prosody.cfg.lua
- return $?
-}
-
-start() {
- checkconfig || return 1
- checkpath -q -d -m 0770 -o jabber:jabber "$(dirname ${pidfile})"
- checkpath -q -f -m 0770 -o jabber:jabber "${pidfile}"
- checkpath -q -d -m 0750 -o jabber:jabber /var/log/jabber
- ebegin "Starting Prosody XMPP Server"
- prosodyctl start
- eend $?
-}
-
-stop() {
- ebegin "Stopping Prosody XMPP Server"
- prosodyctl stop
- eend $?
-}
-
-reload() {
- checkconfig || return 1
- ebegin "Reloading configuration of Prosody XMPP Server"
- prosodyctl reload
- eend $?
-}
diff --git a/net-im/prosody/files/prosody.initd-r6 b/net-im/prosody/files/prosody.initd-r6
new file mode 100644
index 000000000000..e4138c597b23
--- /dev/null
+++ b/net-im/prosody/files/prosody.initd-r6
@@ -0,0 +1,46 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+name="Prosody XMPP server"
+prosody_config="/etc/prosody/prosody.cfg.lua"
+prosody_data="/var/lib/prosody"
+prosody_logs="/var/log/prosody"
+prosody_pid="/run/prosody"
+pidfile="${prosody_pid}/prosody.pid"
+
+command="/usr/bin/prosody"
+command_args="--daemonize"
+commandctl="/usr/bin/prosodyctl"
+command_group="prosody"
+command_user="prosody"
+
+checkconfig() {
+ if [ ! -f "${prosody_config}" ]; then
+ eerror "Please create ${prosody_config} before starting Prosody!"
+ return 1
+ fi
+
+ ${commandctl} check config
+ return $?
+}
+
+depend() {
+ need net
+ use dns postgresql
+}
+
+reload() {
+ ebegin "Reloading configuration"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
+start_pre() {
+ checkconfig || return 1
+
+ checkpath -d -m 0750 -o "${command_user}:${command_group}" -q "${prosody_data}"
+ checkpath -d -m 0750 -o "${command_user}:${command_group}" -q "${prosody_logs}"
+ checkpath -d -m 0750 -o "${command_user}:${command_group}" -q "${prosody_pid}"
+}
diff --git a/net-im/prosody/files/prosody.service b/net-im/prosody/files/prosody.service
deleted file mode 100644
index 5c5ea87bd542..000000000000
--- a/net-im/prosody/files/prosody.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Prosody XMPP (Jabber) server
-After=network.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/jabber/prosody.pid
-ExecStart=/usr/bin/prosodyctl start
-ExecReload=/usr/bin/prosodyctl reload
-ExecStop=/usr/bin/prosodyctl stop
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-im/prosody/files/prosody.service-r3 b/net-im/prosody/files/prosody.service-r3
new file mode 100644
index 000000000000..dec39e4b0b22
--- /dev/null
+++ b/net-im/prosody/files/prosody.service-r3
@@ -0,0 +1,17 @@
+[Unit]
+Description=Prosody XMPP server
+After=network.target
+
+[Service]
+Group=prosody
+PIDFile=/run/prosody/prosody.pid
+ExecStart=/usr/bin/prosody --daemonize
+ExecReload=/bin/kill -HUP $MAINPID
+User=prosody
+ExecStartPre=!/bin/mkdir -p /var/log/prosody
+ExecStartPre=!/bin/mkdir -p /var/lib/prosody
+ExecStartPre=!/bin/chown -R prosody /var/log/prosody
+ExecStartPre=!/bin/chown -R prosody /var/lib/prosody
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-im/prosody/files/prosody.tmpfilesd b/net-im/prosody/files/prosody.tmpfilesd
deleted file mode 100644
index 924ba434659c..000000000000
--- a/net-im/prosody/files/prosody.tmpfilesd
+++ /dev/null
@@ -1 +0,0 @@
-d /var/run/jabber 710 jabber jabber
diff --git a/net-im/prosody/files/prosody.tmpfilesd-r2 b/net-im/prosody/files/prosody.tmpfilesd-r2
new file mode 100644
index 000000000000..78949f3db82c
--- /dev/null
+++ b/net-im/prosody/files/prosody.tmpfilesd-r2
@@ -0,0 +1 @@
+d /run/prosody 750 prosody prosody - -
diff --git a/net-im/prosody/files/prosody_cfg-0.11.2-r1.patch b/net-im/prosody/files/prosody_cfg-0.11.2-r1.patch
deleted file mode 100644
index 94423a834ae1..000000000000
--- a/net-im/prosody/files/prosody_cfg-0.11.2-r1.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/prosody.cfg.lua.dist 2019-03-19 15:11:16.355743969 +0100
-+++ b/prosody.cfg.lua.dist 2019-03-19 15:14:42.810995725 +0100
-@@ -32,6 +32,13 @@
- -- will look for modules first. For community modules, see https://modules.prosody.im/
- --plugin_paths = {}
-
-+-- Gentoo uses the jabber:jabber uid/gid for all Jabber-related services
-+prosody_user = "jabber"
-+prosody_group = "jabber"
-+
-+-- Make sure prosodyctl checks in the right spot for the PID file
-+pidfile = "/run/jabber/prosody.pid"
-+
- -- This is the list of modules Prosody will load on startup.
- -- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
- -- Documentation for bundled modules can be found at: https://prosody.im/doc/modules
diff --git a/net-im/prosody/metadata.xml b/net-im/prosody/metadata.xml
index fa12c884ddaf..0cde39ba3d07 100644
--- a/net-im/prosody/metadata.xml
+++ b/net-im/prosody/metadata.xml
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
- <email>klausman@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
- <email>zx2c4@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="libevent">Use libevent for event handling</flag>
- <flag name="zlib">Support for compressing XMPP streams with mod_compression</flag>
- <flag name="jit">Use LuaJIT instead of vanilla Lua</flag>
- </use>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ Prosody is a modern XMPP communication server.
+ It aims to be easy to set up and configure,
+ and efficient with system resources.
+ Additionally, for developers it aims to be easy to extend
+ and give a flexible system on which to rapidly develop
+ added functionality, or prototype new protocols.
+ </longdescription>
+ <use>
+ <flag name="libevent">Use libevent for event handling</flag>
+ </use>
</pkgmetadata>
diff --git a/net-im/prosody/prosody-0.11.1.ebuild b/net-im/prosody/prosody-0.11.1.ebuild
deleted file mode 100644
index 8049f02ed567..000000000000
--- a/net-im/prosody/prosody-0.11.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib systemd
-
-MY_PV=$(ver_rs 3 '')
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Prosody is a flexible communications server for Jabber/XMPP written in Lua"
-HOMEPAGE="https://prosody.im/"
-SRC_URI="https://prosody.im/tmp/${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="ipv6 libevent mysql postgres sqlite ssl zlib jit libressl test"
-
-BASE_DEPEND="net-im/jabber-base
- dev-lua/LuaBitOp
- !jit? ( >=dev-lang/lua-5.1:0 )
- jit? ( dev-lang/luajit:2 )
- >=net-dns/libidn-1.1:=
- !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
-
-DEPEND="${BASE_DEPEND}
- test? ( dev-lua/busted )"
-
-RDEPEND="${BASE_DEPEND}
- >=dev-lua/luaexpat-1.3.0
- dev-lua/luafilesystem
- ipv6? ( >=dev-lua/luasocket-3 )
- !ipv6? ( dev-lua/luasocket )
- libevent? ( >=dev-lua/luaevent-0.4.3 )
- mysql? ( dev-lua/luadbi[mysql] )
- postgres? ( dev-lua/luadbi[postgres] )
- sqlite? ( dev-lua/luadbi[sqlite] )
- ssl? ( dev-lua/luasec )
- zlib? ( dev-lua/lua-zlib )"
-
-S=${WORKDIR}/${MY_P}
-
-JABBER_ETC="/etc/jabber"
-JABBER_SPOOL="/var/spool/jabber"
-
-src_prepare() {
- default
- rm makefile && mv GNUmakefile Makefile || die
- sed -i -e "s!MODULES = \$(DESTDIR)\$(PREFIX)/lib/!MODULES = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!SOURCE = \$(DESTDIR)\$(PREFIX)/lib/!SOURCE = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDSOURCE = \$(PREFIX)/lib/!INSTALLEDSOURCE = \$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDMODULES = \$(PREFIX)/lib/!INSTALLEDMODULES = \$(PREFIX)/$(get_libdir)/!"\
- Makefile || die
-}
-
-src_configure() {
- # the configure script is handcrafted (and yells at unknown options)
- # hence do not use 'econf'
- append-cflags -D_GNU_SOURCE
- ./configure \
- --ostype=linux \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --sysconfdir="${EPREFIX}/${JABBER_ETC}" \
- --datadir="${EPREFIX}/${JABBER_SPOOL}" \
- --with-lua-include="${EPREFIX}/usr/include" \
- --with-lua-lib="${EPREFIX}/usr/$(get_libdir)/lua" \
- --runwith=lua"$(usev jit)" \
- --cflags="${CFLAGS} -Wall -fPIC" \
- --ldflags="${LDFLAGS} -shared" \
- --c-compiler="$(tc-getCC)" \
- --linker="$(tc-getCC)" || die "configure failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- systemd_dounit "${FILESDIR}/${PN}".service
- systemd_newtmpfilesd "${FILESDIR}/${PN}".tmpfilesd "${PN}".conf
- newinitd "${FILESDIR}/${PN}".initd-r2 ${PN}
- keepdir "${JABBER_SPOOL}"
-}
-
-pkg_postinst() {
- elog "If you are using the MySQL backend, you need to update its schema:"
- elog "https://prosody.im/doc/release/0.11.0#upgrade_notes"
-}
diff --git a/net-im/prosody/prosody-0.11.2-r1.ebuild b/net-im/prosody/prosody-0.11.2-r1.ebuild
deleted file mode 100644
index a39b14a30be3..000000000000
--- a/net-im/prosody/prosody-0.11.2-r1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib systemd
-
-MY_PV=$(ver_rs 3 '')
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Prosody is a flexible communications server for Jabber/XMPP written in Lua"
-HOMEPAGE="https://prosody.im/"
-SRC_URI="https://prosody.im/tmp/${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="ipv6 libevent mysql postgres sqlite ssl zlib jit libressl test"
-
-BASE_DEPEND="net-im/jabber-base
- dev-lua/LuaBitOp
- !jit? ( >=dev-lang/lua-5.1:0 )
- jit? ( dev-lang/luajit:2 )
- >=net-dns/libidn-1.1:=
- !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
-
-DEPEND="${BASE_DEPEND}
- test? ( dev-lua/busted )"
-
-RDEPEND="${BASE_DEPEND}
- >=dev-lua/luaexpat-1.3.0
- dev-lua/luafilesystem
- ipv6? ( >=dev-lua/luasocket-3 )
- !ipv6? ( dev-lua/luasocket )
- libevent? ( >=dev-lua/luaevent-0.4.3 )
- mysql? ( dev-lua/luadbi[mysql] )
- postgres? ( dev-lua/luadbi[postgres] )
- sqlite? ( dev-lua/luadbi[sqlite] )
- ssl? ( dev-lua/luasec )
- zlib? ( dev-lua/lua-zlib )"
-
-S=${WORKDIR}/${MY_P}
-
-JABBER_ETC="/etc/jabber"
-JABBER_SPOOL="/var/spool/jabber"
-
-src_prepare() {
- default
- rm makefile && mv GNUmakefile Makefile || die
- sed -i -e "s!MODULES = \$(DESTDIR)\$(PREFIX)/lib/!MODULES = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!SOURCE = \$(DESTDIR)\$(PREFIX)/lib/!SOURCE = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDSOURCE = \$(PREFIX)/lib/!INSTALLEDSOURCE = \$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDMODULES = \$(PREFIX)/lib/!INSTALLEDMODULES = \$(PREFIX)/$(get_libdir)/!"\
- Makefile || die
- eapply "${FILESDIR}/prosody_cfg-0.11.2-r1.patch"
-}
-
-src_configure() {
- # the configure script is handcrafted (and yells at unknown options)
- # hence do not use 'econf'
- append-cflags -D_GNU_SOURCE
- ./configure \
- --ostype=linux \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --sysconfdir="${EPREFIX}/${JABBER_ETC}" \
- --datadir="${EPREFIX}/${JABBER_SPOOL}" \
- --with-lua-include="${EPREFIX}/usr/include" \
- --with-lua-lib="${EPREFIX}/usr/$(get_libdir)/lua" \
- --runwith=lua"$(usev jit)" \
- --cflags="${CFLAGS} -Wall -fPIC" \
- --ldflags="${LDFLAGS} -shared" \
- --c-compiler="$(tc-getCC)" \
- --linker="$(tc-getCC)" || die "configure failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- systemd_dounit "${FILESDIR}/${PN}".service
- systemd_newtmpfilesd "${FILESDIR}/${PN}".tmpfilesd "${PN}".conf
- newinitd "${FILESDIR}/${PN}".initd-r2 ${PN}
- keepdir "${JABBER_SPOOL}"
-}
-
-pkg_postinst() {
- elog "If you are using the MySQL backend, you need to update its schema:"
- elog "https://prosody.im/doc/release/0.11.0#upgrade_notes"
-}
diff --git a/net-im/prosody/prosody-0.11.2.ebuild b/net-im/prosody/prosody-0.11.2.ebuild
deleted file mode 100644
index d1be6afa1c0d..000000000000
--- a/net-im/prosody/prosody-0.11.2.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib systemd
-
-MY_PV=$(ver_rs 3 '')
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Prosody is a flexible communications server for Jabber/XMPP written in Lua"
-HOMEPAGE="https://prosody.im/"
-SRC_URI="https://prosody.im/tmp/${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="ipv6 libevent mysql postgres sqlite ssl zlib jit libressl test"
-
-BASE_DEPEND="net-im/jabber-base
- dev-lua/LuaBitOp
- !jit? ( >=dev-lang/lua-5.1:0 )
- jit? ( dev-lang/luajit:2 )
- >=net-dns/libidn-1.1:=
- !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
-
-DEPEND="${BASE_DEPEND}
- test? ( dev-lua/busted )"
-
-RDEPEND="${BASE_DEPEND}
- >=dev-lua/luaexpat-1.3.0
- dev-lua/luafilesystem
- ipv6? ( >=dev-lua/luasocket-3 )
- !ipv6? ( dev-lua/luasocket )
- libevent? ( >=dev-lua/luaevent-0.4.3 )
- mysql? ( dev-lua/luadbi[mysql] )
- postgres? ( dev-lua/luadbi[postgres] )
- sqlite? ( dev-lua/luadbi[sqlite] )
- ssl? ( dev-lua/luasec )
- zlib? ( dev-lua/lua-zlib )"
-
-S=${WORKDIR}/${MY_P}
-
-JABBER_ETC="/etc/jabber"
-JABBER_SPOOL="/var/spool/jabber"
-
-src_prepare() {
- default
- rm makefile && mv GNUmakefile Makefile || die
- sed -i -e "s!MODULES = \$(DESTDIR)\$(PREFIX)/lib/!MODULES = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!SOURCE = \$(DESTDIR)\$(PREFIX)/lib/!SOURCE = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDSOURCE = \$(PREFIX)/lib/!INSTALLEDSOURCE = \$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDMODULES = \$(PREFIX)/lib/!INSTALLEDMODULES = \$(PREFIX)/$(get_libdir)/!"\
- Makefile || die
-}
-
-src_configure() {
- # the configure script is handcrafted (and yells at unknown options)
- # hence do not use 'econf'
- append-cflags -D_GNU_SOURCE
- ./configure \
- --ostype=linux \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --sysconfdir="${EPREFIX}/${JABBER_ETC}" \
- --datadir="${EPREFIX}/${JABBER_SPOOL}" \
- --with-lua-include="${EPREFIX}/usr/include" \
- --with-lua-lib="${EPREFIX}/usr/$(get_libdir)/lua" \
- --runwith=lua"$(usev jit)" \
- --cflags="${CFLAGS} -Wall -fPIC" \
- --ldflags="${LDFLAGS} -shared" \
- --c-compiler="$(tc-getCC)" \
- --linker="$(tc-getCC)" || die "configure failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- systemd_dounit "${FILESDIR}/${PN}".service
- systemd_newtmpfilesd "${FILESDIR}/${PN}".tmpfilesd "${PN}".conf
- newinitd "${FILESDIR}/${PN}".initd-r2 ${PN}
- keepdir "${JABBER_SPOOL}"
-}
-
-pkg_postinst() {
- elog "If you are using the MySQL backend, you need to update its schema:"
- elog "https://prosody.im/doc/release/0.11.0#upgrade_notes"
-}
diff --git a/net-im/prosody/prosody-0.12.4.ebuild b/net-im/prosody/prosody-0.12.4.ebuild
new file mode 100644
index 000000000000..29ac71036832
--- /dev/null
+++ b/net-im/prosody/prosody-0.12.4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+LUA_REQ_USE="deprecated(+)"
+
+inherit lua-single systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="Prosody is a modern XMPP communication server"
+HOMEPAGE="https://prosody.im/"
+SRC_URI="https://prosody.im/downloads/source/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="icu +idn +libevent ldap mysql postgres selinux +sqlite +ssl test +zlib"
+REQUIRED_USE="
+ ^^ ( icu idn )
+ ${LUA_REQUIRED_USE}
+"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ acct-group/prosody
+ acct-user/prosody
+ $(lua_gen_cond_dep 'dev-lua/luaexpat[${LUA_USEDEP}]')
+ $(lua_gen_cond_dep 'dev-lua/luafilesystem[${LUA_USEDEP}]')
+ dev-lua/luarocks[${LUA_SINGLE_USEDEP}]
+ $(lua_gen_cond_dep 'dev-lua/luasocket[${LUA_USEDEP}]')
+ $(lua_gen_cond_dep 'dev-lua/lua-unbound[${LUA_USEDEP}]')
+ $(lua_gen_cond_dep 'dev-lua/readline[${LUA_USEDEP}]')
+ icu? ( dev-libs/icu:= )
+ idn? ( net-dns/libidn:= )
+ ldap? ( $(lua_gen_cond_dep 'dev-lua/lualdap[${LUA_USEDEP}]') )
+ libevent? ( $(lua_gen_cond_dep 'dev-lua/luaevent[${LUA_USEDEP}]') )
+ dev-libs/openssl:0=
+ lua_single_target_lua5-1? ( $(lua_gen_cond_dep 'dev-lua/lua-bit32[lua_targets_lua5-1(-)]') )
+ mysql? ( $(lua_gen_cond_dep 'dev-lua/luadbi[mysql,${LUA_USEDEP}]') )
+ postgres? ( $(lua_gen_cond_dep 'dev-lua/luadbi[postgres,${LUA_USEDEP}]') )
+ sqlite? ( $(lua_gen_cond_dep 'dev-lua/luadbi[sqlite,${LUA_USEDEP}]') )
+ ssl? ( $(lua_gen_cond_dep 'dev-lua/luasec[${LUA_USEDEP}]') )
+ zlib? ( $(lua_gen_cond_dep 'dev-lua/lua-zlib[${LUA_USEDEP}]') )
+ ${LUA_DEPS}
+"
+
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-jabber )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? ( $(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]') )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-0.12.0-gentoo.patch" )
+
+src_prepare() {
+ default
+
+ # Set correct plugin path for optional net-im/prosody-modules package
+ sed -e "s/GENTOO_LIBDIR/$(get_libdir)/g" -i prosody.cfg.lua.dist || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --add-cflags="${CFLAGS}"
+ --add-ldflags="${LDFLAGS}"
+ --c-compiler="$(tc-getCC)"
+ --datadir="${EPREFIX}/var/lib/prosody"
+ --idn-library="$(usex idn 'idn' 'icu')"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --linker="$(tc-getCC)"
+ --lua-version="$(usex lua_single_target_luajit '5.1' $(ver_cut 1-2 $(lua_get_version)))"
+ --no-example-certs
+ --ostype="linux"
+ --prefix="${EPREFIX}/usr"
+ --runwith="${ELUA}"
+ --sysconfdir="${EPREFIX}/etc/prosody"
+ --with-lua-include="${EPREFIX}/$(lua_get_include_dir)"
+ --with-lua-lib="${EPREFIX}/$(lua_get_cmod_dir)"
+ )
+
+ # Since the configure script is handcrafted,
+ # and yells at unknown options, do not use 'econf'.
+ ./configure "${myeconfargs[@]}" || die
+
+ rm makefile || die
+ mv GNUmakefile Makefile || die
+}
+
+src_install() {
+ default
+
+ keepdir /var/lib/prosody
+
+ newinitd "${FILESDIR}"/prosody.initd-r6 prosody
+ systemd_newunit "${FILESDIR}"/prosody.service-r3 prosody.service
+
+ newtmpfiles "${FILESDIR}"/prosody.tmpfilesd-r2 prosody.conf
+}
+
+pkg_postinst() {
+ local migrate_to_prosody_user="false"
+ tmpfiles_process prosody.conf
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 0.12.0; then
+ migrate_to_prosody_user="true"
+ break
+ fi
+ done
+ fi
+
+ # Sarting with >=0.12.0, the prosody configuration is now in
+ # /etc/prosody and no longer in /etc/jabber.
+ # See if we need to migrate the configuration. Furthermore,
+ # prosody no longer runs under the, shared via net-im/jabber-base,
+ # 'jabber' use, but under its own user.
+ # This increase isolation and hence robustness and security.
+ if ${migrate_to_prosody_user}; then
+ local -A dirs_to_migrate=(
+ [/etc/jabber]=/etc/prosody
+ [/var/log/jabber]=/var/log/prosody
+ [/var/spool/jabber]=/var/lib/prosody
+ )
+
+ for src_dir in "${!dirs_to_migrate[@]}"; do
+ local eroot_src_dir="${EROOT}/${src_dir}"
+ local eroot_dst_dir="${EROOT}/${dirs_to_migrate[${src_dir}]}"
+
+ cp -r "${eroot_src_dir}"/. "${eroot_dst_dir}" || die "Could not copy ${eroot_src_dir} to ${eroot_dst_dir}"
+
+ if [[ -f "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 ]]; then
+ rm "${eroot_dst_dir}"/.keep_net-im_jabber-base-0 || die
+ fi
+
+ if ! use prefix; then
+ chown --recursive prosody:prosody "${eroot_dst_dir}" || die
+ fi
+ done
+
+ # Update configuration file to match new pathes and permissions
+ local mysedargs=(
+ -e "'s#/etc/jabber#/etc/prosody#g'"
+ -e "'s#/run/jabber#/run/prosody#g'"
+ -e "'s#/var/log/jabber#/var/log/prosody#g'"
+ -e "'s/prosody_user.*/prosody_user = \"prosody\";/g'"
+ -e "'s/prosody_group.*/prosody_group = \"prosody\";/g'"
+ -i /etc/prosody/prosody.cfg.lua
+ )
+
+ eval sed "${mysedargs[@]}" || die
+
+ ewarn "Newer versions of the prosody (Gentoo) package use ${EROOT}/etc/prosody"
+ ewarn "(just as upstream) and *not* anymore ${EROOT}/etc/jabber."
+ ewarn "The files from ${EROOT}/etc/jabber where copied to ${EROOT}/etc/prosody."
+ ewarn "Also prosody's spool directory became ${EROOT}/var/lib/prosody (was ${EROOT}/var/spool/jabbber)."
+ ewarn "Please check your configuration."
+ fi
+}
diff --git a/net-im/prosody/prosody-0.9.14.ebuild b/net-im/prosody/prosody-0.9.14.ebuild
deleted file mode 100644
index 1e99fc2e9a25..000000000000
--- a/net-im/prosody/prosody-0.9.14.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit flag-o-matic multilib systemd versionator
-
-MY_PV=$(replace_version_separator 3 '')
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Prosody is a flexible communications server for Jabber/XMPP written in Lua"
-HOMEPAGE="http://prosody.im/"
-SRC_URI="http://prosody.im/tmp/${MY_PV}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="ipv6 libevent mysql postgres sqlite ssl zlib jit libressl"
-
-DEPEND="net-im/jabber-base
- !jit? ( >=dev-lang/lua-5.1:0 )
- jit? ( dev-lang/luajit:2 )
- >=net-dns/libidn-1.1
- !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
-RDEPEND="${DEPEND}
- >=dev-lua/luaexpat-1.3.0
- dev-lua/luafilesystem
- ipv6? ( >=dev-lua/luasocket-3 )
- !ipv6? ( dev-lua/luasocket )
- libevent? ( >=dev-lua/luaevent-0.4.3 )
- mysql? ( dev-lua/luadbi[mysql] )
- postgres? ( dev-lua/luadbi[postgres] )
- sqlite? ( dev-lua/luadbi[sqlite] )
- ssl? ( <dev-lua/luasec-0.6 )
- zlib? ( dev-lua/lua-zlib )"
-
-S=${WORKDIR}/${MY_P}
-
-JABBER_ETC="/etc/jabber"
-JABBER_SPOOL="/var/spool/jabber"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-0.9.2-cfg.lua.patch"
- sed -i -e "s!MODULES = \$(DESTDIR)\$(PREFIX)/lib/!MODULES = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!SOURCE = \$(DESTDIR)\$(PREFIX)/lib/!SOURCE = \$(DESTDIR)\$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDSOURCE = \$(PREFIX)/lib/!INSTALLEDSOURCE = \$(PREFIX)/$(get_libdir)/!"\
- -e "s!INSTALLEDMODULES = \$(PREFIX)/lib/!INSTALLEDMODULES = \$(PREFIX)/$(get_libdir)/!"\
- Makefile || die
-}
-
-src_configure() {
- # the configure script is handcrafted (and yells at unknown options)
- # hence do not use 'econf'
- append-cflags -D_GNU_SOURCE
- luajit=""
- if use jit; then
- luajit="--runwith=luajit"
- fi
- ./configure \
- --ostype=linux $luajit \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/lib64" \
- --sysconfdir="${JABBER_ETC}" \
- --datadir="${JABBER_SPOOL}" \
- --with-lua-include=/usr/include \
- --with-lua-lib=/usr/$(get_libdir)/lua \
- --cflags="${CFLAGS} -Wall -fPIC" \
- --ldflags="${LDFLAGS} -shared" \
- --c-compiler="$(tc-getCC)" \
- --linker="$(tc-getCC)" \
- --require-config || die "configure failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- systemd_dounit "${FILESDIR}/${PN}".service
- systemd_newtmpfilesd "${FILESDIR}/${PN}".tmpfilesd "${PN}".conf
- newinitd "${FILESDIR}/${PN}".initd-r2 ${PN}
-}
-
-src_test() {
- cd tests || die
- ./run_tests.sh || die
-}
diff --git a/net-im/psi/Manifest b/net-im/psi/Manifest
index f46215ca3707..b37108683037 100644
--- a/net-im/psi/Manifest
+++ b/net-im/psi/Manifest
@@ -1,2 +1,2 @@
-DIST psi-1.4.tar.xz 2119840 BLAKE2B 28298f526f23a4bcbb5452ca593163efd50c990a6bc9a2ed54d2136e0b34cf34ad2f1d4a81bd529a013b8aa351e8531f4bf9ea7faf3958085869dd75817828f8 SHA512 9bb8da58809270e5387e024f5ea031e28441e66cde53cde219beebe7b46bfa5c41d0a86110d1936d0ac2e15483ffb947f8998cbeeb415f72553cb78b67c57ed1
-DIST psi-l10n-1.4.tar.gz 3037957 BLAKE2B 2f61c60ee5bc323323ae98ab2eee7d2afec9462850f038fe72816810ef572e4a71a3647f83e09bf948485f56dfbc8dd3bea0a24f6258b13f08867319ca65deea SHA512 ef87a12dd992adcfe5fdc4e88c1d33d6fcd77b2554963e1563cee7ba650d096c3b074795a1a9e650945b1dc46a4936f9520ecd864559b1531cb31763399c258d
+DIST psi-1.5.tar.xz 2125104 BLAKE2B ee4114749b5958c61dccc45c2562d868f30a2f4765229c904c32d54d5730e2eaa9ab03e966fa5b83aba7e31d37fafb2b194c74a72f2404f3b51815bc525c5080 SHA512 c2e17dad346b5f7e8c97dc8959d99eaf4c30c1ba11c2d04b562af7b30482d5dbdc3a86508c4c29881ea0fc72db5a9d5fb4017768732cafee6a1d3025a39d8520
+DIST psi-l10n-1.5.tar.gz 3037979 BLAKE2B a1baef1b3c86c1b0a528d4395bd6aabf99e1ec4c077d5d0358d4fd9566fcc2d929f46688c3bb2f56ad1de840fa1699f33c211fa4c7597b66ba0842cccbfbc19c SHA512 d5ed8244fbaa9fdd9a40a14ef3660085c8c9c5a18352900fa8d947fad01aea5894c23d83dc16e8ebf9fe007905ecbb8eca7dfaa4e1cf0fa160af341967886cae
diff --git a/net-im/psi/metadata.xml b/net-im/psi/metadata.xml
index 96ff15122396..305df6d7d537 100644
--- a/net-im/psi/metadata.xml
+++ b/net-im/psi/metadata.xml
@@ -1,25 +1,26 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>rion4ik@gmail.com</email>
<name>Sergey Ilinykh</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <longdescription>Psi is a very good XMPP client that uses Qt</longdescription>
+ <longdescription>
+ Psi is a multi-platform XMPP client based on Qt and supports a wide range of XMPP extensions. It is extremely configurable and extendable with plugins.
+ </longdescription>
<use>
- <flag name='aspell'>Enable spellchecking using <pkg>app-text/aspell</pkg></flag>
- <flag name='enchant'>Enable spellchecking using <pkg>app-text/enchant</pkg></flag>
- <flag name='extras'>Enable Psi+ patcheset</flag>
- <flag name='hunspell'>Enable spellchecking using <pkg>app-text/hunspell</pkg></flag>
- <flag name='iconsets'>Install additional iconsets, some of them has not clear licensing</flag>
- <flag name='sql'>Enable psi-new-history extras patch</flag>
- <flag name='webengine'>Use <pkg>dev-qt/qtwebengine</pkg> instead of <pkg>dev-qt/qtwebkit</pkg></flag>
- <flag name='webkit'>Enable themed, html-based chatlogs</flag>
- <flag name='whiteboarding'>Enable experimental interactive SVG drawing</flag>
+ <flag name="aspell">Enable spellchecking using <pkg>app-text/aspell</pkg></flag>
+ <flag name="enchant">Enable spellchecking using <pkg>app-text/enchant</pkg></flag>
+ <flag name="extras">Enable Psi+ patchset</flag>
+ <flag name="hunspell">Enable spellchecking using <pkg>app-text/hunspell</pkg></flag>
+ <flag name="iconsets">Install additional iconsets, some of them have no clear licensing</flag>
+ <flag name="webengine">Enable themed, html-based chatlogs using <pkg>dev-qt/qtwebengine</pkg></flag>
+ <flag name="whiteboarding">Enable experimental interactive SVG drawing</flag>
+ <flag name="xscreensaver">Use X screensaver protocol extension to monitor idle/active status based on mouse/keyboard events</flag>
</use>
<upstream>
<remote-id type="github">psi-im/psi</remote-id>
diff --git a/net-im/psi/psi-1.4.ebuild b/net-im/psi/psi-1.5-r2.ebuild
index ac7520c15da3..2d7af1d75ec5 100644
--- a/net-im/psi/psi-1.4.ebuild
+++ b/net-im/psi/psi-1.5-r2.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
PLOCALES="be bg ca cs de en eo es et fa fi fr he hu it ja kk mk nl pl pt pt_BR ru sk sl sr@latin sv sw uk ur_PK vi zh_CN zh_TW"
PLOCALE_BACKUP="en"
-inherit l10n qmake-utils xdg
+inherit plocale qmake-utils xdg
DESCRIPTION="Qt XMPP client"
HOMEPAGE="https://psi-im.org"
@@ -15,16 +15,20 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="aspell crypt dbus debug doc enchant +hunspell webengine webkit whiteboarding xscreensaver"
+KEYWORDS="amd64 x86"
+IUSE="aspell crypt dbus debug doc enchant +hunspell webengine whiteboarding xscreensaver"
REQUIRED_USE="
?? ( aspell enchant hunspell )
- webengine? ( !webkit )
"
-RDEPEND="
- app-crypt/qca:2[ssl]
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+"
+DEPEND="
+ app-crypt/qca:2[qt5(+),ssl]
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
@@ -39,20 +43,17 @@ RDEPEND="
x11-libs/libxcb
aspell? ( app-text/aspell )
dbus? ( dev-qt/qtdbus:5 )
- enchant? ( >=app-text/enchant-1.3.0 )
+ enchant? ( app-text/enchant:2 )
hunspell? ( app-text/hunspell:= )
webengine? (
dev-qt/qtwebchannel:5
dev-qt/qtwebengine:5[widgets]
)
- webkit? ( dev-qt/qtwebkit:5 )
whiteboarding? ( dev-qt/qtsvg:5 )
xscreensaver? ( x11-libs/libXScrnSaver )
"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
+RDEPEND="${DEPEND}
+ dev-qt/qtimageformats
"
RESTRICT="test"
@@ -69,11 +70,11 @@ src_configure() {
$(use_enable hunspell)
$(use_enable xscreensaver xss)
$(use_enable whiteboarding)
+ $(use_enable webengine webkit)
+ $(use_with webengine webkit qtwebengine)
)
use debug && CONF+=("--debug")
- use webengine && CONF+=("--enable-webkit" "--with-webkit=qtwebengine")
- use webkit && CONF+=("--enable-webkit" "--with-webkit=qtwebkit")
# This may generate warnings if passed option already matches with default.
# Just ignore them. It's how qconf-based configure works and will be fixed in
@@ -109,7 +110,7 @@ src_install() {
"${mylrelease}" "translations/${PN}_${1}.ts" || die "lrelease ${1} failed"
doins "translations/${PN}_${1}.qm"
}
- l10n_for_each_locale_do install_locale
+ plocale_for_each_locale install_locale
}
pkg_postinst() {
diff --git a/net-im/psi/psi-9999.ebuild b/net-im/psi/psi-9999.ebuild
index 24d8d574291e..6feefa2675ff 100644
--- a/net-im/psi/psi-9999.ebuild
+++ b/net-im/psi/psi-9999.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PLOCALES="be bg ca cs de en eo es et fa fi fr he hu it ja kk mk nl pl pt pt_BR ru sk sl sr@latin sv sw uk ur_PK vi zh_CN zh_TW"
+PLOCALES="be bg ca cs de el en eo es et fa fi fr he hu it ja kk mk nl pl pt_BR pt ru sk sl sr@latin sv sw uk ur_PK vi zh_CN zh_TW"
PLOCALE_BACKUP="en"
-inherit l10n git-r3 qmake-utils xdg
+inherit git-r3 cmake plocale qmake-utils xdg
DESCRIPTION="Qt XMPP client"
HOMEPAGE="https://psi-im.org"
@@ -17,54 +17,54 @@ EGIT_REPO_URI="${PSI_URI}/${PN}.git"
PSI_LANGS_URI="${PSI_URI}/psi-l10n.git"
PSI_PLUS_LANGS_URI="${PSI_PLUS_URI}/psi-plus-l10n.git"
EGIT_MIN_CLONE_TYPE="single"
-LICENSE="GPL-2"
+LICENSE="GPL-2 iconsets? ( all-rights-reserved )"
SLOT="0"
KEYWORDS=""
-IUSE="aspell crypt dbus debug doc enchant extras +hunspell iconsets sql webengine webkit whiteboarding xscreensaver"
+IUSE="aspell crypt dbus debug doc enchant extras +hunspell iconsets keyring webengine xscreensaver"
REQUIRED_USE="
?? ( aspell enchant hunspell )
iconsets? ( extras )
- sql? ( extras )
- webengine? ( !webkit )
"
BDEPEND="
dev-qt/linguist-tools:5
virtual/pkgconfig
- doc? ( app-doc/doxygen )
- extras? ( >=sys-devel/qconf-2.4 )
+ doc? ( app-text/doxygen[dot] )
+ extras? ( >=dev-build/qconf-2.4 )
"
DEPEND="
- app-crypt/qca:2[ssl]
+ app-crypt/qca:2[qt5(+),ssl]
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
dev-qt/qtsql:5[sqlite]
+ dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtxml:5
net-dns/libidn:0
+ net-libs/http-parser:=
+ net-libs/usrsctp
sys-libs/zlib[minizip]
x11-libs/libX11
x11-libs/libxcb
aspell? ( app-text/aspell )
dbus? ( dev-qt/qtdbus:5 )
- enchant? ( >=app-text/enchant-1.3.0 )
+ enchant? ( app-text/enchant:2 )
hunspell? ( app-text/hunspell:= )
+ keyring? ( dev-libs/qtkeychain:=[qt5(+)] )
webengine? (
dev-qt/qtwebchannel:5
dev-qt/qtwebengine:5[widgets]
net-libs/http-parser
)
- webkit? ( dev-qt/qtwebkit:5 )
- whiteboarding? ( dev-qt/qtsvg:5 )
- xscreensaver? ( x11-libs/libXScrnSaver )
"
RDEPEND="${DEPEND}
dev-qt/qtimageformats
+ crypt? ( app-crypt/qca[gpg] )
"
RESTRICT="test iconsets? ( bindist )"
@@ -83,6 +83,8 @@ pkg_setup() {
ewarn "and has not clear licensing."
ewarn "Possibly this build is not redistributable in some countries."
fi
+
+ EGIT_REPO_URI="${PSI_PLUS_URI}/${MY_PN}-snapshots.git"
fi
}
@@ -95,75 +97,44 @@ src_unpack() {
EGIT_CHECKOUT_DIR="${WORKDIR}/psi-l10n"
git-r3_src_unpack
- if use extras; then
+ if use iconsets; then
unset EGIT_BRANCH EGIT_COMMIT
- EGIT_CHECKOUT_DIR="${WORKDIR}/psi-plus" \
- EGIT_REPO_URI="${PSI_PLUS_URI}/main.git" \
+ EGIT_CHECKOUT_DIR="${WORKDIR}/resources" \
+ EGIT_REPO_URI="${PSI_URI}/resources.git" \
git-r3_src_unpack
-
- if use iconsets; then
- unset EGIT_BRANCH EGIT_COMMIT
- EGIT_CHECKOUT_DIR="${WORKDIR}/resources" \
- EGIT_REPO_URI="${PSI_PLUS_URI}/resources.git" \
- git-r3_src_unpack
- fi
fi
}
src_prepare() {
- default
- if use extras; then
- cp -a "${WORKDIR}/psi-plus/iconsets" "${S}" || die "failed to copy iconsets"
- if use iconsets; then
- cp -a "${WORKDIR}/resources/iconsets" "${S}" || die "failed to copy additional iconsets"
- fi
-
- eapply "${WORKDIR}/psi-plus/patches"/*.diff
- use sql && eapply "${WORKDIR}/psi-plus/patches/dev/psi-new-history.patch"
-
- vergen="${WORKDIR}/psi-plus/admin/psi-plus-nightly-version"
- features="$(use webkit && echo '--webkit') $(use webengine && echo '--webengine') $(use sql && echo '--sql')"
- NIGHTLY_VER=$("${vergen}" ./ $features)
- elog "Prepared version: ${NIGHTLY_VER}"
- echo "${NIGHTLY_VER}" > version || die "Failed to write version file"
-
- qconf || die "Failed to create ./configure."
+ cmake_src_prepare
+ if use iconsets; then
+ cp -a "${WORKDIR}/resources/iconsets" "${S}" || die "failed to copy additional iconsets"
fi
}
src_configure() {
- CONF=(
- --prefix="${EPREFIX}"/usr
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --no-separate-debug-info
- --qtdir="$(qt5_get_bindir)/.."
- $(use_enable aspell)
- $(use_enable dbus qdbus)
- $(use_enable enchant)
- $(use_enable hunspell)
- $(use_enable xscreensaver xss)
- $(use_enable whiteboarding)
+ local mycmakeargs=(
+ -DPRODUCTION=OFF
+ -DUSE_ASPELL=$(usex aspell)
+ -DUSE_ENCHANT=$(usex enchant)
+ -DUSE_HUNSPELL=$(usex hunspell)
+ -DUSE_DBUS=$(usex dbus)
+ -DINSTALL_PLUGINS_SDK=1
+ -DUSE_KEYCHAIN=$(usex keyring)
+ -DCHAT_TYPE=$(usex webengine webengine basic)
+ -DUSE_XSS=$(usex xscreensaver)
+ -DPSI_PLUS=$(usex extras)
)
-
- use debug && CONF+=("--debug")
- use webengine && CONF+=("--enable-webkit" "--with-webkit=qtwebengine")
- use webkit && CONF+=("--enable-webkit" "--with-webkit=qtwebkit")
-
- # This may generate warnings if passed option already matches with default.
- # Just ignore them. It's how qconf-based configure works and will be fixed in
- # future qconf versions.
- ./configure "${CONF[@]}" || die "configure failed"
-
- eqmake5 psi.pro
+ cmake_src_configure
}
src_compile() {
- emake
+ cmake_src_compile
use doc && emake -C doc api_public
}
src_install() {
- emake INSTALL_ROOT="${D}" install
+ cmake_src_install
# this way the docs will be installed in the standard gentoo dir
rm "${ED}"/usr/share/${MY_PN}/{COPYING,README.html} || die "doc files set seems to have changed"
@@ -183,7 +154,7 @@ src_install() {
"${mylrelease}" "translations/${PN}_${1}.ts" || die "lrelease ${1} failed"
doins "translations/${PN}_${1}.qm"
}
- l10n_for_each_locale_do install_locale
+ plocale_for_each_locale install_locale
}
pkg_postinst() {
diff --git a/net-im/psimedia/metadata.xml b/net-im/psimedia/metadata.xml
new file mode 100644
index 000000000000..fc9e6ec39274
--- /dev/null
+++ b/net-im/psimedia/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>rion4ik@gmail.com</email>
+ <name>Sergey Ilinykh</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="extras">Enable Psi+ mode (required when built for Psi+)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">psi-im/psimedia</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/psimedia/psimedia-9999.ebuild b/net-im/psimedia/psimedia-9999.ebuild
new file mode 100644
index 000000000000..7b5e885b9d42
--- /dev/null
+++ b/net-im/psimedia/psimedia-9999.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake git-r3
+
+DESCRIPTION="Psi/Psi+ plugin for voice/video calls"
+HOMEPAGE="https://psi-im.org/"
+
+EGIT_REPO_URI="https://github.com/psi-im/psimedia.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="extras"
+
+BDEPEND="dev-build/qconf"
+DEPEND="
+ dev-libs/glib
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-good:1.0
+"
+RDEPEND="${DEPEND}
+ media-plugins/gst-plugins-jpeg:1.0
+ media-plugins/gst-plugins-opus:1.0
+ media-plugins/gst-plugins-v4l2:1.0
+ ~net-im/psi-${PV}[extras?]
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_PSI=$(usex extras 0 1)
+ -DBUILD_DEMO=0
+ )
+ cmake_src_configure
+}
diff --git a/net-im/purple-events/metadata.xml b/net-im/purple-events/metadata.xml
index 98db88e3ccce..6390d982e4e5 100644
--- a/net-im/purple-events/metadata.xml
+++ b/net-im/purple-events/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<upstream>
diff --git a/net-im/purple-events/purple-events-0.99.1.ebuild b/net-im/purple-events/purple-events-0.99.1.ebuild
index b325654096ac..b415329f383f 100644
--- a/net-im/purple-events/purple-events-0.99.1.ebuild
+++ b/net-im/purple-events/purple-events-0.99.1.ebuild
@@ -1,30 +1,34 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit autotools eutils
+inherit autotools
DESCRIPTION="Allows a fine-grained control over libpurple events"
-HOMEPAGE="http://purple-events.sardemff7.net/"
+HOMEPAGE="https://github.com/sardemff7/purple-events"
SRC_URI="https://github.com/sardemff7/purple-events/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
RDEPEND="net-im/pidgin"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
dev-util/intltool
sys-devel/gettext
- virtual/pkgconfig"
+ virtual/pkgconfig
+"
src_prepare() {
+ default
+
eautoreconf
}
src_install() {
default
- prune_libtool_files
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-im/pyicq-t/Manifest b/net-im/pyicq-t/Manifest
deleted file mode 100644
index 9ad6a5a789bc..000000000000
--- a/net-im/pyicq-t/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyicqt-0.8.1.5.tar.gz 183865 BLAKE2B 5f0cce6fd9d27cf60f6234870644c95e016bc979a167d48a331df47cb25eefca96ed0082d336c931a6af5f25babaa7fdffc0cafdb0374463c066d5c185b02059 SHA512 5b83adf86746c2af60bed2759c7d4e3a3839bea532e0882a6dc087aee5e0afa1320c6d2d2296a667ec45c5b36be879034f079fd30cef924e8db5f66a2f1d3fde
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1 b/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1
deleted file mode 100644
index eda03d55077e..000000000000
--- a/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
- use jabber-server
-}
-
-start() {
- ebegin "Starting ICQ Jabber Transport"
- checkpath -q -d -m 0755 -o jabber:jabber /var/run/jabber/
- start-stop-daemon --start --pidfile /var/run/jabber/pyicq-t.pid -u jabber -g jabber \
- --exec INSPATH/pyicq-t.py -- \
- -b -c /etc/jabber/pyicq-t.xml -l /var/log/jabber/pyicq-t.log
- eend $?
-}
-
-stop() {
- ebegin "Stopping ICQ Jabber Transport"
- start-stop-daemon --stop --quiet --pidfile /var/run/jabber/pyicq-t.pid
- eend $?
-}
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch
deleted file mode 100644
index 62df75873c08..000000000000
--- a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -Naur pyicqt-0.8.1.5/src/contact.py pyicqt-0.8.1.5-1/src/contact.py
---- pyicqt-0.8.1.5/src/contact.py 2009-08-24 14:37:59.000000000 +0200
-+++ pyicqt-0.8.1.5-1/src/contact.py 2013-09-11 22:19:01.320467367 +0200
-@@ -13,7 +13,7 @@
- import globals
- import base64
- if not config.disableAvatars:
-- import Image
-+ import PIL.Image as Image
- import StringIO
-
-
-diff -Naur pyicqt-0.8.1.5/src/imgmanip.py pyicqt-0.8.1.5-1/src/imgmanip.py
---- pyicqt-0.8.1.5/src/imgmanip.py 2009-08-24 14:37:59.000000000 +0200
-+++ pyicqt-0.8.1.5-1/src/imgmanip.py 2013-09-11 22:19:25.257168117 +0200
-@@ -5,7 +5,7 @@
-
- if not config.disableAvatars:
- try:
-- import Image
-+ import PIL.Image as Image
- import StringIO
-
- def convertToPNG(imageData):
-diff -Naur pyicqt-0.8.1.5/tools/infodump.py pyicqt-0.8.1.5-1/tools/infodump.py
---- pyicqt-0.8.1.5/tools/infodump.py 2009-08-24 14:37:59.000000000 +0200
-+++ pyicqt-0.8.1.5-1/tools/infodump.py 2013-09-11 22:18:34.084807860 +0200
-@@ -41,7 +41,7 @@
- print "Nevow Version: Unknown or Not Installed"
-
- try:
-- from Image import VERSION
-+ from PIL.Image import VERSION
- print "Python Imaging Library (PIL) Version: " + VERSION
- except:
- print "Python Imaging Library (PIL) Version: Unknown or Not Installed"
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff
deleted file mode 100644
index fd8e9e5ab8f0..000000000000
--- a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff
+++ /dev/null
@@ -1,118 +0,0 @@
-diff -Naur pyicqt-0.8.1.5/src/avatar.py p1//src/avatar.py
---- pyicqt-0.8.1.5/src/avatar.py 2010-06-07 12:16:36.000000000 +0200
-+++ p1//src/avatar.py 2010-06-07 12:16:16.000000000 +0200
-@@ -6,7 +6,7 @@
- from twisted.words.xish.domish import Element
- from debug import LogEvent, INFO, WARN, ERROR
- import lang
--import sha
-+from hashlib import sha1
- import base64
- import os
- import os.path
-@@ -46,7 +46,7 @@
- class Avatar:
- """ Represents an Avatar. Does not store the image in memory. """
- def __init__(self, imageData, avatarCache):
-- self.__imageHash = sha.sha(imageData).hexdigest()
-+ self.__imageHash = sha1(imageData).hexdigest()
- self.__avatarCache = avatarCache
-
- def getImageHash(self):
-diff -Naur pyicqt-0.8.1.5/src/contact.py p1//src/contact.py
---- pyicqt-0.8.1.5/src/contact.py 2010-06-07 12:16:43.000000000 +0200
-+++ p1//src/contact.py 2010-06-07 12:16:16.000000000 +0200
-@@ -8,7 +8,6 @@
- import config
- from debug import LogEvent, INFO, WARN, ERROR
- import lang
--import sha
- import legacy
- import globals
- import base64
-diff -Naur pyicqt-0.8.1.5/src/legacy/buddies.py p1//src/legacy/buddies.py
---- pyicqt-0.8.1.5/src/legacy/buddies.py 2009-08-24 14:37:59.000000000 +0200
-+++ p1//src/legacy/buddies.py 2010-06-07 12:07:37.000000000 +0200
-@@ -12,7 +12,7 @@
- import os.path
- import binascii
- import os.path
--import md5
-+from hashlib import md5
-
- X = os.path.sep
-
-@@ -188,7 +188,7 @@
- avatarData = avatar.AvatarCache().setAvatar(imgmanip.convertToPNG(iconData))
- c.updateAvatar(avatarData, push=True)
- if not md5Hash:
-- m = md5.new()
-+ m = md5()
- m.update(iconData)
- md5Hash = m.digest()
- if not numHash:
-diff -Naur pyicqt-0.8.1.5/src/legacy/glue.py p1//src/legacy/glue.py
---- pyicqt-0.8.1.5/src/legacy/glue.py 2009-08-24 14:37:59.000000000 +0200
-+++ p1//src/legacy/glue.py 2010-06-07 12:07:37.000000000 +0200
-@@ -18,7 +18,7 @@
- import time
- import binascii
- import avatar
--import md5
-+from hashlib import md5
- import random
-
- from twisted.python import log
-@@ -398,7 +398,7 @@
- try:
- self.myavatar = imgmanip.convertToJPG(imageData)
- self.myavatarlen = len(self.myavatar)
-- m=md5.new()
-+ m=md5()
- m.update(self.myavatar)
- self.myavatarsum = m.digest()
- self.myavatarstamp = time.time()
-diff -Naur pyicqt-0.8.1.5/src/legacy/icqt.py p1//src/legacy/icqt.py
---- pyicqt-0.8.1.5/src/legacy/icqt.py 2009-08-24 14:37:59.000000000 +0200
-+++ p1//src/legacy/icqt.py 2010-06-07 12:07:37.000000000 +0200
-@@ -14,7 +14,6 @@
- import time
- import datetime
- import binascii
--import md5
- import locale
- import struct
-
-diff -Naur pyicqt-0.8.1.5/src/tlib/oscar.py p1//src/tlib/oscar.py
---- pyicqt-0.8.1.5/src/tlib/oscar.py 2009-08-24 14:37:59.000000000 +0200
-+++ p1//src/tlib/oscar.py 2010-06-07 12:07:37.000000000 +0200
-@@ -21,7 +21,7 @@
- from scheduler import Scheduler
-
- import struct
--import md5
-+from hashlib import md5
- import string
- import socket
- import random
-@@ -120,9 +120,9 @@
- return dict,data
-
- def encryptPasswordMD5(password,key):
-- m=md5.new()
-+ m=md5()
- m.update(key)
-- m.update(md5.new(password).digest())
-+ m.update(md5(password).digest())
- m.update("AOL Instant Messenger (SM)")
- return m.digest()
-
-@@ -534,7 +534,7 @@
- self.iconSum = tlvs.get(0xd5,"")
-
- def updateIcon(self, iconData):
-- m=md5.new()
-+ m=md5()
- m.update(iconData)
- self.iconSum = m.digest()
- log.msg("icon sum is %s" % binascii.hexlify(self.iconSum))
diff --git a/net-im/pyicq-t/files/pyicq-t.service b/net-im/pyicq-t/files/pyicq-t.service
deleted file mode 100644
index 852ec13315af..000000000000
--- a/net-im/pyicq-t/files/pyicq-t.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=PyICQt is an ICQ transport for Jabber/XMPP
-
-[Service]
-ExecStart=INSPATH/pyicq-t.py -c /etc/jabber/pyicq-t.xml -l /var/log/jabber/pyicq-t.log
-User=jabber
-Group=jabber
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-im/pyicq-t/metadata.xml b/net-im/pyicq-t/metadata.xml
deleted file mode 100644
index 1e72bf501ea4..000000000000
--- a/net-im/pyicq-t/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>Python based jabber transport for ICQ</longdescription>
- <use>
- <flag name="webinterface">Install dependencies needed for the web
- interface</flag>
- </use>
- <upstream>
- <remote-id type="google-code">pyicqt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild b/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild
deleted file mode 100644
index ec0c387fbfa9..000000000000
--- a/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils python-single-r1 systemd
-
-MY_P="${P/pyicq-t/pyicqt}"
-
-DESCRIPTION="Python based jabber transport for ICQ"
-HOMEPAGE="https://code.google.com/p/pyicqt/"
-SRC_URI="https://pyicqt.googlecode.com/files/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="webinterface"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- net-im/jabber-base"
-RDEPEND="${DEPEND}
- || (
- (
- dev-python/twisted-core[${PYTHON_USEDEP}]
- dev-python/twisted-words[${PYTHON_USEDEP}]
- dev-python/twisted-web[${PYTHON_USEDEP}]
- )
- dev-python/twisted[${PYTHON_USEDEP}]
- )
- webinterface? ( >=dev-python/nevow-0.4.1[${PYTHON_USEDEP}] )
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${MY_P}"
-PATCHES=(
- "${FILESDIR}/${P}-python26-warnings.diff"
- "${FILESDIR}/${P}-pillow-imaging.patch"
-)
-
-src_install() {
- python_moduleinto ${PN}
- cp PyICQt.py ${PN}.py || die
- python_domodule ${PN}.py data tools src
-
- insinto /etc/jabber
- newins config_example.xml ${PN}.xml
- fperms 600 /etc/jabber/${PN}.xml
- fowners jabber:jabber /etc/jabber/${PN}.xml
- chmod 755 "${D}$(python_get_sitedir)/${PN}/${PN}.py" || die
- sed -i \
- -e "s:<spooldir>[^\<]*</spooldir>:<spooldir>/var/spool/jabber</spooldir>:" \
- -e "s:<pid>[^\<]*</pid>:<pid>/var/run/jabber/${PN}.pid</pid>:" \
- "${ED}/etc/jabber/${PN}.xml" || die
-
- newinitd "${FILESDIR}/${PN}-0.8-initd-r1" ${PN}
- systemd_dounit "${FILESDIR}/${PN}.service"
- sed -i -e "s:INSPATH:$(python_get_sitedir)/${PN}:" \
- "${ED}/etc/init.d/${PN}" "${D%/}/$(systemd_get_systemunitdir)/${PN}.service" || die
-
- python_fix_shebang "${D}$(python_get_sitedir)/${PN}"
-}
diff --git a/net-im/qtox/Manifest b/net-im/qtox/Manifest
index 3c3bb122ec66..26687b415f4c 100644
--- a/net-im/qtox/Manifest
+++ b/net-im/qtox/Manifest
@@ -1 +1 @@
-DIST qTox-1.16.3.tar.gz 4256757 BLAKE2B 70103e2d912da86dab63424586c642a73614b4a408a53634b146d1e401d5b328a2b8c81c472a94e0e8804d774f693c1250e7263b263e80abef5e111372f29232 SHA512 a857266ffcf32b1963e3a4428501299ce19f3c087087583115dc01e41934fc31d52ea54d781fa93ec7e21f6e3303b4e22383ecaaa7f1f1dbf32d740db73aca4c
+DIST qTox-1.17.6.tar.gz 4777590 BLAKE2B d67ea8c1d5c478a791fd8594866130874c036f22ec9fd991e0f6c81fb7919824bba8e13675b0ffaf613188215a4fce6d07545476ab5565922b3989519aedd91f SHA512 840dfbca2cb1a3db4b5ab27cb408e183b152fcd87c0cb915ee58245e7c311b8682605e73497248072a5a48b239058b101a85235ed169d19606dc7bf61865f208
diff --git a/net-im/qtox/metadata.xml b/net-im/qtox/metadata.xml
index aa2232cb4665..fe84ae06f1e7 100644
--- a/net-im/qtox/metadata.xml
+++ b/net-im/qtox/metadata.xml
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>chiitoo@gentoo.org</email>
+ <name>Jimi Huotari</name>
+ </maintainer>
<use>
- <flag name="notification">Adds support for GTK Status Notifier tray backends</flag>
- <flag name="X">Adds support for X11</flag>
+ <flag name="spellcheck">Enable spell checking support</flag>
+ <flag name="X">Enable auto-away support</flag>
</use>
<upstream>
<remote-id type="github">qTox/qTox</remote-id>
diff --git a/net-im/qtox/qtox-1.16.3.ebuild b/net-im/qtox/qtox-1.16.3.ebuild
deleted file mode 100644
index 028c8cdda832..000000000000
--- a/net-im/qtox/qtox-1.16.3.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils gnome2-utils xdg-utils
-
-MY_P="qTox-${PV}"
-DESCRIPTION="Most feature-rich GUI for net-libs/tox using Qt5"
-HOMEPAGE="https://github.com/qTox/qTox"
-SRC_URI="https://github.com/qTox/qTox/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="notification test X"
-
-S="${WORKDIR}/${MY_P}"
-
-RDEPEND="
- dev-db/sqlcipher
- dev-libs/libsodium:=
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5[gif,jpeg,png,xcb]
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- media-gfx/qrencode:=
- media-libs/libexif:=
- media-libs/openal
- >=media-video/ffmpeg-2.6.3:=[webp,v4l]
- net-libs/tox:0/0.2[av]
- notification? ( x11-libs/gtk+:2 )
- X? ( x11-libs/libX11
- x11-libs/libXScrnSaver )
-"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig
- test? ( dev-qt/qttest:5 )
-"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # bug 628574
- if ! use test; then
- sed -i CMakeLists.txt -e "/include(Testing)/d" || die
- sed -i cmake/Dependencies.cmake -e "/find_package(Qt5Test/d" || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_STATUSNOTIFIER=$(usex notification)
- -DENABLE_GTK_SYSTRAY=$(usex notification)
- -DPLATFORM_EXTENSIONS=$(usex X)
- -DUSE_FILTERAUDIO=OFF
- -DGIT_DESCRIBE="${PV}"
- )
-
- cmake-utils_src_configure
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/net-im/qtox/qtox-1.17.6-r2.ebuild b/net-im/qtox/qtox-1.17.6-r2.ebuild
new file mode 100644
index 000000000000..ca93183efb05
--- /dev/null
+++ b/net-im/qtox/qtox-1.17.6-r2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/qTox/qTox.git"
+else
+ MY_P="qTox-${PV}"
+ SRC_URI="https://github.com/qTox/qTox/releases/download/v${PV}/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+ S="${WORKDIR}/qTox"
+fi
+
+DESCRIPTION="Instant messaging client using the encrypted p2p Tox protocol"
+HOMEPAGE="https://qtox.github.io/"
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="+spellcheck test X"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-db/sqlcipher
+ dev-libs/libsodium:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[gif(+),jpeg,png,X(-)]
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/qrencode:=
+ media-libs/libexif
+ media-libs/openal
+ media-video/ffmpeg:=[webp,v4l]
+ >=net-libs/tox-0.2.13:=[av]
+ spellcheck? ( kde-frameworks/sonnet:5 )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-qt/qttest:5 )
+ X? ( x11-base/xorg-proto )
+"
+
+DOCS=( CHANGELOG.md README.md doc/user_manual_en.md )
+
+src_prepare() {
+ cmake_src_prepare
+
+ # bug 628574
+ if ! use test; then
+ sed -i CMakeLists.txt -e "/include(Testing)/d" || die
+ sed -i cmake/Dependencies.cmake -e "/find_package(Qt5Test/d" || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPLATFORM_EXTENSIONS=$(usex X)
+ -DUPDATE_CHECK=OFF
+ -DUSE_CCACHE=OFF
+ -DSPELL_CHECK=$(usex spellcheck)
+ -DSVGZ_ICON=ON
+ -DASAN=OFF
+ -DDESKTOP_NOTIFICATIONS=OFF
+ -DSTRICT_OPTIONS=OFF
+ )
+
+ [[ ${PV} != 9999 ]] && mycmakeargs+=( -DGIT_DESCRIBE=${PV} )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # The excluded tests require network access.
+ cmake_src_test -E "test_(bsu|core)"
+}
diff --git a/net-im/qtox/qtox-9999.ebuild b/net-im/qtox/qtox-9999.ebuild
index 24ca529bcbea..efe18c5045f9 100644
--- a/net-im/qtox/qtox-9999.ebuild
+++ b/net-im/qtox/qtox-9999.ebuild
@@ -1,49 +1,66 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils eutils git-r3 gnome2-utils xdg-utils
+inherit cmake xdg
-DESCRIPTION="Most feature-rich GUI for net-libs/tox using Qt5"
-HOMEPAGE="https://github.com/qTox/qTox"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/qTox/qTox.git"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/qTox/qTox.git"
+else
+ MY_P="qTox-${PV}"
+ SRC_URI="https://github.com/qTox/qTox/releases/download/v${PV}/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/qTox"
+fi
+
+DESCRIPTION="Instant messaging client using the encrypted p2p Tox protocol"
+HOMEPAGE="https://qtox.github.io/"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS=""
-IUSE="notification test X"
+IUSE="+spellcheck test X"
+
+RESTRICT="!test? ( test )"
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
RDEPEND="
dev-db/sqlcipher
dev-libs/libsodium:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
- dev-qt/qtgui:5[gif,jpeg,png,xcb]
+ dev-qt/qtgui:5[gif(+),jpeg,png,X(-)]
dev-qt/qtnetwork:5
dev-qt/qtopengl:5
- dev-qt/qtsql:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
media-gfx/qrencode:=
- media-libs/libexif:=
+ media-libs/libexif
media-libs/openal
- >=media-video/ffmpeg-2.6.3:=[webp,v4l]
- net-libs/tox:0/0.2[av]
- notification? ( x11-libs/gtk+:2 )
- X? ( x11-libs/libX11
- x11-libs/libXScrnSaver )
+ media-video/ffmpeg:=[webp,v4l]
+ >=net-libs/tox-0.2.13:=[av]
+ >=net-libs/toxext-0.0.3
+ >=net-libs/tox_extension_messages-0.0.3
+ spellcheck? ( kde-frameworks/sonnet:5 )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ )
"
DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig
test? ( dev-qt/qttest:5 )
+ X? ( x11-base/xorg-proto )
"
+DOCS=( CHANGELOG.md README.md doc/user_manual_en.md )
+
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
# bug 628574
if ! use test; then
@@ -54,21 +71,22 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
- -DENABLE_STATUSNOTIFIER=$(usex notification)
- -DENABLE_GTK_SYSTRAY=$(usex notification)
-DPLATFORM_EXTENSIONS=$(usex X)
- -DUSE_FILTERAUDIO=OFF
+ -DUPDATE_CHECK=OFF
+ -DUSE_CCACHE=OFF
+ -DSPELL_CHECK=$(usex spellcheck)
+ -DSVGZ_ICON=ON
+ -DASAN=OFF
+ -DDESKTOP_NOTIFICATIONS=OFF
+ -DSTRICT_OPTIONS=OFF
)
- cmake-utils_src_configure
-}
+ [[ ${PV} != 9999 ]] && mycmakeargs+=( -DGIT_DESCRIBE=${PV} )
-pkg_postinst() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+ cmake_src_configure
}
-pkg_postrm() {
- gnome2_icon_cache_update
- xdg_desktop_database_update
+src_test() {
+ # The excluded tests require network access.
+ cmake_src_test -E "test_(bsu|core)"
}
diff --git a/net-im/ricochet/Manifest b/net-im/ricochet/Manifest
deleted file mode 100644
index 5b3657813636..000000000000
--- a/net-im/ricochet/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ricochet-1.1.4.tar.gz 1292671 BLAKE2B 15a71496b01992060fbdbedb0c73365aa250d9e6c4b5bb6223cbcd727a1cf062b1b9cd094d17ae33471e6095a071b1ea6d553a1bb2168974d45486995e204e9b SHA512 9f20fe8e34ea1d8d5b252eee1e164f0a97bf5b3818e864270ea79c0f018b229ec04b1b27acf44415bb646d48b9d1a0ada455a4f77fafdb6e4d21e62292b778a1
diff --git a/net-im/ricochet/metadata.xml b/net-im/ricochet/metadata.xml
deleted file mode 100644
index 6bf484adc0d0..000000000000
--- a/net-im/ricochet/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>lucianposton@pm.me</email>
- <name>Lucian Poston</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
diff --git a/net-im/ricochet/ricochet-1.1.4.ebuild b/net-im/ricochet/ricochet-1.1.4.ebuild
deleted file mode 100644
index b26be1ac4f28..000000000000
--- a/net-im/ricochet/ricochet-1.1.4.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit gnome2-utils qmake-utils
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ricochet-im/ricochet"
-else
- SRC_URI="https://github.com/ricochet-im/ricochet/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Privacy-focused instant messaging through Tor hidden services"
-HOMEPAGE="https://ricochet.im"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="debug hardened"
-
-RDEPEND="
- dev-libs/openssl:0=
- dev-libs/protobuf:0=
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtwidgets:5
- net-vpn/tor"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig"
-
-src_configure() {
- local qmakeargs=( 'DEFINES+=RICOCHET_NO_PORTABLE' )
- qmakeargs+=( $(usex debug 'CONFIG+=debug' 'CONFIG+=release') )
- qmakeargs+=( $(usex hardened 'CONFIG+=hardened' 'CONFIG+=no-hardened') )
-
- eqmake5 "${qmakeargs[@]}"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/net-im/ricochet/ricochet-9999.ebuild b/net-im/ricochet/ricochet-9999.ebuild
deleted file mode 100644
index b770332effdf..000000000000
--- a/net-im/ricochet/ricochet-9999.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit gnome2-utils qmake-utils
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ricochet-im/ricochet"
-else
- SRC_URI="https://github.com/ricochet-im/ricochet/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Privacy-focused instant messaging through Tor hidden services"
-HOMEPAGE="https://ricochet.im"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="debug hardened"
-
-RDEPEND="
- dev-libs/openssl:0=
- dev-libs/protobuf:0=
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtwidgets:5
- net-vpn/tor"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- virtual/pkgconfig"
-
-src_prepare() {
- eapply_user
-
- # workaround bug https://github.com/ricochet-im/ricochet/issues/582
- cp contrib/usr.bin.ricochet-apparmor contrib/usr.bin.ricochet
-}
-
-src_configure() {
- local qmakeargs=( 'DEFINES+=RICOCHET_NO_PORTABLE' )
- qmakeargs+=( 'DEFINES+=APPARMOR' )
- qmakeargs+=( $(usex debug 'CONFIG+=debug' 'CONFIG+=release') )
- qmakeargs+=( $(usex hardened 'CONFIG+=hardened' 'CONFIG+=no-hardened') )
-
- eqmake5 "${qmakeargs[@]}"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/net-im/rocketchat-desktop-bin/Manifest b/net-im/rocketchat-desktop-bin/Manifest
new file mode 100644
index 000000000000..4ffcf7efd980
--- /dev/null
+++ b/net-im/rocketchat-desktop-bin/Manifest
@@ -0,0 +1,2 @@
+DIST rocketchat-3.8.16-linux-x86_64.rpm 68712989 BLAKE2B b572047c535b6bcbca9e2a7b37060674aca9a4b356955e8ddf2b3e396b9f60e169d65fe5ffae292e43962b2045eb27c440f497fe950c6d66764b903e7e1700e1 SHA512 3a891396c3f92b5a47f2436047a6724089072bc3f4bd8a56830dfcb3347550dd71e7a2c3ce7c56b5c2c3de99384cdd470ea1005c705649a40a642404dc9e689f
+DIST rocketchat-3.9.10-linux-x86_64.rpm 73538525 BLAKE2B be674b902c9c75481c51b50d3de3922a296adbf44eade04a4e1b01988254d4635aa2915f7566b59535fb0026aa41bf8fee121f5748b29ccc44c89b271df3d484 SHA512 75df8faef6b775eaa0e405319ae3d9f69244a93c38b1cc4ccd87be21c7f66f1f03246b0fe1de09c9eeeb70e6898609e6906c64914e57d2a24b7ada908f2737d2
diff --git a/net-im/rocketchat-desktop-bin/metadata.xml b/net-im/rocketchat-desktop-bin/metadata.xml
new file mode 100644
index 000000000000..42dd05249f7c
--- /dev/null
+++ b/net-im/rocketchat-desktop-bin/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">RocketChat/Rocket.Chat.Electron</remote-id>
+ <bugs-to>https://github.com/RocketChat/Rocket.Chat.Electron/issues</bugs-to>
+ </upstream>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.8.16.ebuild b/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.8.16.ebuild
new file mode 100644
index 000000000000..75bd8b080cc3
--- /dev/null
+++ b/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.8.16.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop rpm xdg
+
+DESCRIPTION="The Ultimate Open Source Web Chat Platform"
+HOMEPAGE="https://rocket.chat"
+SRC_URI="https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${PV}/rocketchat-${PV}-linux-x86_64.rpm"
+S="${WORKDIR}"
+
+KEYWORDS="-* ~amd64"
+# Electron bundles a bunch of things
+LICENSE="
+ MIT BSD BSD-2 BSD-4 AFL-2.1 Apache-2.0 Ms-PL GPL-2 LGPL-2.1 APSL-2
+ unRAR OFL CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/libayatana-appindicator
+ dev-libs/nspr
+ dev-libs/nss
+ media-fonts/noto-emoji
+ media-libs/alsa-lib
+ net-print/cups
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libnotify
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+"
+
+QA_PREBUILT="opt/Rocket.Chat/*"
+
+pkg_pretend() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # cleanup languages
+ pushd "opt/Rocket.Chat/locales" || die
+ chromium_remove_language_paks
+ popd || die
+}
+
+src_configure() {
+ chromium_suid_sandbox_check_kernel_config
+ default
+}
+
+src_install() {
+ for size in {16,32,48,64,128,256,512,1024}; do
+ doicon -s ${size} "usr/share/icons/hicolor/${size}x${size}/apps/rocketchat-desktop.png"
+ done
+
+ domenu usr/share/applications/rocketchat-desktop.desktop
+
+ local DESTDIR="/opt/Rocket.Chat"
+
+ # https://github.com/RocketChat/Rocket.Chat.Electron/issues/2536
+ dosym ../../usr/lib64/libayatana-appindicator3.so "${DESTDIR}"/libappindicator3.so
+
+ pushd "opt/Rocket.Chat" || die
+
+ exeinto "${DESTDIR}"
+ doexe chrome-sandbox rocketchat-desktop *.so*
+
+ insinto "${DESTDIR}"
+ doins *.pak *.bin *.json *.dat
+ insopts -m0755
+ doins -r locales resources
+
+ # Chrome-sandbox requires the setuid bit to be specifically set.
+ # see https://github.com/electron/electron/issues/17972
+ fperms 4755 "${DESTDIR}"/chrome-sandbox
+
+ dosym "${DESTDIR}"/rocketchat-desktop /opt/bin/rocketchat-desktop
+ popd || die
+}
diff --git a/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.9.10.ebuild b/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.9.10.ebuild
new file mode 100644
index 000000000000..75bd8b080cc3
--- /dev/null
+++ b/net-im/rocketchat-desktop-bin/rocketchat-desktop-bin-3.9.10.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop rpm xdg
+
+DESCRIPTION="The Ultimate Open Source Web Chat Platform"
+HOMEPAGE="https://rocket.chat"
+SRC_URI="https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${PV}/rocketchat-${PV}-linux-x86_64.rpm"
+S="${WORKDIR}"
+
+KEYWORDS="-* ~amd64"
+# Electron bundles a bunch of things
+LICENSE="
+ MIT BSD BSD-2 BSD-4 AFL-2.1 Apache-2.0 Ms-PL GPL-2 LGPL-2.1 APSL-2
+ unRAR OFL CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/libayatana-appindicator
+ dev-libs/nspr
+ dev-libs/nss
+ media-fonts/noto-emoji
+ media-libs/alsa-lib
+ net-print/cups
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libnotify
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+"
+
+QA_PREBUILT="opt/Rocket.Chat/*"
+
+pkg_pretend() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # cleanup languages
+ pushd "opt/Rocket.Chat/locales" || die
+ chromium_remove_language_paks
+ popd || die
+}
+
+src_configure() {
+ chromium_suid_sandbox_check_kernel_config
+ default
+}
+
+src_install() {
+ for size in {16,32,48,64,128,256,512,1024}; do
+ doicon -s ${size} "usr/share/icons/hicolor/${size}x${size}/apps/rocketchat-desktop.png"
+ done
+
+ domenu usr/share/applications/rocketchat-desktop.desktop
+
+ local DESTDIR="/opt/Rocket.Chat"
+
+ # https://github.com/RocketChat/Rocket.Chat.Electron/issues/2536
+ dosym ../../usr/lib64/libayatana-appindicator3.so "${DESTDIR}"/libappindicator3.so
+
+ pushd "opt/Rocket.Chat" || die
+
+ exeinto "${DESTDIR}"
+ doexe chrome-sandbox rocketchat-desktop *.so*
+
+ insinto "${DESTDIR}"
+ doins *.pak *.bin *.json *.dat
+ insopts -m0755
+ doins -r locales resources
+
+ # Chrome-sandbox requires the setuid bit to be specifically set.
+ # see https://github.com/electron/electron/issues/17972
+ fperms 4755 "${DESTDIR}"/chrome-sandbox
+
+ dosym "${DESTDIR}"/rocketchat-desktop /opt/bin/rocketchat-desktop
+ popd || die
+}
diff --git a/net-im/sendxmpp-amm/Manifest b/net-im/sendxmpp-amm/Manifest
new file mode 100644
index 000000000000..100ecb6e86ea
--- /dev/null
+++ b/net-im/sendxmpp-amm/Manifest
@@ -0,0 +1 @@
+DIST sendxmpp-amm-1.1.1.tar.gz 14012 BLAKE2B 769f888ad5522a5566f4b6fa4478ebe9321850eb3c21c9677dd96b36244a62dd7bdcc70c7093f5cd27721c14cd056c58cb740e6b5f2469afb32130dabc34ca3f SHA512 64b813647e50ec1cb1c6d123ce93ad89abcb1d734a9bf2867d6be8e8b9eae1f315db18f7c5fde6504cfcaa31dd4aad619006c97c4ffc1fa54056287f3b194198
diff --git a/net-im/sendxmpp-amm/metadata.xml b/net-im/sendxmpp-amm/metadata.xml
new file mode 100644
index 000000000000..89250bb227b0
--- /dev/null
+++ b/net-im/sendxmpp-amm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">flowdalic/sendxmpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/sendxmpp-amm/sendxmpp-amm-1.1.1-r1.ebuild b/net-im/sendxmpp-amm/sendxmpp-amm-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..0f3324d28b3a
--- /dev/null
+++ b/net-im/sendxmpp-amm/sendxmpp-amm-1.1.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ORIG_PN="${PN%-amm}"
+
+DESCRIPTION="Send XMPP (Jabber) messages via command line"
+HOMEPAGE="https://github.com/flowdalic/sendxmpp"
+
+if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
+ EGIT_REPO_URI="https://github.com/Flowdalic/${ORIG_PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/flowdalic/${ORIG_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64"
+ S="${WORKDIR}/${ORIG_PN}-${PV}"
+fi
+
+LICENSE="GPL-3+"
+
+SLOT="0"
+
+RDEPEND="
+ dev-lang/ammonite-repl-bin[scala2-13]
+ !net-im/sendxmpp
+"
+
+src_prepare() {
+ default
+ # Ensure that the script is using the right Scala version.
+ sed -i '1 s;^.*$;#!/usr/bin/env amm-2.13;' sendxmpp || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ default
+ dobin sendxmpp
+}
diff --git a/net-im/sendxmpp-amm/sendxmpp-amm-9999.ebuild b/net-im/sendxmpp-amm/sendxmpp-amm-9999.ebuild
new file mode 100644
index 000000000000..c5dec761f9fd
--- /dev/null
+++ b/net-im/sendxmpp-amm/sendxmpp-amm-9999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ORIG_PN="${PN%-amm}"
+
+DESCRIPTION="Send XMPP (Jabber) messages via command line"
+HOMEPAGE="https://github.com/flowdalic/sendxmpp"
+
+if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
+ EGIT_REPO_URI="https://github.com/Flowdalic/${ORIG_PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/flowdalic/${ORIG_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64"
+ S="${WORKDIR}/${ORIG_PN}-${PV}"
+fi
+
+LICENSE="GPL-3+"
+
+SLOT="0"
+
+RDEPEND="
+ dev-lang/ammonite-repl-bin[scala2-13]
+ !net-im/sendxmpp
+"
+
+src_prepare() {
+ default
+ # Ensure that the script is using the right Scala version.
+ sed -i '1 s;^.*$;#!/usr/bin/env amm-2.13;' sendxmpp.sc || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ default
+ newbin sendxmpp.sc sendxmpp
+}
diff --git a/net-im/sendxmpp/metadata.xml b/net-im/sendxmpp/metadata.xml
index 560b8ad5f525..9bfda17c308c 100644
--- a/net-im/sendxmpp/metadata.xml
+++ b/net-im/sendxmpp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/net-im/sendxmpp/sendxmpp-1.24.ebuild b/net-im/sendxmpp/sendxmpp-1.24.ebuild
index bdd1e66033ab..f170e4a2625c 100644
--- a/net-im/sendxmpp/sendxmpp-1.24.ebuild
+++ b/net-im/sendxmpp/sendxmpp-1.24.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
inherit perl-module
@@ -11,8 +11,7 @@ SRC_URI="https://github.com/lhost/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 hppa ppc sparc x86"
-IUSE=""
+KEYWORDS="amd64 ~hppa ppc sparc x86"
RDEPEND="dev-perl/Net-XMPP
dev-perl/Authen-SASL
diff --git a/net-im/signal-cli-bin/Manifest b/net-im/signal-cli-bin/Manifest
new file mode 100644
index 000000000000..4f0bd3a1a471
--- /dev/null
+++ b/net-im/signal-cli-bin/Manifest
@@ -0,0 +1,9 @@
+DIST signal-cli-bin-0.12.7.README.md 5634 BLAKE2B 18cc55c1e00c3011921633d41c7510b20420cb74f874d811c802f523b0095afd31941a3151411bf232d8e17e6c9f6294ea4d340afdc9e7a2275a9e7e935949b7 SHA512 4df477726ed1f06dcc4079ac1d5931ed0fc73c6f18a46bb96fc7ce0efbc8441b7c615c3dcdc9eec6ef64e1b02e1545a23bbfbf6f26e3b1af7f9bd1b27f586102
+DIST signal-cli-bin-0.12.7.gh.tar.gz 52233248 BLAKE2B 0f4279a80740c6d9c8a803a99c2365d6ecd2e0e9b6304f3dfd44d8209b469d4353d3d93512fb818b96a3ddd8fe2d3b0f03d2dd57ea33a6697f4f63cf04460f55 SHA512 a241c489ed7993a4a26002bed2a0539295567548c6286fe1f2e102eeadabdfc3f49a72634ddd7c91eabd3dfe489f042d1c5105d31074368282dabecca1e48053
+DIST signal-cli-bin-0.12.7.signal-cli.1.adoc 25618 BLAKE2B e971d8752c57a0b49677d84cbdbd21e2303c3fdac36dfbecc1ab1d4141c89b27dc563be06d7df472682c3fce684b9c9b572e10d155af266b7ac516edeed0b282 SHA512 ad9fd60e164ec1649ea9abddd3de51bb8b055d183e0e690e33ccca92f5a7afb2b35bf6c982fe21375d38eb8ed400da38b886e742cb63562ef0dcde0d14f07266
+DIST signal-cli-bin-0.13.1.README.md 5538 BLAKE2B 9cef6c3db846dada9e855e445d2a0465b1ba6495e27cf4366bdf34e5c505ec5bf76c8d898a1d36a564e4a983eefd401cc94ab71804c6bd30367c84af065504d4 SHA512 575d355a7969dd748958c945c7d3c92de77882a63bf7111062d417127e465b1975e55a13853b83ccecf1307c0baf9eb1057c48363bd78a729b6f1c9e19ab134d
+DIST signal-cli-bin-0.13.1.gh.tar.gz 51796574 BLAKE2B dad3d4c3b1ac450b14edbdedd42abc62ece2941ea57d11239adb8cbf5bd82781b714260a62f7552a3879bfdfd2dd7b63dcb9d3ea33c65499c5aa4783a4bc253f SHA512 c82a1dadfbc37cc316fefb663a07d5e2366d31fa49a7a207fb3b2f1d68f55b41074f01704bada55b528bf60a3177a7ab74b612bc644ae57f8cb4a8115138d825
+DIST signal-cli-bin-0.13.1.signal-cli.1.adoc 28070 BLAKE2B 6530cefd79ca26673f8dda7b6e19574ed057aa92a2b940f55e951487254629d1f7c6ac03d30b682e7afc638ac859c31c1f3ac0542183316e1ba56c6dcd0e7d4c SHA512 8f98357f2ee2fb0102c847fb9ff91f0475386fb58708d9e37871ccb351fae7ab852c73eac5c3eedf154dc4bd4038c1d0f53f9024d1c0e0cb45bbd145f7dd09f9
+DIST signal-cli-bin-0.13.2.README.md 5538 BLAKE2B 9cef6c3db846dada9e855e445d2a0465b1ba6495e27cf4366bdf34e5c505ec5bf76c8d898a1d36a564e4a983eefd401cc94ab71804c6bd30367c84af065504d4 SHA512 575d355a7969dd748958c945c7d3c92de77882a63bf7111062d417127e465b1975e55a13853b83ccecf1307c0baf9eb1057c48363bd78a729b6f1c9e19ab134d
+DIST signal-cli-bin-0.13.2.gh.tar.gz 57251017 BLAKE2B a9a34e8e4bcab9e0825a4c037cc9b69255d46aaefbe8185eeb9b7d56fe7cd40e5a2f65a3873b72c6e1dbbd1251d6ff1b9206c68dc7db09df72be200dd77a48cc SHA512 472a558038a21e323c4f56c7698b31a2901ffcf318844fa787bb2b611621b7ae34a883bb3465cebf3495fa4b5b450b9ef5a6c9298f44996628cc4f517d79bd25
+DIST signal-cli-bin-0.13.2.signal-cli.1.adoc 28146 BLAKE2B a8bb25ccaed0cb3bf8583985f103b628b344646e5eb3aa62171b2e97a2f5131da3026891abc6e98ebae9107e55ad0846a0f9ce4f8e5d5e072e00f85b8d372ee6 SHA512 df82d33c0f53bbb641cb5fc4c85182b5f937ad30c0784ef2d183c91bf2ae23367960169a05bbf2e1d2f72aa76e26cd1d14c72ddf7ea369d5cefc0bed28607561
diff --git a/net-im/signal-cli-bin/files/signal-cli-bin-0.11.3-use-working-java-version.patch b/net-im/signal-cli-bin/files/signal-cli-bin-0.11.3-use-working-java-version.patch
new file mode 100644
index 000000000000..02b77bc54dd4
--- /dev/null
+++ b/net-im/signal-cli-bin/files/signal-cli-bin-0.11.3-use-working-java-version.patch
@@ -0,0 +1,33 @@
+This patch searches the jre 17 binary in the gentoo specific directories.
+
+Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
+
+--- a/bin/signal-cli
++++ b/bin/signal-cli
+@@ -118,13 +118,19 @@
+
+
+ # Determine the Java command to use to start the JVM.
+-if [ -n "$JAVA_HOME" ] ; then
+- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+- # IBM's JDK on AIX uses strange locations for the executables
+- JAVACMD=$JAVA_HOME/jre/sh/java
+- else
+- JAVACMD=$JAVA_HOME/bin/java
+- fi
++# This package needs Java 17,
++# so we must search for matching java binaries
++for I in /usr/lib*/openjdk-17 /opt/openjdk-bin-17 /opt/openjdk-jre-bin-17; do
++ J_TRY="$I/bin/java"
++ if [ -x "$J_TRY" ] ; then
++ "$J_TRY" -version 2>&1 | grep --fixed-strings --quiet "17."
++ if [ $? -eq 0 ] ; then
++ JAVACMD="$J_TRY"
++ break
++ fi
++ fi
++done
++if [ -n "$JAVACMD" ] ; then
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
diff --git a/net-im/signal-cli-bin/files/signal-cli-bin-0.13.1-use-working-java-version.patch b/net-im/signal-cli-bin/files/signal-cli-bin-0.13.1-use-working-java-version.patch
new file mode 100644
index 000000000000..452435a6751c
--- /dev/null
+++ b/net-im/signal-cli-bin/files/signal-cli-bin-0.13.1-use-working-java-version.patch
@@ -0,0 +1,33 @@
+This patch searches the jre 21 binary in the gentoo specific directories.
+
+Signed-off-by: Julien Roy <julien@jroy.ca>
+
+--- a/bin/signal-cli
++++ b/bin/signal-cli
+@@ -118,13 +118,19 @@
+
+
+ # Determine the Java command to use to start the JVM.
+-if [ -n "$JAVA_HOME" ] ; then
+- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+- # IBM's JDK on AIX uses strange locations for the executables
+- JAVACMD=$JAVA_HOME/jre/sh/java
+- else
+- JAVACMD=$JAVA_HOME/bin/java
+- fi
++# This package needs Java 21,
++# so we must search for matching java binaries
++for I in /usr/lib*/openjdk-21 /opt/openjdk-bin-21 /opt/openjdk-jre-bin-21; do
++ J_TRY="$I/bin/java"
++ if [ -x "$J_TRY" ] ; then
++ "$J_TRY" -version 2>&1 | grep --fixed-strings --quiet "17."
++ if [ $? -eq 0 ] ; then
++ JAVACMD="$J_TRY"
++ break
++ fi
++ fi
++done
++if [ -n "$JAVACMD" ] ; then
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
diff --git a/net-im/signal-cli-bin/metadata.xml b/net-im/signal-cli-bin/metadata.xml
new file mode 100644
index 000000000000..4ccd37ebb6e5
--- /dev/null
+++ b/net-im/signal-cli-bin/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>martin.dummer@gmx.net</email>
+ <name>Martin Dummer</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/AsamK/signal-cli/issues</bugs-to>
+ <changelog>https://github.com/AsamK/signal-cli/releases</changelog>
+ <doc>https://github.com/AsamK/signal-cli/wiki</doc>
+ <remote-id type="github">AsamK/signal-cli</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/signal-cli-bin/signal-cli-bin-0.12.7.ebuild b/net-im/signal-cli-bin/signal-cli-bin-0.12.7.ebuild
new file mode 100644
index 000000000000..3898a8985c79
--- /dev/null
+++ b/net-im/signal-cli-bin/signal-cli-bin-0.12.7.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="signal-cli-${PV}"
+DESCRIPTION="Send and receive messages of Signal Messenger over a command line interface"
+HOMEPAGE="https://github.com/AsamK/signal-cli/wiki"
+SRC_URI="
+ https://github.com/AsamK/signal-cli/releases/download/v${PV}/${MY_P}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/AsamK/signal-cli/raw/v${PV}/README.md -> ${P}.README.md
+ https://github.com/AsamK/signal-cli/raw/v${PV}/man/signal-cli.1.adoc -> ${P}.signal-cli.1.adoc
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ || ( virtual/jdk:17 virtual/jre:17 )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-text/asciidoc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.11.3-use-working-java-version.patch"
+)
+
+src_unpack() {
+ default
+ cp "${DISTDIR}/${P}.signal-cli.1.adoc" signal-cli.1.adoc || die
+}
+
+src_compile() {
+ default
+ a2x --no-xmllint --doctype manpage --format manpage "${WORKDIR}/signal-cli.1.adoc" || die
+}
+
+src_install() {
+ insinto /usr
+ doins -r lib
+ dobin bin/signal-cli
+ newdoc "${DISTDIR}/${P}.README.md" README.md
+ doman "${WORKDIR}/signal-cli.1"
+}
+
+pkg_postinst() {
+ elog "Please read /usr/share/doc/${PF}/README.md.bz2"
+ elog "how to register signal-cli with the signal service and how to send"
+ elog "and receive messages"
+}
diff --git a/net-im/signal-cli-bin/signal-cli-bin-0.13.1.ebuild b/net-im/signal-cli-bin/signal-cli-bin-0.13.1.ebuild
new file mode 100644
index 000000000000..134539b98724
--- /dev/null
+++ b/net-im/signal-cli-bin/signal-cli-bin-0.13.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="signal-cli-${PV}"
+DESCRIPTION="Send and receive messages of Signal Messenger over a command line interface"
+HOMEPAGE="https://github.com/AsamK/signal-cli"
+SRC_URI="
+ https://github.com/AsamK/signal-cli/releases/download/v${PV}/${MY_P}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/AsamK/signal-cli/raw/v${PV}/README.md -> ${P}.README.md
+ https://github.com/AsamK/signal-cli/raw/v${PV}/man/signal-cli.1.adoc -> ${P}.signal-cli.1.adoc
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ || ( virtual/jdk:21 virtual/jre:21 )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-text/asciidoc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.13.1-use-working-java-version.patch"
+)
+
+src_unpack() {
+ default
+ cp "${DISTDIR}/${P}.signal-cli.1.adoc" signal-cli.1.adoc || die
+}
+
+src_compile() {
+ default
+ a2x --no-xmllint --doctype manpage --format manpage "${WORKDIR}/signal-cli.1.adoc" || die
+}
+
+src_install() {
+ dodir /opt/signal-cli/{lib,bin}
+ insinto /opt/signal-cli
+ doins -r lib
+ into /opt/signal-cli
+ dobin bin/signal-cli
+ dosym -r /opt/signal-cli/bin/signal-cli /usr/bin/signal-cli
+ newdoc "${DISTDIR}/${P}.README.md" README.md
+ doman "${WORKDIR}/signal-cli.1"
+}
+
+pkg_postinst() {
+ elog "Please read /usr/share/doc/${PF}/README.md.bz2"
+ elog "how to register signal-cli with the signal service and how to send"
+ elog "and receive messages"
+}
diff --git a/net-im/signal-cli-bin/signal-cli-bin-0.13.2.ebuild b/net-im/signal-cli-bin/signal-cli-bin-0.13.2.ebuild
new file mode 100644
index 000000000000..134539b98724
--- /dev/null
+++ b/net-im/signal-cli-bin/signal-cli-bin-0.13.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="signal-cli-${PV}"
+DESCRIPTION="Send and receive messages of Signal Messenger over a command line interface"
+HOMEPAGE="https://github.com/AsamK/signal-cli"
+SRC_URI="
+ https://github.com/AsamK/signal-cli/releases/download/v${PV}/${MY_P}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/AsamK/signal-cli/raw/v${PV}/README.md -> ${P}.README.md
+ https://github.com/AsamK/signal-cli/raw/v${PV}/man/signal-cli.1.adoc -> ${P}.signal-cli.1.adoc
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ || ( virtual/jdk:21 virtual/jre:21 )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-text/asciidoc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.13.1-use-working-java-version.patch"
+)
+
+src_unpack() {
+ default
+ cp "${DISTDIR}/${P}.signal-cli.1.adoc" signal-cli.1.adoc || die
+}
+
+src_compile() {
+ default
+ a2x --no-xmllint --doctype manpage --format manpage "${WORKDIR}/signal-cli.1.adoc" || die
+}
+
+src_install() {
+ dodir /opt/signal-cli/{lib,bin}
+ insinto /opt/signal-cli
+ doins -r lib
+ into /opt/signal-cli
+ dobin bin/signal-cli
+ dosym -r /opt/signal-cli/bin/signal-cli /usr/bin/signal-cli
+ newdoc "${DISTDIR}/${P}.README.md" README.md
+ doman "${WORKDIR}/signal-cli.1"
+}
+
+pkg_postinst() {
+ elog "Please read /usr/share/doc/${PF}/README.md.bz2"
+ elog "how to register signal-cli with the signal service and how to send"
+ elog "and receive messages"
+}
diff --git a/net-im/signal-desktop-bin/Manifest b/net-im/signal-desktop-bin/Manifest
index 4054de704076..9758d7380912 100644
--- a/net-im/signal-desktop-bin/Manifest
+++ b/net-im/signal-desktop-bin/Manifest
@@ -1 +1 @@
-DIST signal-desktop_1.27.2_amd64.deb 85528588 BLAKE2B a3ce3bb81e68c861a4f38a143213a427882f999016bd42bcc28b4d4ef587711b9ceb7e435c4dff317503fdd4ffddbfb0c423e48ce060a227e8f43f32df1871f4 SHA512 7cea89f403fb8edf6801ea387bb3efdb536534173e0e32009884f29f95bee294fad2b59e3d886406f87b1e1c529f6fb36f3aa7ba1cdab9ec5e41aaa3a21eb313
+DIST signal-desktop_7.5.1_amd64.deb 118830110 BLAKE2B ec52c9aaf5a6536074c67ffb43d0cd3d5d5b5ef962eb92f6547d1e5ca2e783f9e32e28e8c92c5aea2750f930e96b52109d6c4bdc9285461480bb031c35c4ee9f SHA512 25105faa46294047d31e532691b364855213bf5d36cda4ba5ff021ff316e9812f44bb646c42316b0c54496080f48224a24dd68c30db388931858efd4e2c1df40
diff --git a/net-im/signal-desktop-bin/metadata.xml b/net-im/signal-desktop-bin/metadata.xml
index 04db50894c6b..dfd4d77b4377 100644
--- a/net-im/signal-desktop-bin/metadata.xml
+++ b/net-im/signal-desktop-bin/metadata.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>gentoo.2019@r123.de</email>
<name>Robert Siebeck</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <longdescription>Signal is an encrypted messenger. It requires an account created through their Android or iOS app.</longdescription>
+ <upstream>
+ <remote-id type="github">signalapp/Signal-Desktop</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/signal-desktop-bin/signal-desktop-bin-1.27.2.ebuild b/net-im/signal-desktop-bin/signal-desktop-bin-1.27.2.ebuild
deleted file mode 100644
index 8bfabe9f8fa7..000000000000
--- a/net-im/signal-desktop-bin/signal-desktop-bin-1.27.2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="${PN/-bin/}"
-
-inherit pax-utils unpacker xdg-utils
-
-DESCRIPTION="Allows you to send and receive messages of Signal Messenger on your computer"
-HOMEPAGE="https://signal.org/
- https://github.com/WhisperSystems/Signal-Desktop"
-SRC_URI="https://updates.signal.org/desktop/apt/pool/main/s/${MY_PN}/${MY_PN}_${PV}_amd64.deb"
-
-LICENSE="GPL-3 MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 ISC openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE=""
-
-RDEPEND="
- dev-libs/nss
- media-libs/mesa[X(+)]
- net-print/cups
- x11-libs/gtk+:3[X]
- x11-libs/libXScrnSaver
- x11-libs/libXtst"
-
-QA_PREBUILT="opt/Signal/signal-desktop
- opt/Signal/chrome-sandbox
- opt/Signal/libffmpeg.so
- opt/Signal/libGLESv2.so
- opt/Signal/libnode.so
- opt/Signal/libVkICD_mock_icd.so
- opt/Signal/swiftshader/libGLESv2.so"
-
-S="${WORKDIR}"
-
-src_prepare(){
- default
- sed -e 's|\("/opt/Signal/signal-desktop"\)|\1 --start-in-tray|g' \
- -i usr/share/applications/signal-desktop.desktop || die
- unpack usr/share/doc/signal-desktop/changelog.gz
-}
-
-src_install() {
- insinto /
- dodoc changelog
- doins -r opt
- insinto /usr/share
- doins -r usr/share/applications
- doins -r usr/share/icons
- fperms +x /opt/Signal/signal-desktop
- pax-mark m opt/Signal/signal-desktop
-
- dosym ../../opt/Signal/${MY_PN} /usr/bin/${MY_PN}
- dosym ../../usr/lib64/libEGL.so opt/Signal/libEGL.so
- dosym ../../../usr/lib64/libEGL.so opt/Signal/swiftshader/libEGL.so
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/net-im/signal-desktop-bin/signal-desktop-bin-7.5.1.ebuild b/net-im/signal-desktop-bin/signal-desktop-bin-7.5.1.ebuild
new file mode 100644
index 000000000000..4ddfe8d854e5
--- /dev/null
+++ b/net-im/signal-desktop-bin/signal-desktop-bin-7.5.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+
+inherit pax-utils unpacker xdg
+
+DESCRIPTION="Allows you to send and receive messages of Signal Messenger on your computer"
+HOMEPAGE="https://signal.org/
+ https://github.com/signalapp/Signal-Desktop"
+SRC_URI="https://updates.signal.org/desktop/apt/pool/s/${MY_PN}/${MY_PN}_${PV}_amd64.deb"
+S="${WORKDIR}"
+
+LICENSE="GPL-3 MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 ISC openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="-* amd64"
+IUSE="+sound"
+RESTRICT="splitdebug"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ >=media-fonts/noto-emoji-20231130
+ media-libs/alsa-lib
+ media-libs/mesa[X(+)]
+ net-print/cups
+ sys-apps/dbus[X]
+ x11-libs/cairo
+ x11-libs/gtk+:3[X]
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango
+ sound? (
+ || (
+ media-libs/libpulse
+ media-sound/apulse
+ )
+ )
+"
+
+QA_PREBUILT="
+ opt/Signal/chrome_crashpad_handler
+ opt/Signal/chrome-sandbox
+ opt/Signal/libEGL.so
+ opt/Signal/libGLESv2.so
+ opt/Signal/libffmpeg.so
+ opt/Signal/libvk_swiftshader.so
+ opt/Signal/libvulkan.so.1
+ opt/Signal/resources/app.asar.unpacked/node_modules/*
+ opt/Signal/signal-desktop
+ opt/Signal/swiftshader/libEGL.so
+ opt/Signal/swiftshader/libGLESv2.so"
+
+src_prepare() {
+ default
+ sed -e 's| --no-sandbox||g' \
+ -i usr/share/applications/signal-desktop.desktop || die
+ unpack usr/share/doc/signal-desktop/changelog.gz
+}
+
+src_install() {
+ insinto /
+ dodoc changelog
+ doins -r opt
+ insinto /usr/share
+
+ if has_version media-sound/apulse[-sdk] && ! has_version media-sound/pulseaudio; then
+ sed -i 's/Exec=/Exec=apulse /g' usr/share/applications/signal-desktop.desktop || die
+ fi
+
+ doins -r usr/share/applications
+ doins -r usr/share/icons
+ fperms +x /opt/Signal/signal-desktop /opt/Signal/chrome-sandbox /opt/Signal/chrome_crashpad_handler
+ fperms u+s /opt/Signal/chrome-sandbox
+ pax-mark m opt/Signal/signal-desktop opt/Signal/chrome-sandbox opt/Signal/chrome_crashpad_handler
+
+ dosym -r /opt/Signal/${MY_PN} /usr/bin/${MY_PN}
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ elog "For using the tray icon on compatible desktop environments, start Signal with"
+ elog " '--start-in-tray' or '--use-tray-icon'."
+}
diff --git a/net-im/silc-toolkit/Manifest b/net-im/silc-toolkit/Manifest
deleted file mode 100644
index 2b386d5b9ad1..000000000000
--- a/net-im/silc-toolkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST silc-toolkit-1.1.10.tar.bz2 1830280 BLAKE2B 9baef6a5684fc29d5255ea7e8a3122a412000c59b1009a69787b21e6320433b1599c9c0962b13d4670b25d83e8e1e908e15dce7931cf07391d82319eeb6a0f38 SHA512 b23b956a79cff6b0471d0fe3b7b57a473272416deaf8546b66987247bef2ee1fc3a8d3db03165a8c3d7f012549f02834d70e3473704e5b39f647a025f4e6befc
diff --git a/net-im/silc-toolkit/metadata.xml b/net-im/silc-toolkit/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/net-im/silc-toolkit/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/net-im/silc-toolkit/silc-toolkit-1.1.10.ebuild b/net-im/silc-toolkit/silc-toolkit-1.1.10.ebuild
deleted file mode 100644
index 04aebc9bab9c..000000000000
--- a/net-im/silc-toolkit/silc-toolkit-1.1.10.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-DESCRIPTION="SDK for the SILC protocol"
-HOMEPAGE="http://silcnet.org/"
-SRC_URI="http://silcnet.org/download/toolkit/sources/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="debug ipv6"
-
-RDEPEND=""
-DEPEND="virtual/pkgconfig"
-
-src_prepare() {
- # They have incorrect DESTDIR usage
- sed -i \
- "s/^\(pkgconfigdir =\) \$(libdir)\/pkgconfig/\1 \/usr\/$(get_libdir)\/pkgconfig/"\
- "${S}"/lib/Makefile.{am,in}
-}
-
-src_configure() {
- econf \
- --datadir="${EPREFIX}/usr/share/${PN}" \
- --datarootdir="${EPREFIX}/usr/share/${PN}" \
- --includedir="${EPREFIX}/usr/include/${PN}" \
- --sysconfdir="${EPREFIX}/etc/silc" \
- --libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --disable-optimizations \
- --with-simdir=/usr/$(get_libdir)/${PN}/modules \
- $(use_enable debug) \
- $(use_enable ipv6)
-}
diff --git a/net-im/skype-dbus-mock/Manifest b/net-im/skype-dbus-mock/Manifest
deleted file mode 100644
index 891c4cd4f5f8..000000000000
--- a/net-im/skype-dbus-mock/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST skype-dbus-mock-0_pre20181011.tar.gz 2851 BLAKE2B fbb2d476d6a0402ea6ac70198d0aac87c24d7c9815fe27b03631625df10f24c71634f7f22eec2256869746cbf9d308ab3275380a755455ebbbb23ad2adcdd5a2 SHA512 d566a91cb279fe07626744e6196e3dcf7b36a5535bb8fe3cd7e6245d874bdf82f7948bd7f476f73c72f972894ee250d89a9eb055fdf55af9cbe97b1b05e39e16
diff --git a/net-im/skype-dbus-mock/metadata.xml b/net-im/skype-dbus-mock/metadata.xml
deleted file mode 100644
index fbd99da1cd1b..000000000000
--- a/net-im/skype-dbus-mock/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>mattsch@gmail.com</email>
- <name>Matthew Schultz</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
diff --git a/net-im/skype-dbus-mock/skype-dbus-mock-0_pre20181011.ebuild b/net-im/skype-dbus-mock/skype-dbus-mock-0_pre20181011.ebuild
deleted file mode 100644
index bac70bb79264..000000000000
--- a/net-im/skype-dbus-mock/skype-dbus-mock-0_pre20181011.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit python-r1
-
-GIT_COMMIT="3a9e2882ac5c0ad6be3c5cb5c7da008b4cfa51da"
-DESCRIPTION="Mocked systemd dbus interface for skype 8.30+"
-HOMEPAGE="https://github.com/maelnor/skype-dbus-mock"
-SRC_URI="https://github.com/maelnor/${PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- >=net-im/skypeforlinux-8.30
- dev-python/dbus-python[${PYTHON_USEDEP}]
- !sys-apps/systemd
- !sys-auth/elogind"
-
-S=${WORKDIR}/${PN}-${GIT_COMMIT}
-
-src_install() {
- newbin skype-dbus-mock.py skype-dbus-mock
- insinto /usr/share/dbus-1/system-services
- doins org.freedesktop.login1.service
- insinto /usr/share/dbus-1/system.d
- doins skype-dbus-mock.conf
-}
-
-pkg_postinst() {
- ewarn "Restart dbus service to apply changes"
-}
diff --git a/net-im/skypeforlinux/Manifest b/net-im/skypeforlinux/Manifest
index e9331330585d..a21a682fc0fc 100644
--- a/net-im/skypeforlinux/Manifest
+++ b/net-im/skypeforlinux/Manifest
@@ -1 +1,2 @@
-DIST skypeforlinux_8.52.0.138-1.x86_64.rpm 106539045 BLAKE2B f07275b050ef63f87dfe54633ffa8446c5aa7a3db40e1eeea9c0902e9f7726fab59c7c1e55fd7af9b3f92bfb87a90b74851eeb334e415ed3b90f20013eda2b25 SHA512 dffb71138116c7c657a16cb7811e201d70b8d41242d3f1616f7e1ac71d6db60db487184b241b8290e4aa61fe755555b470db5731b269afd1d81c502e42bc31e7
+DIST skypeforlinux_8.108.0.205_amd64.deb 121989382 BLAKE2B 9881f81d46e8b89e737a78b8671fbdc0739eb349751791539531e0191a44512d2130371b40e302c6dccc3d15d3b6d6ddb006546732a1d39fca386bb3869bb57f SHA512 2d84ea37635f8b725f4654cf163202a372423eb6695af66b8e7cdd52f8780f6360571f67d780f11a4df08b3f0e99349b9e0253f3887d0821c79183ab0adc446b
+DIST skypeforlinux_8.110.76.107_amd64.deb 122006300 BLAKE2B 124cb482280c17b0582f3ac67ec7e657de28d2be397e133fd1c552ad6738169fa902ea7b8e0d487e4e188e69049e977e7a18350b60ec6850f13140b749da6a26 SHA512 6f58b7589cc3e539d2b4f3cdcadcbcda8eea5f08ead406dd87891ad9f2e140fe4c7efb9c57842957a8c15f2d01f0d674fc13d8192ed270724c6e6480d1a58deb
diff --git a/net-im/skypeforlinux/metadata.xml b/net-im/skypeforlinux/metadata.xml
index 376761200504..254b22aa40cc 100644
--- a/net-im/skypeforlinux/metadata.xml
+++ b/net-im/skypeforlinux/metadata.xml
@@ -1,20 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>onigino@protonmail.com</email>
- <name>Gino McCarty</name>
- </maintainer>
- <maintainer type="person">
- <email>jano.vesely@gmail.com</email>
- <name>Jan Vesely</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="pax_kernel">Triggers a paxmarking of the main skype binary</flag>
- </use>
+ <!-- maintainer-needed -->
<longdescription>Skype is for doing things together, whenever you're apart. Skype's text, voice and video make it simple to share experiences with the people that matter to you, wherever they are.</longdescription>
</pkgmetadata>
diff --git a/net-im/skypeforlinux/skypeforlinux-8.52.0.138.ebuild b/net-im/skypeforlinux/skypeforlinux-8.108.0.205.ebuild
index 68c053c717f7..a96df6bc8f2e 100644
--- a/net-im/skypeforlinux/skypeforlinux-8.52.0.138.ebuild
+++ b/net-im/skypeforlinux/skypeforlinux-8.108.0.205.ebuild
@@ -1,32 +1,28 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MULTILIB_COMPAT=( abi_x86_64 )
-inherit chromium-2 desktop pax-utils rpm multilib-build xdg
+inherit chromium-2 desktop pax-utils unpacker multilib-build xdg
DESCRIPTION="Instant messaging client, with support for audio and video"
HOMEPAGE="https://www.skype.com/"
-SRC_URI="https://repo.skype.com/rpm/stable/${PN}_${PV}-1.x86_64.rpm"
+SRC_URI="https://repo.skype.com/deb/pool/main/s/skypeforlinux/${PN}_${PV}_amd64.deb"
+S="${WORKDIR}"
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
SLOT="0"
KEYWORDS="-* ~amd64"
-IUSE="pax_kernel"
+IUSE="selinux"
-S="${WORKDIR}"
QA_PREBUILT="*"
RESTRICT="mirror bindist strip" #299368
RDEPEND="
- || (
- sys-auth/elogind
- sys-apps/systemd
- )
app-crypt/libsecret[${MULTILIB_USEDEP}]
- dev-libs/atk[${MULTILIB_USEDEP}]
+ app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
dev-libs/expat[${MULTILIB_USEDEP}]
dev-libs/glib:2[${MULTILIB_USEDEP}]
dev-libs/nspr[${MULTILIB_USEDEP}]
@@ -38,6 +34,7 @@ RDEPEND="
net-print/cups[${MULTILIB_USEDEP}]
sys-apps/dbus[${MULTILIB_USEDEP}]
sys-devel/gcc[cxx]
+ sys-libs/glibc
virtual/ttf-fonts
x11-libs/cairo[${MULTILIB_USEDEP}]
x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
@@ -54,15 +51,18 @@ RDEPEND="
x11-libs/libXrender[${MULTILIB_USEDEP}]
x11-libs/libXtst[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
x11-libs/libxkbfile[${MULTILIB_USEDEP}]
- x11-libs/pango[${MULTILIB_USEDEP}]"
+ x11-libs/pango[${MULTILIB_USEDEP}]
+ selinux? ( sec-policy/selinux-skype )
+"
pkg_setup() {
chromium_suid_sandbox_check_kernel_config
}
src_unpack() {
- rpm_src_unpack ${A}
+ unpack_deb ${A}
}
src_prepare() {
@@ -76,7 +76,11 @@ src_prepare() {
src_install() {
dodir /opt
- cp -a usr/share/skypeforlinux "${D}"/opt || die
+ cp -a usr/share/skypeforlinux "${ED}"/opt || die
+
+ # remove chrome-sandbox binary, users should use kernel namespaces
+ # https://bugs.gentoo.org/692692#c18
+ rm "${ED}"/opt/skypeforlinux/chrome-sandbox || die
dobin usr/bin/skypeforlinux
@@ -94,13 +98,6 @@ src_install() {
domenu usr/share/applications/skypeforlinux.desktop
- if use pax_kernel; then
- pax-mark -m "${ED}"/opt/skypeforlinux/skypeforlinux
- pax-mark -m "${ED}"/opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
- ewarn "You have set USE=pax_kernel meaning that you intend to run"
- ewarn "${PN} under a PaX enabled kernel. To do so, we must modify"
- ewarn "the ${PN} binary itself and this *may* lead to breakage! If"
- ewarn "you suspect that ${PN} is being broken by this modification,"
- ewarn "please open a bug."
- fi
+ pax-mark -m "${ED}"/opt/skypeforlinux/skypeforlinux
+ pax-mark -m "${ED}"/opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
}
diff --git a/net-im/skypeforlinux/skypeforlinux-8.52.0.138-r1.ebuild b/net-im/skypeforlinux/skypeforlinux-8.110.76.107.ebuild
index 7e1b0f86ef82..7013112b81ac 100644
--- a/net-im/skypeforlinux/skypeforlinux-8.52.0.138-r1.ebuild
+++ b/net-im/skypeforlinux/skypeforlinux-8.110.76.107.ebuild
@@ -1,33 +1,28 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MULTILIB_COMPAT=( abi_x86_64 )
-inherit chromium-2 desktop pax-utils rpm multilib-build xdg
+inherit chromium-2 desktop pax-utils unpacker multilib-build xdg
DESCRIPTION="Instant messaging client, with support for audio and video"
HOMEPAGE="https://www.skype.com/"
-SRC_URI="https://repo.skype.com/rpm/stable/${PN}_${PV}-1.x86_64.rpm"
+SRC_URI="https://repo.skype.com/deb/pool/main/s/skypeforlinux/${PN}_${PV}_amd64.deb"
+S="${WORKDIR}"
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
SLOT="0"
KEYWORDS="-* ~amd64"
-IUSE="pax_kernel"
+IUSE="selinux"
-S="${WORKDIR}"
QA_PREBUILT="*"
RESTRICT="mirror bindist strip" #299368
RDEPEND="
- || (
- sys-auth/elogind
- sys-apps/systemd
- net-im/skype-dbus-mock
- )
app-crypt/libsecret[${MULTILIB_USEDEP}]
- dev-libs/atk[${MULTILIB_USEDEP}]
+ app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
dev-libs/expat[${MULTILIB_USEDEP}]
dev-libs/glib:2[${MULTILIB_USEDEP}]
dev-libs/nspr[${MULTILIB_USEDEP}]
@@ -39,6 +34,7 @@ RDEPEND="
net-print/cups[${MULTILIB_USEDEP}]
sys-apps/dbus[${MULTILIB_USEDEP}]
sys-devel/gcc[cxx]
+ sys-libs/glibc
virtual/ttf-fonts
x11-libs/cairo[${MULTILIB_USEDEP}]
x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
@@ -55,15 +51,18 @@ RDEPEND="
x11-libs/libXrender[${MULTILIB_USEDEP}]
x11-libs/libXtst[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
x11-libs/libxkbfile[${MULTILIB_USEDEP}]
- x11-libs/pango[${MULTILIB_USEDEP}]"
+ x11-libs/pango[${MULTILIB_USEDEP}]
+ selinux? ( sec-policy/selinux-skype )
+"
pkg_setup() {
chromium_suid_sandbox_check_kernel_config
}
src_unpack() {
- rpm_src_unpack ${A}
+ unpack_deb ${A}
}
src_prepare() {
@@ -77,7 +76,11 @@ src_prepare() {
src_install() {
dodir /opt
- cp -a usr/share/skypeforlinux "${D}"/opt || die
+ cp -a usr/share/skypeforlinux "${ED}"/opt || die
+
+ # remove chrome-sandbox binary, users should use kernel namespaces
+ # https://bugs.gentoo.org/692692#c18
+ rm "${ED}"/opt/skypeforlinux/chrome-sandbox || die
dobin usr/bin/skypeforlinux
@@ -95,13 +98,6 @@ src_install() {
domenu usr/share/applications/skypeforlinux.desktop
- if use pax_kernel; then
- pax-mark -m "${ED}"/opt/skypeforlinux/skypeforlinux
- pax-mark -m "${ED}"/opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
- ewarn "You have set USE=pax_kernel meaning that you intend to run"
- ewarn "${PN} under a PaX enabled kernel. To do so, we must modify"
- ewarn "the ${PN} binary itself and this *may* lead to breakage! If"
- ewarn "you suspect that ${PN} is being broken by this modification,"
- ewarn "please open a bug."
- fi
+ pax-mark -m "${ED}"/opt/skypeforlinux/skypeforlinux
+ pax-mark -m "${ED}"/opt/skypeforlinux/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
}
diff --git a/net-im/slack-bin/Manifest b/net-im/slack-bin/Manifest
deleted file mode 100644
index 6f66d39ecafc..000000000000
--- a/net-im/slack-bin/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST slack-desktop-2.1.2-amd64.deb 46460486 BLAKE2B c6478764d3bd49745f9626d85287489fd58345b1315e41fdb1bfa9b93e4201aeeb2a22678e79f584c3da26d090136c1b8b18e449b518a69a0291072b5fc05089 SHA512 b23ccee498c2c6d043bdb4632b1b2755b3f0a96a1d78338020fb4221c49b7feeb437cc358abcf285e0f0a0f7b57f4db6792b2baa8b339596a287f1272ed12284
-DIST slack-desktop-2.1.2-i386.deb 42997902 BLAKE2B e5b3375efbe00d31e34c900aedde4c6c19b0e6a550d9db6155d9f8333c9d6db241da60e9b711eee7dbf6cf89d5ac4b84050c9e89c490172b7db205f38981dca3 SHA512 6b68123d3c85687043e886974449fe424af267c326ffc869d03d911ae5d0f30f5081b611e136bc4f832da8d555b2851a4c093df9c8be2de98235ebcd03528d8c
-DIST slack-desktop-3.1.1-amd64.deb 60320286 BLAKE2B 3054e8283b41d5b8b45323131b2a85800ba8b8e24e0b80aa0eff0c0152c7cad0a2914bf64a6b83621cf6c9ad52b9bf26c0d113cf5867d4c3f2e7d6129d4d27ae SHA512 06f209b07d1bbbadede592f4e63da7c53436ecc821585448269d4eda16ad0bdf8355ac46e508741150fae6dc883c90563509361f47dd02fda2f15b2829dda309
-DIST slack-desktop-3.4.2-amd64.deb 62724122 BLAKE2B 31ab566b9a1cb80f1daa207664f4bf0504666cb388f06bf5cd5d381ab26f6b11a4eae5a4a0abd634dd562277fd291bddfb213b9285c4fab218488acc3bbd39a9 SHA512 d3d9ea70467fe59c6194430054d4bed5824a39b156ed9d215df4592eed7b63fbdb93d0a135502941805575f99bce0ec3fe266643cac731b75d9c58a760b3c1a4
-DIST slack-desktop-4.0.2-amd64.deb 61298592 BLAKE2B d6d30f75d245f78276036588eb69a579148feb18fd9232c096b95ce342d37719476eec49ec67147dcd87dbf84b60e8041c45cd6a133f48811cff33958abc43e5 SHA512 6647253eaf73022baaeacbc2e5c8a679cf1d65f8a43aec207b0aedafb74ba64b76196ee621f26097591ccd9e1aa215f2185e23b7083a4da9c89fb031f09a4471
diff --git a/net-im/slack-bin/slack-bin-2.1.2.ebuild b/net-im/slack-bin/slack-bin-2.1.2.ebuild
deleted file mode 100644
index 6a7b8f24e9b0..000000000000
--- a/net-im/slack-bin/slack-bin-2.1.2.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PN="${PN/-bin/}"
-BASE_URI="https://downloads.slack-edge.com/linux_releases/${MY_PN}-desktop-${PV}-_arch_.deb"
-
-inherit eutils gnome2-utils unpacker xdg-utils
-
-DESCRIPTION="Team collaboration tool"
-HOMEPAGE="http://www.slack.com/"
-SRC_URI="x86? ( ${BASE_URI/_arch_/i386} )
- amd64? ( ${BASE_URI/_arch_/amd64} )"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-RESTRICT="bindist mirror"
-
-RDEPEND="dev-libs/atk:0
- dev-libs/expat:0
- dev-libs/glib:2
- dev-libs/nspr:0
- dev-libs/nss:0
- gnome-base/gconf:2
- gnome-base/libgnome-keyring:0
- media-libs/alsa-lib:0
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- net-misc/curl:0
- net-print/cups:0
- sys-apps/dbus:0
- x11-libs/cairo:0
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:2
- x11-libs/libX11:0
- x11-libs/libXcomposite:0
- x11-libs/libXcursor:0
- x11-libs/libXdamage:0
- x11-libs/libXext:0
- x11-libs/libXfixes:0
- x11-libs/libXi:0
- x11-libs/libXrandr:0
- x11-libs/libXrender:0
- x11-libs/libXScrnSaver:0
- x11-libs/libXtst:0
- x11-libs/pango:0"
-
-QA_PREBUILT="opt/slack/slack
- opt/slack/resources/app.asar.unpacked/node_modules/*
- opt/slack/libnode.so
- opt/slack/libffmpeg.so
- opt/slack/libCallsCore.so"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/pixmaps
- doins usr/share/pixmaps/${MY_PN}.png
-
- newicon -s 512 usr/share/pixmaps/${MY_PN}.png ${MY_PN}.png
- domenu usr/share/applications/${MY_PN}.desktop
-
- insinto /opt/${MY_PN}
- doins -r usr/lib/${MY_PN}/.
- fperms +x /opt/${MY_PN}/${MY_PN}
- dosym ../../opt/${MY_PN}/${MY_PN} usr/bin/${MY_PN}
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- gnome2_icon_cache_update
-}
diff --git a/net-im/slack-bin/slack-bin-3.1.1.ebuild b/net-im/slack-bin/slack-bin-3.1.1.ebuild
deleted file mode 100644
index 60d3a3890b84..000000000000
--- a/net-im/slack-bin/slack-bin-3.1.1.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PN="${PN/-bin/}"
-MULTILIB_COMPAT=( abi_x86_64 )
-
-inherit desktop gnome2-utils multilib-build pax-utils unpacker xdg-utils
-
-DESCRIPTION="Team collaboration tool"
-HOMEPAGE="http://www.slack.com/"
-SRC_URI="https://downloads.slack-edge.com/linux_releases/${MY_PN}-desktop-${PV}-amd64.deb"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE="ayatana gnome-keyring pax_kernel"
-RESTRICT="bindist mirror"
-
-RDEPEND="dev-libs/atk:0[${MULTILIB_USEDEP}]
- dev-libs/expat:0[${MULTILIB_USEDEP}]
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- dev-libs/nspr:0[${MULTILIB_USEDEP}]
- dev-libs/nss:0[${MULTILIB_USEDEP}]
- gnome-base/gconf:2[${MULTILIB_USEDEP}]
- media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
- media-libs/fontconfig:1.0[${MULTILIB_USEDEP}]
- media-libs/freetype:2[${MULTILIB_USEDEP}]
- net-misc/curl:0[${MULTILIB_USEDEP}]
- net-print/cups:0[${MULTILIB_USEDEP}]
- sys-apps/dbus:0[${MULTILIB_USEDEP}]
- x11-libs/cairo:0[${MULTILIB_USEDEP}]
- x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
- x11-libs/gtk+:2[${MULTILIB_USEDEP}]
- x11-libs/libX11:0[${MULTILIB_USEDEP}]
- x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
- x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
- x11-libs/libXcursor:0[${MULTILIB_USEDEP}]
- x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
- x11-libs/libXext:0[${MULTILIB_USEDEP}]
- x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
- x11-libs/libXi:0[${MULTILIB_USEDEP}]
- x11-libs/libxkbfile:0[${MULTILIB_USEDEP}]
- x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
- x11-libs/libXrender:0[${MULTILIB_USEDEP}]
- x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
- x11-libs/libXtst:0[${MULTILIB_USEDEP}]
- x11-libs/pango:0[${MULTILIB_USEDEP}]
- ayatana? ( dev-libs/libappindicator:2[${MULTILIB_USEDEP}] )
- gnome-keyring? ( app-crypt/libsecret:0[${MULTILIB_USEDEP}] )"
-
-QA_PREBUILT="opt/slack/slack
- opt/slack/resources/app.asar.unpacked/node_modules/*
- opt/slack/libnode.so
- opt/slack/libffmpeg.so
- opt/slack/libCallsCore.so"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
-
- if use ayatana ; then
- sed -i '/Exec/s|=|=env XDG_CURRENT_DESKTOP=Unity |' \
- usr/share/applications/slack.desktop \
- || die "sed failed for slack.desktop"
- fi
-}
-
-src_install() {
- doicon usr/share/pixmaps/slack.png
- doicon -s 512 usr/share/pixmaps/slack.png
- domenu usr/share/applications/slack.desktop
-
- insinto /opt/slack
- doins -r usr/lib/slack/.
- fperms +x /opt/slack/slack
- dosym ../../opt/slack/slack usr/bin/slack
-
- use pax_kernel && pax-mark -m "${ED%/}"/opt/slack/slack
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
diff --git a/net-im/slack-bin/slack-bin-3.4.2.ebuild b/net-im/slack-bin/slack-bin-3.4.2.ebuild
deleted file mode 100644
index 2ec99996f51b..000000000000
--- a/net-im/slack-bin/slack-bin-3.4.2.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="${PN/-bin/}"
-MULTILIB_COMPAT=( abi_x86_64 )
-
-inherit desktop multilib-build pax-utils unpacker xdg-utils
-
-DESCRIPTION="Team collaboration tool"
-HOMEPAGE="http://www.slack.com/"
-SRC_URI="https://downloads.slack-edge.com/linux_releases/${MY_PN}-desktop-${PV}-amd64.deb"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE="ayatana gnome-keyring pax_kernel"
-RESTRICT="bindist mirror"
-
-RDEPEND="app-accessibility/at-spi2-atk:2[${MULTILIB_USEDEP}]
- dev-libs/atk:0[${MULTILIB_USEDEP}]
- dev-libs/expat:0[${MULTILIB_USEDEP}]
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- dev-libs/nspr:0[${MULTILIB_USEDEP}]
- dev-libs/nss:0[${MULTILIB_USEDEP}]
- gnome-base/gconf:2[${MULTILIB_USEDEP}]
- media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
- media-libs/fontconfig:1.0[${MULTILIB_USEDEP}]
- media-libs/freetype:2[${MULTILIB_USEDEP}]
- net-misc/curl:0[${MULTILIB_USEDEP}]
- net-print/cups:0[${MULTILIB_USEDEP}]
- sys-apps/dbus:0[${MULTILIB_USEDEP}]
- x11-libs/cairo:0[${MULTILIB_USEDEP}]
- x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
- x11-libs/gtk+:3[${MULTILIB_USEDEP}]
- x11-libs/libX11:0[${MULTILIB_USEDEP}]
- x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
- x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
- x11-libs/libXcursor:0[${MULTILIB_USEDEP}]
- x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
- x11-libs/libXext:0[${MULTILIB_USEDEP}]
- x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
- x11-libs/libXi:0[${MULTILIB_USEDEP}]
- x11-libs/libxkbfile:0[${MULTILIB_USEDEP}]
- x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
- x11-libs/libXrender:0[${MULTILIB_USEDEP}]
- x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
- x11-libs/libXtst:0[${MULTILIB_USEDEP}]
- x11-libs/pango:0[${MULTILIB_USEDEP}]
- ayatana? ( dev-libs/libappindicator:3[${MULTILIB_USEDEP}] )
- gnome-keyring? ( app-crypt/libsecret:0[${MULTILIB_USEDEP}] )"
-
-QA_PREBUILT="opt/slack/slack
- opt/slack/resources/app.asar.unpacked/node_modules/*
- opt/slack/libnode.so
- opt/slack/libffmpeg.so
- opt/slack/libCallsCore.so
- opt/slack/libVkICD_mock_icd.so
- opt/slack/libEGL.so
- opt/slack/libGLESv2.so
- opt/slack/swiftshader/libEGL.so
- opt/slack/swiftshader/libGLESv2.so"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
-
- if use ayatana ; then
- sed -i '/Exec/s|=|=env XDG_CURRENT_DESKTOP=Unity |' \
- usr/share/applications/slack.desktop \
- || die "sed failed for slack.desktop"
- fi
-}
-
-src_install() {
- doicon usr/share/pixmaps/slack.png
- doicon -s 512 usr/share/pixmaps/slack.png
- domenu usr/share/applications/slack.desktop
-
- insinto /opt/slack
- doins -r usr/lib/slack/.
- fperms +x /opt/slack/slack
- dosym ../../opt/slack/slack usr/bin/slack
-
- use pax_kernel && pax-mark -m "${ED%/}"/opt/slack/slack
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/net-im/slack-bin/slack-bin-4.0.2.ebuild b/net-im/slack-bin/slack-bin-4.0.2.ebuild
deleted file mode 100644
index 4717b2533290..000000000000
--- a/net-im/slack-bin/slack-bin-4.0.2.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="${PN/-bin/}"
-MULTILIB_COMPAT=( abi_x86_64 )
-
-inherit desktop multilib-build pax-utils unpacker xdg-utils
-
-DESCRIPTION="Team collaboration tool"
-HOMEPAGE="https://www.slack.com/"
-SRC_URI="https://downloads.slack-edge.com/linux_releases/${MY_PN}-desktop-${PV}-amd64.deb"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-IUSE="ayatana gnome-keyring pax_kernel"
-RESTRICT="bindist mirror"
-
-RDEPEND="app-accessibility/at-spi2-atk:2[${MULTILIB_USEDEP}]
- dev-libs/atk:0[${MULTILIB_USEDEP}]
- dev-libs/expat:0[${MULTILIB_USEDEP}]
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- dev-libs/nspr:0[${MULTILIB_USEDEP}]
- dev-libs/nss:0[${MULTILIB_USEDEP}]
- media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
- media-libs/mesa:0[${MULTILIB_USEDEP}]
- net-print/cups:0[${MULTILIB_USEDEP}]
- sys-apps/dbus:0[${MULTILIB_USEDEP}]
- sys-apps/util-linux:0[${MULTILIB_USEDEP}]
- x11-libs/cairo:0[${MULTILIB_USEDEP}]
- x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
- x11-libs/gtk+:3[${MULTILIB_USEDEP}]
- x11-libs/libX11:0[${MULTILIB_USEDEP}]
- x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
- x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
- x11-libs/libXcursor:0[${MULTILIB_USEDEP}]
- x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
- x11-libs/libXext:0[${MULTILIB_USEDEP}]
- x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
- x11-libs/libXi:0[${MULTILIB_USEDEP}]
- x11-libs/libxkbfile:0[${MULTILIB_USEDEP}]
- x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
- x11-libs/libXrender:0[${MULTILIB_USEDEP}]
- x11-libs/libXScrnSaver:0[${MULTILIB_USEDEP}]
- x11-libs/libXtst:0[${MULTILIB_USEDEP}]
- x11-libs/pango:0[${MULTILIB_USEDEP}]
- ayatana? ( dev-libs/libappindicator:3[${MULTILIB_USEDEP}] )
- gnome-keyring? ( app-crypt/libsecret:0[${MULTILIB_USEDEP}] )"
-
-QA_PREBUILT="opt/slack/slack
- opt/slack/resources/app.asar.unpacked/node_modules/*
- opt/slack/libnode.so
- opt/slack/libffmpeg.so
- opt/slack/libCallsCore.so
- opt/slack/libVkICD_mock_icd.so
- opt/slack/libEGL.so
- opt/slack/libGLESv2.so
- opt/slack/swiftshader/libEGL.so
- opt/slack/swiftshader/libGLESv2.so"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
-
- if use ayatana ; then
- sed -i '/Exec/s|=|=env XDG_CURRENT_DESKTOP=Unity |' \
- usr/share/applications/slack.desktop \
- || die "sed failed for slack.desktop"
- fi
-}
-
-src_install() {
- doicon usr/share/pixmaps/slack.png
- doicon -s 512 usr/share/pixmaps/slack.png
- domenu usr/share/applications/slack.desktop
-
- insinto /opt/slack
- doins -r usr/lib/slack/.
- fperms +x /opt/slack/slack
- dosym ../../opt/slack/slack usr/bin/slack
-
- use pax_kernel && pax-mark -m "${ED%/}"/opt/slack/slack
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/net-im/slack/Manifest b/net-im/slack/Manifest
new file mode 100644
index 000000000000..e3adb451e913
--- /dev/null
+++ b/net-im/slack/Manifest
@@ -0,0 +1,2 @@
+DIST slack-desktop-4.37.101-amd64.deb 78933422 BLAKE2B b98574309a07812c9439aa18ce061eac5f8d3a8bbe1ec207b96dcd6ef5d32bb796348ada207123a4c9f75244b65f8de57b2290058b891f026c182e3697959fc9 SHA512 7ade44d443067c3330b28ec2ded8fabe84035c051d5e23e9f9f29a759833f7289491796ad2ca3855c840aa591e092048a2754ff429e7a2502c109577c0cef82d
+DIST slack-desktop-4.37.94-amd64.deb 78908138 BLAKE2B 7bf8690bce4edfc613bab77b0705b570366044249f83f98a8c725544264cbdde2f666b7e4a184901446693ef81c61004e6cbc45fb857d80b8de2d25f45545990 SHA512 95a7ea03b1d393462ddd0a2c1129895fd053175f97eefc5a02069d93fc1d1075de6a6a0489d9eee749381ed18d5154ec58d0bdd4151191e9ca283f8df721ee75
diff --git a/net-im/slack-bin/metadata.xml b/net-im/slack/metadata.xml
index 200d6a674a29..79be733db06d 100644
--- a/net-im/slack-bin/metadata.xml
+++ b/net-im/slack/metadata.xml
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>spiderx@spiderx.dp.ua</email>
<name>Vladimir Pavljuchenkov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -15,10 +19,7 @@
All content inside Slack is searchable, including files, conversations,
and people.
</longdescription>
- <use>
- <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
- </use>
<upstream>
- <doc>https://get.slack.help/hc/en-us</doc>
+ <doc>https://slack.com/intl/en-us/help</doc>
</upstream>
</pkgmetadata>
diff --git a/net-im/slack/slack-4.37.101.ebuild b/net-im/slack/slack-4.37.101.ebuild
new file mode 100644
index 000000000000..3d7a4b0058ab
--- /dev/null
+++ b/net-im/slack/slack-4.37.101.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_64 )
+
+inherit desktop multilib-build optfeature pax-utils unpacker xdg
+
+DESCRIPTION="Team collaboration tool"
+HOMEPAGE="https://slack.com"
+SRC_URI="https://downloads.slack-edge.com/releases/linux/${PV}/prod/x64/${PN}-desktop-${PV}-amd64.deb"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="appindicator +seccomp suid wayland"
+RESTRICT="bindist mirror"
+
+RDEPEND="app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
+ dev-libs/expat:0[${MULTILIB_USEDEP}]
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ dev-libs/nspr:0[${MULTILIB_USEDEP}]
+ dev-libs/nss:0[${MULTILIB_USEDEP}]
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
+ media-libs/mesa:0[${MULTILIB_USEDEP}]
+ net-print/cups:0[${MULTILIB_USEDEP}]
+ sys-apps/dbus:0[${MULTILIB_USEDEP}]
+ x11-libs/cairo:0[${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ x11-libs/libdrm:0[${MULTILIB_USEDEP}]
+ x11-libs/libX11:0[${MULTILIB_USEDEP}]
+ x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
+ x11-libs/libXext:0[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon:0[${MULTILIB_USEDEP}]
+ x11-libs/libxkbfile:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
+ x11-libs/pango:0[${MULTILIB_USEDEP}]
+ appindicator? ( dev-libs/libayatana-appindicator )"
+
+QA_PREBUILT="opt/slack/chrome-sandbox
+ opt/slack/chrome_crashpad_handler
+ opt/slack/libEGL.so
+ opt/slack/libGLESv2.so
+ opt/slack/libffmpeg.so
+ opt/slack/libvk_swiftshader.so
+ opt/slack/libvulkan.so.1
+ opt/slack/resources/app.asar.unpacked/node_modules/*
+ opt/slack/slack
+ opt/slack/swiftshader/libEGL.so
+ opt/slack/swiftshader/libGLESv2.so"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+
+ # remove hardcoded path, logging noise (wrt 694058, 711494)
+ sed -i -e '/Icon/s|/usr/share/pixmaps/slack.png|slack|' \
+ -e '/Exec/s|slack|slack -s|' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed in Icon for slack.desktop"
+
+ if use appindicator ; then
+ sed -i '/Exec/s|=|=env XDG_CURRENT_DESKTOP=Unity |' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for appindicator"
+ fi
+
+ if ! use seccomp ; then
+ sed -i '/Exec/s/%U/%U --disable-seccomp-filter-sandbox/' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for seccomp"
+ fi
+
+ if use wayland ; then
+ sed -i '/Exec/s/%U/%U --enable-features=WebRTCPipeWireCapturer/' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for wayland"
+ fi
+
+ rm usr/lib/slack/LICENSE{,S-linux.json} \
+ || die "rm licenses failed"
+}
+
+src_install() {
+ doicon usr/share/pixmaps/slack.png
+ doicon -s 512 usr/share/pixmaps/slack.png
+ domenu usr/share/applications/slack.desktop
+
+ insinto /opt # wrt 720134
+ cp -a usr/lib/slack "${ED}"/opt || die "cp failed"
+
+ use suid && fperms u+s /opt/slack/chrome-sandbox # wrt 713094
+ dosym ../../opt/slack/slack usr/bin/slack
+
+ pax-mark -m "${ED}"/opt/slack/slack
+
+ # https://bugs.gentoo.org/898912
+ if use appindicator; then
+ dosym ../../usr/lib64/libayatana-appindicator3.so /opt/slack/libappindicator3.so
+ fi
+}
+
+pkg_postinst() {
+ optfeature "storing passwords via gnome-keyring" app-crypt/libsecret
+
+ xdg_pkg_postinst
+}
diff --git a/net-im/slack/slack-4.37.94.ebuild b/net-im/slack/slack-4.37.94.ebuild
new file mode 100644
index 000000000000..3d7a4b0058ab
--- /dev/null
+++ b/net-im/slack/slack-4.37.94.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_64 )
+
+inherit desktop multilib-build optfeature pax-utils unpacker xdg
+
+DESCRIPTION="Team collaboration tool"
+HOMEPAGE="https://slack.com"
+SRC_URI="https://downloads.slack-edge.com/releases/linux/${PV}/prod/x64/${PN}-desktop-${PV}-amd64.deb"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="appindicator +seccomp suid wayland"
+RESTRICT="bindist mirror"
+
+RDEPEND="app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
+ dev-libs/expat:0[${MULTILIB_USEDEP}]
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ dev-libs/nspr:0[${MULTILIB_USEDEP}]
+ dev-libs/nss:0[${MULTILIB_USEDEP}]
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib:0[${MULTILIB_USEDEP}]
+ media-libs/mesa:0[${MULTILIB_USEDEP}]
+ net-print/cups:0[${MULTILIB_USEDEP}]
+ sys-apps/dbus:0[${MULTILIB_USEDEP}]
+ x11-libs/cairo:0[${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ x11-libs/libdrm:0[${MULTILIB_USEDEP}]
+ x11-libs/libX11:0[${MULTILIB_USEDEP}]
+ x11-libs/libxcb:0/1.12[${MULTILIB_USEDEP}]
+ x11-libs/libXcomposite:0[${MULTILIB_USEDEP}]
+ x11-libs/libXdamage:0[${MULTILIB_USEDEP}]
+ x11-libs/libXext:0[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes:0[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon:0[${MULTILIB_USEDEP}]
+ x11-libs/libxkbfile:0[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr:0[${MULTILIB_USEDEP}]
+ x11-libs/pango:0[${MULTILIB_USEDEP}]
+ appindicator? ( dev-libs/libayatana-appindicator )"
+
+QA_PREBUILT="opt/slack/chrome-sandbox
+ opt/slack/chrome_crashpad_handler
+ opt/slack/libEGL.so
+ opt/slack/libGLESv2.so
+ opt/slack/libffmpeg.so
+ opt/slack/libvk_swiftshader.so
+ opt/slack/libvulkan.so.1
+ opt/slack/resources/app.asar.unpacked/node_modules/*
+ opt/slack/slack
+ opt/slack/swiftshader/libEGL.so
+ opt/slack/swiftshader/libGLESv2.so"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ default
+
+ # remove hardcoded path, logging noise (wrt 694058, 711494)
+ sed -i -e '/Icon/s|/usr/share/pixmaps/slack.png|slack|' \
+ -e '/Exec/s|slack|slack -s|' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed in Icon for slack.desktop"
+
+ if use appindicator ; then
+ sed -i '/Exec/s|=|=env XDG_CURRENT_DESKTOP=Unity |' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for appindicator"
+ fi
+
+ if ! use seccomp ; then
+ sed -i '/Exec/s/%U/%U --disable-seccomp-filter-sandbox/' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for seccomp"
+ fi
+
+ if use wayland ; then
+ sed -i '/Exec/s/%U/%U --enable-features=WebRTCPipeWireCapturer/' \
+ usr/share/applications/slack.desktop \
+ || die "sed failed for wayland"
+ fi
+
+ rm usr/lib/slack/LICENSE{,S-linux.json} \
+ || die "rm licenses failed"
+}
+
+src_install() {
+ doicon usr/share/pixmaps/slack.png
+ doicon -s 512 usr/share/pixmaps/slack.png
+ domenu usr/share/applications/slack.desktop
+
+ insinto /opt # wrt 720134
+ cp -a usr/lib/slack "${ED}"/opt || die "cp failed"
+
+ use suid && fperms u+s /opt/slack/chrome-sandbox # wrt 713094
+ dosym ../../opt/slack/slack usr/bin/slack
+
+ pax-mark -m "${ED}"/opt/slack/slack
+
+ # https://bugs.gentoo.org/898912
+ if use appindicator; then
+ dosym ../../usr/lib64/libayatana-appindicator3.so /opt/slack/libappindicator3.so
+ fi
+}
+
+pkg_postinst() {
+ optfeature "storing passwords via gnome-keyring" app-crypt/libsecret
+
+ xdg_pkg_postinst
+}
diff --git a/net-im/spectrum2/Manifest b/net-im/spectrum2/Manifest
index 7c194ddbe6e0..ff04b5209c99 100644
--- a/net-im/spectrum2/Manifest
+++ b/net-im/spectrum2/Manifest
@@ -1 +1 @@
-DIST spectrum2-2.0.12.tar.gz 839711 BLAKE2B 22dbc201135008effbd1aac52a708f5c942bd9a3c4a359622d1eb21ce104bdd3a6be64f1cb2ad5950b51e5f1772d77fce088d4a61a56532d970901656176d3f7 SHA512 bcd2797877583e6b59e5f1da430ed049e5bcdddfa9698f6d845f020847405ff8ee01b595d47d414105153e2a00e9a8fac171f45db5d39f72ddf0f6588bc71a36
+DIST spectrum2-2.2.1.tar.gz 666509 BLAKE2B c946cea46d99bd8126ad8270a8a01140d75ff989cf0cc0e2ff19ac830c01df4ad02a296959077f5a56707d509bafe937515f78adf7361a2e261497f5299dfe7d SHA512 c752f043f337157125da800ec5e5ed41b0f0f2bf8ee91c682a228779754557389469eb58610bef7793a0d68a303260f80a38a1519f61b62ba23e9a2222c6f399
diff --git a/net-im/spectrum2/files/spectrum2.initd b/net-im/spectrum2/files/spectrum2.initd
index 8a35dbe75bc9..0ab25819804d 100644
--- a/net-im/spectrum2/files/spectrum2.initd
+++ b/net-im/spectrum2/files/spectrum2.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
command="/usr/bin/spectrum2_manager"
@@ -41,7 +41,7 @@ stop() {
# Andrey Utkin <andrey_utkin@gentoo.org> (24 Nov 2018)
# Conrad Kostecki <conrad@kostecki.com> (24 Nov 2018)
# We are aware of many security issues caused by careless chowning, see
-# http://michael.orlitzky.com/articles/end_root_chowning_now_(make_etc-init.d_great_again).xhtml
+# https://michael.orlitzky.com/articles/end_root_chowning_now_(make_etc-init.d_great_again).xhtml
# We believe none of these issues apply.
# These pidfiles are not read by any privileged process.
# checkpath here chowns only the dir itself and doesn't act recursively.
diff --git a/net-im/spectrum2/metadata.xml b/net-im/spectrum2/metadata.xml
index d7eb552115dc..14c0f5b599ee 100644
--- a/net-im/spectrum2/metadata.xml
+++ b/net-im/spectrum2/metadata.xml
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
- </maintainer>
<longdescription>
Spectrum is an open source instant messaging transport.
It allows users to chat together even when they are using
@@ -27,4 +19,7 @@
<flag name="whatsapp">Enables the WhatsApp backend, based on <pkg>net-im/transwhat</pkg>.</flag>
<flag name="twitter">Enables the Twitter backend.</flag>
</use>
+ <upstream>
+ <remote-id type="github">SpectrumIM/spectrum2</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/spectrum2/spectrum2-2.0.12-r1.ebuild b/net-im/spectrum2/spectrum2-2.2.1.ebuild
index 328982615fbe..659d8085be5d 100644
--- a/net-im/spectrum2/spectrum2-2.0.12-r1.ebuild
+++ b/net-im/spectrum2/spectrum2-2.2.1.ebuild
@@ -1,11 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils python-any-r1 systemd
+inherit cmake systemd tmpfiles
DESCRIPTION="An open source instant messaging transport"
HOMEPAGE="https://www.spectrum.im"
@@ -13,9 +11,13 @@ SRC_URI="https://github.com/SpectrumIM/spectrum2/archive/${PV}.tar.gz -> ${P}.ta
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="doc frotz irc mysql postgres purple sms +sqlite test twitter whatsapp xmpp"
-REQUIRED_USE="|| ( mysql postgres sqlite )"
+REQUIRED_USE="
+ || ( mysql postgres sqlite )
+ test? ( irc )
+"
+RESTRICT="!test? ( test )"
RDEPEND="
acct-group/spectrum
@@ -23,13 +25,13 @@ RDEPEND="
dev-libs/boost:=[nls]
dev-libs/expat
dev-libs/libev:=
- dev-libs/log4cxx
+ >=dev-libs/log4cxx-1.0.0:=
dev-libs/jsoncpp:=
- dev-libs/openssl:0=
+ dev-libs/openssl:=
dev-libs/popt
dev-libs/protobuf:=
- net-dns/libidn:0=
- net-im/swift:=
+ net-dns/libidn:=
+ >=net-im/swift-4.0.2-r2:=
net-misc/curl
sys-libs/zlib:=
frotz? ( !games-engines/frotz )
@@ -40,7 +42,7 @@ RDEPEND="
dev-db/mysql-connector-c
)
)
- postgres? ( >=dev-libs/libpqxx-6.4.5:= )
+ postgres? ( dev-libs/libpqxx:= )
purple? (
dev-libs/glib
net-im/pidgin:=
@@ -52,58 +54,45 @@ RDEPEND="
DEPEND="
${RDEPEND}
- doc? ( app-doc/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/sleekxmpp[${PYTHON_USEDEP}]')
- dev-util/cppunit
- net-irc/ngircd
- )
+ doc? ( app-text/doxygen )
+ test? ( dev-util/cppunit )
"
-# Tests are currently restricted, as they do completly fail
-RESTRICT="test"
-
-python_check_deps() {
- has_version "dev-python/sleekxmpp[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
src_prepare() {
# Respect users LDFLAGS
sed -i -e "s/-Wl,-export-dynamic/& ${LDFLAGS}/" spectrum/src/CMakeLists.txt || die
- cmake-utils_src_prepare
+ cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
+ -DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var"
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DENABLE_DOCS="$(usex doc)"
-DENABLE_FROTZ="$(usex frotz)"
-DENABLE_IRC="$(usex irc)"
-DENABLE_MYSQL="$(usex mysql)"
-DENABLE_PQXX="$(usex postgres)"
-DENABLE_PURPLE="$(usex purple)"
+ $(usex irc '-DENABLE_QT4=OFF' '')
-DENABLE_SMSTOOLS3="$(usex sms)"
-DENABLE_SQLITE3="$(usex sqlite)"
-DENABLE_TESTS="$(usex test)"
-DENABLE_TWITTER="$(usex twitter)"
-DENABLE_XMPP="$(usex xmpp)"
- -DLIB_INSTALL_DIR="$(get_libdir)"
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_test() {
- cd tests/libtransport && "${EPYTHON}" ../start.py || die
+ cd "${BUILD_DIR}/tests/libtransport" || die
+ ./libtransport_test || die
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
diropts -o spectrum -g spectrum
keepdir /var/log/spectrum2 /var/lib/spectrum2
@@ -111,7 +100,22 @@ src_install() {
newinitd "${FILESDIR}"/spectrum2.initd spectrum2
systemd_newunit "${FILESDIR}"/spectrum2.service spectrum2.service
- systemd_newtmpfilesd "${FILESDIR}"/spectrum2.tmpfiles-r1 spectrum2.conf
+ newtmpfiles "${FILESDIR}"/spectrum2.tmpfiles-r1 spectrum2.conf
einstalldocs
}
+
+pkg_postinst() {
+ tmpfiles_process spectrum2.conf
+
+ if [[ ${REPLACING_VERSIONS} ]]; then
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 2.2.0; then
+ ewarn "Starting with Release 2.2.0, the path for spectrum2"
+ ewarn "executable helper files has been changed from '/usr/bin'"
+ ewarn "to '/usr/libexec'. Please update your config files!"
+ break
+ fi
+ done
+ fi
+}
diff --git a/net-im/swift/Manifest b/net-im/swift/Manifest
index d0e86af54c3a..51cfbe5fc7ed 100644
--- a/net-im/swift/Manifest
+++ b/net-im/swift/Manifest
@@ -1 +1,2 @@
-DIST swift-4.0.2.tar.gz 19083393 BLAKE2B de4ad1c3d68dfc4d693cdebdf4e18809210aa4e83af31b77bf730c7018507877852b5ea634623c037250de4005606108bd0372d39177093769c5dc5f72bd4812 SHA512 b7d4b90f387d5ea4ac3ca31794eabd1f12a64274628d75c7570f40269777b9003182884730a6340c5e0b5b7928a68bda5e49be623b47da9fa64fe4c3f25be167
+DIST swift-4.0.3-python3-compatibility.patch.gz 14964 BLAKE2B ec98bee12734eb00037433b2791817d24a0a53effa653268a886b59358fb82f8e6c05739165f2518c9c5ad5b7ddfcef90734964eb6de647a24197e69b333ebc9 SHA512 95e1a0c49158cbf1392442103c960e2d458a99b34c3f32cdb47fec2d195b709d6c4b0c2961b4c49d05c19e590f2e2ca836c6f559b960015030bf8375b0604c3f
+DIST swift-4.0.3.tar.bz2 15124142 BLAKE2B 23896b72ffecc5148ade806ec6610c5edfa67ae9000e28383c7cf5a3c8bf275a6fc8208d1d6e7c7715e75bf133869ed404fd35bfb13998849209def3aab46c07 SHA512 59ebf69391f2cbdce538f0ee925f55eec0e8463c2f9b90899cb314f2a036f40ebdc357c4b6a6d3b71ae800ccf6ee6df5ff6011949ea0bb189cdf3e9f231e9733
diff --git a/net-im/swift/files/swift-4.0.2-make-generated-files-handle-unicode-characters.patch b/net-im/swift/files/swift-4.0.2-make-generated-files-handle-unicode-characters.patch
deleted file mode 100644
index 7fd2e386d9d9..000000000000
--- a/net-im/swift/files/swift-4.0.2-make-generated-files-handle-unicode-characters.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 39ff091cddf8fd5e01047d80c7ed60c150537705 Mon Sep 17 00:00:00 2001
-From: Thanos Doukoudakis <thanos.doukoudakis@isode.com>
-Date: Fri, 11 May 2018 11:26:39 +0100
-Subject: Make generated files handle Unicode characters
-
-This patch handles a case where some of the files used to generate COPYING,
-were containing unicode strings, which could lead to a failure when building
-sid package. The code now will check the type of the string before writing to
-the file, and if needed it will transform it to the appropriate format.
-
-Test-Information:
-Generated the sid package with package_all_platforms script with no problems.
-Created a debian sid box and tested the installation of the generated
-packages. Validated the output generated in Windows 10 and Ubuntu 16.04 builds
-through the "About" dialog in Swift.
-
-Change-Id: I05e518b758f316d9fbf23c1079be5a462e75106c
-
-diff --git a/BuildTools/SCons/Tools/textfile.py b/BuildTools/SCons/Tools/textfile.py
-index 89f8963..9b424f2 100644
---- a/BuildTools/SCons/Tools/textfile.py
-+++ b/BuildTools/SCons/Tools/textfile.py
-@@ -113,7 +113,11 @@ def _action(target, source, env):
- lsep = None
- for s in source:
- if lsep: fd.write(lsep)
-- fd.write(_do_subst(s, subs))
-+ stringtowrite = _do_subst(s, subs)
-+ if isinstance(stringtowrite, str):
-+ fd.write(stringtowrite)
-+ elif isinstance(stringtowrite, unicode):
-+ fd.write(stringtowrite.encode('utf-8'))
- lsep = linesep
- fd.close()
-
---
-cgit v0.10.2-6-g49f6
-
diff --git a/net-im/swift/files/swift-4.0.2-qt-5.11-compatibility.patch b/net-im/swift/files/swift-4.0.2-qt-5.11-compatibility.patch
deleted file mode 100644
index db633945b49d..000000000000
--- a/net-im/swift/files/swift-4.0.2-qt-5.11-compatibility.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 1d18148c86377787a8c77042b12ea66f20cb2ca9 Mon Sep 17 00:00:00 2001
-From: Tobias Markmann <tm@ayena.de>
-Date: Thu, 21 Jun 2018 13:04:56 +0200
-Subject: Add missing include for QAbstractItemModel
-
-This fixes building Swift with Qt 5.11.
-
-Test-Information:
-
-Builds and tests pass on macOS 10.13.5 with Qt 5.11.0.
-
-Change-Id: I1be2cd081d8a520ec38ab7cca5ada0d7fc39b777
-
-diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.h b/Swift/QtUI/UserSearch/QtUserSearchWindow.h
-index 0714ac1..fe536ab 100644
---- a/Swift/QtUI/UserSearch/QtUserSearchWindow.h
-+++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2010-2016 Isode Limited.
-+ * Copyright (c) 2010-2018 Isode Limited.
- * All rights reserved.
- * See the COPYING file for more information.
- */
-@@ -8,6 +8,7 @@
-
- #include <set>
-
-+#include <QAbstractItemModel>
- #include <QWizard>
-
- #include <Swiften/Base/Override.h>
---
-cgit v0.10.2-6-g49f6
-
diff --git a/net-im/swift/files/swift-4.0.2-qt-5.15-compatibility.patch b/net-im/swift/files/swift-4.0.2-qt-5.15-compatibility.patch
new file mode 100644
index 000000000000..37918db1980f
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.2-qt-5.15-compatibility.patch
@@ -0,0 +1,10 @@
+--- a/Swift/QtUI/Roster/GroupItemDelegate.cpp
++++ b/Swift/QtUI/Roster/GroupItemDelegate.cpp
+@@ -7,6 +7,7 @@
+ #include <Swift/QtUI/Roster/GroupItemDelegate.h>
+
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QPen>
+ #include <QtDebug>
+
diff --git a/net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch b/net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch
new file mode 100644
index 000000000000..4d94c2d10503
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.3-gcc11-compatibility.patch
@@ -0,0 +1,13 @@
+diff --git a/Swift/Controllers/ShowProfileController.h b/Swift/Controllers/ShowProfileController.h
+index 0d01ba1a0..5dc7197ff 100644
+--- a/Swift/Controllers/ShowProfileController.h
++++ b/Swift/Controllers/ShowProfileController.h
+@@ -18,6 +18,8 @@
+
+ #include <Swift/Controllers/UIEvents/UIEvent.h>
+
++#include <map>
++
+ namespace Swift {
+ class VCardManager;
+ class ProfileWindow;
diff --git a/net-im/swift/files/swift-4.0.3-libxml2-2.12-compatibility.patch b/net-im/swift/files/swift-4.0.3-libxml2-2.12-compatibility.patch
new file mode 100644
index 000000000000..b08a480835f3
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.3-libxml2-2.12-compatibility.patch
@@ -0,0 +1,11 @@
+--- a/Swiften/Parser/LibXMLParser.cpp
++++ b/Swiften/Parser/LibXMLParser.cpp
+@@ -97,7 +97,7 @@
+ if (xmlParseChunk(p->context_, data.c_str(), boost::numeric_cast<int>(data.size()), false) == XML_ERR_OK) {
+ return true;
+ }
+- xmlError* error = xmlCtxtGetLastError(p->context_);
++ const xmlError* error = xmlCtxtGetLastError(p->context_);
+ if (error->code == XML_WAR_NS_URI || error->code == XML_WAR_NS_URI_RELATIVE) {
+ xmlCtxtResetLastError(p->context_);
+ p->context_->errNo = XML_ERR_OK;
diff --git a/net-im/swift/files/swift-4.0.3-reproducible-build.patch b/net-im/swift/files/swift-4.0.3-reproducible-build.patch
new file mode 100644
index 000000000000..951678f2303f
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.3-reproducible-build.patch
@@ -0,0 +1,21 @@
+commit 39a684108ae5938105498e7744e70962308cde7b
+Author: kpcyrd <git@rxv.cc>
+Date: Wed Aug 25 23:30:17 2021 +0200
+
+ Reproducible Builds: Sort directory contents at build
+
+diff --git a/Swiften/SConscript b/Swiften/SConscript
+index f52637bdb..334f4489e 100644
+--- a/Swiften/SConscript
++++ b/Swiften/SConscript
+@@ -567,7 +567,9 @@ if env["SCONS_STAGE"] == "build" :
+ swiften_includes = []
+ swiften_public_includes = []
+ top_path = env.Dir("..").abspath
+- for root, dirs, files in os.walk(env.Dir(".").abspath) :
++ for root, dirs, files in sorted(os.walk(env.Dir(".").abspath)) :
++ dirs.sort()
++ files.sort()
+ if root.endswith("UnitTest") :
+ continue
+ for file in files :
diff --git a/net-im/swift/metadata.xml b/net-im/swift/metadata.xml
index c7c45c7e8bd1..9246b510f67a 100644
--- a/net-im/swift/metadata.xml
+++ b/net-im/swift/metadata.xml
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
- </maintainer>
<longdescription>
Swift is an elegant, secure, adaptable and intuitive XMPP client,
with features that make it suitable for a wide range of use scenarios.
@@ -20,8 +12,4 @@
cross-platform, and performant C++ library for
implementing XMPP applications.
</longdescription>
- <use>
- <flag name="client">Build the full graphical XMPP client.</flag>
- <flag name="gconf">Enable configuration through <pkg>gnome-base/gconf</pkg>.</flag>
- </use>
</pkgmetadata>
diff --git a/net-im/swift/swift-4.0.2-r1.ebuild b/net-im/swift/swift-4.0.3-r2.ebuild
index eac7d6fa9d5d..792b487871ed 100644
--- a/net-im/swift/swift-4.0.2-r1.ebuild
+++ b/net-im/swift/swift-4.0.3-r2.ebuild
@@ -1,22 +1,28 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit gnome2-utils scons-utils toolchain-funcs
+LUA_COMPAT=( lua5-{1..2} luajit )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit lua-single python-any-r1 scons-utils toolchain-funcs
DESCRIPTION="An elegant, secure, adaptable and intuitive XMPP Client"
HOMEPAGE="https://www.swift.im/"
-SRC_URI="https://swift.im/downloads/releases/${P}/${P}.tar.gz"
+SRC_URI="
+ https://swift.im/git/${PN}/snapshot/${PN}-${P}.tar.bz2 -> ${P}.tar.bz2
+ https://dev.gentoo.org/~conikost/distfiles/patches/${P}-python3-compatibility.patch.gz
+"
+S="${WORKDIR}/${PN}-${P}"
LICENSE="BSD BSD-1 CC-BY-3.0 GPL-3 OFL-1.1"
SLOT="4/0"
KEYWORDS="amd64"
-IUSE="client expat gconf +icu +idn lua spell test zeroconf"
+IUSE="expat +icu +idn lua test zeroconf"
REQUIRED_USE="
|| ( icu idn )
- gconf? ( client )
- spell? ( client )
+ lua? ( ${LUA_REQUIRED_USE} )
"
RDEPEND="
@@ -25,32 +31,17 @@ RDEPEND="
dev-libs/openssl:0=
net-libs/libnatpmp
net-libs/miniupnpc:=
- sys-libs/zlib:=
- client? (
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtwebkit:5
- dev-qt/qtx11extras:5
- net-dns/avahi
- )
+ sys-libs/zlib
expat? ( dev-libs/expat )
!expat? ( dev-libs/libxml2:2 )
- gconf? ( gnome-base/gconf:2 )
icu? ( dev-libs/icu:= )
idn? ( net-dns/libidn:= )
- lua? ( dev-lang/lua:= )
- spell? ( app-text/hunspell:= )
+ lua? ( ${LUA_DEPS} )
"
DEPEND="
${RDEPEND}
- >=dev-util/scons-3.0.1-r3
- client? ( dev-qt/linguist-tools:5 )
+ >=dev-build/scons-3.0.1-r3
test? ( net-dns/avahi )
"
@@ -64,27 +55,38 @@ DOCS=(
)
PATCHES=(
- "${FILESDIR}"/${P}-boost-1.69-compatibility.patch
- "${FILESDIR}"/${P}-make-generated-files-handle-unicode-characters.patch
- "${FILESDIR}"/${P}-qt-5.11-compatibility.patch
+ "${FILESDIR}"/${PN}-4.0.2-boost-1.69-compatibility.patch
+ "${FILESDIR}"/${PN}-4.0.2-qt-5.15-compatibility.patch
+ "${FILESDIR}"/${PN}-4.0.3-gcc11-compatibility.patch
+ "${FILESDIR}"/${PN}-4.0.3-libxml2-2.12-compatibility.patch
+ "${WORKDIR}"/${PN}-4.0.3-python3-compatibility.patch
+ "${FILESDIR}"/${PN}-4.0.3-reproducible-build.patch
)
+pkg_setup() {
+ python-any-r1_pkg_setup
+ use lua && lua-single_pkg_setup
+}
+
src_prepare() {
default
+ # Don't include '/usr/lib*' in the link command line for `swiften-config`
+ sed -e '/_LIBDIRFLAGS/d' -i Swiften/Config/SConscript || die
+
+ # Use correct LIBDIR for Lua
+ sed -e "s/lib/$(get_libdir)/g" -i Sluift/SConscript.variant || die
+
# Hack for finding Qt system libs
mkdir "${T}"/qt || die
- ln -s "${EPREFIX%/}"/usr/$(get_libdir)/qt5/bin "${T}"/qt/bin || die
- ln -s "${EPREFIX%/}"/usr/$(get_libdir)/qt5 "${T}"/qt/lib || die
- ln -s "${EPREFIX%/}"/usr/include/qt5 "${T}"/qt/include || die
+ ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5/bin "${T}"/qt/bin || die
+ ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5 "${T}"/qt/lib || die
+ ln -s "${EPREFIX}"/usr/include/qt5 "${T}"/qt/include || die
# Remove parts of Swift, which a user don't want to compile
- if ! use client; then rm -fr Swift Slimber || die; fi
+ rm -fr Swift Slimber || die
if ! use lua; then rm -fr Sluift || die; fi
- if ! use zeroconf; then
- rm -fr Limber || die
- if use client; then rm -fr Slimber || die; fi
- fi
+ if ! use zeroconf; then rm -fr Limber || die; fi
# Remove '3rdParty', as the system libs should be used
# `CppUnit`, `GoogleTest` and `HippoMocks` are needed for tests
@@ -111,6 +113,11 @@ src_prepare() {
else
rm -fr 3rdParty || die
fi
+
+ if [[ ! -f VERSION.swift ]] ; then
+ # Source tarball from git doesn't include this file
+ echo "${PV}" > VERSION.swift || die
+ fi
}
src_configure() {
@@ -131,9 +138,12 @@ src_configure() {
distcc="no"
experimental="no"
experimental_ft="yes"
- hunspell_enable="$(usex spell)"
+ hunspell_enable="no"
icu="$(usex icu)"
install_git_hooks="no"
+ # Use 'DISABLE' as an invalid lib name, so no editline lib is used,
+ # as current version is not compatible and compilation will fail.
+ editline_libname="DISABLE"
libidn_bundled_enable="false"
libminiupnpc_force_bundled="false"
libnatpmp_force_bundled="false"
@@ -142,14 +152,14 @@ src_configure() {
max_jobs="no"
optimize="no"
qt="${T}/qt"
- qt5="$(usex client)"
+ qt5="no"
swiften_dll="true"
swift_mobile="no"
target="native"
test="none"
- try_avahi="$(usex client)"
+ try_avahi="no"
try_expat="$(usex expat)"
- try_gconf="$(usex gconf)"
+ try_gconf="no"
try_libidn="$(usex idn)"
try_libxml="$(usex !expat)"
tls_backend="openssl"
@@ -158,15 +168,21 @@ src_configure() {
valgrind="no"
zlib_bundled_enable="false"
)
+
+ if use lua; then
+ MYSCONS+=(
+ lua_includedir="$(lua_get_include_dir)"
+ lua_libdir="${EPREFIX}/usr/$(get_libdir)"
+ lua_libname="$(basename -s '.so' $(lua_get_shared_lib))"
+ )
+ fi
}
src_compile() {
local myesconsinstall=(
Swiften
- $(usex client Swift '')
$(usex lua Sluift '')
$(usex zeroconf Limber '')
- $(usex zeroconf "$(usex client Slimber '')" '')
)
escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
@@ -182,27 +198,16 @@ src_test() {
src_install() {
local myesconsinstall=(
- SWIFTEN_INSTALLDIR="${ED%/}/usr"
- SWIFTEN_LIBDIR="${ED%/}/usr/$(get_libdir)"
- $(usex client "SWIFT_INSTALLDIR=${ED%/}/usr" '')
- $(usex lua "SLUIFT_DIR=${ED%/}/usr" '')
- $(usex lua "SLUIFT_INSTALLDIR=${ED%/}/usr" '')
+ SWIFTEN_INSTALLDIR="${ED}/usr"
+ SWIFTEN_LIBDIR="${ED}/usr/$(get_libdir)"
+ $(usex lua "SLUIFT_DIR=${ED}/usr" '')
+ $(usex lua "SLUIFT_INSTALLDIR=${ED}/usr" '')
"${ED}"
)
escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
use zeroconf && dobin Limber/limber
- use zeroconf && use client && newbin Slimber/CLI/slimber slimber-cli
- use zeroconf && use client && newbin Slimber/Qt/slimber slimber-qt
einstalldocs
}
-
-pkg_postinst() {
- use client && gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- use client && gnome2_icon_cache_update
-}
diff --git a/net-im/synapse/Manifest b/net-im/synapse/Manifest
new file mode 100644
index 000000000000..c1952fa002c0
--- /dev/null
+++ b/net-im/synapse/Manifest
@@ -0,0 +1,72 @@
+DIST aho-corasick-1.0.2.crate 167694 BLAKE2B fa5323cbe6cb73594dfa4c327c64676bc1e006dadc0b9def325974c83b9a769beba02d59a4657ec7a2d0cc511a7b7cc6f72cf57b8f9e639206d1c2bf13107a52 SHA512 5c75451f96fbbd670e6af0e1f54df2bdb57259dfe6898495ac46a5b2fc04f316a4698fd5cfd4ec31a94c298661937a8de08ce97cab3890fb3c015e4a2a67bb7b
+DIST anyhow-1.0.80.crate 45138 BLAKE2B 4985d3d8f1d5b5886fae5c7d1a61f921d3d64fb51e24710044b85dfadd2dae2b25b8995cab419cb7cdb5c8cb6b50ad0de93b9a942d34bc45014bd5fb9aecbd39 SHA512 481a3bc29de2af0b913d83cc79dacd559cf0bafecafcc707b921b91a732df953a2df582a54e5fca3f506f6441fd47379bd6bd006bcb1bd6f2615198f9903cc59
+DIST anyhow-1.0.81.crate 45142 BLAKE2B 9b8678c5336fe5fd2823c58eae827f7aba726e12fb6edfa958c6e3b38a96dc3310bc8d044ee2e9db0bc611548f0be9a7b664b75321bd0b8a7e168d27dd3d7e78 SHA512 3d328c6b45a4780cfb6fc8daa5581cb5e45b230cb5f55837b0fcc8331c8d53630950c281115c06b21e655821a46d360c4aa667cbb24e87f3a534206361b08af5
+DIST arc-swap-1.5.1.crate 66157 BLAKE2B 9060ef4f9d699fadc03be1a116d9301f6308fbb7f8bcad6f01926d584386d26d03f9dd2ea35b6771a6725ee7819e028d0e1b256e8b5f3b812cbd388e757491fb SHA512 8636149e92c068d5ff5352a19c9973e7bf2aba68b9363c783178903a8665f6edabbd30c25ad7992646635efe5830d67c958f8d41b44a4ed1fe5698628b41c074
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST blake2-0.10.6.crate 47234 BLAKE2B e1464e4ae61acf4a646ce548f1e7eeafe277737bff626e7e6813516ad4458459243bf13aeb3d8a8fa40860482b519a3e614e54dd4e906b4a8ff59c2d0df9ac1d SHA512 e88cc9de1bf8a5a86b6d22001fd23bb30c32868bfc55685b7a79d624332aec3122af98bc0618e2b62d5d5731b68ae738e7821bdccffbb83a2fd61a6f8afdb0c6
+DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST digest-0.10.5.crate 19503 BLAKE2B a73ef5f7b85869f8f6e2bd1c83f88f155ffab8ae1c687018ddd12f5806385a2664c163101aec84d4c20647a8bfd04095aa997e088a3f56e2664adabff1c5614f SHA512 3542fc0322a8b10dbc229ae83475a0df5f9beee4f879eacab1fda53a7b61136df2961265472ae66d896681bd17f8a68148b25827733bd782c6bae05d2f307951
+DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST itoa-1.0.4.crate 10601 BLAKE2B 95545252eaabc3114323a44c8b8ea12a91568d9fc8d26ccb3bdd798ac0e04d9a6a9307927c17558f1284fa5491464cfceba2f0b880d00673449b94c0fb783150 SHA512 a70bb6fbdbcab27fbb5a84041bcbad8e0c8fda58d55ca7ac757f7be5cd373101be40df99e9acd6ae49e637e40de037c6bc59560f96c9adeccb2b2e0bf6531e42
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.135.crate 604591 BLAKE2B 195f342d1136f63c308371f001c9fc270e151fbda7b316321d319b57bcd46f206bb8b06196f5e9cf8a35b0c397d909f370aef8b119f4bc0eb75b9e245d8e7b4a SHA512 dc8e8fc918c5184de6ae7414b523b06ae91cde252e837e863f8477e9722ccb206a0b27762ac204830e8d09071413029c03802a3ed93bff274c33b2a4055e7806
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST memchr-2.6.3.crate 94377 BLAKE2B 5f1603397d6703ddd9a1e68429cb6e9dae9021e14692c1e084f3b5c82d36645a1fa930c7a76b97df8e1919402fa7e1c621969ce85ce20c82b3087104afe18f25 SHA512 8d5e1425ea702a0950c95271dfd2e81610731496f77af0d683536b074a22922a7d7ec6da41577487d1d658e3b27257b7d1e142761b523e68760a2f5f24f049bc
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.3.crate 32256 BLAKE2B 79a1924a983b948a5c2b0c074452a7b2b61abda973d3bc8040d9153d34b378f0ee330e36aa813f49544319c479665d6328be71481f2e1e41bc94abb9bfbd12a0 SHA512 fa30db0fc73b268ab8395adb8bda35d12dc15363b247a95b7c4bb848ff9b8dbfb971a20f320b4feff3317d5b533c59b62152e4c652c1809a422c5671310b30df
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.76.crate 45660 BLAKE2B 40b538d9d9fec10b9e4b147ce0a86efb10feedf9e0452e5568e8ad7d2b88a201ca6ffd2cd62d8815a1ee72d557fe6280120a913868c3d868c1235686742cd8b8 SHA512 2ea7ade475171166489ab3e745e8c526e49c7521bc39b1bfec6dd2fd0807fd3cc5579235f77534be855f9ecab481205e77e66b14ebb22e66d2c3cff842567247
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-log-0.9.0.crate 14370 BLAKE2B 6a29d627c68763db465f22d4425849455a3e71da30f12346983c3dfb3893f908d4bc9f2c5ddef8a279ed1cbde9b33abc5009af6a9b9ab4c8c5f66675dec2efc8 SHA512 0aee9bdb7c57d9a341cc2ef757c7f0cfcd1585483f6ac71b66522bf94a3058cabe9f92568406dd0f966456b691f1cb9d346225f1dd593a9575e82d4ad349b25d
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST pythonize-0.20.0.crate 11500 BLAKE2B 493efb20ef31e2f984ea6f874ae0d507d459c198d8df43b94fffa2f64ca12295011a94920ef5711b88a9fb42aacec39169259b0cedcdca44544223d0da176414 SHA512 7e6bb5fb5a2006c3268a9f85ce6c3c10a682e5ab1286bdf4185e05f3a39140049a7de4575fd6e6f67d7ab2c0d2125019c79b2e4ac8c55dac39e32f193b831622
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d
+DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
+DIST regex-automata-0.4.4.crate 617294 BLAKE2B 68f29fae9479a82dbecf8091250b65486c19af2e5c37c1b2df5d12906bac8aaa4d1e577dc0437a2eb46174a9580410e51a2c53ab265dd8af14e0c758888e92ac SHA512 9705f7949b270003c095f1787a3936ab7d4b0dc9f050ee046ef4e96f4f4630ac56cf0dabb0ac3b9120c462aca6344ca60636cb95e0c0d537ace506159c02b15a
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST ryu-1.0.11.crate 47007 BLAKE2B d03e8df69c3b21c1b2e4ffa91ece794f141e9f9bce4e9ed1ebf394b1cb0f796147b86189885f0734df8f431b2d166d8f6ed6a261be398d6d088fd56046a85c2e SHA512 dd2642aab2d3017c31432436226d5350b894c8b88a09395eb7de6350964b3cc48451a829ce78b04a9e4e0480076fe1bddd0604f4e57700faa2d60cac6e361408
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.196.crate 77097 BLAKE2B 22403615511a7621a9d8d54fd2dcc63878cd2de0e43bff6b7921db85e19f34ee5022eb1086890edb6987428cbb707a59277ae007d1536b5d80a7da615fc3f36a SHA512 0917aa36d855ca77726d538fb7fcfcf629722c784d747b3869c0d69444c447d7b1fab556a9eb9594ddf6cc508df636fdde051a1c3909f9c691e4921946ebda19
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.196.crate 55775 BLAKE2B 3d06b3896f0cdd1b1acdcd0046bdbfd1e8a298d6f07d12a2326ff144baaac07fcbd4af1d18b8b1188d4cc192e253fcd79860d1dbb2ecb148025449c0ac954c72 SHA512 f4df7f835e8416e4662c62a46d5f6e6d45ffd103812d681b220f8080310720e27f738a34a8e622df722fed55a1d8c654dd4abfbd78d1fdc871306bf3985baf22
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_json-1.0.113.crate 146970 BLAKE2B 8d80b0fc913ba4f008175c6b89955870af6476dc8bae0cd711b748cd0a2bf67b1299396bbd492a1ae5a4ff8050fddc85f0a0ab54f7b24e27529ead3e3d7c920e SHA512 82571b025cd598fca635f18881b52db2364e07eff1b961ca7e3b0591dd41f95503f7188ef1ee6fbc060b9a2360cacbc8a5b85c01fef7879ae3392b29c0004b34
+DIST serde_json-1.0.114.crate 146986 BLAKE2B 229f0a8e2c0bc35435b49774fab9d4cec4e2323e85e2f97ccaa2a18277ecfb9cff9e9b165786e782cba043e9ac670717364b0f9c145254eefd74582b728f2186 SHA512 2c35cd0e29ee2af6046ce849b5854b82b90f402b51c04ea86b32ce7d67869736f17a4d028dd8245c31201036bcca7a1d3df11d842a92a45b0eaebd809687d436
+DIST serde_json-1.0.115.crate 147100 BLAKE2B baa2dce9d85e331d1308f2ece9dbeff24bcc70e37be3f06c7e819ad9f4eb59fb1f00658736fd336a41a65e3616d1bf75a0c9adb359eb606e1418159a9455132f SHA512 d1a60e20af770fdfe0585853c87c5631e56944a3c1bbdf9e1e91003af8e924a8076335bd37563d167c760aad10d4c08fe59ebd47fc52e461bc3586b835808d22
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST synapse-1.103.0.gh.tar.gz 8470184 BLAKE2B e4660cf00599b54379c3b4877f9a85658e087865f187928f8a5764270a21473e56ffdb021f14927b741d9a294ac8eac9c0c1ed4a1429c4ec86330a7e56110141 SHA512 8b6777fb1f66e4060bb5b755206748313c99759f239edc9e28f8a16fc3163f9cdfd8c94fc92b1cee724f6edeb9ea32ac023378fa1a1b7abf0a915bb4f5d8eba4
+DIST synapse-1.104.0.gh.tar.gz 8478054 BLAKE2B ec73524a5050a67c532e491cdceb199e6ac434e45853cc000d2b68ca5ffa9765d9445eefb9be90f875db1094dde52481ba67fde19700d2f0ba1b462688102c02 SHA512 8002069c445210566d698ff81027de8709e4a6df32d2487a0b8ced72b12de971667e5a0d6cc441560e87e292be29cff58a229fb99793d6fd42a6af1aad2730e9
+DIST synapse-1.105.0.gh.tar.gz 8483915 BLAKE2B 5e6eb1224bf8470448638410e8600f5a09ca5b5b7a4487b7390bb2eec81114f6e91789897ffa993f375ae3dcaac2282fa21199d4592459c8f51c4c94cb859537 SHA512 7a9a425b053221992a6219e0ffe59909c18f473398dd09ddb4694f494c6209181fa6819ed7d68360ee377b85dad17240de9839f7c1a8ccaf6ed18ec9226ef717
+DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
+DIST typenum-1.15.0.crate 40741 BLAKE2B 5752d80396d0a37b0069b98ace9efe96d94ccaf41b33b8149c8b8c6a767537dbffe64251bbf61f3812465ecbc8cb45544f177dc97ac9735d84454282e4d1ed66 SHA512 a3c1ceac85e1aed98d0829449c35f4f36db860218b955b4e5f8f01da1d27ee6213f3c60e2b25c3745dcd67369049da5de737a9473fa9402db99cf7cddeb42288
+DIST unicode-ident-1.0.5.crate 35455 BLAKE2B 7e14ce97ac53a88ccec015dea690918a673dc5b49e44de7fdcb5421871da35c4f514c6db9a363d6f4bfcf2e9a61a50a593d345d0b6f388ea882b17a00cd0335d SHA512 d355370daac356d900cd4c0a792d6c0eff114524c4bffce4d7e74469fe2117883ee00bf0e27d950b72e88739473f2045d5f83440a0aedfede97b4d9163b64a6c
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST windows-sys-0.36.1.crate 3347053 BLAKE2B 818f7812bd9a55a4e95b3d461fa5fcc14569a159882f950d20fd5a6b7d2a2841f082c0bccaab657f5830549e6286a37d9f8fdf825a42403f543b51e35b2d20d4 SHA512 80973e461bef3be0d0d0c13d02b2129aeb0d0700768d637544315654126f101b39f980738035fe325bd96f549493a2245bd7b82511f833efa7bbcb2f62266001
+DIST windows_aarch64_msvc-0.36.1.crate 661960 BLAKE2B d503150a05c4aa6ec376d1094ad24a7a4b3579d8f60cae65f4a98adfe830dd776c8996d5c3acfbfca1a69598475b918b5de2a162e3253b0b28cd6aa17de2dc13 SHA512 d0c352c78caec9c71bbaa1a688baab8f39a33c903c0492b19398c76e08194183e254ecd3a8b24af3e7e5e1d9d97373dcbab54499236829898a4fd153cfde2ccf
+DIST windows_i686_gnu-0.36.1.crate 818115 BLAKE2B fdb78cf88e1049d1ed6c474f870dfd1ff37b48bc24726d754cfec5b3e77075162f291f93aa709c07c9fa38ccb21a6c31cb5149dabc2cc8ad8a85c03408384a0b SHA512 e2c60e6639beb879472a06ed4462667eb4a78385df6bcde1ca579af759cf2b4ac70e84f7dd7b736e7fbd1b129061555671fed4b83bcd81a6083cc013963194a5
+DIST windows_i686_msvc-0.36.1.crate 724575 BLAKE2B cf964bec007d8432e2009644cf7f89ea7d910ccf9512c067b7bf5c6c825208ce4a36e9864c0cbca137f523983eb46e58e4bd01054cecd7ac7126d2ba9f67ac0c SHA512 02bb1507981229422498ce29f6c777d5e412358040128f84b09d948ccddf0461b078a0a20cc7f6ab7da8595121bb369453ae9ea1f0506aab715662e8c631e737
+DIST windows_x86_64_gnu-0.36.1.crate 790934 BLAKE2B 9dec5d966bdc89efbc81989acca242d519f51676ec37487df2bfacd6bfbc5a8de2871be72c5b96a073a899c666e3a39aa60d493e7df39fa90efe869fb744a332 SHA512 598b69e4f2cd3d68f910d526a66dadb465ff30a8c261c9a4455aa1c5b952d23c04f8edaa063cd16fb43564c116a13f06d607f3a0a9c7495054b8bfe1c04d1865
+DIST windows_x86_64_msvc-0.36.1.crate 661999 BLAKE2B 4cf967f10d4ce148bac967598168752d1996b4ddf5278a8fca53360566c37c1a014bfb4dfdc0ae2d96e01196c42eb4906ea80d8e9dd23b9e9f3163631c9e253e SHA512 89c22ed51a74f531662d80ae0fa5e0215728db1e6caf3c13eaeba95a93548b43c00b8474f52553ac866ac83c203b6c22dc44fbc870e882a4c9c97ba54b87c631
diff --git a/net-im/synapse/files/synapse-1.101.0-netaddr-tests.patch b/net-im/synapse/files/synapse-1.101.0-netaddr-tests.patch
new file mode 100644
index 000000000000..ac8dcd6cd68f
--- /dev/null
+++ b/net-im/synapse/files/synapse-1.101.0-netaddr-tests.patch
@@ -0,0 +1,33 @@
+From 959bcf358cb988f242284afe61a1d99fa705150b Mon Sep 17 00:00:00 2001
+From: "Kai A. Hiller" <V02460@gmail.com>
+Date: Thu, 22 Feb 2024 20:52:27 +0100
+Subject: [PATCH] Specify IP subnet literals in canonical form
+
+This is needed, because the netaddr package removed support for the
+implicit prefix form in version 1.0.0:
+https://github.com/netaddr/netaddr/pull/360
+
+Upstream-PR: https://github.com/element-hq/synapse/pull/16953
+
+diff --git a/tests/api/test_auth.py b/tests/api/test_auth.py
+index ce85ddf22a..bd229cf7e9 100644
+--- a/tests/api/test_auth.py
++++ b/tests/api/test_auth.py
+@@ -128,7 +128,7 @@ def test_get_user_by_req_appservice_valid_token_good_ip(self) -> None:
+ token="foobar",
+ url="a_url",
+ sender=self.test_user,
+- ip_range_whitelist=IPSet(["192.168/16"]),
++ ip_range_whitelist=IPSet(["192.168.0.0/16"]),
+ )
+ self.store.get_app_service_by_token = Mock(return_value=app_service)
+ self.store.get_user_by_access_token = AsyncMock(return_value=None)
+@@ -147,7 +147,7 @@ def test_get_user_by_req_appservice_valid_token_bad_ip(self) -> None:
+ token="foobar",
+ url="a_url",
+ sender=self.test_user,
+- ip_range_whitelist=IPSet(["192.168/16"]),
++ ip_range_whitelist=IPSet(["192.168.0.0/16"]),
+ )
+ self.store.get_app_service_by_token = Mock(return_value=app_service)
+ self.store.get_user_by_access_token = AsyncMock(return_value=None)
diff --git a/net-im/synapse/files/synapse.initd-r1 b/net-im/synapse/files/synapse.initd-r1
new file mode 100644
index 000000000000..f4c53a0f117b
--- /dev/null
+++ b/net-im/synapse/files/synapse.initd-r1
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="Matrix synapse daemon"
+description=""
+command=/usr/bin/synapse_homeserver
+command_args="--daemonize --config-path /etc/synapse/homeserver.yaml"
+command_user="synapse:synapse"
+pidfile=/var/lib/synapse/homeserver.pid
diff --git a/net-im/synapse/files/synapse.service b/net-im/synapse/files/synapse.service
new file mode 100644
index 000000000000..19661e96257e
--- /dev/null
+++ b/net-im/synapse/files/synapse.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Synapse Matrix homeserver
+After=network.target
+After=postgresql-10.service
+After=postgresql-11.service
+After=postgresql-12.service
+After=postgresql-13.service
+After=postgresql-14.service
+After=postgresql-15.service
+
+[Service]
+ExecStart=/usr/bin/synctl --no-daemonize start /etc/synapse/homeserver.yaml
+ExecStop=/usr/bin/synctl stop /etc/synapse/homeserver.yaml
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+PrivateTmp=true
+User=synapse
+Group=synapse
+WorkingDirectory=/var/lib/synapse
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-im/synapse/metadata.xml b/net-im/synapse/metadata.xml
new file mode 100644
index 000000000000..e365de565af7
--- /dev/null
+++ b/net-im/synapse/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">element-hq/synapse</remote-id>
+ <remote-id type="pypi">matrix-synapse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/synapse/synapse-1.103.0.ebuild b/net-im/synapse/synapse-1.103.0.ebuild
new file mode 100644
index 000000000000..db29a498946a
--- /dev/null
+++ b/net-im/synapse/synapse-1.103.0.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+CRATES="
+ aho-corasick@1.0.2
+ anyhow@1.0.80
+ arc-swap@1.5.1
+ autocfg@1.1.0
+ bitflags@1.3.2
+ blake2@0.10.6
+ block-buffer@0.10.3
+ cfg-if@1.0.0
+ crypto-common@0.1.6
+ digest@0.10.5
+ generic-array@0.14.6
+ heck@0.4.1
+ hex@0.4.3
+ indoc@2.0.4
+ itoa@1.0.4
+ lazy_static@1.4.0
+ libc@0.2.135
+ lock_api@0.4.9
+ log@0.4.20
+ memchr@2.6.3
+ memoffset@0.9.0
+ once_cell@1.15.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.3
+ proc-macro2@1.0.76
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-log@0.9.0
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ pythonize@0.20.0
+ quote@1.0.35
+ redox_syscall@0.2.16
+ regex-automata@0.4.4
+ regex-syntax@0.8.2
+ regex@1.10.3
+ ryu@1.0.11
+ scopeguard@1.1.0
+ serde@1.0.196
+ serde_derive@1.0.196
+ serde_json@1.0.113
+ smallvec@1.10.0
+ subtle@2.4.1
+ syn@2.0.48
+ target-lexicon@0.12.4
+ typenum@1.15.0
+ unicode-ident@1.0.5
+ unindent@0.2.3
+ version_check@0.9.4
+ windows-sys@0.36.1
+ windows_aarch64_msvc@0.36.1
+ windows_i686_gnu@0.36.1
+ windows_i686_msvc@0.36.1
+ windows_x86_64_gnu@0.36.1
+ windows_x86_64_msvc@0.36.1
+"
+
+inherit cargo distutils-r1 multiprocessing optfeature systemd
+
+DESCRIPTION="Reference implementation of Matrix homeserver"
+HOMEPAGE="
+ https://matrix.org/
+ https://github.com/element-hq/synapse
+"
+SRC_URI="
+ https://github.com/element-hq/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="AGPL-3+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+IUSE="postgres systemd test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ acct-user/synapse
+ acct-group/synapse
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ >=dev-python/canonicaljson-2[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ijson[${PYTHON_USEDEP}]
+ dev-python/immutabledict[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ >=dev-python/matrix-common-1.3.0[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[${PYTHON_USEDEP},webp]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/pymacaroons[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/service-identity[${PYTHON_USEDEP}]
+ dev-python/signedjson[${PYTHON_USEDEP}]
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+ dev-python/treq[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/unpaddedbase64[${PYTHON_USEDEP}]
+ postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+ systemd? ( dev-python/python-systemd[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pyicu[${PYTHON_USEDEP}]
+ dev-python/txredisapi[${PYTHON_USEDEP}]
+ postgres? ( dev-db/postgresql[server] )
+ )
+"
+
+PATCHES=(
+ # fix tests with >=dev-python/netaddr-1.0.0
+ "${FILESDIR}/${PN}-1.101.0-netaddr-tests.patch"
+)
+
+# Rust extension
+QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/synapse/synapse_rust.abi3.so"
+
+src_test() {
+ if use postgres; then
+ einfo "Preparing postgres test instance"
+ initdb --pgdata="${T}/pgsql" || die
+ pg_ctl --wait --pgdata="${T}/pgsql" start \
+ --options="-h '' -k '${T}'" || die
+ createdb --host="${T}" synapse_test || die
+
+ # See https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#running-tests-under-postgresql
+ local -x SYNAPSE_POSTGRES=1
+ local -x SYNAPSE_POSTGRES_HOST="${T}"
+ fi
+
+ # This remove is necessary otherwise python is not able to locate
+ # synapse_rust.abi3.so.
+ rm -rf synapse || die
+
+ nonfatal distutils-r1_src_test
+ local ret=${?}
+
+ if use postgres; then
+ einfo "Stopping postgres test instance"
+ pg_ctl --wait --pgdata="${T}/pgsql" stop || die
+ fi
+
+ [[ ${ret} -ne 0 ]] && die
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" tests
+}
+
+src_install() {
+ distutils-r1_src_install
+ keepdir /var/{lib,log}/synapse /etc/synapse
+ fowners synapse:synapse /var/{lib,log}/synapse /etc/synapse
+ fperms 0750 /var/{lib,log}/synapse /etc/synapse
+ newinitd "${FILESDIR}/${PN}.initd-r1" "${PN}"
+ systemd_dounit "${FILESDIR}/synapse.service"
+}
+
+pkg_postinst() {
+ optfeature "Improve user search for international display names" dev-python/pyicu
+ optfeature "Redis support" dev-python/txredisapi
+ optfeature "VoIP relaying on your homeserver with turn" net-im/coturn
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ einfo
+ elog "In order to generate initial configuration run:"
+ elog "sudo -u synapse synapse_homeserver \\"
+ elog " --server-name matrix.domain.tld \\"
+ elog " --config-path /etc/synapse/homeserver.yaml \\"
+ elog " --generate-config \\"
+ elog " --data-directory /var/lib/synapse \\"
+ elog " --report-stats=no"
+ einfo
+ else
+ einfo
+ elog "Please refer to upgrade notes if any special steps are required"
+ elog "to upgrade from the version you currently have installed:"
+ elog
+ elog " https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md"
+ einfo
+ fi
+}
diff --git a/net-im/synapse/synapse-1.104.0.ebuild b/net-im/synapse/synapse-1.104.0.ebuild
new file mode 100644
index 000000000000..f13bfcb9789e
--- /dev/null
+++ b/net-im/synapse/synapse-1.104.0.ebuild
@@ -0,0 +1,211 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+CRATES="
+ aho-corasick@1.0.2
+ anyhow@1.0.81
+ arc-swap@1.5.1
+ autocfg@1.1.0
+ bitflags@1.3.2
+ blake2@0.10.6
+ block-buffer@0.10.3
+ cfg-if@1.0.0
+ crypto-common@0.1.6
+ digest@0.10.5
+ generic-array@0.14.6
+ heck@0.4.1
+ hex@0.4.3
+ indoc@2.0.4
+ itoa@1.0.4
+ lazy_static@1.4.0
+ libc@0.2.135
+ lock_api@0.4.9
+ log@0.4.21
+ memchr@2.6.3
+ memoffset@0.9.0
+ once_cell@1.15.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.3
+ portable-atomic@1.6.0
+ proc-macro2@1.0.76
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-log@0.9.0
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ pythonize@0.20.0
+ quote@1.0.35
+ redox_syscall@0.2.16
+ regex-automata@0.4.4
+ regex-syntax@0.8.2
+ regex@1.10.3
+ ryu@1.0.11
+ scopeguard@1.1.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.114
+ smallvec@1.10.0
+ subtle@2.4.1
+ syn@2.0.48
+ target-lexicon@0.12.4
+ typenum@1.15.0
+ unicode-ident@1.0.5
+ unindent@0.2.3
+ version_check@0.9.4
+ windows-sys@0.36.1
+ windows_aarch64_msvc@0.36.1
+ windows_i686_gnu@0.36.1
+ windows_i686_msvc@0.36.1
+ windows_x86_64_gnu@0.36.1
+ windows_x86_64_msvc@0.36.1
+"
+
+inherit cargo distutils-r1 multiprocessing optfeature systemd
+
+DESCRIPTION="Reference implementation of Matrix homeserver"
+HOMEPAGE="
+ https://matrix.org/
+ https://github.com/element-hq/synapse
+"
+SRC_URI="
+ https://github.com/element-hq/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="AGPL-3+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="postgres systemd test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ acct-user/synapse
+ acct-group/synapse
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ >=dev-python/canonicaljson-2[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ijson[${PYTHON_USEDEP}]
+ dev-python/immutabledict[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ >=dev-python/matrix-common-1.3.0[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[${PYTHON_USEDEP},webp]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/pymacaroons[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/service-identity[${PYTHON_USEDEP}]
+ dev-python/signedjson[${PYTHON_USEDEP}]
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+ dev-python/treq[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/unpaddedbase64[${PYTHON_USEDEP}]
+ postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+ systemd? ( dev-python/python-systemd[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pyicu[${PYTHON_USEDEP}]
+ dev-python/txredisapi[${PYTHON_USEDEP}]
+ postgres? ( dev-db/postgresql[server] )
+ )
+"
+
+# Rust extension
+QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/synapse/synapse_rust.abi3.so"
+
+src_test() {
+ if use postgres; then
+ einfo "Preparing postgres test instance"
+ initdb --pgdata="${T}/pgsql" || die
+ pg_ctl --wait --pgdata="${T}/pgsql" start \
+ --options="-h '' -k '${T}'" || die
+ createdb --host="${T}" synapse_test || die
+
+ # See https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#running-tests-under-postgresql
+ local -x SYNAPSE_POSTGRES=1
+ local -x SYNAPSE_POSTGRES_HOST="${T}"
+ fi
+
+ # This remove is necessary otherwise python is not able to locate
+ # synapse_rust.abi3.so.
+ rm -rf synapse || die
+
+ nonfatal distutils-r1_src_test
+ local ret=${?}
+
+ if use postgres; then
+ einfo "Stopping postgres test instance"
+ pg_ctl --wait --pgdata="${T}/pgsql" stop || die
+ fi
+
+ [[ ${ret} -ne 0 ]] && die
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" tests
+}
+
+src_install() {
+ distutils-r1_src_install
+ keepdir /var/{lib,log}/synapse /etc/synapse
+ fowners synapse:synapse /var/{lib,log}/synapse /etc/synapse
+ fperms 0750 /var/{lib,log}/synapse /etc/synapse
+ newinitd "${FILESDIR}/${PN}.initd-r1" "${PN}"
+ systemd_dounit "${FILESDIR}/synapse.service"
+}
+
+pkg_postinst() {
+ optfeature "Improve user search for international display names" dev-python/pyicu
+ optfeature "Redis support" dev-python/txredisapi
+ optfeature "VoIP relaying on your homeserver with turn" net-im/coturn
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ einfo
+ elog "In order to generate initial configuration run:"
+ elog "sudo -u synapse synapse_homeserver \\"
+ elog " --server-name matrix.domain.tld \\"
+ elog " --config-path /etc/synapse/homeserver.yaml \\"
+ elog " --generate-config \\"
+ elog " --data-directory /var/lib/synapse \\"
+ elog " --report-stats=no"
+ einfo
+ else
+ einfo
+ elog "Please refer to upgrade notes if any special steps are required"
+ elog "to upgrade from the version you currently have installed:"
+ elog
+ elog " https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md"
+ einfo
+ fi
+}
diff --git a/net-im/synapse/synapse-1.105.0.ebuild b/net-im/synapse/synapse-1.105.0.ebuild
new file mode 100644
index 000000000000..272d1e273890
--- /dev/null
+++ b/net-im/synapse/synapse-1.105.0.ebuild
@@ -0,0 +1,211 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+CRATES="
+ aho-corasick@1.0.2
+ anyhow@1.0.81
+ arc-swap@1.5.1
+ autocfg@1.1.0
+ bitflags@1.3.2
+ blake2@0.10.6
+ block-buffer@0.10.3
+ cfg-if@1.0.0
+ crypto-common@0.1.6
+ digest@0.10.5
+ generic-array@0.14.6
+ heck@0.4.1
+ hex@0.4.3
+ indoc@2.0.4
+ itoa@1.0.4
+ lazy_static@1.4.0
+ libc@0.2.135
+ lock_api@0.4.9
+ log@0.4.21
+ memchr@2.6.3
+ memoffset@0.9.0
+ once_cell@1.15.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.3
+ portable-atomic@1.6.0
+ proc-macro2@1.0.76
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-log@0.9.0
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ pythonize@0.20.0
+ quote@1.0.35
+ redox_syscall@0.2.16
+ regex-automata@0.4.4
+ regex-syntax@0.8.2
+ regex@1.10.4
+ ryu@1.0.11
+ scopeguard@1.1.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.115
+ smallvec@1.10.0
+ subtle@2.4.1
+ syn@2.0.48
+ target-lexicon@0.12.4
+ typenum@1.15.0
+ unicode-ident@1.0.5
+ unindent@0.2.3
+ version_check@0.9.4
+ windows-sys@0.36.1
+ windows_aarch64_msvc@0.36.1
+ windows_i686_gnu@0.36.1
+ windows_i686_msvc@0.36.1
+ windows_x86_64_gnu@0.36.1
+ windows_x86_64_msvc@0.36.1
+"
+
+inherit cargo distutils-r1 multiprocessing optfeature systemd
+
+DESCRIPTION="Reference implementation of Matrix homeserver"
+HOMEPAGE="
+ https://matrix.org/
+ https://github.com/element-hq/synapse
+"
+SRC_URI="
+ https://github.com/element-hq/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="AGPL-3+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="postgres systemd test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ acct-user/synapse
+ acct-group/synapse
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ >=dev-python/canonicaljson-2[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ijson[${PYTHON_USEDEP}]
+ dev-python/immutabledict[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ >=dev-python/matrix-common-1.3.0[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/phonenumbers[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[${PYTHON_USEDEP},webp]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/pymacaroons[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/service-identity[${PYTHON_USEDEP}]
+ dev-python/signedjson[${PYTHON_USEDEP}]
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+ dev-python/treq[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/unpaddedbase64[${PYTHON_USEDEP}]
+ postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
+ systemd? ( dev-python/python-systemd[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pyicu[${PYTHON_USEDEP}]
+ dev-python/txredisapi[${PYTHON_USEDEP}]
+ postgres? ( dev-db/postgresql[server] )
+ )
+"
+
+# Rust extension
+QA_FLAGS_IGNORED="usr/lib/python3.*/site-packages/synapse/synapse_rust.abi3.so"
+
+src_test() {
+ if use postgres; then
+ einfo "Preparing postgres test instance"
+ initdb --pgdata="${T}/pgsql" || die
+ pg_ctl --wait --pgdata="${T}/pgsql" start \
+ --options="-h '' -k '${T}'" || die
+ createdb --host="${T}" synapse_test || die
+
+ # See https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#running-tests-under-postgresql
+ local -x SYNAPSE_POSTGRES=1
+ local -x SYNAPSE_POSTGRES_HOST="${T}"
+ fi
+
+ # This remove is necessary otherwise python is not able to locate
+ # synapse_rust.abi3.so.
+ rm -rf synapse || die
+
+ nonfatal distutils-r1_src_test
+ local ret=${?}
+
+ if use postgres; then
+ einfo "Stopping postgres test instance"
+ pg_ctl --wait --pgdata="${T}/pgsql" stop || die
+ fi
+
+ [[ ${ret} -ne 0 ]] && die
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial -j "$(makeopts_jobs)" tests
+}
+
+src_install() {
+ distutils-r1_src_install
+ keepdir /var/{lib,log}/synapse /etc/synapse
+ fowners synapse:synapse /var/{lib,log}/synapse /etc/synapse
+ fperms 0750 /var/{lib,log}/synapse /etc/synapse
+ newinitd "${FILESDIR}/${PN}.initd-r1" "${PN}"
+ systemd_dounit "${FILESDIR}/synapse.service"
+}
+
+pkg_postinst() {
+ optfeature "Improve user search for international display names" dev-python/pyicu
+ optfeature "Redis support" dev-python/txredisapi
+ optfeature "VoIP relaying on your homeserver with turn" net-im/coturn
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ einfo
+ elog "In order to generate initial configuration run:"
+ elog "sudo -u synapse synapse_homeserver \\"
+ elog " --server-name matrix.domain.tld \\"
+ elog " --config-path /etc/synapse/homeserver.yaml \\"
+ elog " --generate-config \\"
+ elog " --data-directory /var/lib/synapse \\"
+ elog " --report-stats=no"
+ einfo
+ else
+ einfo
+ elog "Please refer to upgrade notes if any special steps are required"
+ elog "to upgrade from the version you currently have installed:"
+ elog
+ elog " https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md"
+ einfo
+ fi
+}
diff --git a/net-im/telegram-desktop-bin/Manifest b/net-im/telegram-desktop-bin/Manifest
index bb10fad74718..b1a048904c5a 100644
--- a/net-im/telegram-desktop-bin/Manifest
+++ b/net-im/telegram-desktop-bin/Manifest
@@ -1,12 +1,4 @@
-DIST tdesktop-1.8.1.tar.gz 14334229 BLAKE2B b049138e544a399470be6ae0d42edb9ecadf54ec23928ce8eb1a6c3326fdcd9e4df363f46dd3c3a1b3c7c3731dbcd2fea4ecaa5decdddb0686088f7c287f6c47 SHA512 129725e87e32b97a9e1fe844cfc489e07bd47a1f54cfa79dbde59f26510fd79e786c39f09fb6cfe11d93059f5d6aa62c8d9a17c7c9d12de88d10ddbaabc940d0
-DIST tdesktop-1.8.2.tar.gz 14335232 BLAKE2B 5a99e2cf4da70d32b5cf3fd2f0c717a59e2aab1d9ac3ce7609d0de8bef7545cc4ef9ac83de0b8d044f68cf7d95c38c232de9838fd591ea2da2430e7e6d900ccd SHA512 6616519b60492886a89702166b80b73a5ca5014d63088d1400d9c8ad14ec2ebf0481a46d12d4e9fc7675b9b484cb19ba2535760d33bc6e5c502115b461d32e5f
-DIST tdesktop-1.8.4.tar.gz 14367314 BLAKE2B 9a2afeec95867142d13d2af68507ac3dd8d813fa4f3d204c806816bf8930fabd93571b8f43afcd2f081aa0d1fa791d92d87c101aebbc36ee95ebfddf0b6cd3ad SHA512 a1f460e145df99dfe769d597b36ed27884b8b012b7e0800fabbef26f5f145d5986ae17b19c0b3bdab5740dde81477f3da2cabd4b4c4d4bdc7b6fe8cb037c56e2
-DIST tdesktop-1.8.8.tar.gz 14407897 BLAKE2B 60b7959b0396d323f962809ec34696f434e25e8ebd0b3c5eb36475df9884b28de17e727c9599e956130fae9bd0dbbe2347c3b5f0e1fe9c9a0f77182441f8d3bd SHA512 8410f8ea31c4e5604c3f9e8965431ec9cf68ec3366da22bb1fc5e745d7518cb49374072ecb70d347714f3f2fefdf882dc05e14ccd4a883b5a96eacf0a87e1c53
-DIST tsetup.1.8.1.tar.xz 33591872 BLAKE2B 6d92087666727b3e1b5ad41bb04c8404c4106d74589dacee63414d588358c88f88a1e6e81c6ee4cd9e47a3b58bcb6b9c4fbd8ef1dbb8aa4a2f13fa2f6aa03991 SHA512 d56e4e3af4aeda409f3743badd5559155c527c10bb780165528c7b9350b40dc95b4658190407389dc3c52b5a1df34ce98dc8038cdfdaa7928f1ec01e16709ea3
-DIST tsetup.1.8.2.tar.xz 33596992 BLAKE2B f8844bfb4168831c5299a52a286b0245aaf8c72e8d161c9dacc45c133a37cccb496d7fb4d37af3fbf6d157737e1b2d7755c06ce696c33e254d8ea120cb18a8c6 SHA512 862ac62593dc47f887e4a438551520ca939898a4584271bc189cf7004b47cf2bede6a5ef6302382bd8a777ffb1afb74fa48fec3b0fa82a447dab43e42718bc84
-DIST tsetup.1.8.4.tar.xz 33754796 BLAKE2B a5e0cdb36372fca70a2c0f9e70bf2ea03b863823bae373787db7b6f544e57218109f585b6f4b61d79cdc9bcc0135ddb94c07235221589f46b60bd6cc80ae88d6 SHA512 833864f88ac6e97c72e31cba87a391890b49c1d59b7f75c36969cb7744576bcfb90188880c07a7196108ce65a004d9d790c66d9a147f3455b4b56129480e3164
-DIST tsetup.1.8.8.tar.xz 33840780 BLAKE2B c11b0a8eed1589007dd201883537de9f4ab588d655b56bd708630ef5ab48ad0a4ef2564fd4362740b09847b05c4e0d60bb025652516742b40da9dee148169a2e SHA512 8c2d1047dc6a4eff8ac082e76ceb1af6d9aaad92871d54398db93dd4597a7c2adbdb90b27862bce490955cb702cbf329b8fda0343da4ca1bc683d28551db3da4
-DIST tsetup32.1.8.1.tar.xz 36470956 BLAKE2B 238eafb6aea416bc480b924811941734c64b8695ee2b7d6297eeba5423283cc0d90a4af465e2edbb6952af444d6976f01300cc15758b269df27053aa5e61b7b2 SHA512 e808d5f06d768f732d85eefe60f16829ec6e5ce4df0239520bbd8d3a4a23b67c06e2f389c14388480235188ed372be84a5da7eb89336c827fefc6cbb30e34b31
-DIST tsetup32.1.8.2.tar.xz 36487916 BLAKE2B 6f9ac95ea6bd6565a060ffa5630d2bdb6a21c72962ce01f0811c398e8e630a771a8b24c2eb656686e970fe9801bdfd5f6d1da38ad218e1692c31b8f2a932d20b SHA512 9900241b599e11d0c2de01e50f8f854ea86e1ee3a6353a3edfd333534142372f515bfccb940a00a4af7f8866c96b3f21e2bfc1d56b0e6531cb03727baa8de5c3
-DIST tsetup32.1.8.4.tar.xz 36672836 BLAKE2B 7944c1df95514fbd8380e47f6d7b3f0ff016b6cb3faa73d228a0c86fbdd1d2df49da08f7c899930650452c87c574a9c98ed402cced545775637c4ce0d42a30bc SHA512 e88123048863dea83569017d9a5384954f2d8f6b34f30c42a7b683b2427fb8f0fa38ef3347b4b6b91704e7ea3e6cc9ca3edd3bcde140c5261afcf6f69c8225a7
-DIST tsetup32.1.8.8.tar.xz 36820924 BLAKE2B 942dba2ca043aefde7a256f402cb702cf42cd8eaa043a776effa747d0922fb0cc53007af87918ae3c8ce55545e390462529e4ad4ffdcb297e5f2f92d74154140 SHA512 4a6aeee0f287bfb1d1cdfe16b5ea4185133dc68233210c21aff928a6995908cd4e6088080226339c86e7514eb1d6722031451749f3520b620ea173d79a4c99ad
+DIST tdesktop-4.15.2.tar.gz 19263533 BLAKE2B 078d9b93f60f8eec5fe09e73628cafd9e6b20393a6445da149e0b85befc5a492aff2952f150f4e6895f1305d222022f1cb9ce1e124a68838141e470453820fdb SHA512 d30cd363e2eab9b38c448ebd4c22ee98cf46d6e7a932c7469be5f950fba6dbb0d73cb86ae8439d989e8985cc6eb382ca930cad3c2511404c3cebcaf7c92b8049
+DIST tdesktop-4.16.6.tar.gz 19360605 BLAKE2B 35ff32e1d04bc792327bbb744c6026ffc5dda940f1e547aab844458f557132757af7fbecf2ed235eb4f7c599cf3120f09a745ada4e7e8331a1866637e6def22e SHA512 f8439685d31446c1a5439522f445448e5eac37c32dfe5154941090ebeebb0181b918daa445dd5909be89e5757b4ef572de59987b85d31bd8725215fe501df35f
+DIST tsetup.4.15.2.tar.xz 54162852 BLAKE2B 6fa57b21de36f1e387bd9233f3e9045e30be73d33066dffc5756e6076267048fa8b959eece6bdd9ade1d3096faf0e6ace1d0c1f6565a9ac8b9a84c4423454c5b SHA512 12c72c02b8b69f4685ca5dcebdd784dd263a1cb0c117306b188e0d4fc79c978010bd697a2446692af6b9bd21382a9bf312bd27bb3da63b661a9e35578dd7b8a6
+DIST tsetup.4.16.6.tar.xz 57015068 BLAKE2B d5ee30156b6338138095a32a41ce8807e9e32b76d05fbb43834138e13183953df59820a30df0e2e55becefab777105a0ca94c591351ff2aa438a855c10cd8b0d SHA512 2f17fe18ce0baee75797a2686d2834b9c66b51fd29bca31490e4544aa17e25ae833fa657239afd011c5846e76a2b134ca64960db0e9f2d38d6e769cdf99b0aeb
diff --git a/net-im/telegram-desktop-bin/files/telegram-desktop-bin b/net-im/telegram-desktop-bin/files/telegram-desktop-bin
deleted file mode 100644
index 954b3bdeaea5..000000000000
--- a/net-im/telegram-desktop-bin/files/telegram-desktop-bin
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-# this wrapper disables the auto-updater of telegram-desktop
-# This program is licensed under the same license as telegram-desktop
-
-# telegram-desktop fails to set RestartCommand with the session manager
-# exclude it from session management to prevent restarts without the argument
-unset SESSION_MANAGER
-
-exec /usr/lib/telegram-desktop-bin/Telegram -externalupdater $@
diff --git a/net-im/telegram-desktop-bin/metadata.xml b/net-im/telegram-desktop-bin/metadata.xml
index 80595dda442e..398b85731d09 100644
--- a/net-im/telegram-desktop-bin/metadata.xml
+++ b/net-im/telegram-desktop-bin/metadata.xml
@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>henning@hennsch.de</email>
<name>Henning Schild</name>
</maintainer>
- <maintainer type="person">
- <email>NP-Hardass@gentoo.org</email>
- <name>NP-Hardass</name>
- </maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -17,4 +13,3 @@
<remote-id type="github">telegramdesktop/tdesktop</remote-id>
</upstream>
</pkgmetadata>
-
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.1.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.1.ebuild
deleted file mode 100644
index 6564f90ef88c..000000000000
--- a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop xdg
-
-DESCRIPTION="Official desktop client for Telegram (binary package)"
-HOMEPAGE="https://desktop.telegram.org"
-SRC_URI="
- https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
- amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
- x86? ( https://updates.tdesktop.com/tlinux32/tsetup32.${PV}.tar.xz )
-"
-
-LICENSE="GPL-3-with-openssl-exception"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-
-QA_PREBUILT="usr/lib/${PN}/Telegram"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/gobject-introspection
- >=media-libs/fontconfig-2.13
- >=sys-apps/dbus-1.4.20
- x11-libs/libX11
- >=x11-libs/libxcb-1.10[xkb]
-"
-
-S="${WORKDIR}/Telegram"
-
-src_install() {
- exeinto /usr/lib/${PN}
- doexe "Telegram"
- newbin "${FILESDIR}"/${PN} "telegram-desktop"
-
- local icon_size
- for icon_size in 16 32 48 64 128 256 512; do
- newicon -s "${icon_size}" \
- "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
- telegram.png
- done
-
- domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/telegramdesktop.desktop
-}
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.2.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.2.ebuild
deleted file mode 100644
index 6564f90ef88c..000000000000
--- a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop xdg
-
-DESCRIPTION="Official desktop client for Telegram (binary package)"
-HOMEPAGE="https://desktop.telegram.org"
-SRC_URI="
- https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
- amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
- x86? ( https://updates.tdesktop.com/tlinux32/tsetup32.${PV}.tar.xz )
-"
-
-LICENSE="GPL-3-with-openssl-exception"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-
-QA_PREBUILT="usr/lib/${PN}/Telegram"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/gobject-introspection
- >=media-libs/fontconfig-2.13
- >=sys-apps/dbus-1.4.20
- x11-libs/libX11
- >=x11-libs/libxcb-1.10[xkb]
-"
-
-S="${WORKDIR}/Telegram"
-
-src_install() {
- exeinto /usr/lib/${PN}
- doexe "Telegram"
- newbin "${FILESDIR}"/${PN} "telegram-desktop"
-
- local icon_size
- for icon_size in 16 32 48 64 128 256 512; do
- newicon -s "${icon_size}" \
- "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
- telegram.png
- done
-
- domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/telegramdesktop.desktop
-}
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.4.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.4.ebuild
deleted file mode 100644
index 6564f90ef88c..000000000000
--- a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop xdg
-
-DESCRIPTION="Official desktop client for Telegram (binary package)"
-HOMEPAGE="https://desktop.telegram.org"
-SRC_URI="
- https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
- amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
- x86? ( https://updates.tdesktop.com/tlinux32/tsetup32.${PV}.tar.xz )
-"
-
-LICENSE="GPL-3-with-openssl-exception"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-
-QA_PREBUILT="usr/lib/${PN}/Telegram"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/gobject-introspection
- >=media-libs/fontconfig-2.13
- >=sys-apps/dbus-1.4.20
- x11-libs/libX11
- >=x11-libs/libxcb-1.10[xkb]
-"
-
-S="${WORKDIR}/Telegram"
-
-src_install() {
- exeinto /usr/lib/${PN}
- doexe "Telegram"
- newbin "${FILESDIR}"/${PN} "telegram-desktop"
-
- local icon_size
- for icon_size in 16 32 48 64 128 256 512; do
- newicon -s "${icon_size}" \
- "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
- telegram.png
- done
-
- domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/telegramdesktop.desktop
-}
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.8.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.8.ebuild
deleted file mode 100644
index 6564f90ef88c..000000000000
--- a/net-im/telegram-desktop-bin/telegram-desktop-bin-1.8.8.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop xdg
-
-DESCRIPTION="Official desktop client for Telegram (binary package)"
-HOMEPAGE="https://desktop.telegram.org"
-SRC_URI="
- https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
- amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
- x86? ( https://updates.tdesktop.com/tlinux32/tsetup32.${PV}.tar.xz )
-"
-
-LICENSE="GPL-3-with-openssl-exception"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
-
-QA_PREBUILT="usr/lib/${PN}/Telegram"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/gobject-introspection
- >=media-libs/fontconfig-2.13
- >=sys-apps/dbus-1.4.20
- x11-libs/libX11
- >=x11-libs/libxcb-1.10[xkb]
-"
-
-S="${WORKDIR}/Telegram"
-
-src_install() {
- exeinto /usr/lib/${PN}
- doexe "Telegram"
- newbin "${FILESDIR}"/${PN} "telegram-desktop"
-
- local icon_size
- for icon_size in 16 32 48 64 128 256 512; do
- newicon -s "${icon_size}" \
- "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
- telegram.png
- done
-
- domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/telegramdesktop.desktop
-}
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-4.15.2.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-4.15.2.ebuild
new file mode 100644
index 000000000000..19bc56b0ce5c
--- /dev/null
+++ b/net-im/telegram-desktop-bin/telegram-desktop-bin-4.15.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop optfeature xdg
+
+DESCRIPTION="Official desktop client for Telegram (binary package)"
+HOMEPAGE="https://desktop.telegram.org"
+SRC_URI="
+ https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
+ amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
+"
+
+LICENSE="GPL-3-with-openssl-exception"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+QA_PREBUILT="usr/bin/telegram-desktop"
+
+RDEPEND="
+ !net-im/telegram-desktop
+ sys-libs/glibc
+ dev-libs/glib:2
+ >=media-libs/fontconfig-2.13
+ media-libs/freetype:2
+ virtual/opengl
+ x11-libs/gtk+:3[X,wayland]
+ x11-libs/libX11
+ >=x11-libs/libxcb-1.10
+"
+
+S="${WORKDIR}/Telegram"
+
+src_prepare() {
+ default
+
+ sed -i -e \
+ 's/^Exec=@CMAKE_INSTALL_FULL_BINDIR@\/telegram-desktop/Exec=\/usr\/bin\/telegram-desktop/' \
+ "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.service || die
+}
+
+src_install() {
+ newbin Telegram telegram-desktop
+
+ insinto /usr/share/TelegramDesktop/externalupdater.d/
+ newins - externalupdater <<<"${EPREFIX}/usr/bin/telegram-desktop"
+
+ local icon_size
+ for icon_size in 16 32 48 64 128 256 512; do
+ newicon -s "${icon_size}" \
+ "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
+ telegram.png
+ done
+
+ domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.desktop
+ insinto /usr/share/dbus-1/services
+ doins "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.service
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "spell checker support" app-text/enchant
+}
diff --git a/net-im/telegram-desktop-bin/telegram-desktop-bin-4.16.6.ebuild b/net-im/telegram-desktop-bin/telegram-desktop-bin-4.16.6.ebuild
new file mode 100644
index 000000000000..19bc56b0ce5c
--- /dev/null
+++ b/net-im/telegram-desktop-bin/telegram-desktop-bin-4.16.6.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop optfeature xdg
+
+DESCRIPTION="Official desktop client for Telegram (binary package)"
+HOMEPAGE="https://desktop.telegram.org"
+SRC_URI="
+ https://github.com/telegramdesktop/tdesktop/archive/v${PV}.tar.gz -> tdesktop-${PV}.tar.gz
+ amd64? ( https://updates.tdesktop.com/tlinux/tsetup.${PV}.tar.xz )
+"
+
+LICENSE="GPL-3-with-openssl-exception"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+QA_PREBUILT="usr/bin/telegram-desktop"
+
+RDEPEND="
+ !net-im/telegram-desktop
+ sys-libs/glibc
+ dev-libs/glib:2
+ >=media-libs/fontconfig-2.13
+ media-libs/freetype:2
+ virtual/opengl
+ x11-libs/gtk+:3[X,wayland]
+ x11-libs/libX11
+ >=x11-libs/libxcb-1.10
+"
+
+S="${WORKDIR}/Telegram"
+
+src_prepare() {
+ default
+
+ sed -i -e \
+ 's/^Exec=@CMAKE_INSTALL_FULL_BINDIR@\/telegram-desktop/Exec=\/usr\/bin\/telegram-desktop/' \
+ "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.service || die
+}
+
+src_install() {
+ newbin Telegram telegram-desktop
+
+ insinto /usr/share/TelegramDesktop/externalupdater.d/
+ newins - externalupdater <<<"${EPREFIX}/usr/bin/telegram-desktop"
+
+ local icon_size
+ for icon_size in 16 32 48 64 128 256 512; do
+ newicon -s "${icon_size}" \
+ "${WORKDIR}/tdesktop-${PV}/Telegram/Resources/art/icon${icon_size}.png" \
+ telegram.png
+ done
+
+ domenu "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.desktop
+ insinto /usr/share/dbus-1/services
+ doins "${WORKDIR}/tdesktop-${PV}"/lib/xdg/org.telegram.desktop.service
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "spell checker support" app-text/enchant
+}
diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
new file mode 100644
index 000000000000..4bc494714237
--- /dev/null
+++ b/net-im/telegram-desktop/Manifest
@@ -0,0 +1,4 @@
+DIST tdesktop-4.15.0-full.tar.gz 68286818 BLAKE2B 2bd4d59370a4f97aa3c1b1d64fa7eea114539edcff46ea30a5361cefeeb1de8a1954be91a1a420ddc1b1a30970944387c2cd3749badaa494e53862066c624ac3 SHA512 95aa5f14a9a88b9c6421049445f59f1c5c5d7ab4ca4e8b8f4ab7389bdb8f3cc6b29fea270574881633035acec769ba271261f84ec269010c63af28a03719da98
+DIST tdesktop-4.15.2-full.tar.gz 69539402 BLAKE2B 95d6cd3eead56f7cb2aeafd0cc1a05d740ec243644e6d318f415a7fa6c8ad94d3a95cfc9082ba04507a024c81bfc15700ad6adcbfd932ca1993a3310744ac196 SHA512 6e65183d5e77d17e11d0c70e1654373e69f6243f2879cf403701e23acd5aed9df6c6892a1c7c83fd975a858e90e20d73824d0754a2f96ad5af6e3de6515e2627
+DIST tdesktop-4.16.6-full.tar.gz 70435773 BLAKE2B 5b66ba9e7a4cbbadcfd271bd33940ccf928e32b7b008b60b710095ff3b60255257b56746b5344100f034164949f428cfd19727f5d5a9f364eba7e7f6b58853fb SHA512 5b580d36c8b8a90981c3541d4c148df37bb7ebdec0970bfbfe4c1a9a1175e3cf41c2a14d854d7d917482aa9086ee712844ec40780741df22ad6d42fcf3c48f1f
+DIST tdesktop-4.16.8-full.tar.gz 70436084 BLAKE2B 5e64372de39a94b2fb7d4b0b8cb4896e9f4bb9eb1421898f30b686a6ce02141cebc42e2be280107ccbbda771f868de365267248dbdab393d88e204fa197f5e3d SHA512 7d9d8ab4c62cf9e4f44ff879953f3d543427f7fd80682f6d08b58fb3dec481b0082086c3958e38b809b886359a76b1f5450142dbcfb58c867014d78f5fa19f60
diff --git a/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch b/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch
new file mode 100644
index 000000000000..39f30ff0d2d2
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-4.10.0-system-cppgir.patch
@@ -0,0 +1,32 @@
+Use system cppgir
+
+https://github.com/desktop-app/cmake_helpers/issues/282
+https://github.com/desktop-app/cmake_helpers/pull/305
+--- tdesktop-4.10.0-full.orig/cmake/external/glib/CMakeLists.txt
++++ tdesktop-4.10.0-full/cmake/external/glib/CMakeLists.txt
+@@ -7,14 +7,6 @@
+ add_library(external_glib INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_glib ALIAS external_glib)
+
+-function(add_cppgir) # isolate scope
+- set(BUILD_TESTING OFF)
+- set(BUILD_DOC OFF)
+- set(BUILD_EXAMPLES OFF)
+- add_subdirectory(cppgir EXCLUDE_FROM_ALL)
+-endfunction()
+-add_cppgir()
+-
+ include(generate_cppgir.cmake)
+ generate_cppgir(external_glib Gio-2.0)
+
+--- tdesktop-4.10.0-full.orig/cmake/external/glib/generate_cppgir.cmake
++++ tdesktop-4.10.0-full/cmake/external/glib/generate_cppgir.cmake
+@@ -4,6 +4,8 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
++find_package(CppGir REQUIRED)
++
+ function(generate_cppgir target_name gir)
+ # cppgir generates all the dependent headers everytime, better to have a global folder
+ set(gen_dst ${CMAKE_BINARY_DIR}/gen)
diff --git a/net-im/telegram-desktop/files/tdesktop-4.10.5-qt_compare.patch b/net-im/telegram-desktop/files/tdesktop-4.10.5-qt_compare.patch
new file mode 100644
index 000000000000..f481ddd74d7c
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-4.10.5-qt_compare.patch
@@ -0,0 +1,12 @@
+diff --git a/Telegram/lib_base/base/qt/qt_compare.h b/Telegram/lib_base/base/qt/qt_compare.h
+index ca03fa2..d1eb6ab 100644
+--- a/Telegram/lib_base/base/qt/qt_compare.h
++++ b/Telegram/lib_base/base/qt/qt_compare.h
+@@ -10,6 +10,7 @@
+ #include <gsl/pointers>
+
+ #include <QString>
++#include <variant>
+
+ #if !defined(__apple_build_version__) || (__apple_build_version__ > 12000032)
+
diff --git a/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch b/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch
new file mode 100644
index 000000000000..d56bacea69f8
--- /dev/null
+++ b/net-im/telegram-desktop/files/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch
@@ -0,0 +1,43 @@
+Only link jemalloc for the Telegram binary
+
+Some combination of factors is making the different codegen tools hang when
+jemalloc is linked for those, and they're ran under portage's sandbox. Since
+this is only used during build-time, and jemalloc is merely necessary to
+improve runtime memory use, it's unnecessary to use it for anything else.
+
+https://bugs.gentoo.org/802624
+
+--- tdesktop-4.2.4-full.orig/Telegram/CMakeLists.txt
++++ tdesktop-4.2.4-full/Telegram/CMakeLists.txt
+@@ -1478,6 +1478,14 @@
+ desktop-app::external_wayland_client
+ )
+ endif()
++
++ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
++ target_link_libraries(Telegram
++ PRIVATE
++ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
++ $<LINK_ONLY:desktop-app::external_jemalloc>
++ )
++ endif()
+ endif()
+
+ if (build_macstore)
+--- tdesktop-4.2.4-full.orig/cmake/options_linux.cmake
++++ tdesktop-4.2.4-full/cmake/options_linux.cmake
+@@ -78,14 +78,6 @@
+ )
+ endif()
+
+-if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
+- target_link_libraries(common_options
+- INTERFACE
+- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
+- $<LINK_ONLY:desktop-app::external_jemalloc>
+- )
+-endif()
+-
+ if (DESKTOP_APP_USE_ALLOCATION_TRACER)
+ target_link_options(common_options
+ INTERFACE
diff --git a/net-im/telegram-desktop/metadata.xml b/net-im/telegram-desktop/metadata.xml
new file mode 100644
index 000000000000..0b48d04a08ee
--- /dev/null
+++ b/net-im/telegram-desktop/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>esteve.varela@gmail.com</email>
+ <name>Esteve Varela Colominas</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>aliaksei.urbanski@gmail.com</email>
+ <name>Aliaksei Urbanski</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="enchant">Use the <pkg>app-text/enchant</pkg> spell-checking backend instead of <pkg>app-text/hunspell</pkg></flag>
+ <flag name="fonts">Use builtin patched copy of open-sans fonts (overrides fontconfig)</flag>
+ <flag name="qt6">Build with Qt6 support</flag>
+ <flag name="qt6-imageformats">Add support for HEIF, AVIF and JpegXL by bundling kde-frameworks/kimageformats</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">telegramdesktop/tdesktop</remote-id>
+ <bugs-to>https://github.com/telegramdesktop/tdesktop/issues</bugs-to>
+ <changelog>https://github.com/telegramdesktop/tdesktop/releases</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/telegram-desktop/telegram-desktop-4.15.0-r2.ebuild b/net-im/telegram-desktop/telegram-desktop-4.15.0-r2.ebuild
new file mode 100644
index 000000000000..bd0835bbd860
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-4.15.0-r2.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="dbus enchant +fonts screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/libdispatch
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20221208
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-0_p20240110
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-0_p20230926
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
+ "${FILESDIR}/tdesktop-4.10.5-qt_compare.patch"
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}
diff --git a/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild b/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild
new file mode 100644
index 000000000000..a33208b90fa5
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-4.15.2-r1.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="dbus enchant +fonts screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/libdispatch
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20221208
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-0_p20240110
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-0_p20230926
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
+ "${FILESDIR}/tdesktop-4.10.5-qt_compare.patch"
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}
diff --git a/net-im/telegram-desktop/telegram-desktop-4.16.6.ebuild b/net-im/telegram-desktop/telegram-desktop-4.16.6.ebuild
new file mode 100644
index 000000000000..96d25257595e
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-4.16.6.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="dbus enchant +fonts +jemalloc screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/libdispatch
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20221208
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-2.0_p20240315
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-2.0_p20240315
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch"
+ "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if ! use jemalloc && use elibc_glibc; then
+ # https://github.com/telegramdesktop/tdesktop/issues/16084
+ # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
+ ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
+ ewarn "Do NOT report issues about RAM usage without enabling this flag first."
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}
diff --git a/net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild b/net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild
new file mode 100644
index 000000000000..96d25257595e
--- /dev/null
+++ b/net-im/telegram-desktop/telegram-desktop-4.16.8.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit xdg cmake python-any-r1 optfeature flag-o-matic
+
+DESCRIPTION="Official desktop client for Telegram"
+HOMEPAGE="https://desktop.telegram.org"
+
+MY_P="tdesktop-${PV}-full"
+SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
+IUSE="dbus enchant +fonts +jemalloc screencast qt6 qt6-imageformats wayland webkit +X"
+REQUIRED_USE="
+ qt6-imageformats? ( qt6 )
+"
+
+KIMAGEFORMATS_RDEPEND="
+ media-libs/libavif:=
+ media-libs/libheif:=
+ >=media-libs/libjxl-0.8.0:=
+"
+CDEPEND="
+ !net-im/telegram-desktop-bin
+ app-arch/lz4:=
+ dev-cpp/abseil-cpp:=
+ >=dev-cpp/glibmm-2.77:2.68
+ dev-libs/glib:2
+ dev-libs/libdispatch
+ dev-libs/openssl:=
+ dev-libs/protobuf
+ dev-libs/xxhash
+ media-libs/libjpeg-turbo:=
+ ~media-libs/libtgvoip-2.4.4_p20221208
+ media-libs/openal
+ media-libs/opus
+ media-libs/rnnoise
+ ~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
+ media-video/ffmpeg:=[opus,vpx]
+ sys-libs/zlib:=[minizip]
+ !enchant? ( >=app-text/hunspell-1.7:= )
+ enchant? ( app-text/enchant:= )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !qt6? (
+ >=dev-qt/qtcore-5.15:5=
+ >=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
+ >=dev-qt/qtimageformats-5.15:5
+ >=dev-qt/qtnetwork-5.15:5[ssl]
+ >=dev-qt/qtsvg-5.15:5
+ >=dev-qt/qtwidgets-5.15:5[png,X?]
+ kde-frameworks/kcoreaddons:5
+ webkit? (
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtwayland-5.15:5
+ )
+ )
+ qt6? (
+ >=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
+ >=dev-qt/qtimageformats-6.5:6
+ >=dev-qt/qtsvg-6.5:6
+ webkit? (
+ >=dev-qt/qtdeclarative-6.5:6
+ >=dev-qt/qtwayland-6.5:6[compositor]
+ )
+ qt6-imageformats? (
+ >=dev-qt/qtimageformats-6.5:6=
+ ${KIMAGEFORMATS_RDEPEND}
+ )
+ )
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-keysyms
+ )
+"
+RDEPEND="${CDEPEND}
+ webkit? ( || ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 ) )
+"
+DEPEND="${CDEPEND}
+ >=dev-cpp/cppgir-2.0_p20240315
+ >=dev-cpp/ms-gsl-4
+ dev-cpp/expected-lite
+ dev-cpp/range-v3
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-build/cmake-3.16
+ >=dev-cpp/cppgir-2.0_p20240315
+ dev-util/gdbus-codegen
+ virtual/pkgconfig
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}/tdesktop-4.2.4-jemalloc-only-telegram-r1.patch"
+ "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn "ccache does not work with ${PN} out of the box"
+ ewarn "due to usage of precompiled headers"
+ ewarn "check bug https://bugs.gentoo.org/715114 for more info"
+ ewarn
+ fi
+}
+
+src_prepare() {
+ # Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
+ # build in gentoo right now.
+ if use qt6-imageformats; then
+ sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
+ cmake/external/kimageformats/CMakeLists.txt || die
+ printf '%s\n' \
+ 'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(HEIFPlugin)' \
+ 'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
+ >> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
+ fi
+ # kde-frameworks/kcoreaddons is bundled when using qt6.
+
+ # Happily fail if libraries aren't found...
+ find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
+ \! -path './Telegram/lib_webview/CMakeLists.txt' \
+ \! -path './cmake/external/expected/CMakeLists.txt' \
+ \! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
+ \! -path './cmake/external/qt/package.cmake' \
+ -print0 | xargs -0 sed -i \
+ -e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
+ -e '/find_package(/s/)/ REQUIRED)/' || die
+ # Make sure to check the excluded files for new
+ # CMAKE_DISABLE_FIND_PACKAGE entries.
+
+ # Control QtDBus dependency from here, to avoid messing with QtGui.
+ if ! use dbus; then
+ sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
+ -i cmake/external/qt/package.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Having user paths sneak into the build environment through the
+ # XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
+ # - bug 909038: can't read from flatpak directories (fixed upstream)
+ # - bug 920819: system-wide directories ignored when variable is set
+ export XDG_DATA_DIRS="${EPREFIX}/usr/share"
+
+ # Evil flag (bug #919201)
+ filter-flags -fno-delete-null-pointer-checks
+
+ # The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
+ # the same state across both projects.
+ # See https://bugs.gentoo.org/866055
+ append-cppflags '-DNDEBUG'
+
+ local qt=$(usex qt6 6 5)
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR=${qt}
+
+ # Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
+ # Upstream never tests this any other way
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
+
+ # Control automagic dependencies on certain packages
+ ## Header-only lib, some git version.
+ -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
+ ## Only used in Telegram/lib_webview/CMakeLists.txt
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
+ ## KF6CoreAddons is currently unavailable in ::gentoo
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
+
+ -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
+ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
+ -DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
+ ## Enables enchant and disables hunspell
+ -DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
+ ## Use system fonts instead of bundled ones
+ -DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
+ )
+
+ if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
+ einfo "Found custom API credentials"
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
+ -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
+ )
+ else
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
+ # Building with snapcraft API credentials by default
+ # Custom API credentials can be obtained here:
+ # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
+ # After getting credentials you can export variables:
+ # export MY_TDESKTOP_API_ID="17349""
+ # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
+ # and restart the build"
+ # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
+ # portage will use custom variable every build automatically
+ mycmakeargs+=(
+ -DTDESKTOP_API_ID="611335"
+ -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if ! use X && ! use screencast; then
+ ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
+ ewarn
+ fi
+ if ! use jemalloc && use elibc_glibc; then
+ # https://github.com/telegramdesktop/tdesktop/issues/16084
+ # https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
+ ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
+ ewarn "Do NOT report issues about RAM usage without enabling this flag first."
+ ewarn
+ fi
+ if use wayland && ! use qt6; then
+ ewarn "Wayland-specific integrations have been deprecated with Qt5."
+ ewarn "The app will continue to function under wayland, but some"
+ ewarn "functionality may be reduced."
+ ewarn "These integrations are only supported when built with Qt6."
+ ewarn
+ fi
+ if use qt6 && ! use qt6-imageformats; then
+ elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
+ elog
+ fi
+ optfeature_header
+ if ! use qt6; then
+ optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
+ fi
+}
diff --git a/net-im/telepathy-connection-managers/metadata.xml b/net-im/telepathy-connection-managers/metadata.xml
index 25bf943ffb69..574ffb9cab54 100644
--- a/net-im/telepathy-connection-managers/metadata.xml
+++ b/net-im/telepathy-connection-managers/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gadu">Enable Gadu Gadu protocol support.</flag>
<flag name="icq">Enable ICQ IM protocol support.</flag>
diff --git a/net-im/telepathy-connection-managers/telepathy-connection-managers-2-r2.ebuild b/net-im/telepathy-connection-managers/telepathy-connection-managers-2-r2.ebuild
index 0627c47dfaee..b63d9561bd30 100644
--- a/net-im/telepathy-connection-managers/telepathy-connection-managers-2-r2.ebuild
+++ b/net-im/telepathy-connection-managers/telepathy-connection-managers-2-r2.ebuild
@@ -1,19 +1,17 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
DESCRIPTION="Meta-package for Telepathy Connection Managers"
HOMEPAGE="https://telepathy.freedesktop.org/"
-SRC_URI=""
+
LICENSE="metapackage"
SLOT="0"
-
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
-IUSE="gadu icq +irc meanwhile msn sip sipe +xmpp yahoo steam zeroconf"
+IUSE="gadu icq +irc meanwhile msn sip sipe steam +xmpp yahoo zeroconf"
-DEPEND=""
# These version support the 0.24.0 Telepathy specification
# They work with Mission Control 5.14
RDEPEND="
diff --git a/net-im/telepathy-logger/Manifest b/net-im/telepathy-logger/Manifest
index 3fe5d4f99f86..6dc4a3253142 100644
--- a/net-im/telepathy-logger/Manifest
+++ b/net-im/telepathy-logger/Manifest
@@ -1 +1,2 @@
+DIST telepathy-logger-0.8.2-py3.patch 15181 BLAKE2B bebd153a519ee6cd4d7e3e04b4516e6fb53b6efea1d0693133ca5807686e115d08998e9e3ad0d6308d01945a0ac1b66010c3e312346dd238c43be1418574e11e SHA512 98cd5f9af7d4781be30b15c58ca6cd3a131b52dbc5cc38eae3423fc3377a02451782838d9f32575a71dd8d6ce7f46657e17f3dee29059a728bb8988d05c716ea
DIST telepathy-logger-0.8.2.tar.bz2 562670 BLAKE2B 357d717136fe099ee3788bcd004d3eb14e83520c39a8412f4586181e0a1c98ac21be26931759b8f0439ab6f2f9b32aaf6cbf586619ab0fe40ef0f9581b301a29 SHA512 f3eda26133a4c38eeb79b01cbe3b7801a5eb773e8b4e6ce621c47d3ca701025364c6b2b890caea00104f01ba85ae891a6fad82d7a9dc487fd7a980221cede451
diff --git a/net-im/telepathy-logger/metadata.xml b/net-im/telepathy-logger/metadata.xml
index 39980802b1da..7fc03b874eb5 100644
--- a/net-im/telepathy-logger/metadata.xml
+++ b/net-im/telepathy-logger/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">telepathy/telepathy-logger</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/telepathy-logger/telepathy-logger-0.8.2.ebuild b/net-im/telepathy-logger/telepathy-logger-0.8.2-r1.ebuild
index 785a3809cdfe..4f96e3297777 100644
--- a/net-im/telepathy-logger/telepathy-logger-0.8.2.ebuild
+++ b/net-im/telepathy-logger/telepathy-logger-0.8.2-r1.ebuild
@@ -1,19 +1,21 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
-GCONF_DEBUG="no"
-PYTHON_COMPAT=( python2_7 )
+EAPI=7
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
inherit gnome2 python-any-r1 virtualx
DESCRIPTION="Daemon that centralizes the communication logging within the Telepathy framework"
HOMEPAGE="https://telepathy.freedesktop.org/wiki/Logger"
-SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.bz2"
+SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.bz2
+ https://gitlab.freedesktop.org/telepathy/telepathy-logger/-/merge_requests/1.patch
+ -> ${P}-py3.patch"
LICENSE="LGPL-2.1+"
SLOT="0/3"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
IUSE="+introspection"
RDEPEND="
@@ -26,14 +28,17 @@ RDEPEND="
dev-db/sqlite:3
introspection? ( >=dev-libs/gobject-introspection-0.9.6 )
"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
${PYTHON_DEPS}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.10
+ >=dev-build/gtk-doc-am-1.10
>=dev-util/intltool-0.35
virtual/pkgconfig
"
+PATCHES=( "${DISTDIR}"/${P}-py3.patch )
+
src_configure() {
# --enable-debug needed due to https://bugs.freedesktop.org/show_bug.cgi?id=83390
gnome2_src_configure \
diff --git a/net-im/telepathy-mission-control/Manifest b/net-im/telepathy-mission-control/Manifest
index d00bc4232b04..bab1c3f95ded 100644
--- a/net-im/telepathy-mission-control/Manifest
+++ b/net-im/telepathy-mission-control/Manifest
@@ -1 +1 @@
-DIST telepathy-mission-control-5.16.4.tar.gz 1102177 BLAKE2B 4c7ad46c472b6bc20b559de48602bcee971fda5ed2fb139d4a67793ac0f2871cfff6db5f9775a3626e1f1860fe41f8e4d520f00d05d7230064d30b21cb3397bc SHA512 5ed624df2d041554af074c22a18db2405fa5bd41bec40edc574382eb9d8b9f93ff6f4be3042d27f950694a353f4192670e200f5f8865419701ca520a973959ed
+DIST telepathy-mission-control-5.16.6.tar.gz 1127785 BLAKE2B 82055a86d102292dec44ddeadd99458b1cf083f5d74be09326cfae41d627f1792468a180b5cb9f5bb5712989198cc46116f39e41343ca35b3bac101e3db6003a SHA512 56d62bc7270d2d62a490361f3ef3bc39384fde05ee5d69cb7e20db4f41665bd99d05b4cd2b5992b84dbfee5400684503e44c5b8c63cfa101e0cfe6a85b005e5e
diff --git a/net-im/telepathy-mission-control/metadata.xml b/net-im/telepathy-mission-control/metadata.xml
index 91b0f11bc72b..0a7b35f12818 100644
--- a/net-im/telepathy-mission-control/metadata.xml
+++ b/net-im/telepathy-mission-control/metadata.xml
@@ -1,13 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<longdescription>Mission Control, or MC, is a telepathy component providing a
-way for "end-user" applications to abstract some of the details of connection
-managers, to provide a simple way to manipulate a bunch of connection managers
-at once, and to remove the need to have in each program the account
-definitions and credentials.</longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Mission Control, or MC, is a telepathy component providing a way for
+ "end-user" applications to abstract some of the details of connection
+ managers, to provide a simple way to manipulate a bunch of connection
+ managers at once, and to remove the need to have in each program the account
+ definitions and credentials.
+ </longdescription>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">telepathy/telepathy-mission-control</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-im/telepathy-mission-control/telepathy-mission-control-5.16.4.ebuild b/net-im/telepathy-mission-control/telepathy-mission-control-5.16.6.ebuild
index 7b461b078ca7..dd85f8fe6688 100644
--- a/net-im/telepathy-mission-control/telepathy-mission-control-5.16.4.ebuild
+++ b/net-im/telepathy-mission-control/telepathy-mission-control-5.16.6.ebuild
@@ -1,21 +1,20 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-GNOME2_LA_PUNT="yes"
-# Needed for tests and build #489466
-PYTHON_COMPAT=( python2_7 )
+EAPI=7
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..11} )
inherit gnome2 python-any-r1
DESCRIPTION="An account manager and channel dispatcher for the Telepathy framework"
-HOMEPAGE="https://cgit.freedesktop.org/telepathy/telepathy-mission-control/"
+HOMEPAGE="https://gitlab.freedesktop.org/telepathy/telepathy-mission-control"
SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="debug networkmanager" # test
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="debug networkmanager"
RDEPEND="
>=dev-libs/dbus-glib-0.82
@@ -24,17 +23,13 @@ RDEPEND="
>=net-libs/telepathy-glib-0.20
networkmanager? ( >=net-misc/networkmanager-1:= )
"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
${PYTHON_DEPS}
dev-libs/libxslt
- >=dev-util/gtk-doc-am-1.17
+ >=dev-build/gtk-doc-am-1.17
virtual/pkgconfig
"
-# test? ( dev-python/twisted-words )"
-
-# Tests are broken, see upstream bug #29334 and #64212
-# upstream doesn't want it enabled everywhere (#29334#c12)
-RESTRICT="test"
src_configure() {
# creds is not available
diff --git a/net-im/tkabber/metadata.xml b/net-im/tkabber/metadata.xml
index 59548fbeeef0..a01af3c19be8 100644
--- a/net-im/tkabber/metadata.xml
+++ b/net-im/tkabber/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
-<longdescription>Tkabber is a Free and Open Source client for the Jabber instant messaging system. It's writen in Tcl/Tk, and works on many platforms.</longdescription>
+<longdescription>Tkabber is a Free and Open Source client for the Jabber instant messaging system. It's written in Tcl/Tk, and works on many platforms.</longdescription>
<use>
<flag name="plugins">Enables installation the extra plugins</flag>
</use>
diff --git a/net-im/tkabber/tkabber-1.1.2.ebuild b/net-im/tkabber/tkabber-1.1.2.ebuild
index 61f63dc1437a..38cedf3735a8 100644
--- a/net-im/tkabber/tkabber-1.1.2.ebuild
+++ b/net-im/tkabber/tkabber-1.1.2.ebuild
@@ -19,7 +19,6 @@ DEPEND="
>=dev-lang/tk-8.4.9:0=
>=dev-tcltk/tcllib-1.3
>=dev-tcltk/bwidget-1.3
- >=dev-tcltk/tkXwin-1.0
>=dev-tcltk/tkimg-1.2
>=dev-tcltk/tktray-1.3
ssl? ( >=dev-tcltk/tls-1.4.1 )
diff --git a/net-im/tokodon/Manifest b/net-im/tokodon/Manifest
new file mode 100644
index 000000000000..ba17f5285224
--- /dev/null
+++ b/net-im/tokodon/Manifest
@@ -0,0 +1,2 @@
+DIST tokodon-23.08.5.tar.xz 335920 BLAKE2B 620de13602a8f846c980fc0e57a3c13c73725fca16c2ca7cbcd362d9339a531466f496aa8d4dd0e3f310fd2d87399b34f0c78f74bd9312d2a49190897f92ffd7 SHA512 1f21df479ebe31d2bc891b01fc465f5711445fb1bfefba7a90aec7d9eef304618487f1992cad82f4207928bb7398642db97038817b2aa602e9d77135c216f404
+DIST tokodon-24.02.2.tar.xz 517828 BLAKE2B fd1d07464d44811800136b763e15f8264d8a3ad5140e81b0606bef5eb17420ec831e0c97f2199d88fb579bd5e119743c6d967226800e39f629d5c50a03efa1a8 SHA512 a0af63e1571a80f31823598645cd184797889ecf98cae5ba0663056c2f019d02562430f3026e8aef2553964b33aae459499e26e9b9f6d65b89202ef19baa4bb7
diff --git a/net-im/tokodon/metadata.xml b/net-im/tokodon/metadata.xml
new file mode 100644
index 000000000000..02ce3e9d31e3
--- /dev/null
+++ b/net-im/tokodon/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="kde-invent">network/tokodon</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/tokodon/tokodon-23.08.5.ebuild b/net-im/tokodon/tokodon-23.08.5.ebuild
new file mode 100644
index 000000000000..085752b42a0b
--- /dev/null
+++ b/net-im/tokodon/tokodon-23.08.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Mastodon client for Plasma and Plasma Mobile"
+HOMEPAGE="https://apps.kde.org/tokodon/"
+
+LICENSE="CC-BY-SA-4.0 GPL-2+ GPL-3+ || ( LGPL-2.1+ LGPL-3+ ) MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+DEPEND="
+ >=dev-libs/kirigami-addons-0.10.0:5
+ media-video/mpv:=[libmpv]
+ dev-libs/qtkeychain:=[qt5(+)]
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwebsockets-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/breeze-icons-${KFMIN}:*
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
+ >=kde-frameworks/sonnet-${KFMIN}:5[qml]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
diff --git a/net-im/tokodon/tokodon-24.02.2.ebuild b/net-im/tokodon/tokodon-24.02.2.ebuild
new file mode 100644
index 000000000000..20ed8560f79d
--- /dev/null
+++ b/net-im/tokodon/tokodon-24.02.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Mastodon client for Plasma and Plasma Mobile"
+HOMEPAGE="https://apps.kde.org/tokodon/"
+
+LICENSE="CC-BY-SA-4.0 GPL-2+ GPL-3+ || ( LGPL-2.1+ LGPL-3+ ) MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-libs/kirigami-addons:6
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qtwebsockets-${QTMIN}:6
+ >=dev-qt/qtwebview-${QTMIN}:6
+ >=kde-frameworks/breeze-icons-${KFMIN}:*
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ media-libs/mpvqt
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6[qml]
+"
+BDEPEND="virtual/pkgconfig"
diff --git a/net-im/toxic/Manifest b/net-im/toxic/Manifest
index 2f4c4e49deba..21f2738184f9 100644
--- a/net-im/toxic/Manifest
+++ b/net-im/toxic/Manifest
@@ -1,3 +1,2 @@
-DIST toxic-0.8.2.tar.gz 1146526 BLAKE2B 0a1c80313963287e88aa489ecf4614365a3d94c770cdfb3b1f3afd0bf2b70639c35b9c5ce52408647abdaac9822c9529b603ec1883779f5486ff63001d98ff5e SHA512 258e873404315c9a1f59d67f524089afebad88d800116bd9e53c8bc35bd9dd6b66cfcd90db06181f01330ba0a302456510fac5c01fdbfde7d475aa5d6b1070aa
-DIST toxic-0.8.3.tar.gz 1147100 BLAKE2B d73a861112aca65e54773c98473c2858bb81e63fef11212633e34dac9e87101956e3ab0d9d56757767bc5d48d1d5a406e550f8fc55ae34860dbc4977c94ee347 SHA512 c8d746efcc055592dd990dfa57415cc1eacaaa3b66303d7583d9f9e7e98b8829c8f1ae849f36a243c8896e99787dd2e493c92367de719b20a4a160bc7daea76e
-DIST toxic_patches-0.8.2.tar.gz 3859 BLAKE2B 4a19226cea6c7ce60f599fbd4f74171f26b3812259f0f8997997526bde7beb6fe64b922f25fe77e0ac8f9b185db116d2e626cb889631a1508786b92f9bbc8927 SHA512 737cc53e814567e10ad8b7431be63ab8f99b76bb150490c31e03309c4e51ee34a798d141cbde446cbbc4b5c0145ca468f3456a2af4b966c80792cdccc6562b46
+DIST toxic-0.11.1.tar.gz 1204163 BLAKE2B 1e388982236badf1a27cb1cfd9e84ec635be6a576a0719a7394f32ac82f23796f94236ab807180620cbfa8c0c42f43ff244d2d99d27cd5ab3258c1ce69acc545 SHA512 53fba05271020547e779d63bea777f90f56b61e3eb2775afabe92e047a8347b4a9166628bb59d2eaab2e36a1121d791206ac68ff6604cb06fac6aaddbb05e787
+DIST toxic-0.11.3.tar.gz 1197252 BLAKE2B 4a7a3c4eed270330c6d79ad400778debda1b98b66beed1196cf4e36858d300141c468c4963d012b77d8232f7b3b3b419138505e46098bfac3cde48e9bc0b0e1c SHA512 2c8408004d9644b52cbe9477d7c486622fcef52f1d10a1bcdf7555656a2f2e1bd4c6f0594a7b0b3156fd6908c470c5b41c55e6e0914c3eb2067614013f0f259f
diff --git a/net-im/toxic/files/toxic-0.11.1-NAME_MAX-and-PATH_MAX.patch b/net-im/toxic/files/toxic-0.11.1-NAME_MAX-and-PATH_MAX.patch
new file mode 100644
index 000000000000..09845d294a2e
--- /dev/null
+++ b/net-im/toxic/files/toxic-0.11.1-NAME_MAX-and-PATH_MAX.patch
@@ -0,0 +1,48 @@
+diff -ruN src/autocomplete.c src/autocomplete.c
+--- src/autocomplete.c 2021-08-09 18:52:27.090248882 -0400
++++ src/autocomplete.c 2021-08-11 14:57:39.029828530 -0400
+@@ -25,10 +25,12 @@
+ #include <string.h>
+
+ #ifdef __APPLE__
+-#include <sys/types.h>
+ #include <sys/dir.h>
++#include <sys/types.h>
++#include <sys/sysinfo.h>//This should contain PATH_MAX and NAME_MAX
+ #else
+ #include <dirent.h>
++#include <linux/limits.h>
+ #endif /* __APPLE__ */
+
+ #include "configdir.h"
+diff -ruN src/file_transfers.h src/file_transfers.h
+--- src/file_transfers.h 2021-07-26 15:39:36.765990567 -0400
++++ src/file_transfers.h 2021-08-11 14:59:41.223159195 -0400
+@@ -24,6 +24,12 @@
+ #define FILE_TRANSFERS_H
+
+ #include <limits.h>
++//This should include NAME_MAX and PATH_MAX
++#ifdef __APPLE__
++#include <sys/sysinfo.h>
++#elif __linux__
++#include <linux/limits.h>
++#endif
+
+ #include "notify.h"
+ #include "toxic.h"
+diff -ruN src/settings.h src/settings.h
+--- src/settings.h 2021-08-09 18:52:27.093582216 -0400
++++ src/settings.h 2021-08-11 15:00:46.889824433 -0400
+@@ -24,6 +24,12 @@
+ #define SETTINGS_H
+
+ #include <limits.h>
++//This should include NAME_MAX and PATH_MAX
++#ifdef __APPLE__
++#include <sys/sysinfo.h>
++#elif __linux__
++#include <linux/limits.h>
++#endif
+
+ #include <tox/tox.h>
diff --git a/net-im/toxic/files/toxic-0.11.3-NAME_MAX-and-PATH_MAX.patch b/net-im/toxic/files/toxic-0.11.3-NAME_MAX-and-PATH_MAX.patch
new file mode 100644
index 000000000000..2101b64e3d9f
--- /dev/null
+++ b/net-im/toxic/files/toxic-0.11.3-NAME_MAX-and-PATH_MAX.patch
@@ -0,0 +1,39 @@
+diff -ruN src/autocomplete.c src/autocomplete.c
+--- src/autocomplete.c
++++ src/autocomplete.c
+@@ -29,6 +29,7 @@
+ #include <sys/dir.h>
+ #else
+ #include <dirent.h>
++#include <linux/limits.h>
+ #endif /* __APPLE__ */
+
+ #include "configdir.h"
+diff -ruN src/file_transfers.h src/file_transfers.h
+--- src/file_transfers.h
++++ src/file_transfers.h
+@@ -25,6 +25,10 @@
+
+ #include <limits.h>
+
++#ifdef __linux__
++#include <linux/limits.h>
++#endif
++
+ #include "notify.h"
+ #include "toxic.h"
+ #include "windows.h"
+diff -ruN src/settings.h src/settings.h
+--- src/settings.h
++++ src/settings.h
+@@ -25,6 +25,10 @@
+
+ #include <limits.h>
+
++#ifdef __linux__
++#include <linux/limits.h>
++#endif
++
+ #include <tox/tox.h>
+
+ /* Represents line_* hints max strlen */
diff --git a/net-im/toxic/metadata.xml b/net-im/toxic/metadata.xml
index 02e709980dad..cdcd3b5220b7 100644
--- a/net-im/toxic/metadata.xml
+++ b/net-im/toxic/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>JoMull01@protonmail.com</email>
<name>Josiah Mullins</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -20,6 +20,9 @@
An ncurses-based Tox client written in C. Supports audio and video calling, file sharing, and desktop notifications.
</longdescription>
<use>
+ <flag name="audio-notify">Enables native sound notifications</flag>
+ <flag name="games">Enables some small mini-games</flag>
+ <flag name="llvm">Enables support for LLVM Address Sanitizer</flag>
<flag name="notification">Enables desktop notifications with libnotify, with sound support.</flag>
<flag name="qrcode">Enables QR code support</flag>
<flag name="sound">Enables audio calling</flag>
diff --git a/net-im/toxic/toxic-0.11.1-r1.ebuild b/net-im/toxic/toxic-0.11.1-r1.ebuild
new file mode 100644
index 000000000000..1a535eb7fcaa
--- /dev/null
+++ b/net-im/toxic/toxic-0.11.1-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9,10,11} )
+
+inherit python-single-r1 xdg
+
+DESCRIPTION="A curses-based client for Tox"
+HOMEPAGE="https://github.com/JFreegman/toxic"
+SRC_URI="https://github.com/JFreegman/toxic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+audio-notify debug games llvm notification png python qrcode +sound +video +X"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ video? ( sound X ) "
+
+BDEPEND="dev-libs/libconfig:=
+ virtual/pkgconfig"
+
+RDEPEND="net-libs/tox:=
+ net-misc/curl
+ sys-kernel/linux-headers
+ sys-libs/ncurses:=
+ audio-notify? (
+ media-libs/freealut
+ media-libs/openal
+ )
+ notification? ( x11-libs/libnotify )
+ debug? ( llvm? ( sys-devel/llvm:* ) )
+ python? ( ${PYTHON_DEPS} )
+ qrcode? (
+ media-gfx/qrencode:=
+ png? ( media-libs/libpng )
+ )
+ sound? (
+ media-libs/openal
+ net-libs/tox:=[av]
+ )
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libX11
+ )"
+
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ #prevent man files from being compressed.
+ sed -i -e "/gzip/d" cfg/targets/install.mk || die "Unable to prevent compression of man pages."
+ #Fix incorrect linkage of pthread (may be optional)
+ sed -i -e 's/pthread/lpthread/g' Makefile || die "Unable to fix linking of pthread."
+ #Makefile sets some required CFLAGS only if CFLAGS variable is undefined,
+ #This line changes the "lazy set if absent" assignment to a "lazy set" assignment.
+ #look below in src_configure to see how CFLAGS are passed to the makefile in USER_CFLAGS
+ sed -i -e 's/?=/=/g' Makefile || die "Unable to change assignment of CFLAGS and LDFLAGS"
+ #Fix incomplete invocation of python-config
+ sed -i -e "s/--ldflags/--ldflags --embed/" cfg/checks/python.mk || die "Unable to fix python linking"
+ #This is to fix incorrect include statements of NAME_MAX and PATH_MAX macros
+ eapply -p0 "${FILESDIR}/${P}-NAME_MAX-and-PATH_MAX.patch" || die "Unable to fix include statements"
+}
+
+src_configure() {
+ if ! use audio-notify; then
+ export DISABLE_SOUND_NOTIFY=1
+ fi
+ if use debug; then
+ export ENABLE_RELEASE=0
+ if use llvm; then
+ export ENABLE_ASAN=1
+ fi
+ fi
+ if ! use games; then
+ export DISABLE_GAMES=1
+ fi
+ if ! use notification; then
+ export DISABLE_DESKTOP_NOTIFY=1
+ fi
+ if ! use png; then
+ export DISABLE_QRPNG=1
+ fi
+ if use python; then
+ export ENABLE_PYTHON=1
+ fi
+ if ! use qrcode; then
+ export DISABLE_QRCODE=1
+ fi
+ if ! use sound; then
+ export DISABLE_AV=1
+ fi
+ if ! use video; then
+ export DISABLE_VI=1
+ fi
+ if ! use X; then
+ export DISABLE_X11=1
+ fi
+ #include strings.h fixes undefined reference to strcasecmp()
+ #defining _GNU_SOURCE fixes undefined reference to strcasestr()
+ export USER_CFLAGS="${CFLAGS} -include strings.h -D _GNU_SOURCE"
+ export USER_LDFLAGS="${LDFLAGS}"
+ #set install directory to /usr.
+ sed -i -e "s,/usr/local,${EPREFIX}/usr,g" cfg/global_vars.mk || die "Failed to set install directory!"
+}
+
+src_install() {
+ default
+ if ! use audio-notify; then
+ rm -r "${ED}"/usr/share/${PN}/sounds || die "Could not remove sounds directory"
+ fi
+}
diff --git a/net-im/toxic/toxic-0.11.3-r1.ebuild b/net-im/toxic/toxic-0.11.3-r1.ebuild
new file mode 100644
index 000000000000..729b32f3fcc0
--- /dev/null
+++ b/net-im/toxic/toxic-0.11.3-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11} )
+
+inherit python-single-r1 xdg
+
+DESCRIPTION="A curses-based client for Tox"
+HOMEPAGE="https://github.com/JFreegman/toxic"
+SRC_URI="https://github.com/JFreegman/toxic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+audio-notify debug games llvm notification png python qrcode +sound +video +X"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ video? ( sound X ) "
+
+BDEPEND="dev-libs/libconfig:=
+ virtual/pkgconfig"
+
+RDEPEND="net-libs/tox:=
+ net-misc/curl
+ sys-kernel/linux-headers
+ sys-libs/ncurses:=
+ audio-notify? (
+ media-libs/freealut
+ media-libs/openal
+ )
+ notification? ( x11-libs/libnotify )
+ debug? ( llvm? ( sys-devel/llvm:* ) )
+ python? ( ${PYTHON_DEPS} )
+ qrcode? (
+ media-gfx/qrencode:=
+ png? ( media-libs/libpng )
+ )
+ sound? (
+ media-libs/openal
+ net-libs/tox:=[av]
+ )
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libX11
+ )"
+
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ #prevent man files from being compressed.
+ sed -i -e "/gzip/d" cfg/targets/install.mk || die "Unable to prevent compression of man pages."
+ #Fix incorrect linkage of pthread (may be optional)
+ sed -i -e 's/pthread/lpthread/g' Makefile || die "Unable to fix linking of pthread."
+ #Makefile sets some required CFLAGS only if CFLAGS variable is undefined,
+ #This line changes the "lazy set if absent" assignment to a "lazy set" assignment.
+ #look below in src_configure to see how CFLAGS are passed to the makefile in USER_CFLAGS
+ sed -i -e 's/?=/=/g' Makefile || die "Unable to change assignment of CFLAGS and LDFLAGS"
+ #Fix incomplete invocation of python-config
+ sed -i -e "s/--ldflags/--ldflags --embed/" cfg/checks/python.mk || die "Unable to fix python linking"
+ #This is to fix incorrect include statements of NAME_MAX and PATH_MAX macros
+ eapply -p0 "${FILESDIR}/${P}-NAME_MAX-and-PATH_MAX.patch" || die "Unable to fix include statements"
+}
+
+src_configure() {
+ if ! use audio-notify; then
+ export DISABLE_SOUND_NOTIFY=1
+ fi
+ if use debug; then
+ export ENABLE_RELEASE=0
+ if use llvm; then
+ export ENABLE_ASAN=1
+ fi
+ fi
+ if ! use games; then
+ export DISABLE_GAMES=1
+ fi
+ if ! use notification; then
+ export DISABLE_DESKTOP_NOTIFY=1
+ fi
+ if ! use png; then
+ export DISABLE_QRPNG=1
+ fi
+ if use python; then
+ export ENABLE_PYTHON=1
+ fi
+ if ! use qrcode; then
+ export DISABLE_QRCODE=1
+ fi
+ if ! use sound; then
+ export DISABLE_AV=1
+ fi
+ if ! use video; then
+ export DISABLE_VI=1
+ fi
+ if ! use X; then
+ export DISABLE_X11=1
+ fi
+ #Including strings.h fixes undefined reference to strcasecmp()
+ #Defining _GNU_SOURCE fixes undefined reference to strcasestr()
+ export USER_CFLAGS="${CFLAGS} -include strings.h -D _GNU_SOURCE"
+ export USER_LDFLAGS="${LDFLAGS}"
+ #set install directory to /usr.
+ sed -i -e "s,/usr/local,${EPREFIX}/usr,g" cfg/global_vars.mk || die "Failed to set install directory!"
+}
+
+src_install() {
+ default
+ if ! use audio-notify; then
+ rm -r "${ED}"/usr/share/${PN}/sounds || die "Could not remove sounds directory"
+ fi
+}
diff --git a/net-im/toxic/toxic-0.8.2.ebuild b/net-im/toxic/toxic-0.8.2.ebuild
deleted file mode 100644
index 895e09ecce47..000000000000
--- a/net-im/toxic/toxic-0.8.2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_5 python3_6 )
-
-inherit python-single-r1 xdg
-
-DESCRIPTION="A curses-based client for Tox"
-HOMEPAGE="https://github.com/JFreegman/toxic"
-SRC_URI="https://github.com/JFreegman/toxic/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/fx-carton/toxic_patches/archive/v${PV}.tar.gz -> ${PN}_patches-${PV}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+X +sound notification +python +qrcode +video"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Not a typo; net-libs/tox only has a 'both or neither' option
-RDEPEND="
- net-libs/tox:0/0.2
- dev-libs/libconfig
- net-misc/curl:0=
- sys-libs/ncurses:0=
- notification? ( x11-libs/libnotify )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode:= )
- sound? (
- media-libs/openal
- media-libs/freealut
- net-libs/tox:0/0.2[av]
- )
- video? (
- media-libs/libvpx:=
- net-libs/tox:0/0.2[av]
- x11-libs/libX11
- )
-"
-DEPEND="
- virtual/pkgconfig
- ${RDEPEND}
-"
-
-PATCHES=(
- "${WORKDIR}/${PN}_patches-${PV}/${P}-make-qrencode-optional.patch"
- )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} = 0.8.2 ]]; then
- sed -i \
- -e 's/^\(TOXIC_VERSION =\).*$/\1 0.8.2/' \
- cfg/global_vars.mk || die
- else
- die "Remove stale version hack"
- fi
- sed -i '/^VIDEO = /s/DISABLE_AV/DISABLE_VI/g' cfg/checks/check_features.mk || die
- find . '(' -name '*.mk' -o -name 'Makefile' ')' -exec sed -i 's/^\t@/\t/' {} + || die
-}
-
-src_configure() {
- export USER_CFLAGS="${CFLAGS}"
- export USER_LDFLAGS="${LDFLAGS}"
- if ! use sound; then
- export DISABLE_AV=1
- export DISABLE_SOUND_NOTIFY=1
- fi
- if ! use video; then
- export DISABLE_VI=1
- fi
- if ! use X; then
- export DISABLE_X11=1
- fi
- if ! use notification; then
- export DISABLE_DESKTOP_NOTIFY=1
- fi
- if ! use qrcode; then
- export DISABLE_QRCODE=1
- export DISABLE_QRPNG=1
- fi
- if use python; then
- export ENABLE_PYTHON=1
- fi
- sed -i \
- -e "s,/usr/local,${EPREFIX}/usr,g" \
- cfg/global_vars.mk || die "PREFIX sed failed"
-}
-
-src_install() {
- default
- if ! use sound; then
- rm -r "${ED%/}"/usr/share/${PN}/sounds || die "Could not remove sounds directory"
- fi
-}
diff --git a/net-im/toxic/toxic-0.8.3.ebuild b/net-im/toxic/toxic-0.8.3.ebuild
deleted file mode 100644
index c1c519662a15..000000000000
--- a/net-im/toxic/toxic-0.8.3.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_5 python3_6 )
-
-inherit python-single-r1 xdg
-
-DESCRIPTION="A curses-based client for Tox"
-HOMEPAGE="https://github.com/JFreegman/toxic"
-SRC_URI="https://github.com/JFreegman/toxic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="notification python qrcode +sound +video +X"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- dev-libs/libconfig
- >=net-libs/tox-0.2.8:*
- net-misc/curl
- sys-libs/ncurses:*
- notification? ( x11-libs/libnotify )
- python? ( ${PYTHON_DEPS} )
- qrcode? ( media-gfx/qrencode )
- sound? (
- media-libs/freealut
- media-libs/openal
- net-libs/tox[av]
- )
- video? (
- media-libs/libvpx
- net-libs/tox[av]
- x11-libs/libX11 )"
-
-DEPEND="
- virtual/pkgconfig
- ${RDEPEND}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- #prevent man files from being compressed.
- sed -i -e "/gzip/d" cfg/targets/install.mk || die "Unable to prevent compression of man pages."
-}
-
-src_configure() {
- export USER_CFLAGS="${CFLAGS}"
- export USER_LDFLAGS="${LDFLAGS}"
- if ! use sound; then
- export DISABLE_AV=1
- export DISABLE_SOUND_NOTIFY=1
- fi
- if ! use video; then
- export DISABLE_VI=1
- fi
- if ! use X; then
- export DISABLE_X11=1
- fi
- if ! use notification; then
- export DISABLE_DESKTOP_NOTIFY=1
- fi
- if ! use qrcode; then
- export DISABLE_QRCODE=1
- export DISABLE_QRPNG=1
- fi
- if use python; then
- export ENABLE_PYTHON=1
- fi
- #set install directory to /usr.
- sed -i -e "s,/usr/local,${EPREFIX}/usr,g" cfg/global_vars.mk || die "Failed to set install directory!"
-}
-
-src_install() {
- default
- if ! use sound; then
- rm -r "${ED%/}"/usr/share/${PN}/sounds || die "Could not remove sounds directory"
- fi
-}
diff --git a/net-im/transwhat/Manifest b/net-im/transwhat/Manifest
index b70861dc49eb..7872b85d9def 100644
--- a/net-im/transwhat/Manifest
+++ b/net-im/transwhat/Manifest
@@ -1 +1 @@
-DIST transwhat-0.2.2.tar.gz 49494 BLAKE2B 2d34a697df74d010aa030cd0162d6b1523d3e6eb1935251efb3c76a6259c8111f8644f244141c9724018f6617fef67bbd503be22d29a42bee3ffd619932cc3fb SHA512 4a292ba7dd064214e1f7e90f3a0da4f9fbd42e1227fe648ab2269b35c345eb7feda4d47d90b3ab95a31c356e6c0ad19aa6ffbea6641947810835ab06fbda4b75
+DIST transwhat-0.2.2_p20190426.tar.gz 38373 BLAKE2B 3addf2ae66d042eaf4a5f6b54015b9592fea68b69f4c542c5ec0d97040c0eb473d15b893af35f6d6cf83671417ed718c9c91b6268242e667fa34397fc230d2d5 SHA512 7079d1015bf5dfcd97e729219306320055ef86ac3203bb727bebb1e96abb60a26787882a12f9a8f4cce2ef45652bebfbd824a98d37d97ed72ebe0269004c1a71
diff --git a/net-im/transwhat/metadata.xml b/net-im/transwhat/metadata.xml
index 3be736289c91..7449ea2792c3 100644
--- a/net-im/transwhat/metadata.xml
+++ b/net-im/transwhat/metadata.xml
@@ -1,16 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
- transWhat is a WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 2.
+ transWhat is a WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 3.
+ It can be used for accessing WhatsApp through a XMPP Transport on clients side.
</longdescription>
<upstream>
<bugs-to>https://github.com/stv0g/transwhat/issues</bugs-to>
diff --git a/net-im/transwhat/transwhat-0.2.2-r1.ebuild b/net-im/transwhat/transwhat-0.2.2-r1.ebuild
deleted file mode 100644
index feeee448294e..000000000000
--- a/net-im/transwhat/transwhat-0.2.2-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="A WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 2"
-HOMEPAGE="https://github.com/stv0g/transwhat"
-SRC_URI="https://github.com/stv0g/transwhat/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/e4u[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- net-im/yowsup[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-DOCS=( "INSTALL.rst" "README.rst" "USAGE.rst" )
-
-src_prepare() {
- default
-
- # Fixes for net-im/spectrum2
- mv config.py Spectrum2/config.py || die
- sed -i -e 's/config import SpectrumConfig/Spectrum2.&/' transWhat/transwhat.py || die
-}
diff --git a/net-im/transwhat/transwhat-0.2.2_p20190426-r3.ebuild b/net-im/transwhat/transwhat-0.2.2_p20190426-r3.ebuild
new file mode 100644
index 000000000000..3a1f9c589d2b
--- /dev/null
+++ b/net-im/transwhat/transwhat-0.2.2_p20190426-r3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EGIT_COMMIT="d022243f6c7b23674d3c87a09819f00b10df1165"
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 3"
+HOMEPAGE="https://github.com/stv0g/transwhat"
+SRC_URI="https://github.com/stv0g/transwhat/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/pyspectrum2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ net-im/yowsup[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+DOCS=( "INSTALL.rst" "README.rst" "USAGE.rst" )
+
+src_prepare() {
+ default
+
+ # Spectrum2 must be lower case
+ sed \
+ -e 's/Spectrum2/spectrum2/g' \
+ -i transWhat/{buddy,group,registersession,session,transwhat,whatsappbackend}.py || die
+}
diff --git a/net-im/turses/Manifest b/net-im/turses/Manifest
deleted file mode 100644
index 842a5da952f7..000000000000
--- a/net-im/turses/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST turses-0.2.23.tar.gz 2241497 BLAKE2B 22414bb7fa84de36e5532ec458d12462de7ba5024dceb01b780f1a2b66a07d7e4906fa2c486905c1543028f99e2c213a994901971d65338a10d8ec47995205aa SHA512 ef5b880319f4126a99787cd11fa4573b6c6ff626a759f2515ad507006625f1192e4ca1552ca687ca8ecdf2545a17c228fa956019c325d582e7f80bd8a3e6432b
diff --git a/net-im/turses/metadata.xml b/net-im/turses/metadata.xml
deleted file mode 100644
index d80086bbb34f..000000000000
--- a/net-im/turses/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">alejandrogomez/turses</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-im/turses/turses-0.2.23.ebuild b/net-im/turses/turses-0.2.23.ebuild
deleted file mode 100644
index ece5e2e592de..000000000000
--- a/net-im/turses/turses-0.2.23.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line twitter client"
-HOMEPAGE="https://github.com/alejandrogomez/turses"
-SRC_URI="https://github.com/alejandrogomez/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc test"
-
-DEPEND="
- dev-python/httplib2[${PYTHON_USEDEP}]
- dev-python/oauth2[${PYTHON_USEDEP}]
- dev-python/urwid[${PYTHON_USEDEP}]
- >dev-python/tweepy-2.2[${PYTHON_USEDEP}]
- <dev-python/tweepy-3[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- )
-"
-
-python_compile_all() {
- use doc && emake -C docs html
- emake -C docs man
-}
-
-python_test() {
- py.test tests || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- doman "docs/_build/man/turses.1"
- use doc && local HTML_DOCS=( docs/_build/html/. )
- distutils-r1_python_install_all
-}
diff --git a/net-im/vacuum/Manifest b/net-im/vacuum/Manifest
deleted file mode 100644
index e78a2c997862..000000000000
--- a/net-im/vacuum/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST vacuum-im-1.3.0.20180105-Alpha.tar.gz 2658247 BLAKE2B 823984f49687805c8e859984d6dfc9afcbdff864eef2f81825562dca11281286d5e736a986ed40e10bb915b7ee4f972dba10b073ea738cd8153f887c74b89f1b SHA512 83d830494c272145c3ad923ebb2897a8ab6323a301bdd0fc2b972f84b246e2de4eff29a93d92da97ed4deb6018c52e38e6fc5941c54722e1c37de207bca0c687
diff --git a/net-im/vacuum/metadata.xml b/net-im/vacuum/metadata.xml
deleted file mode 100644
index 7cef94a3a3ad..000000000000
--- a/net-im/vacuum/metadata.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</name>
- </maintainer>
- <maintainer type="person">
- <email>reagentoo@gmail.com</email>
- <name>Dmitry Baranov</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="adiummessagestyle">Use UI styles created for Adium</flag>
- <flag name="annotations">Enable adding comments to the contacts in the roster</flag>
- <flag name="autostatus">Change the status in accordance with the time of inactivity</flag>
- <flag name="avatars">Enable assigning and displaying avatars</flag>
- <flag name="birthdayreminder">Reminds about birthdays of your friends</flag>
- <flag name="bitsofbinary">Allow other modules to receive or send a small amount of binary data in XMPP stanza</flag>
- <flag name="bookmarks">Enable creating bookmarks of the Jabber conferences and Web pages</flag>
- <flag name="captchaforms">Perform tests for humanity outside of Web browser</flag>
- <flag name="chatstates">Post user's activity to the chat</flag>
- <flag name="clientinfo">Enable sending and receiving peer's application version, local time and last activity info</flag>
- <flag name="commands">Enable performing special commands provided by various services</flag>
- <flag name="compress">Compress stream of messages</flag>
- <flag name="console">Enable inspecting a raw XML stream</flag>
- <flag name="dataforms">Allow other modules to process and display data forms intended for the user</flag>
- <flag name="datastreamsmanager">Enable initiating a custom data stream between two XMPP entities</flag>
- <flag name="emoticons">Enable using smiley images in messages</flag>
- <flag name="filemessagearchive">Allows to save the history of conversations to local files</flag>
- <flag name="filestreamsmanager">Enable transferring files between two XMPP entities</flag>
- <flag name="filetransfer">Enable sending files to peers</flag>
- <flag name="gateways">Simplify the interaction with gateways to other IM systems</flag>
- <flag name="inbandstreams">Enable initiating in-band data stream between two XMPP enitites</flag>
- <flag name="iqauth">Enable logging on Jabber servers withous SASL authentication support</flag>
- <flag name="jabbersearch">Enable searching contacts in Jabber networks</flag>
- <flag name="messagearchiver">Enable saving the communication history both locally and on the server</flag>
- <flag name="messagecarbons">Allows to keep all user IM clients engaged in a conversation</flag>
- <flag name="multiuserchat">Enable Jabber multi-user conferences</flag>
- <flag name="pepmanager">Allows other plugins to recieve and publish PEP events</flag>
- <flag name="privacylists">Enable blocking the undesirable contacts</flag>
- <flag name="privatestorage">Allow other modules to store arbitrary data on the server</flag>
- <flag name="recentcontacts">Displays a recently used contacts</flag>
- <flag name="registration">Enable creating accounts in Jabber services</flag>
- <flag name="remotecontrol">Allows to remotely control the client</flag>
- <flag name="rosteritemexchange">Allows to exchange contact list items</flag>
- <flag name="rostersearch">Allows to search for contacts in the roster</flag>
- <flag name="servermessagearchive">Allows to save the history of communications on the server</flag>
- <flag name="servicediscovery">Enable receiving information about Jabber entities</flag>
- <flag name="sessionnegotiation">Enable initiating the session between two entities with setting the rules for XMPP stanzas exchange</flag>
- <flag name="shortcutmanager">Allows to setup user defined shortcuts</flag>
- <flag name="socksstreams">Enable initiating SOCKS5 data streams between two XMPP entities</flag>
- <flag name="urlprocessor">Allows other plugins to load data from custom types of URLs</flag>
- <flag name="vcard">Enable obtaining peer's personal contact information</flag>
- <flag name="xmppuriqueries">Allow other plugins to handle XMPP URI queries</flag>
- <flag name="aspell">Select <pkg>app-text/aspell</pkg> spell checker backend</flag>
- <flag name="enchant">Select <pkg>app-text/enchant</pkg> spell checker backend</flag>
- <flag name="hunspell">Select <pkg>app-text/hunspell</pkg> spell checker backend</flag>
- </use>
-</pkgmetadata>
diff --git a/net-im/vacuum/vacuum-1.3.0_pre20180105.ebuild b/net-im/vacuum/vacuum-1.3.0_pre20180105.ebuild
deleted file mode 100644
index 0b60a4d2b10a..000000000000
--- a/net-im/vacuum/vacuum-1.3.0_pre20180105.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PLOCALES="de es pl ru uk"
-
-inherit cmake-utils l10n
-
-MY_PN="${PN}-im"
-MY_PV="${PV/_pre/.}-Alpha"
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="Qt Crossplatform Jabber client"
-HOMEPAGE="http://www.vacuum-im.org/"
-SRC_URI="https://github.com/Vacuum-IM/${MY_PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/37" # subslot = libvacuumutils soname version
-KEYWORDS="~amd64 ~x86"
-PLUGINS=( adiummessagestyle annotations autostatus avatars birthdayreminder bitsofbinary bookmarks captchaforms chatstates clientinfo commands compress console dataforms datastreamsmanager emoticons filemessagearchive filestreamsmanager filetransfer gateways inbandstreams iqauth jabbersearch messagearchiver messagecarbons multiuserchat pepmanager privacylists privatestorage recentcontacts registration remotecontrol rosteritemexchange rostersearch servermessagearchive servicediscovery sessionnegotiation shortcutmanager socksstreams urlprocessor vcard xmppuriqueries )
-SPELLCHECKER_BACKENDS="aspell +enchant hunspell"
-IUSE="${PLUGINS[@]/#/+} ${SPELLCHECKER_BACKENDS} +spell"
-
-REQUIRED_USE="
- annotations? ( privatestorage )
- avatars? ( vcard )
- birthdayreminder? ( vcard )
- bookmarks? ( privatestorage )
- captchaforms? ( dataforms )
- commands? ( dataforms )
- datastreamsmanager? ( dataforms )
- filemessagearchive? ( messagearchiver )
- filestreamsmanager? ( datastreamsmanager )
- filetransfer? ( filestreamsmanager datastreamsmanager )
- messagecarbons? ( servicediscovery )
- pepmanager? ( servicediscovery )
- recentcontacts? ( privatestorage )
- registration? ( dataforms )
- remotecontrol? ( commands dataforms )
- servermessagearchive? ( messagearchiver )
- sessionnegotiation? ( dataforms )
- spell? ( ^^ ( ${SPELLCHECKER_BACKENDS//+/} ) )
-"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtlockedfile[qt5(+)]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtxml:5
- net-dns/libidn
- sys-libs/zlib[minizip]
- x11-libs/libXScrnSaver
- adiummessagestyle? ( dev-qt/qtwebkit:5 )
- filemessagearchive? ( dev-qt/qtsql:5[sqlite] )
- messagearchiver? ( dev-qt/qtsql:5[sqlite] )
- spell? (
- aspell? ( app-text/aspell )
- enchant? ( app-text/enchant )
- hunspell? ( app-text/hunspell )
- )
-"
-RDEPEND="${DEPEND}
- !net-im/vacuum-spellchecker
-"
-
-DOCS=( AUTHORS CHANGELOG README TRANSLATORS )
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- # Force usage of system libraries
- rm -rf src/thirdparty/{hunspell,idn,minizip,qtlockedfile,zlib} || die
-
- # Supress find thirdparty library in the system
- sed -i -r -e "/find_library.+qxtglobalshortcut/d" \
- CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_LIB_DIR="$(get_libdir)"
- -DINSTALL_SDK=ON
- -DLANGS="$(l10n_get_locales)"
- -DINSTALL_DOCS=OFF
- -DFORCE_BUNDLED_MINIZIP=OFF
- -DPLUGIN_statistics=OFF
- -DPLUGIN_spellchecker=$(usex spell)
- )
-
- for x in ${PLUGINS[@]}; do
- mycmakeargs+=( -DPLUGIN_${x}=$(usex $x) )
- done
-
- for i in ${SPELLCHECKER_BACKENDS//+/}; do
- use "${i}" && mycmakeargs+=( -DSPELLCHECKER_BACKEND="${i}" )
- done
-
- cmake-utils_src_configure
-}
diff --git a/net-im/vacuum/vacuum-9999.ebuild b/net-im/vacuum/vacuum-9999.ebuild
deleted file mode 100644
index b2f5d478a4d4..000000000000
--- a/net-im/vacuum/vacuum-9999.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://github.com/Vacuum-IM/vacuum-im.git"
-PLOCALES="de es pl ru uk"
-inherit cmake-utils git-r3 l10n
-
-DESCRIPTION="Qt Crossplatform Jabber client"
-HOMEPAGE="http://www.vacuum-im.org/"
-
-LICENSE="GPL-3"
-SLOT="0/37" # subslot = libvacuumutils soname version
-KEYWORDS=""
-PLUGINS=( adiummessagestyle annotations autostatus avatars birthdayreminder bitsofbinary bookmarks captchaforms chatstates clientinfo commands compress console dataforms datastreamsmanager emoticons filemessagearchive filestreamsmanager filetransfer gateways inbandstreams iqauth jabbersearch messagearchiver messagecarbons multiuserchat pepmanager privacylists privatestorage recentcontacts registration remotecontrol rosteritemexchange rostersearch servermessagearchive servicediscovery sessionnegotiation shortcutmanager socksstreams urlprocessor vcard xmppuriqueries )
-SPELLCHECKER_BACKENDS="aspell +enchant hunspell"
-IUSE="${PLUGINS[@]/#/+} ${SPELLCHECKER_BACKENDS} +spell"
-
-REQUIRED_USE="
- annotations? ( privatestorage )
- avatars? ( vcard )
- birthdayreminder? ( vcard )
- bookmarks? ( privatestorage )
- captchaforms? ( dataforms )
- commands? ( dataforms )
- datastreamsmanager? ( dataforms )
- filemessagearchive? ( messagearchiver )
- filestreamsmanager? ( datastreamsmanager )
- filetransfer? ( filestreamsmanager datastreamsmanager )
- messagecarbons? ( servicediscovery )
- pepmanager? ( servicediscovery )
- recentcontacts? ( privatestorage )
- registration? ( dataforms )
- remotecontrol? ( commands dataforms )
- servermessagearchive? ( messagearchiver )
- sessionnegotiation? ( dataforms )
- spell? ( ^^ ( ${SPELLCHECKER_BACKENDS//+/} ) )
-"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtlockedfile[qt5(+)]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtxml:5
- net-dns/libidn
- sys-libs/zlib[minizip]
- x11-libs/libXScrnSaver
- adiummessagestyle? ( dev-qt/qtwebkit:5 )
- filemessagearchive? ( dev-qt/qtsql:5[sqlite] )
- messagearchiver? ( dev-qt/qtsql:5[sqlite] )
- spell? (
- aspell? ( app-text/aspell )
- enchant? ( app-text/enchant )
- hunspell? ( app-text/hunspell )
- )
-"
-RDEPEND="${DEPEND}
- !net-im/vacuum-spellchecker
-"
-
-DOCS=( AUTHORS CHANGELOG README TRANSLATORS )
-
-src_prepare() {
- # Force usage of system libraries
- rm -rf src/thirdparty/{hunspell,idn,minizip,qtlockedfile,zlib} || die
-
- # Supress find thirdparty library in the system
- sed -i -r -e "/find_library.+qxtglobalshortcut/d" \
- CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_LIB_DIR="$(get_libdir)"
- -DINSTALL_SDK=ON
- -DLANGS="$(l10n_get_locales)"
- -DINSTALL_DOCS=OFF
- -DFORCE_BUNDLED_MINIZIP=OFF
- -DPLUGIN_statistics=OFF
- -DPLUGIN_spellchecker=$(usex spell)
- )
-
- for x in ${PLUGINS[@]}; do
- mycmakeargs+=( -DPLUGIN_${x}=$(usex $x) )
- done
-
- for i in ${SPELLCHECKER_BACKENDS//+/}; do
- use "${i}" && mycmakeargs+=( -DSPELLCHECKER_BACKEND="${i}" )
- done
-
- cmake-utils_src_configure
-}
diff --git a/net-im/whatsapp-desktop-bin/Manifest b/net-im/whatsapp-desktop-bin/Manifest
new file mode 100644
index 000000000000..797f52ec5c1b
--- /dev/null
+++ b/net-im/whatsapp-desktop-bin/Manifest
@@ -0,0 +1,2 @@
+DIST whatsapp-desktop-bin-amd64-0.5.2.deb 79421814 BLAKE2B db9a2c29b1fc02a265f42d87c3582917bdbbeb99debf09a0e4ba97446b962483f6b6c06f36c1bbae826142085f9445b895f16c98e1f1d847f8730cd81889ace8 SHA512 4b5fecfeea2eebeadebacc96bcb217fe030f23a37b7979f3ea2444f5f7bccada3d126512853ad431b997c7b46ca8d86e396143c8dd36ffdc6a0beb542b77b41e
+DIST whatsapp-desktop-bin-x86-0.5.2.deb 68963072 BLAKE2B fb03f73e489369a5911cc5bf44595227cdc6de7a3c08a89dae8077c940a8a59b99829fc59885f276efa4829e43e94ad2ad5abd8373f673461753d07500f3f327 SHA512 f388a7db11b84de6283501057a28b42aaa4834582ed6e389c8d0ffff20146f890842e266cca40cd2ac71c4eae6d9f43eb2a794c5d4db4f1b435a93fcf7c25b83
diff --git a/net-im/whatsapp-desktop-bin/metadata.xml b/net-im/whatsapp-desktop-bin/metadata.xml
new file mode 100644
index 000000000000..e16a94e5f9eb
--- /dev/null
+++ b/net-im/whatsapp-desktop-bin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">oOthkOo/whatsapp-desktop</remote-id>
+ <bugs-to>https://github.com/oOthkOo/whatsapp-desktop/issues</bugs-to>
+ </upstream>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/whatsapp-desktop-bin/whatsapp-desktop-bin-0.5.2-r3.ebuild b/net-im/whatsapp-desktop-bin/whatsapp-desktop-bin-0.5.2-r3.ebuild
new file mode 100644
index 000000000000..1e3b3c9a8754
--- /dev/null
+++ b/net-im/whatsapp-desktop-bin/whatsapp-desktop-bin-0.5.2-r3.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop unpacker xdg
+
+DESCRIPTION="Unofficial electron-based wrapper around WhatsApp Web"
+HOMEPAGE="https://github.com/oOthkOo/whatsapp-desktop"
+SRC_URI="
+ amd64? ( https://github.com/oOthkOo/whatsapp-desktop/releases/download/v${PV}/whatsapp-desktop-x64.deb -> ${PN}-amd64-${PV}.deb )
+ x86? ( https://github.com/oOthkOo/whatsapp-desktop/releases/download/v${PV}/whatsapp-desktop-x32.deb -> ${PN}-x86-${PV}.deb )
+"
+S="${WORKDIR}"
+
+KEYWORDS="-* ~amd64 ~x86"
+# Electron bundles a bunch of things
+LICENSE="
+ MIT BSD BSD-2 BSD-4 AFL-2.1 Apache-2.0 Ms-PL GPL-2 GPL-3 LGPL-2.1 APSL-2
+ unRAR OFL CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ dev-libs/expat
+ dev-libs/libayatana-appindicator
+ dev-libs/nspr
+ dev-libs/nss
+ media-fonts/noto-emoji
+ media-libs/alsa-lib
+ net-print/cups
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/libnotify
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libXScrnSaver
+ x11-libs/pango
+"
+
+QA_PREBUILT="opt/whatsapp-desktop/*"
+
+pkg_pretend() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # cleanup languages
+ pushd "opt/whatsapp-desktop/locales" || die
+ chromium_remove_language_paks
+ popd || die
+}
+
+src_configure() {
+ chromium_suid_sandbox_check_kernel_config
+ default
+}
+
+src_install() {
+ for size in {64,128}; do
+ doicon -s ${size} "usr/share/icons/hicolor/${size}x${size}/apps/whatsapp.png"
+ done
+
+ domenu usr/share/applications/whatsapp.desktop
+
+ local DESTDIR="/opt/whatsapp-desktop"
+ dosym "../../usr/lib64/libayatana-appindicator3.so" "${DESTDIR}/libappindicator3.so"
+
+ pushd "opt/whatsapp-desktop" || die
+
+ exeinto "${DESTDIR}"
+ doexe chrome-sandbox WhatsApp *.so*
+
+ exeinto "${DESTDIR}/swiftshader"
+ doexe swiftshader/*.so*
+
+ insinto "${DESTDIR}"
+ doins *.pak *.bin *.json *.dat
+ insopts -m0755
+ doins -r locales resources
+
+ # Chrome-sandbox requires the setuid bit to be specifically set.
+ # see https://github.com/electron/electron/issues/17972
+ fperms 4755 "${DESTDIR}"/chrome-sandbox
+
+ dosym "${DESTDIR}"/WhatsApp /opt/bin/WhatsApp
+ popd || die
+}
diff --git a/net-im/whatsie/Manifest b/net-im/whatsie/Manifest
new file mode 100644
index 000000000000..c6c1fe39f53b
--- /dev/null
+++ b/net-im/whatsie/Manifest
@@ -0,0 +1 @@
+DIST whatsie-4.14.2.tar.gz 21146777 BLAKE2B 3d923b9d4b109cbc894481fed9723fe84d992663ea953218cd4b128317aebe2fb8a60608d351cc9f4cfc5a976713ce2a3a642a122276068ed63a96e6cf656603 SHA512 b0b6ab0fab30723ee64b723f79776b6953229502e22f4c5e9fb809aa198e369ee05398abca218680adeea1acfcafd0026e13e424458fedad2c0260c2d956fffb
diff --git a/net-im/whatsie/metadata.xml b/net-im/whatsie/metadata.xml
new file mode 100644
index 000000000000..cbf7db3cb5c1
--- /dev/null
+++ b/net-im/whatsie/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">keshavbhatt/whatsie</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-im/whatsie/whatsie-4.14.2.ebuild b/net-im/whatsie/whatsie-4.14.2.ebuild
new file mode 100644
index 000000000000..cecf52d1bc2d
--- /dev/null
+++ b/net-im/whatsie/whatsie-4.14.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Qt Based WhatsApp Client"
+HOMEPAGE="https://github.com/keshavbhatt/whatsie"
+SRC_URI="https://github.com/keshavbhatt/whatsie/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+KEYWORDS="~amd64"
+LICENSE="MIT"
+SLOT="0"
+
+QT_MIN="5.15"
+
+DEPEND="
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ >=dev-qt/qtcore-${QT_MIN}:5
+ >=dev-qt/qtgui-${QT_MIN}:5
+ >=dev-qt/qtnetwork-${QT_MIN}:5
+ >=dev-qt/qtpositioning-${QT_MIN}:5
+ >=dev-qt/qtwebengine-${QT_MIN}:5[widgets]
+ >=dev-qt/qtwidgets-${QT_MIN}:5
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ einstalldocs
+ INSTALL_ROOT="${ED}" emake install
+}
diff --git a/net-im/yowsup/Manifest b/net-im/yowsup/Manifest
index e46ebc8f7b32..50b4c8766b05 100644
--- a/net-im/yowsup/Manifest
+++ b/net-im/yowsup/Manifest
@@ -1,2 +1 @@
-DIST yowsup-2.5.7.tar.gz 125732 BLAKE2B 31896cfef601bfe4b65df3518ce6812ad66a98902ec7c8ca5b2ffda15c48c9390010fce58e1158f6ddc325911fd78d1be2bc708d499ab11b725835c5cd5ea246 SHA512 e64e119e8301d6cd9244a24ce960fdd00a5372a7766cf2f52dfd7610828358086e6c4f77fba6f962c1b84f6b28fa6b6d4d708bbb50c281e5a6563b99634b9495
-DIST yowsup-3.2.3.tar.gz 140038 BLAKE2B 45df9151e897eea4f2997246d8c66409bc58160e01a84ee632f3e834058efcaed1d03047ddc6e8e7acbaa566d5fab2451fb21b30daf477bc83dfdd0bee7e6b59 SHA512 a1be36df5dc632071385cf0e252a208efb8982df98966d2c5a7b7558c626112e1ac2688be25fb6de1db9e9e04d36ab96784e589aeb90fcc6c6770edac791e568
+DIST yowsup-3.3.0.tar.gz 155950 BLAKE2B 7ade7f7e05aff14d5154d35d5c2a1841ee66893059bd995facb8297d7e6f1dde4468105dc3f03b5462efbf92cbd079c457440bb1580235bbbcfaddeab2244b56 SHA512 304409f02aa3720b0f70a83fe4dbe288fa1c5659642878d7bd1354359524a66c39b9f5baa9899224497f61f974d9b64ba67e07d866fda2589413070bb9ef1aad
diff --git a/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch b/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch
deleted file mode 100644
index 6d3f3c83004e..000000000000
--- a/net-im/yowsup/files/yowsup-2.5.7-add-python3.7-support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Description: Fix compatibility with Python 3.7 since async has become a reserved word
-Author: Josue Ortega <josue@debian.org>
-Last-Update: 2018-07-29
-
---- a/yowsup/demos/cli/layer.py
-+++ b/yowsup/demos/cli/layer.py
-@@ -559,7 +559,7 @@
- mediaUploader = MediaUploader(jid, self.getOwnJid(), filePath,
- resultRequestUploadIqProtocolEntity.getUrl(),
- resultRequestUploadIqProtocolEntity.getResumeOffset(),
-- successFn, self.onUploadError, self.onUploadProgress, async=False)
-+ successFn, self.onUploadError, self.onUploadProgress, asyncronous=False)
- mediaUploader.start()
-
- def onRequestUploadError(self, jid, path, errorRequestUploadIqProtocolEntity, requestUploadIqProtocolEntity):
---- a/yowsup/layers/interface/interface.py
-+++ b/yowsup/layers/interface/interface.py
-@@ -125,7 +125,7 @@
- mediaUploader = MediaUploader(builder.jid, self.getOwnJid(), builder.getFilepath(),
- resultRequestUploadIqProtocolEntity.getUrl(),
- resultRequestUploadIqProtocolEntity.getResumeOffset(),
-- successFn, errorFn, progress, async=True)
-+ successFn, errorFn, progress, asyncronous=True)
- mediaUploader.start()
-
- def __onRequestUploadError(self, errorEntity, requestUploadEntity, builder, error = None):
---- a/yowsup/layers/protocol_media/mediauploader.py
-+++ b/yowsup/layers/protocol_media/mediauploader.py
-@@ -9,10 +9,11 @@
- logger = logging.getLogger(__name__)
-
- class MediaUploader(WARequest, threading.Thread):
-- def __init__(self, jid, accountJid, sourcePath, uploadUrl, resumeOffset = 0, successClbk = None, errorClbk = None, progressCallback = None, async = True):
-+ def __init__(self, jid, accountJid, sourcePath, uploadUrl, resumeOffset=0, successClbk=None,
-+ errorClbk=None, progressCallback=None, asyncronous=True):
- WARequest.__init__(self)
-
-- self.async = async
-+ self.asyncronous = asyncronous
- self.jid = jid
- self.accountJid = accountJid
- self.sourcePath = sourcePath
-@@ -30,7 +31,7 @@
- self.sock = socket.socket()
-
- def start(self):
-- if self.async:
-+ if self.asyncronous:
- threading.Thread.__init__(self)
- super(MediaUploader, self).start()
- else:
diff --git a/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch b/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch
deleted file mode 100644
index 63b0fbfc91c9..000000000000
--- a/net-im/yowsup/files/yowsup-2.5.7-fix-install-path.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Description: Fixes wrong installation of mime.types file.
-Author: Josue Ortega <josue@debian.org>
-Last-Update: 2016-09-04
-
---- a/setup.py
-+++ b/setup.py
-@@ -33,7 +33,7 @@
- #long_description=long_description,
- packages= find_packages(),
- include_package_data=True,
-- data_files = [('yowsup/common', ['yowsup/common/mime.types'])],
-+ #data_files = [('yowsup/common', ['yowsup/common/mime.types'])],
- platforms='any',
- #test_suite='',
- classifiers = [
---- a/yowsup/common/tools.py
-+++ b/yowsup/common/tools.py
-@@ -150,7 +150,9 @@
- return preview
-
- class MimeTools:
-- MIME_FILE = os.path.join(os.path.dirname(__file__), 'mime.types')
-+ # Replaces mime.types path for the debian path installation
-+ # MIME_FILE = os.path.join(os.path.dirname(__file__), 'mime.types')
-+ MIME_FILE = os.path.join('/usr/share/yowsup/common', 'mime.types')
- mimetypes.init() # Load default mime.types
- try:
- mimetypes.init([MIME_FILE]) # Append whatsapp mime.types
diff --git a/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch b/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch
deleted file mode 100644
index d1bfb27ce295..000000000000
--- a/net-im/yowsup/files/yowsup-2.5.7-fix-newer-six.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/setup.py 2017-12-30 00:12:35.000000000 +0100
-+++ b/setup.py 2018-04-29 20:51:23.000000000 +0200
-@@ -5,7 +5,7 @@
- import platform
- import sys
-
--deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10']
-+deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six']
-
- if sys.version_info < (2,7):
- deps += ['importlib', "protobuf==3.4.0"]
---- a/yowsup/env/env.py 2017-12-30 00:12:35.000000000 +0100
-+++ b/yowsup/env/env.py 2018-04-29 20:51:44.000000000 +0200
-@@ -13,7 +13,6 @@
- super(YowsupEnvType, cls).__init__(name, bases, dct)
-
- class YowsupEnv(with_metaclass(YowsupEnvType, object)):
-- __metaclass__ = YowsupEnvType
- __ENVS = {}
- __CURR = None
-
---- a/yowsup/layers/protocol_media/picture.py 2017-12-30 00:12:35.000000000 +0100
-+++ b/yowsup/layers/protocol_media/picture.py 2018-04-29 20:52:30.000000000 +0200
-@@ -1,5 +1,5 @@
- from yowsup.layers import YowLayer
--from yowsup import ProtocolTreeNode
-+from yowsup.structs import ProtocolTreeNode
- from .mediadownloader import MediaDownloader
- import shutil, os, logging
- logger = logging.getLogger(__name__)
diff --git a/net-im/yowsup/files/yowsup-3.2.3-fix-install-path.patch b/net-im/yowsup/files/yowsup-3.2.3_p20190905-fix-install-path.patch
index eba10fbced59..54258dd754bd 100644
--- a/net-im/yowsup/files/yowsup-3.2.3-fix-install-path.patch
+++ b/net-im/yowsup/files/yowsup-3.2.3_p20190905-fix-install-path.patch
@@ -1,5 +1,5 @@
--- a/setup.py 2019-05-07 18:52:38.000000000 +0200
-+++ b/setup.py 2019-07-26 23:05:18.000000000 +0200
++++ b/setup.py 2019-12-18 18:30:40.509051347 +0100
@@ -33,7 +33,6 @@
#long_description=long_description,
packages= find_packages(),
@@ -9,8 +9,8 @@
#test_suite='',
classifiers = [
--- a/yowsup/common/tools.py 2019-05-07 18:52:38.000000000 +0200
-+++ b/yowsup/common/tools.py 2019-07-26 23:05:38.000000000 +0200
-@@ -173,7 +173,7 @@
++++ b/yowsup/common/tools.py 2019-12-18 18:30:40.509051347 +0100
+@@ -165,7 +165,7 @@
return preview
class MimeTools:
diff --git a/net-im/yowsup/metadata.xml b/net-im/yowsup/metadata.xml
index 8494fa26c3e1..6e05a0b22210 100644
--- a/net-im/yowsup/metadata.xml
+++ b/net-im/yowsup/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
Yowsup is a Python library that enables you to build applications,
which use the WhatsApp service. Yowsup has been used to create two clients:
diff --git a/net-im/yowsup/yowsup-2.5.7-r2.ebuild b/net-im/yowsup/yowsup-2.5.7-r2.ebuild
deleted file mode 100644
index 1b4eb9ea9533..000000000000
--- a/net-im/yowsup/yowsup-2.5.7-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-PYTHON_REQ_USE="readline"
-
-inherit distutils-r1
-
-DESCRIPTION="A library that enables you to build applications which use the WhatsApp service"
-HOMEPAGE="https://github.com/tgalal/yowsup"
-SRC_URI="https://github.com/tgalal/yowsup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/configargparse[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-add-python3.7-support.patch"
- "${FILESDIR}/${P}-fix-install-path.patch"
- "${FILESDIR}/${P}-fix-newer-six.patch"
- )
diff --git a/net-im/yowsup/yowsup-3.2.3.ebuild b/net-im/yowsup/yowsup-3.2.3.ebuild
deleted file mode 100644
index 69b80264ed28..000000000000
--- a/net-im/yowsup/yowsup-3.2.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-PYTHON_REQ_USE="readline"
-
-inherit distutils-r1
-
-DESCRIPTION="A library that enables you to build applications which use the WhatsApp service"
-HOMEPAGE="https://github.com/tgalal/yowsup"
-SRC_URI="https://github.com/tgalal/yowsup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/configargparse[${PYTHON_USEDEP}]
- dev-python/consonance[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- dev-python/python-axolotl[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${P}-fix-install-path.patch" )
-
-pkg_postinst() {
- einfo "Warning: It seems that recently yowsup gets detected during registration"
- einfo "resulting in an instant ban for your number right after registering"
- einfo "with the code you receive by sms/voice."
- einfo "See https://github.com/tgalal/yowsup/issues/2829 for more information."
-}
diff --git a/net-im/yowsup/yowsup-3.3.0.ebuild b/net-im/yowsup/yowsup-3.3.0.ebuild
new file mode 100644
index 000000000000..b1da807a7464
--- /dev/null
+++ b/net-im/yowsup/yowsup-3.3.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="readline"
+
+inherit distutils-r1
+
+DESCRIPTION="A library that enables you to build applications which use the WhatsApp service"
+HOMEPAGE="https://github.com/tgalal/yowsup"
+SRC_URI="https://github.com/tgalal/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# This package contains no-op tests, so they actually cannot be run
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/ConfigArgParse[${PYTHON_USEDEP}]
+ dev-python/consonance[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/python-axolotl[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-3.2.3_p20190905-fix-install-path.patch" )
+
+src_prepare() {
+ default
+
+ # After talking to upstream, version restriction can be lifted
+ # and also 'argparse' needs to be removed.
+ sed -e 's/==0.1.5//' -e 's/==0.2.2//' -e 's/==1.10//' -e 's/>=3.6.0//' -e 's/argparse//' -i setup.py || die
+}
diff --git a/net-im/ysm/files/ysm-2.9.9.1-dont-strip-binary.patch b/net-im/ysm/files/ysm-2.9.9.1-dont-strip-binary.patch
new file mode 100644
index 000000000000..dd84db69b462
--- /dev/null
+++ b/net-im/ysm/files/ysm-2.9.9.1-dont-strip-binary.patch
@@ -0,0 +1,17 @@
+From bcdc0714b9dcd08714374aa83ab112f1da0600a7 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 21 Apr 2021 00:45:47 +0000
+Subject: [PATCH 2/2] Don't strip binary
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -53,7 +53,7 @@ install-prog:
+ @if [ -f "$(DESTDIR)$(bindir)/$(PROG)" ]; then \
+ mv -f "$(DESTDIR)$(bindir)/$(PROG)" "$(DESTDIR)$(bindir)/$(PROG).old"; \
+ fi
+- $(INSTALL) -s $(PROG) $(DESTDIR)$(bindir)/ ;
++ $(INSTALL) $(PROG) $(DESTDIR)$(bindir)/ ;
+
+ @echo -e \
+ " **********************************************************\n"\
+--
diff --git a/net-im/ysm/files/ysm-2.9.9.1-fix-bashism.patch b/net-im/ysm/files/ysm-2.9.9.1-fix-bashism.patch
new file mode 100644
index 000000000000..dcfeecb04c82
--- /dev/null
+++ b/net-im/ysm/files/ysm-2.9.9.1-fix-bashism.patch
@@ -0,0 +1,17 @@
+From 52470a9be22fb4f8b6092e744c324ba691aff583 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 21 Apr 2021 00:45:27 +0000
+Subject: [PATCH 1/2] Fix bashism
+
+--- a/configure.in
++++ b/configure.in
+@@ -94,7 +94,7 @@ AC_CHECK_LIB([nsl],
+
+ # final checks
+
+-if test "$vl_cv_lib_readline" == "no"; then
++if test "$vl_cv_lib_readline" = "xno"; then
+ # are we using getline instead? do we have threads?
+ if test "$pthread_libs"; then
+ CMDOBJS="cmdline/getline.o $CMDOBJS"
+--
diff --git a/net-im/ysm/files/ysm-2.9.9.1-fix-configure.patch b/net-im/ysm/files/ysm-2.9.9.1-fix-configure.patch
new file mode 100644
index 000000000000..cda0654e8e38
--- /dev/null
+++ b/net-im/ysm/files/ysm-2.9.9.1-fix-configure.patch
@@ -0,0 +1,163 @@
+From d86f720bf221d713243e60147c412c05696bae7a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 21 Apr 2021 01:16:11 +0000
+Subject: [PATCH] Rewrite configure.ac
+
+First cut at rewriting the configure script to use standard macros. Couldn't
+find the macros referred to in the original and they were non-standard anyway.
+
+First noticed when fixing a Bashism.
+---
+ configure.in | 74 +++++++++++++++++--------------------------------
+ src/YSM_Setup.c | 3 +-
+ 2 files changed, 26 insertions(+), 51 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 767fb51..e9f4262 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1,4 +1,5 @@
+ AC_INIT(src/YSM_Main.c)
++
+ # give welcome
+ echo ""
+ echo ""
+@@ -11,32 +12,20 @@ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
+
+-# check missing posix types
+-CHECK_POSIX_TYPES
+-
+-# enable command line options.
+-ac_arg_threads="no"
+-ac_arg_readline="no"
++AC_ARG_ENABLE([threads],
++ AS_HELP_STRING([--disable-threads], [Disable threads]))
+
+-AC_ARG_ENABLE([threads],
+- AC_HELP_STRING([--disable-threads],
+- [disable threads support]),
+- ac_arg_threads=$enableval, ac_arg_threads=yes)
+-
+-AC_ARG_ENABLE([readline],
+- AC_HELP_STRING([--disable-readline],
+- [do not try to use the readline library]),
+- ac_arg_readline=$enableval, ac_arg_readline=yes)
++AC_ARG_ENABLE([readline],
++ AS_HELP_STRING([--disable-readline], [Disable readline]))
+
+ ##### fribidi #####
+
+ AC_ARG_WITH(fribidi,
+ [ --with-fribidi=[DIR] enable the fribidi library in [DIR] to enable Hebrew and Arabic support],
+- [with_fribidi=$withval],
+- [with_fribidi=no])
++ [with_fribidi=$withval])
+
+-if test "$with_fribidi" = "yes"; then
+- for ac_dir in /usr/local /usr; do
++if test "x$with_fribidi" = "xyes"; then
++ for ac_dir in /usr /usr/local; do
+ if test -f "$ac_dir/include/fribidi/fribidi.h"; then
+ with_fribidi=$ac_dir
+ break;
+@@ -44,8 +33,8 @@ if test "$with_fribidi" = "yes"; then
+ done
+ fi
+
+-if test -n "$with_fribidi" -a "$with_fribidi" != "no"; then
+- if test "$with_fribidi" = "yes"; then with_fribidi="/usr"; fi
++if test -n "$with_fribidi" -a "x$with_fribidi" != "xno"; then
++ if test "x$with_fribidi" = "xyes"; then with_fribidi="/usr"; fi
+
+ if test -r $with_fribidi/include/fribidi/fribidi.h; then
+ LIBS="$LIBS `$with_fribidi/bin/fribidi-config --libs`"
+@@ -53,36 +42,23 @@ if test -n "$with_fribidi" -a "$with_fribidi" != "no"; then
+ fi
+ fi
+
+-##### fribidi #####
+-
+-AC_CACHE_CHECK([whether to enable threads support],
+- ac_arg_threads, ac_arg_threads)
+-
+-AC_CACHE_CHECK([whether to use the readline library],
+- ac_arg_readline, ac_arg_readline)
+-
+-
+ # only check for readline if we have threads support
+-if test "x$ac_arg_threads" = "xyes"; then
+- CHECK_POSIX_THREADS
++if test "x$enable_threads" != "xno"; then
++ AC_DEFINE([YSM_WITH_THREADS], [1], [Building with threads])
++
++ AX_PTHREAD
++ LIBS="$LIBS $PTHREAD_LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # check for readline if we have threads only
+- if test "$pthread_libs" != "no" && test "x$ac_arg_readline" = "xyes";
+- then
+- CHECK_READLINE
+- else
+- vl_cv_lib_readline="no"
++ if test "x$PTHREAD_LIBS" != "xno" -a "x$enable_readline" != "xno"; then
++ AX_LIB_READLINE
++ LIBS="$LIBS $READLINE_LIBS"
++ CFLAGS="$CFLAGS $READLINE_CFLAGS"
+ fi
+-else
+- vl_cv_lib_readline="no"
+ fi
+
+-
+-# check for iconv
+-CHECK_ICONV
+-
+-# check for setenv
+-CHECK_SETENV
++AM_ICONV
+
+ # check for sparc required libraries
+ AC_CHECK_LIB([socket],
+@@ -93,18 +69,18 @@ AC_CHECK_LIB([nsl],
+ LIBS="-lnsl $LIBS")
+
+ # final checks
+-
+-if test "$vl_cv_lib_readline" = "xno"; then
++if test "$enable_readline" = "xno"; then
+ # are we using getline instead? do we have threads?
+- if test "$pthread_libs"; then
++ if test "$PTHREAD_LIBS"; then
+ CMDOBJS="cmdline/getline.o $CMDOBJS"
+ else
+ # no threads, use ysmreadline!.
+ CMDOBJS="cmdline/ysmline.o $CMDOBJS"
+ fi
++else
++ AC_DEFINE([USE_READLINE], [1], [Using GNU Readline])
+ fi
+
+-AC_SUBST(pthread_libs)
+ AC_SUBST(CMDOBJS)
+ AC_STDC_HEADERS
+ AC_OUTPUT([Makefile src/Makefile src/man/Makefile])
+diff --git a/src/YSM_Setup.c b/src/YSM_Setup.c
+index d91c143..8436549 100644
+--- a/src/YSM_Setup.c
++++ b/src/YSM_Setup.c
+@@ -743,8 +743,7 @@ int tries = 0;
+ #define YSMOPENCONFIG(rwx) (fd = YSM_fopen(YSM_cfgfile,rwx))
+ #define YSMCLOSECONFIG() YSM_fclose(fd)
+
+-__inline void
+-CFGWRITE(FILE *fd, const u_int8_t *foo, ...)
++void CFGWRITE(FILE *fd, const u_int8_t *foo, ...)
+ {
+ va_list args;
+ va_start(args, foo);
+--
+2.31.1
+
diff --git a/net-im/ysm/metadata.xml b/net-im/ysm/metadata.xml
index bf2e0f5bcd39..2687f43304ff 100644
--- a/net-im/ysm/metadata.xml
+++ b/net-im/ysm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/net-im/ysm/ysm-2.9.9.1-r1.ebuild b/net-im/ysm/ysm-2.9.9.1-r1.ebuild
deleted file mode 100644
index 1cc3184874b7..000000000000
--- a/net-im/ysm/ysm-2.9.9.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic versionator
-
-MY_PV="$(replace_all_version_separators _)"
-
-DESCRIPTION="A console ICQ client supporting versions 7/8"
-HOMEPAGE="http://ysmv7.sourceforge.net/"
-SRC_URI="mirror://sourceforge/ysmv7/${PN}v7_${MY_PV}.tar.bz2"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-RESTRICT="mirror"
-
-S=${WORKDIR}/${PN}v7_${MY_PV}
-
-src_prepare() {
- # fix bug 570408 by restoring pre-GCC5 inline semantics
- append-cflags -std=gnu89
- default
-}
diff --git a/net-im/ysm/ysm-2.9.9.1-r2.ebuild b/net-im/ysm/ysm-2.9.9.1-r2.ebuild
new file mode 100644
index 000000000000..3da1e61c79c9
--- /dev/null
+++ b/net-im/ysm/ysm-2.9.9.1-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+MY_PV=$(ver_rs 1- _)
+
+DESCRIPTION="A console ICQ client supporting versions 7/8"
+HOMEPAGE="http://ysmv7.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ysmv7/${PN}v7_${MY_PV}.tar.bz2"
+S="${WORKDIR}"/${PN}v7_${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+RESTRICT="mirror"
+
+# Introduced by fix-configure.patch
+BDEPEND="dev-build/autoconf-archive"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.9.1-dont-strip-binary.patch
+ "${FILESDIR}"/${PN}-2.9.9.1-fix-bashism.patch
+ "${FILESDIR}"/${PN}-2.9.9.1-fix-configure.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Made obsolete by rewrite patch (fix-configure.patch)
+ rm aclocal.m4 || die
+
+ config_rpath_update .
+ eautoreconf
+}
+
+src_configure() {
+ # fix bug #570408 by restoring pre-GCC 5 inline semantics
+ append-cflags -std=gnu89
+
+ econf
+}
diff --git a/net-im/zoom/Manifest b/net-im/zoom/Manifest
new file mode 100644
index 000000000000..f74f44a8d15d
--- /dev/null
+++ b/net-im/zoom/Manifest
@@ -0,0 +1,4 @@
+DIST zoom-5.16.10.668_x86_64.tar.xz 186935984 BLAKE2B ba1e7f4c82feb226367f3450f6410693a51a63ef02d1d799b378cd582925a0d653db5e9756def5c1a64db88f283c36007d52ecd222b11e9d8b12b75b5d40a370 SHA512 a2f770af9392614105ff57919aec05401b792d3c7e2f96ce878862c00bdd401fe5054f1af0d644186aa6f8ab109a751e4d4dcf3d645c28372629117163412e34
+DIST zoom-5.17.0.1682_x86_64.tar.xz 181706076 BLAKE2B 75f3bec06b7c452557ebf4d3fa49d494233967f207bf09b6896f7b71e94a09f5bbcddf0b259ff6ef4cac539ce63cabe496410196cd6a1a4472fd4a12ee5af7e1 SHA512 12fdd4c9b3fa3c4c87f08f36d0471579b7216dadae39f4d9e14e714dc51518982ad06e8f94f1668c7824033cf8f5cd3eed1405875dcc3e2d9b9fd7ee7fbcfc7f
+DIST zoom-5.17.10.3512_x86_64.tar.xz 186826624 BLAKE2B cf7b60953632df9a0dc19303b059e785709e5bc008cbd454db77c098d6fe31f89e2cd28ebed3054001c2cf3077376635b4360ed242da37bb104e966db19bf7c3 SHA512 f0f283937a0fda505c4845059a8a521ecd78c90842e6893e2081e1e90becf7d25a4f7dbd2e056b8a237c1966d1be178dca4745566d9783bf1b61103963ff8856
+DIST zoom-5.17.11.3835_x86_64.tar.xz 186799104 BLAKE2B 84cc1dc046742392bd41a906050ec424e431c63a94224cadb021baf0463bd73697557f7344d91a759d49e288d36bb8fa1ebaf1690d4264caccce2dbb774ff0aa SHA512 5749ad8f472ad035e307e544f648e0d6e15625c0566abc5e0d005a1784b058ebe45aa5ddd48ed52a98781cb3406b15b0cbe1b593a77bd7a203493835d83e6c32
diff --git a/net-im/zoom/metadata.xml b/net-im/zoom/metadata.xml
new file mode 100644
index 000000000000..641677fd6fef
--- /dev/null
+++ b/net-im/zoom/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ulm@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>dilfridge@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="bundled-libjpeg-turbo">
+ Use bundled libturbojpeg instead of <pkg>media-libs/libjpeg-turbo</pkg>
+ </flag>
+ <flag name="bundled-qt">
+ Use bundled Qt and icu instead of system-wide libs
+ </flag>
+ <flag name="opencl">
+ Use OpenCL for virtual background support (<pkg>virtual/opencl</pkg>)
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-im/zoom/zoom-5.16.10.668.ebuild b/net-im/zoom/zoom-5.16.10.668.ebuild
new file mode 100644
index 000000000000..8f59563843f7
--- /dev/null
+++ b/net-im/zoom/zoom-5.16.10.668.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info readme.gentoo-r1 xdg-utils
+
+DESCRIPTION="Video conferencing and web conferencing service"
+HOMEPAGE="https://zoom.us/"
+SRC_URI="https://zoom.us/client/${PV}/${PN}_x86_64.tar.xz -> ${P}_x86_64.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="bundled-libjpeg-turbo +bundled-qt opencl pulseaudio wayland"
+RESTRICT="mirror bindist strip"
+
+RDEPEND="!games-engines/zoom
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/mit-krb5
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ >=dev-libs/quazip-1.0:0=[qt5(+)]
+ media-libs/alsa-lib
+ media-libs/fdk-aac:0/2
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa[gbm(+)]
+ media-sound/mpg123
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ opencl? ( virtual/opencl )
+ pulseaudio? ( media-libs/libpulse )
+ wayland? ( dev-libs/wayland )
+ !bundled-libjpeg-turbo? ( >=media-libs/libjpeg-turbo-2.0.5 )
+ !bundled-qt? (
+ dev-libs/icu
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5[widgets]
+ dev-qt/qtdiag:5
+ dev-qt/qtgraphicaleffects:5
+ dev-qt/qtgui:5
+ dev-qt/qtlocation:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5[widgets]
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ wayland? ( dev-qt/qtwayland )
+ )"
+
+BDEPEND="dev-util/bbe
+ bundled-libjpeg-turbo? ( dev-util/patchelf )"
+
+CONFIG_CHECK="~USER_NS ~PID_NS ~NET_NS ~SECCOMP_FILTER"
+QA_PREBUILT="opt/zoom/*"
+
+src_prepare() {
+ default
+
+ # The tarball doesn't contain an icon, so extract it from the binary
+ bbe -s -b '/<svg width="85" height="85"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom \
+ >videoconference-zoom.svg && [[ -s videoconference-zoom.svg ]] \
+ || die "Extraction of icon failed"
+
+ if ! use pulseaudio; then
+ # For some strange reason, zoom cannot use any ALSA sound devices if
+ # it finds libpulse. This causes breakage if media-sound/apulse[sdk]
+ # is installed. So, force zoom to ignore libpulse.
+ bbe -e 's/libpulse.so/IgNoRePuLsE/' zoom >zoom.tmp || die
+ mv zoom.tmp zoom || die
+ fi
+
+ if use bundled-libjpeg-turbo; then
+ # Remove insecure RPATH from bundled lib
+ patchelf --remove-rpath libturbojpeg.so || die
+ fi
+}
+
+src_install() {
+ insinto /opt/zoom
+ exeinto /opt/zoom
+ doins -r calendar cef email json ringtone scheduler sip timezones \
+ translations
+ doins *.pcm Embedded.properties version.txt
+ doexe zoom zopen ZoomLauncher *.sh \
+ aomhost libaomagent.so libdvf.so libmkldnn.so \
+ libavcodec.so* libavformat.so* libavutil.so* libswresample.so*
+ fperms a+x /opt/zoom/cef/chrome-sandbox
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
+ dosym -r "/usr/$(get_libdir)/libfdk-aac.so.2" /opt/zoom/libfdkaac2.so
+ dosym -r "/usr/$(get_libdir)/libquazip1-qt5.so" /opt/zoom/libquazip.so
+
+ if use opencl; then
+ doexe libclDNN64.so
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libOpenCL.so.1
+ fi
+
+ if use bundled-libjpeg-turbo; then
+ doexe libturbojpeg.so
+ else
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libturbojpeg.so
+ fi
+
+ if ! use wayland; then
+ # Soname dependency on libwayland-client.so.0
+ rm "${ED}"/opt/zoom/cef/libGLESv2.so || die
+ fi
+
+ if use bundled-qt; then
+ doins -r Qt
+ find Qt -type f '(' -name '*.so' -o -name '*.so.*' ')' \
+ -printf '/opt/zoom/%p\0' | xargs -0 -r fperms 0755 || die
+ ( # Remove libs and plugins with unresolved soname dependencies.
+ # Why does the upstream package contain such garbage? :-(
+ cd "${ED}"/opt/zoom/Qt || die
+ rm -r plugins/audio plugins/egldeviceintegrations \
+ plugins/platforms/libqeglfs.so \
+ plugins/platforms/libqlinuxfb.so \
+ plugins/platformthemes/libqgtk3.so \
+ qml/QtQml/RemoteObjects \
+ qml/QtQuick/LocalStorage qml/QtQuick/Particles.2 \
+ qml/QtQuick/Scene2D qml/QtQuick/Scene3D \
+ qml/QtQuick/XmlListModel || die
+ use wayland || rm -r lib/libQt5Wayland*.so* plugins/wayland* \
+ plugins/platforms/libqwayland*.so qml/QtWayland || die
+ )
+ else
+ local qtzoom="5.12" qtver=$(best_version dev-qt/qtcore:5)
+ if [[ ${qtver} != dev-qt/qtcore-${qtzoom}.* ]]; then
+ ewarn "You have disabled the bundled-qt USE flag."
+ ewarn "You may experience problems when running Zoom with"
+ ewarn "a version of the system-wide Qt libs other than ${qtzoom}."
+ ewarn "See https://bugs.gentoo.org/798681 for details."
+ fi
+ fi
+
+ dosym -r /opt/zoom/ZoomLauncher /usr/bin/zoom
+ make_desktop_entry "zoom %U" Zoom videoconference-zoom \
+ "Network;VideoConference;" \
+ "MimeType=$(printf '%s;' \
+ x-scheme-handler/zoommtg \
+ x-scheme-handler/zoomus \
+ application/x-zoom)"
+ doicon videoconference-zoom.svg
+ doicon -s scalable videoconference-zoom.svg
+
+ local DOC_CONTENTS="Some of Zoom's screen share features (e.g.
+ the whiteboard) require display compositing. If you encounter
+ a black window when sharing the screen, then one of the following
+ actions should help:
+ \\n- Enable compositing in your window manager if it is supported
+ \\n- Alternatively, run the xcompmgr command (from x11-misc/xcompmgr)"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/net-im/zoom/zoom-5.17.0.1682.ebuild b/net-im/zoom/zoom-5.17.0.1682.ebuild
new file mode 100644
index 000000000000..ab2b37a23685
--- /dev/null
+++ b/net-im/zoom/zoom-5.17.0.1682.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info readme.gentoo-r1 xdg-utils
+
+DESCRIPTION="Video conferencing and web conferencing service"
+HOMEPAGE="https://zoom.us/"
+SRC_URI="https://zoom.us/client/${PV}/${PN}_x86_64.tar.xz -> ${P}_x86_64.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="+bundled-qt opencl pulseaudio wayland"
+RESTRICT="mirror bindist strip"
+
+RDEPEND="!games-engines/zoom
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/mit-krb5
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ >=dev-libs/quazip-1.0:0=[qt5(+)]
+ media-libs/alsa-lib
+ media-libs/fdk-aac:0/2
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa[gbm(+)]
+ media-sound/mpg123
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ opencl? ( virtual/opencl )
+ pulseaudio? ( media-libs/libpulse )
+ wayland? ( dev-libs/wayland )
+ !bundled-qt? (
+ dev-libs/icu
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5[widgets]
+ dev-qt/qtdiag:5
+ dev-qt/qtgraphicaleffects:5
+ dev-qt/qtgui:5
+ dev-qt/qtlocation:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5[widgets]
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ wayland? ( dev-qt/qtwayland )
+ )"
+
+BDEPEND="dev-util/bbe"
+
+CONFIG_CHECK="~USER_NS ~PID_NS ~NET_NS ~SECCOMP_FILTER"
+QA_PREBUILT="opt/zoom/*"
+
+src_prepare() {
+ default
+
+ # The tarball doesn't contain an icon, so extract it from the binary
+ bbe -s -b '/<svg width="32" height="32"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom \
+ >videoconference-zoom.svg && [[ -s videoconference-zoom.svg ]] \
+ || die "Extraction of icon failed"
+
+ if ! use pulseaudio; then
+ # For some strange reason, zoom cannot use any ALSA sound devices if
+ # it finds libpulse. This causes breakage if media-sound/apulse[sdk]
+ # is installed. So, force zoom to ignore libpulse.
+ bbe -e 's/libpulse.so/IgNoRePuLsE/' zoom >zoom.tmp || die
+ mv zoom.tmp zoom || die
+ fi
+}
+
+src_install() {
+ insinto /opt/zoom
+ exeinto /opt/zoom
+ doins -r calendar cef email json ringtone scheduler sip timezones \
+ translations
+ doins *.pcm Embedded.properties version.txt
+ doexe zoom zopen ZoomLauncher *.sh \
+ aomhost libaomagent.so libdvf.so libmkldnn.so \
+ libavcodec.so* libavformat.so* libavutil.so* libswresample.so*
+ fperms a+x /opt/zoom/cef/chrome-sandbox
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
+ dosym -r "/usr/$(get_libdir)/libfdk-aac.so.2" /opt/zoom/libfdkaac2.so
+ dosym -r "/usr/$(get_libdir)/libquazip1-qt5.so" /opt/zoom/libquazip.so
+
+ if use opencl; then
+ doexe libclDNN64.so
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libOpenCL.so.1
+ fi
+
+ if ! use wayland; then
+ # Soname dependency on libwayland-client.so.0
+ rm "${ED}"/opt/zoom/cef/libGLESv2.so || die
+ fi
+
+ if use bundled-qt; then
+ doins -r Qt
+ find Qt -type f '(' -name '*.so' -o -name '*.so.*' ')' \
+ -printf '/opt/zoom/%p\0' | xargs -0 -r fperms 0755 || die
+ ( # Remove libs and plugins with unresolved soname dependencies.
+ # Why does the upstream package contain such garbage? :-(
+ cd "${ED}"/opt/zoom/Qt || die
+ rm -r plugins/audio plugins/egldeviceintegrations \
+ plugins/platforms/libqeglfs.so \
+ plugins/platforms/libqlinuxfb.so \
+ plugins/platformthemes/libqgtk3.so \
+ qml/QtQml/RemoteObjects \
+ qml/QtQuick/LocalStorage qml/QtQuick/Particles.2 \
+ qml/QtQuick/Scene2D qml/QtQuick/Scene3D \
+ qml/QtQuick/XmlListModel || die
+ use wayland || rm -r lib/libQt5Wayland*.so* plugins/wayland* \
+ plugins/platforms/libqwayland*.so qml/QtWayland || die
+ )
+ else
+ local qtzoom="5.12" qtver=$(best_version dev-qt/qtcore:5)
+ if [[ ${qtver} != dev-qt/qtcore-${qtzoom}.* ]]; then
+ ewarn "You have disabled the bundled-qt USE flag."
+ ewarn "You may experience problems when running Zoom with"
+ ewarn "a version of the system-wide Qt libs other than ${qtzoom}."
+ ewarn "See https://bugs.gentoo.org/798681 for details."
+ fi
+ fi
+
+ dosym -r /opt/zoom/ZoomLauncher /usr/bin/zoom
+ make_desktop_entry "zoom %U" Zoom videoconference-zoom \
+ "Network;VideoConference;" \
+ "MimeType=$(printf '%s;' \
+ x-scheme-handler/zoommtg \
+ x-scheme-handler/zoomus \
+ application/x-zoom)"
+ doicon videoconference-zoom.svg
+ doicon -s scalable videoconference-zoom.svg
+
+ local DOC_CONTENTS="Some of Zoom's screen share features (e.g.
+ the whiteboard) require display compositing. If you encounter
+ a black window when sharing the screen, then one of the following
+ actions should help:
+ \\n- Enable compositing in your window manager if it is supported
+ \\n- Alternatively, run the xcompmgr command (from x11-misc/xcompmgr)"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/net-im/zoom/zoom-5.17.10.3512.ebuild b/net-im/zoom/zoom-5.17.10.3512.ebuild
new file mode 100644
index 000000000000..17e2c56c3e85
--- /dev/null
+++ b/net-im/zoom/zoom-5.17.10.3512.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info readme.gentoo-r1 xdg-utils
+
+DESCRIPTION="Video conferencing and web conferencing service"
+HOMEPAGE="https://zoom.us/"
+SRC_URI="https://zoom.us/client/${PV}/${PN}_x86_64.tar.xz -> ${P}_x86_64.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="+bundled-qt opencl pulseaudio wayland"
+RESTRICT="mirror bindist strip"
+
+RDEPEND="!games-engines/zoom
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/mit-krb5
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ >=dev-libs/quazip-1.0:0=[qt5(+)]
+ media-libs/alsa-lib
+ media-libs/fdk-aac:0/2
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa[gbm(+)]
+ media-sound/mpg123
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ opencl? ( virtual/opencl )
+ pulseaudio? ( media-libs/libpulse )
+ wayland? ( dev-libs/wayland )
+ !bundled-qt? (
+ dev-libs/icu
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5[widgets]
+ dev-qt/qtdiag:5
+ dev-qt/qtgraphicaleffects:5
+ dev-qt/qtgui:5
+ dev-qt/qtlocation:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5[widgets]
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ wayland? ( dev-qt/qtwayland )
+ )"
+
+BDEPEND="dev-util/bbe"
+
+CONFIG_CHECK="~USER_NS ~PID_NS ~NET_NS ~SECCOMP_FILTER"
+QA_PREBUILT="opt/zoom/*"
+
+src_prepare() {
+ default
+
+ # The tarball doesn't contain an icon, so extract it from the binary
+ bbe -s -b '/<svg width="32" height="32"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom \
+ >videoconference-zoom.svg && [[ -s videoconference-zoom.svg ]] \
+ || die "Extraction of icon failed"
+
+ if ! use pulseaudio; then
+ # For some strange reason, zoom cannot use any ALSA sound devices if
+ # it finds libpulse. This causes breakage if media-sound/apulse[sdk]
+ # is installed. So, force zoom to ignore libpulse.
+ bbe -e 's/libpulse.so/IgNoRePuLsE/' zoom >zoom.tmp || die
+ mv zoom.tmp zoom || die
+ fi
+}
+
+src_install() {
+ insinto /opt/zoom
+ exeinto /opt/zoom
+ doins -r calendar cef email json ringtone scheduler sip timezones \
+ translations
+ doins *.pcm Embedded.properties version.txt
+ doexe zoom zopen ZoomLauncher *.sh \
+ aomhost libaomagent.so libdvf.so libmkldnn.so \
+ libavcodec.so* libavformat.so* libavutil.so* libswresample.so*
+ fperms a+x /opt/zoom/cef/chrome-sandbox
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
+ dosym -r "/usr/$(get_libdir)/libfdk-aac.so.2" /opt/zoom/libfdkaac2.so
+ dosym -r "/usr/$(get_libdir)/libquazip1-qt5.so" /opt/zoom/libquazip.so
+
+ if use opencl; then
+ doexe libclDNN64.so
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libOpenCL.so.1
+ fi
+
+ if ! use wayland; then
+ # Soname dependency on libwayland-client.so.0
+ rm "${ED}"/opt/zoom/cef/libGLESv2.so || die
+ fi
+
+ if use bundled-qt; then
+ doins -r Qt
+ find Qt -type f '(' -name '*.so' -o -name '*.so.*' ')' \
+ -printf '/opt/zoom/%p\0' | xargs -0 -r fperms 0755 || die
+ ( # Remove libs and plugins with unresolved soname dependencies.
+ # Why does the upstream package contain such garbage? :-(
+ cd "${ED}"/opt/zoom/Qt || die
+ rm -r plugins/audio plugins/egldeviceintegrations \
+ plugins/platforms/libqeglfs.so \
+ plugins/platforms/libqlinuxfb.so \
+ plugins/platformthemes/libqgtk3.so \
+ qml/QtQml/RemoteObjects \
+ qml/QtQuick/LocalStorage qml/QtQuick/Particles.2 \
+ qml/QtQuick/Scene2D qml/QtQuick/Scene3D \
+ qml/QtQuick/XmlListModel || die
+ use wayland || rm -r lib/libQt5Wayland*.so* plugins/wayland* \
+ plugins/platforms/libqwayland*.so qml/QtWayland || die
+ )
+ else
+ local qtzoom="5.12" qtver=$(best_version dev-qt/qtcore:5)
+ if [[ ${qtver} != dev-qt/qtcore-${qtzoom}.* ]]; then
+ ewarn "You have disabled the bundled-qt USE flag."
+ ewarn "You may experience problems when running Zoom with"
+ ewarn "a version of the system-wide Qt libs other than ${qtzoom}."
+ ewarn "See https://bugs.gentoo.org/798681 for details."
+ fi
+ fi
+
+ dosym -r /opt/zoom/ZoomLauncher /usr/bin/zoom
+ make_desktop_entry "zoom %U" Zoom videoconference-zoom \
+ "Network;VideoConference;" \
+ "MimeType=$(printf '%s;' \
+ x-scheme-handler/zoommtg \
+ x-scheme-handler/zoomus \
+ application/x-zoom)"
+ doicon videoconference-zoom.svg
+ doicon -s scalable videoconference-zoom.svg
+
+ local DOC_CONTENTS="Some of Zoom's screen share features (e.g.
+ the whiteboard) require display compositing. If you encounter
+ a black window when sharing the screen, then one of the following
+ actions should help:
+ \\n- Enable compositing in your window manager if it is supported
+ \\n- Alternatively, run the xcompmgr command (from x11-misc/xcompmgr)"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/net-im/zoom/zoom-5.17.11.3835.ebuild b/net-im/zoom/zoom-5.17.11.3835.ebuild
new file mode 100644
index 000000000000..17e2c56c3e85
--- /dev/null
+++ b/net-im/zoom/zoom-5.17.11.3835.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-info readme.gentoo-r1 xdg-utils
+
+DESCRIPTION="Video conferencing and web conferencing service"
+HOMEPAGE="https://zoom.us/"
+SRC_URI="https://zoom.us/client/${PV}/${PN}_x86_64.tar.xz -> ${P}_x86_64.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="+bundled-qt opencl pulseaudio wayland"
+RESTRICT="mirror bindist strip"
+
+RDEPEND="!games-engines/zoom
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/mit-krb5
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ >=dev-libs/quazip-1.0:0=[qt5(+)]
+ media-libs/alsa-lib
+ media-libs/fdk-aac:0/2
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa[gbm(+)]
+ media-sound/mpg123
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ opencl? ( virtual/opencl )
+ pulseaudio? ( media-libs/libpulse )
+ wayland? ( dev-libs/wayland )
+ !bundled-qt? (
+ dev-libs/icu
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5[widgets]
+ dev-qt/qtdiag:5
+ dev-qt/qtgraphicaleffects:5
+ dev-qt/qtgui:5
+ dev-qt/qtlocation:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5[widgets]
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ wayland? ( dev-qt/qtwayland )
+ )"
+
+BDEPEND="dev-util/bbe"
+
+CONFIG_CHECK="~USER_NS ~PID_NS ~NET_NS ~SECCOMP_FILTER"
+QA_PREBUILT="opt/zoom/*"
+
+src_prepare() {
+ default
+
+ # The tarball doesn't contain an icon, so extract it from the binary
+ bbe -s -b '/<svg width="32" height="32"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom \
+ >videoconference-zoom.svg && [[ -s videoconference-zoom.svg ]] \
+ || die "Extraction of icon failed"
+
+ if ! use pulseaudio; then
+ # For some strange reason, zoom cannot use any ALSA sound devices if
+ # it finds libpulse. This causes breakage if media-sound/apulse[sdk]
+ # is installed. So, force zoom to ignore libpulse.
+ bbe -e 's/libpulse.so/IgNoRePuLsE/' zoom >zoom.tmp || die
+ mv zoom.tmp zoom || die
+ fi
+}
+
+src_install() {
+ insinto /opt/zoom
+ exeinto /opt/zoom
+ doins -r calendar cef email json ringtone scheduler sip timezones \
+ translations
+ doins *.pcm Embedded.properties version.txt
+ doexe zoom zopen ZoomLauncher *.sh \
+ aomhost libaomagent.so libdvf.so libmkldnn.so \
+ libavcodec.so* libavformat.so* libavutil.so* libswresample.so*
+ fperms a+x /opt/zoom/cef/chrome-sandbox
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
+ dosym -r "/usr/$(get_libdir)/libfdk-aac.so.2" /opt/zoom/libfdkaac2.so
+ dosym -r "/usr/$(get_libdir)/libquazip1-qt5.so" /opt/zoom/libquazip.so
+
+ if use opencl; then
+ doexe libclDNN64.so
+ dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libOpenCL.so.1
+ fi
+
+ if ! use wayland; then
+ # Soname dependency on libwayland-client.so.0
+ rm "${ED}"/opt/zoom/cef/libGLESv2.so || die
+ fi
+
+ if use bundled-qt; then
+ doins -r Qt
+ find Qt -type f '(' -name '*.so' -o -name '*.so.*' ')' \
+ -printf '/opt/zoom/%p\0' | xargs -0 -r fperms 0755 || die
+ ( # Remove libs and plugins with unresolved soname dependencies.
+ # Why does the upstream package contain such garbage? :-(
+ cd "${ED}"/opt/zoom/Qt || die
+ rm -r plugins/audio plugins/egldeviceintegrations \
+ plugins/platforms/libqeglfs.so \
+ plugins/platforms/libqlinuxfb.so \
+ plugins/platformthemes/libqgtk3.so \
+ qml/QtQml/RemoteObjects \
+ qml/QtQuick/LocalStorage qml/QtQuick/Particles.2 \
+ qml/QtQuick/Scene2D qml/QtQuick/Scene3D \
+ qml/QtQuick/XmlListModel || die
+ use wayland || rm -r lib/libQt5Wayland*.so* plugins/wayland* \
+ plugins/platforms/libqwayland*.so qml/QtWayland || die
+ )
+ else
+ local qtzoom="5.12" qtver=$(best_version dev-qt/qtcore:5)
+ if [[ ${qtver} != dev-qt/qtcore-${qtzoom}.* ]]; then
+ ewarn "You have disabled the bundled-qt USE flag."
+ ewarn "You may experience problems when running Zoom with"
+ ewarn "a version of the system-wide Qt libs other than ${qtzoom}."
+ ewarn "See https://bugs.gentoo.org/798681 for details."
+ fi
+ fi
+
+ dosym -r /opt/zoom/ZoomLauncher /usr/bin/zoom
+ make_desktop_entry "zoom %U" Zoom videoconference-zoom \
+ "Network;VideoConference;" \
+ "MimeType=$(printf '%s;' \
+ x-scheme-handler/zoommtg \
+ x-scheme-handler/zoomus \
+ application/x-zoom)"
+ doicon videoconference-zoom.svg
+ doicon -s scalable videoconference-zoom.svg
+
+ local DOC_CONTENTS="Some of Zoom's screen share features (e.g.
+ the whiteboard) require display compositing. If you encounter
+ a black window when sharing the screen, then one of the following
+ actions should help:
+ \\n- Enable compositing in your window manager if it is supported
+ \\n- Alternatively, run the xcompmgr command (from x11-misc/xcompmgr)"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}