summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/weechat/Manifest1
-rw-r--r--net-irc/weechat/weechat-2.9.ebuild155
2 files changed, 156 insertions, 0 deletions
diff --git a/net-irc/weechat/Manifest b/net-irc/weechat/Manifest
index f9085ca11338..19dadbce04dc 100644
--- a/net-irc/weechat/Manifest
+++ b/net-irc/weechat/Manifest
@@ -1 +1,2 @@
DIST weechat-2.8.tar.xz 2248868 BLAKE2B 756ce1719ecaa351a2780641758bb7587b45b8e6b16e5a82833009ddb27f71783a461cf89662e04118c75e2d372103eda5a11c98feb62d624b330b223bf22ede SHA512 3bebb42118fca6b601f1de8f4d52378619a10e5c490f5b46f86d27a9680f00a56d48a1ade729e78d965cae589e6c80647c22414393000c7d3cfcc94a1e41c4df
+DIST weechat-2.9.tar.xz 2206584 BLAKE2B 8089cd846ca192ec666a50e8071ed57e1c2518b2d5ea98733b8e3fa6c8c684e8ed14253d787b3f9995a8f481a7413444c3ba262dcb6c100283192bcafb502627 SHA512 c4a5723accb417c0496b5427ee58fbf5d3e842e6d79a7988f8680cd605534cfc9d30f6f4844afe45f5223458f28b8deff1284fff2fb5b7d04cb99a81cde4e13e
diff --git a/net-irc/weechat/weechat-2.9.ebuild b/net-irc/weechat/weechat-2.9.ebuild
new file mode 100644
index 000000000000..67d3040920c8
--- /dev/null
+++ b/net-irc/weechat/weechat-2.9.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{3_6,3_7,3_8} )
+
+inherit cmake python-single-r1 xdg-utils
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/weechat/weechat.git"
+else
+ SRC_URI="https://weechat.org/files/src/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~x64-macos"
+fi
+
+DESCRIPTION="Portable and multi-interface IRC client"
+HOMEPAGE="https://weechat.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+NETWORKS="+irc"
+PLUGINS="+alias +buflist +charset +exec +fifo +fset +logger +relay +scripts +spell +trigger +xfer"
+# dev-lang/v8 was dropped from Gentoo so we can't enable javascript support
+SCRIPT_LANGS="guile lua +perl php +python ruby tcl"
+LANGS=" cs de es fr it ja pl ru"
+IUSE="doc man nls test ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:=
+ sys-libs/ncurses:0=
+ sys-libs/zlib:=
+ net-misc/curl[ssl]
+ charset? ( virtual/libiconv )
+ guile? ( >=dev-scheme/guile-2.0 )
+ lua? ( dev-lang/lua:0 )
+ nls? ( virtual/libintl )
+ perl? ( dev-lang/perl:= )
+ php? ( >=dev-lang/php-7.0:*[embed] )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( || ( dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 ) )
+ spell? ( app-text/aspell )
+ tcl? ( >=dev-lang/tcl-8.4.15:0= )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cpputest )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( >=dev-ruby/asciidoctor-1.5.4 )
+ man? ( >=dev-ruby/asciidoctor-1.5.4 )
+ nls? ( >=sys-devel/gettext-0.15 )
+"
+
+DOCS="AUTHORS.adoc ChangeLog.adoc Contributing.adoc ReleaseNotes.adoc README.adoc"
+
+# tests need to be fixed to not use system plugins if weechat is already installed
+RESTRICT="test"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # install only required translations
+ local i
+ for i in ${LANGS} ; do
+ if ! has ${i} ${LINGUAS-${i}} ; then
+ sed -i \
+ -e "/${i}.po/d" \
+ po/CMakeLists.txt || die
+ fi
+ done
+
+ # install only required documentation ; en always
+ for i in $(grep add_subdirectory doc/CMakeLists.txt \
+ | sed -e 's/.*add_subdirectory(\(..\)).*/\1/' -e '/en/d'); do
+ if ! has ${i} ${LINGUAS-${i}} ; then
+ sed -i \
+ -e '/add_subdirectory('${i}')/d' \
+ doc/CMakeLists.txt || die
+ fi
+ done
+
+ # install docs in correct directory
+ sed -i "s#\${SHAREDIR}/doc/\${PROJECT_NAME}#\0-${PV}/html#" doc/*/CMakeLists.txt || die
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # fix linking error on Darwin
+ sed -i "s/+ get_config_var('LINKFORSHARED')//" \
+ cmake/FindPython.cmake || die
+ # allow to find the plugins by default
+ sed -i 's/".so,.dll"/".bundle,.so,.dll"/' \
+ src/core/wee-config.c || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBDIR=/usr/$(get_libdir)
+ -DENABLE_JAVASCRIPT=OFF
+ -DENABLE_LARGEFILE=ON
+ -DENABLE_NCURSES=ON
+ -DENABLE_ALIAS=$(usex alias)
+ -DENABLE_BUFLIST=$(usex buflist)
+ -DENABLE_CHARSET=$(usex charset)
+ -DENABLE_DOC=$(usex doc)
+ -DENABLE_EXEC=$(usex exec)
+ -DENABLE_FIFO=$(usex fifo)
+ -DENABLE_FSET=$(usex fset)
+ -DENABLE_GUILE=$(usex guile)
+ -DENABLE_IRC=$(usex irc)
+ -DENABLE_LOGGER=$(usex logger)
+ -DENABLE_LUA=$(usex lua)
+ -DENABLE_MAN=$(usex man)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_PERL=$(usex perl)
+ -DENABLE_PHP=$(usex php)
+ -DENABLE_PYTHON=$(usex python)
+ -DENABLE_RELAY=$(usex relay)
+ -DENABLE_RUBY=$(usex ruby)
+ -DENABLE_SCRIPT=$(usex scripts)
+ -DENABLE_SCRIPTS=$(usex scripts)
+ -DENABLE_SPELL=$(usex spell)
+ -DENABLE_TCL=$(usex tcl)
+ -DENABLE_TESTS=$(usex test)
+ -DENABLE_TRIGGER=$(usex trigger)
+ -DENABLE_XFER=$(usex xfer)
+ )
+
+ if use python; then
+ python_is_python3 || mycmakeargs+=( -DENABLE_PYTHON2=ON )
+ fi
+
+ cmake_src_configure
+}
+
+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
+}