diff options
author | Conrad Kostecki <conrad@kostecki.com> | 2018-05-01 22:19:34 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-05-09 14:46:43 +0200 |
commit | 6455ce2a691b95dc83c015927763e9c9fc771997 (patch) | |
tree | c013d99230f4e4516f73a45d62863b6c926796f3 /net-im/libcommuni | |
parent | 75e745a6f57dbd5af419aad06faf53d8edfdae0c (diff) | |
download | gentoo-6455ce2a691b95dc83c015927763e9c9fc771997.tar.gz gentoo-6455ce2a691b95dc83c015927763e9c9fc771997.tar.xz |
net-im/libcommuni: New package
Closes: https://bugs.gentoo.org/652462
Closes: https://github.com/gentoo/gentoo/pull/7813
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'net-im/libcommuni')
-rw-r--r-- | net-im/libcommuni/Manifest | 1 | ||||
-rw-r--r-- | net-im/libcommuni/files/uchardet.pri | 17 | ||||
-rw-r--r-- | net-im/libcommuni/libcommuni-3.5.0.ebuild | 74 | ||||
-rw-r--r-- | net-im/libcommuni/metadata.xml | 21 |
4 files changed, 113 insertions, 0 deletions
diff --git a/net-im/libcommuni/Manifest b/net-im/libcommuni/Manifest new file mode 100644 index 00000000000..3adc4146f91 --- /dev/null +++ b/net-im/libcommuni/Manifest @@ -0,0 +1 @@ +DIST libcommuni-3.5.0.tar.gz 646734 BLAKE2B 81e2c783625a0befe2d364423e862967bc76e8a66e9b5d7f2f94f46f46530d54b030bfd3a48d7877532092c607295cff5a77ecd8bb669112d53507a1ea18c5b0 SHA512 4d62f7e5edd32b9121f2b69d15a4022ad5d6cf7136dc48d0a1ca4bd413b3334533d7734d6939906fa3426f8db9bc255696107ecada19875c60ce59990b54dee4 diff --git a/net-im/libcommuni/files/uchardet.pri b/net-im/libcommuni/files/uchardet.pri new file mode 100644 index 00000000000..d22393b76d2 --- /dev/null +++ b/net-im/libcommuni/files/uchardet.pri @@ -0,0 +1,17 @@ +###################################################################### +# Communi +###################################################################### + +include(../pkg.pri) + +pkgExists(uchardet) { + CONFIG += link_pkgconfig + PKGCONFIG += uchardet +} + +isEmpty(PKGCONFIG) { + error("UChardet support has been enabled, but the UChardet installation has not been found. Did you emerged app-i18n/uchardet?") +} else { + LIBS += -luchardet + INCPATH += -isystem /usr/include/uchardet +} diff --git a/net-im/libcommuni/libcommuni-3.5.0.ebuild b/net-im/libcommuni/libcommuni-3.5.0.ebuild new file mode 100644 index 00000000000..166369b11ab --- /dev/null +++ b/net-im/libcommuni/libcommuni-3.5.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit qmake-utils + +DESCRIPTION="A cross-platform IRC framework written with Qt" +HOMEPAGE="http://communi.github.io/" +SRC_URI="https://github.com/communi/libcommuni/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="qml test +uchardet" + +# Compiling with USE="test" is currently broken with dev-libs/icu +# See: https://github.com/communi/libcommuni/issues/60 +REQUIRED_USE="test? ( uchardet )" + +RDEPEND="dev-qt/qtcore:5 + dev-qt/qtdeclarative:5 + uchardet? ( app-i18n/uchardet ) + !uchardet? ( dev-libs/icu:= )" + +DEPEND="test? ( dev-qt/qttest:5 ) + ${RDEPEND}" + +RESTRICT="!test? ( test )" + +src_prepare() { + default + + # Don't use bundled uchardet, use instead app-i18n/uchardet + rm -rf src/3rdparty/uchardet-0.0.1/* || die + cp "${FILESDIR}"/uchardet.pri src/3rdparty/uchardet-0.0.1/uchardet.pri || 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 test '' 'no_')tests + -config $(usex uchardet 'no_' '')icu + -config $(usex uchardet '' 'no_')uchardet ) + + eqmake5 "${myqmakeargs[@]}" +} + +src_test() { + # This is a hack to delete the existing LD_LIBRARY_PATH and set a new one, + # otherwise a test will fail, because it uses the system installed lib instead of the new compiled lib. + # The test will fail, when libcommuni is emerged with USE="uchardet" and + # libcommuni is already installed with USE="-uchardat", or the other way around. + find "${S}" -type f -name 'target_wrapper.sh' -exec sed -i -e "/.*LD_LIBRARY_PATH.*/d" {} \; || die + local -x LD_LIBRARY_PATH="${S}/lib" + + default +} + +src_install() { + emake install INSTALL_ROOT="${D}" + einstalldocs +} diff --git a/net-im/libcommuni/metadata.xml b/net-im/libcommuni/metadata.xml new file mode 100644 index 00000000000..40dcff97d64 --- /dev/null +++ b/net-im/libcommuni/metadata.xml @@ -0,0 +1,21 @@ +<?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> + <longdescription> + A cross-platform IRC framework written with Qt. + Communi provides a set of tools for enabling + IRC connectivity in Qt-based C++ and QML applications. + </longdescription> + <use> + <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> +</pkgmetadata> |