summaryrefslogtreecommitdiff
path: root/net-im/swift
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-12-24 14:11:38 +0000
commitde49812990871e1705b64051c35161d5e6400269 (patch)
tree5e1e8fcb0ff4579dbd22a1bfee28a6b97dc8aaeb /net-im/swift
parent536c3711867ec947c1738f2c4b96f22e4863322d (diff)
gentoo resync : 24.12.2018
Diffstat (limited to 'net-im/swift')
-rw-r--r--net-im/swift/Manifest6
-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/metadata.xml27
-rw-r--r--net-im/swift/swift-4.0.2-r1.ebuild207
-rw-r--r--net-im/swift/swift-4.0.2.ebuild207
6 files changed, 520 insertions, 0 deletions
diff --git a/net-im/swift/Manifest b/net-im/swift/Manifest
new file mode 100644
index 000000000000..ac464da24f54
--- /dev/null
+++ b/net-im/swift/Manifest
@@ -0,0 +1,6 @@
+AUX swift-4.0.2-make-generated-files-handle-unicode-characters.patch 1517 BLAKE2B 78abb2fb27a796d2b0ba1c4d9ee2a5662a3a166b404f16ca67cb0b884db65d36a95b95a82827a7d2cfcf1b65204ebe23b11791b94fa4a88b85a72c1f1b12cf10 SHA512 57cb292b32365d7041a3d9b17488288e07eba5402bdc0db5ec3ff447a5ad7b3dfe7d13275d8783ddf6d338831a9bee93d481b74342d8d57a62486b3b7ca7689e
+AUX swift-4.0.2-qt-5.11-compatibility.patch 931 BLAKE2B 9c19851501a5b7bd92cb0cd8e71911ee87dc754f8d7dfe15f7fa3ff9d788f3d698a63cd90f6ff9b2cc4b013a14c92bd704ef0248ea71204645ea4ff90d828881 SHA512 a91d516f682b47573de8949ff5e364505b39d67e6a93441f66000519f8c6d910f7efb67ee510f709d03592446a4fbee0b1f17b0e1b7548ecaa2e3781e8406880
+DIST swift-4.0.2.tar.gz 19083393 BLAKE2B de4ad1c3d68dfc4d693cdebdf4e18809210aa4e83af31b77bf730c7018507877852b5ea634623c037250de4005606108bd0372d39177093769c5dc5f72bd4812 SHA512 b7d4b90f387d5ea4ac3ca31794eabd1f12a64274628d75c7570f40269777b9003182884730a6340c5e0b5b7928a68bda5e49be623b47da9fa64fe4c3f25be167
+EBUILD swift-4.0.2-r1.ebuild 4328 BLAKE2B abe8a088feb575117ef747e8069ad87244438b24886134e02b12dce5a7d3e5e9d7cc0676422ce2778b59d2eee67f3ad7bcaaded2a9bf67ba6f93e48cb5652404 SHA512 00c5ef5b7941be9b5ba2090121fbed3355dbdc31e0476cde5f764b13a531d0a361c8ef1d15a8dd388fc639691005585f118d3a0ad1b4666c231a0e3e827dbf96
+EBUILD swift-4.0.2.ebuild 4329 BLAKE2B cac1a60927e5ee80d8827963253b5e1f3972ea795d0048ec7b59b876e701aa5925ddaf77d1b57f716e821e2234a1290a2fce3178085980529b3b437d7ea1d1fe SHA512 4e267eb44ac4d7a4c529c948cdfd6717ee7e5fa41000f1df30a842386e424cfd33621696a5dd471b12c853d26b6e52a4d7b42f1a3617f7d3a9248c0f415114f0
+MISC metadata.xml 970 BLAKE2B ff45a5b75d9ec07a6d6bd1e65acaac799f56ef2f01d689d3e5e887a9a135e7d446a789c4d0445a64f1d904386d7c9ff0d12a990d71df024ab2f647bb8bf19a27 SHA512 6e820b2770aa305bfc1a1c9605f62404ee35485759451ce7fb1155329f666182238a8075f1e2ebcc77b1e9e5896040bca8ecbd541a813be5b09bcd2aa6ae2584
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
new file mode 100644
index 000000000000..7fd2e386d9d9
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.2-make-generated-files-handle-unicode-characters.patch
@@ -0,0 +1,38 @@
+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
new file mode 100644
index 000000000000..db633945b49d
--- /dev/null
+++ b/net-im/swift/files/swift-4.0.2-qt-5.11-compatibility.patch
@@ -0,0 +1,35 @@
+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/metadata.xml b/net-im/swift/metadata.xml
new file mode 100644
index 000000000000..c7c45c7e8bd1
--- /dev/null
+++ b/net-im/swift/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ck+gentoo@bl4ckb0x.de</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.
+ Swiften is a robust, high-quality, standards-compliant,
+ 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.2-r1.ebuild
new file mode 100644
index 000000000000..1fdb1c0dd085
--- /dev/null
+++ b/net-im/swift/swift-4.0.2-r1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils 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"
+
+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"
+REQUIRED_USE="
+ || ( icu idn )
+ gconf? ( client )
+ spell? ( client )
+"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/boost:=
+ 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
+ )
+ 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:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ >=dev-util/scons-3.0.1-r3
+ client? ( dev-qt/linguist-tools:5 )
+ test? ( net-dns/avahi )
+"
+
+# Tests don't run, as they fail with "[QA/UnitTest/**dummy**] Error -6".
+RESTRICT="test"
+
+DOCS=(
+ "DEVELOPMENT.md"
+ "README.md"
+ "Swiften/ChangeLog.md"
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-make-generated-files-handle-unicode-characters.patch
+ "${FILESDIR}"/${P}-qt-5.11-compatibility.patch
+)
+
+src_prepare() {
+ default
+
+ # 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
+
+ # Remove parts of Swift, which a user don't want to compile
+ if ! use client; then rm -fr Swift Slimber || die; fi
+ 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
+
+ # Remove '3rdParty', as the system libs should be used
+ # `CppUnit`, `GoogleTest` and `HippoMocks` are needed for tests
+ local my3rdparty=(
+ Boost
+ Breakpad
+ DocBook
+ Expat
+ LCov
+ Ldns
+ LibIDN
+ LibMiniUPnPc
+ LibNATPMP
+ Lua
+ OpenSSL
+ SCons
+ SQLite
+ Unbound
+ ZLib
+ )
+
+ if use test; then
+ cd 3rdParty && rm -fr "${my3rdparty[@]}" || die
+ else
+ rm -fr 3rdParty || die
+ fi
+}
+
+src_configure() {
+ MYSCONS=(
+ ar="$(tc-getAR)"
+ allow_warnings="yes"
+ assertions="no"
+ build_examples="yes"
+ boost_bundled_enable="false"
+ boost_force_bundled="false"
+ cc="$(tc-getCC)"
+ ccache="no"
+ ccflags="${CFLAGS}"
+ coverage="no"
+ cxx="$(tc-getCXX)"
+ cxxflags="${CXXFLAGS}"
+ debug="no"
+ distcc="no"
+ experimental="no"
+ experimental_ft="yes"
+ hunspell_enable="$(usex spell)"
+ icu="$(usex icu)"
+ install_git_hooks="no"
+ libidn_bundled_enable="false"
+ libminiupnpc_force_bundled="false"
+ libnatpmp_force_bundled="false"
+ link="$(tc-getCXX)"
+ linkflags="${LDFLAGS}"
+ max_jobs="no"
+ optimize="no"
+ qt="${T}/qt"
+ qt5="$(usex client)"
+ swiften_dll="true"
+ swift_mobile="no"
+ target="native"
+ test="none"
+ try_avahi="$(usex client)"
+ try_expat="$(usex expat)"
+ try_gconf="$(usex gconf)"
+ try_libidn="$(usex idn)"
+ try_libxml="$(usex !expat)"
+ tls_backend="openssl"
+ unbound="no"
+ V="1"
+ valgrind="no"
+ zlib_bundled_enable="false"
+ )
+}
+
+src_compile() {
+ local myesconsinstall=(
+ Swiften
+ $(usex client Swift '')
+ $(usex lua Sluift '')
+ $(usex zeroconf Limber '')
+ $(usex zeroconf "$(usex client Slimber '')" '')
+ )
+
+ escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
+}
+
+src_test() {
+ MYSCONS=(
+ V="1"
+ )
+
+ escons "${MYSCONS[@]}" test=unit QA
+}
+
+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" '')
+ "${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/swift/swift-4.0.2.ebuild b/net-im/swift/swift-4.0.2.ebuild
new file mode 100644
index 000000000000..c67278ade281
--- /dev/null
+++ b/net-im/swift/swift-4.0.2.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils 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"
+
+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"
+REQUIRED_USE="
+ || ( icu idn )
+ gconf? ( client )
+ spell? ( client )
+"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/boost:=
+ 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
+ )
+ 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:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ >=dev-util/scons-3.0.1-r3
+ client? ( dev-qt/linguist-tools:5 )
+ test? ( net-dns/avahi )
+"
+
+# Tests don't run, as they fail with "[QA/UnitTest/**dummy**] Error -6".
+RESTRICT="test"
+
+DOCS=(
+ "DEVELOPMENT.md"
+ "README.md"
+ "Swiften/ChangeLog.md"
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-make-generated-files-handle-unicode-characters.patch
+ "${FILESDIR}"/${P}-qt-5.11-compatibility.patch
+)
+
+src_prepare() {
+ default
+
+ # 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
+
+ # Remove parts of Swift, which a user don't want to compile
+ if ! use client; then rm -fr Swift Slimber || die; fi
+ 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
+
+ # Remove '3rdParty', as the system libs should be used
+ # `CppUnit`, `GoogleTest` and `HippoMocks` are needed for tests
+ local my3rdparty=(
+ Boost
+ Breakpad
+ DocBook
+ Expat
+ LCov
+ Ldns
+ LibIDN
+ LibMiniUPnPc
+ LibNATPMP
+ Lua
+ OpenSSL
+ SCons
+ SQLite
+ Unbound
+ ZLib
+ )
+
+ if use test; then
+ cd 3rdParty && rm -fr "${my3rdparty[@]}" || die
+ else
+ rm -fr 3rdParty || die
+ fi
+}
+
+src_configure() {
+ MYSCONS=(
+ ar="$(tc-getAR)"
+ allow_warnings="yes"
+ assertions="no"
+ build_examples="yes"
+ boost_bundled_enable="false"
+ boost_force_bundled="false"
+ cc="$(tc-getCC)"
+ ccache="no"
+ ccflags="${CFLAGS}"
+ coverage="no"
+ cxx="$(tc-getCXX)"
+ cxxflags="${CXXFLAGS}"
+ debug="no"
+ distcc="no"
+ experimental="yes"
+ experimental_ft="yes"
+ hunspell_enable="$(usex spell)"
+ icu="$(usex icu)"
+ install_git_hooks="no"
+ libidn_bundled_enable="false"
+ libminiupnpc_force_bundled="false"
+ libnatpmp_force_bundled="false"
+ link="$(tc-getCXX)"
+ linkflags="${LDFLAGS}"
+ max_jobs="no"
+ optimize="no"
+ qt="${T}/qt"
+ qt5="$(usex client)"
+ swiften_dll="true"
+ swift_mobile="no"
+ target="native"
+ test="none"
+ try_avahi="$(usex client)"
+ try_expat="$(usex expat)"
+ try_gconf="$(usex gconf)"
+ try_libidn="$(usex idn)"
+ try_libxml="$(usex !expat)"
+ tls_backend="openssl"
+ unbound="no"
+ V="1"
+ valgrind="no"
+ zlib_bundled_enable="false"
+ )
+}
+
+src_compile() {
+ local myesconsinstall=(
+ Swiften
+ $(usex client Swift '')
+ $(usex lua Sluift '')
+ $(usex zeroconf Limber '')
+ $(usex zeroconf "$(usex client Slimber '')" '')
+ )
+
+ escons "${MYSCONS[@]}" "${myesconsinstall[@]}"
+}
+
+src_test() {
+ MYSCONS=(
+ V="1"
+ )
+
+ escons "${MYSCONS[@]}" test=unit QA
+}
+
+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" '')
+ "${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
+}