summaryrefslogtreecommitdiff
path: root/eclass/transmission-2.84.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/transmission-2.84.eclass')
-rw-r--r--eclass/transmission-2.84.eclass291
1 files changed, 0 insertions, 291 deletions
diff --git a/eclass/transmission-2.84.eclass b/eclass/transmission-2.84.eclass
deleted file mode 100644
index 94f21620..00000000
--- a/eclass/transmission-2.84.eclass
+++ /dev/null
@@ -1,291 +0,0 @@
-# Copyright 1999-2014 Sabayon
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# @ECLASS: transmission-2.xx.eclass
-# @MAINTAINER:
-# slawomir.nizio@sabayon.org
-# @AUTHOR:
-# Sławomir Nizio <slawomir.nizio@sabayon.org>
-# @BLURB: eclass to ease managing of Sabayon split net-p2p/transmission
-# @DESCRIPTION:
-# This eclass is to ease managing of split net-p2p/transmission for Sabayon.
-# Its name contains a version that corresponds to net-p2p/transmission one,
-# because the eclass will change often when needed to follow changes
-# in Gentoo ebuild.
-# Always call phase functions using their public names, such like:
-# transmission-2.83_src_configure, and never _transmission_src_configure.
-
-# @ECLASS-VARIABLE: TRANSMISSION_PATCHES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Array that contains patches to apply just before eautoreconf.
-
-# @ECLASS-VARIABLE: TRANSMISSION_ECLASS_VERSION_OK
-# @DESCRIPTION:
-# Set this to x.y if you want to use transmission-x.y.eclass from ebuild
-# with ${PV} different than x.y. This is to catch bugs.
-: ${TRANSMISSION_ECLASS_VERSION_OK:=${PV}}
-
-# @ECLASS-VARIABLE: E_TRANSM_TAIL
-# @INTERNAL
-# @DESCRIPTION:
-# "Tail" of package name. Can take value gtk, qt4, etc. or can be empty.
-E_TRANSM_TAIL=${PN#transmission}
-E_TRANSM_TAIL=${E_TRANSM_TAIL#-}
-
-# @FUNCTION: _transmission_is
-# @INTERNAL
-# @DESCRIPTION:
-# Function used to check which variant of Transmission are we working on.
-# Argument should be one of these: (none), gtk, qt4, daemon, cli, base.
-# If argument is empty or omitted, true value means that it is
-# net-p2p/transmission (metapackage).
-_transmission_is() {
- local what=$1
- [[ ${what} = "${E_TRANSM_TAIL}" ]]
-}
-
-# @FUNCTION: _transmission_eclass_setup_functions
-# @INTERNAL
-# @DESCRIPTION:
-# Function to setup functions. The eval uses strictly controlled variables,
-# so it's OK.
-_transmission_eclass_setup_functions() {
- local v=2.84
- local func
- for func in pkg_setup src_prepare src_configure src_compile \
- pkg_preinst pkg_postinst pkg_postrm; do
- eval "transmission-${v}_${func}() { _transmission_${func}; }"
- done
-}
-
-_transmission_eclass_setup_functions
-
-MY_ECLASSES=""
-_transmission_is gtk && MY_ECLASSES+="fdo-mime gnome2-utils"
-_transmission_is qt4 && MY_ECLASSES+="fdo-mime qt4-r2"
-_transmission_is "" || MY_ECLASSES+=" autotools"
-_transmission_is base && MY_ECLASSES+=" user"
-
-inherit eutils multilib ${MY_ECLASSES}
-
-unset MY_ECLASSES
-
-case ${EAPI:-0} in
- 4|5) EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \
- pkg_preinst pkg_postinst pkg_postrm ;;
- *) die "EAPI=${EAPI} is not supported" ;;
-esac
-
-[[ ${PN} = transmission* ]] || \
- die "This eclass can only be used with net-p2p/transmission* ebuilds!"
-# Bug catcher!
-if ! [[ ${PV} = *9999* ]] && [[ ${TRANSMISSION_ECLASS_VERSION_OK} != ${ECLASS#*-} ]]; then
- eerror "used eclass ${ECLASS}"
- eerror "TRANSMISSION_ECLASS_VERSION_OK=${TRANSMISSION_ECLASS_VERSION_OK}"
- die "ebuild version ${PV} doesn't match with the eclass"
-fi
-
-MY_PN="transmission"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A Fast, Easy and Free BitTorrent client"
-HOMEPAGE="http://www.transmissionbt.com/"
-SRC_URI="http://download.transmissionbt.com/${MY_PN}/files/${MY_P}.tar.xz"
-
-# web/LICENSE is always GPL-2 whereas COPYING allows either GPL-2 or GPL-3 for the rest
-# transmission in licenses/ is for mentioning OpenSSL linking exception
-# MIT is in several libtransmission/ headers
-LICENSE="|| ( GPL-2 GPL-3 Transmission-OpenSSL-exception ) GPL-2 MIT"
-SLOT="0"
-IUSE=""
-
-# only common dependencies plus blockers
-RDEPEND=""
-_transmission_is base || RDEPEND+="~net-p2p/transmission-base-${PV}"
-if ! _transmission_is ""; then
- RDEPEND+="
- >=dev-libs/libevent-2.0.10:=
- dev-libs/openssl:0=
- net-libs/libnatpmp:=
- >=net-libs/miniupnpc-1.7:=
- >=net-misc/curl-7.16.3:=[ssl]
- sys-libs/zlib:="
-fi
-
-DEPEND="${RDEPEND}"
-if _transmission_is base; then
- RDEPEND+=" !<net-p2p/transmission-gtk-${PV}
- !<net-p2p/transmission-qt4-${PV}
- !<net-p2p/transmission-daemon-${PV}
- !<net-p2p/transmission-cli-${PV}"
-fi
-if ! _transmission_is ""; then
- DEPEND+=" >=dev-libs/glib-2.32
- dev-util/intltool
- virtual/pkgconfig
- sys-devel/gettext
- virtual/os-headers"
-fi
-
-S="${WORKDIR}/${MY_P}"
-_transmission_is "" && S="${WORKDIR}"
-
-_transmission_pkg_setup() {
- if _transmission_is base; then
- enewgroup transmission
- enewuser transmission -1 -1 -1 transmission
- fi
-}
-
-_transmission_src_prepare() {
- _transmission_is "" && return
-
- sed -i -e '/CFLAGS/s:-ggdb3::' configure.ac || die
-
- if ! use_if_iuse ayatana; then
- # Trick to avoid automagic dependency
- sed -i -e '/^LIBAPPINDICATOR_MINIMUM/s:=.*:=9999:' configure.ac || die
- fi
-
- # Pass our configuration dir to systemd unit file
- sed -i '/ExecStart/ s|$| -g /var/lib/transmission/config|' daemon/${MY_PN}-daemon.service || die
-
- # http://trac.transmissionbt.com/ticket/4324
- sed -i -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' lib${MY_PN}/Makefile.am || die
-
- if [[ ${#TRANSMISSION_PATCHES[@]} -gt 0 ]]; then
- epatch "${TRANSMISSION_PATCHES[@]}"
- fi
-
- # http://trac.transmissionbt.com/ticket/5700
- sed -i -e '1iQMAKE_CXXFLAGS += -std=c++11' qt/qtr.pro || die
-
- epatch_user
- eautoreconf
-
- if ! _transmission_is base; then
- local sedcmd="s:\$(top_builddir)/libtransmission/libtransmission.a:"
- sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:"
- find . -name Makefile.in -exec sed -i -e "${sedcmd}" {} \; || die
- sed -i -e '/libtransmission \\/d' Makefile.in || die
- if _transmission_is qt4; then
- sedcmd="s:\$\${TRANSMISSION_TOP}/libtransmission/libtransmission.a:"
- sedcmd+="${EROOT}usr/$(get_libdir)/libtransmission.a:"
- sed -i -e "${sedcmd}" qt/qtr.pro || die
- fi
- fi
-}
-
-_transmission_src_configure() {
- _transmission_is "" && return
-
- local econfargs=(
- --enable-external-natpmp
- )
-
- if _transmission_is base; then
- export ac_cv_header_xfs_xfs_h=$(usex xfs)
- econfargs+=(
- --disable-cli
- --disable-daemon
- --without-gtk
- $(use_enable lightweight)
- )
- elif _transmission_is cli; then
- econfargs+=(
- --enable-cli
- --disable-daemon
- --without-gtk
- )
- elif _transmission_is daemon; then
- econfargs+=(
- --disable-cli
- --enable-daemon
- --without-gtk
- $(use_with systemd systemd-daemon)
- )
- elif _transmission_is gtk; then
- econfargs+=(
- --disable-cli
- --disable-daemon
- --with-gtk
- )
- elif _transmission_is qt4; then
- econfargs+=(
- --disable-cli
- --disable-daemon
- --without-gtk
- )
- else
- die "Something is wrong... (E_TRANSM_TAIL=$E_TRANSM_TAIL)"
- fi
-
- econf "${econfargs[@]}"
- if _transmission_is qt4; then
- pushd qt >/dev/null
- eqmake4 qtr.pro
- popd >/dev/null
- fi
-}
-
-_transmission_src_compile() {
- _transmission_is "" && return
-
- emake
- if _transmission_is qt4; then
- pushd qt >/dev/null
- emake
- lrelease translations/*.ts
- popd >/dev/null
- fi
-}
-
-
-# Note: not providing src_install. Too many differences and too much code
-# which would only clutter this pretty eclass.
-
-_transmission_pkg_preinst() {
- _transmission_is gtk && gnome2_icon_savelist
-}
-
-_transmission_pkg_postinst() {
- if _transmission_is gtk || _transmission_is qt4; then
- fdo-mime_desktop_database_update
- fi
-
- _transmission_is gtk && gnome2_icon_cache_update
-
- if _transmission_is daemon; then
- elog "If you use ${MY_PN}-daemon, please, set 'rpc-username' and"
- elog "'rpc-password' (in plain text, ${MY_PN}-daemon will hash it on"
- elog "start) in settings.json file located at /var/${MY_PN}/config or"
- elog "any other appropriate config directory."
- fi
-
- if _transmission_is gtk; then
- # in -gtk only?
- elog
- elog "To enable sound emerge media-libs/libcanberra and check that at least"
- elog "some sound them is selected. For this go:"
- elog "Gnome/system/preferences/sound themes tab and 'sound theme: default'"
- elog
- fi
-
- if _transmission_is base; then
- elog "Since µTP is enabled by default, ${MY_PN} needs large kernel buffers for"
- elog "the UDP socket. You can append following lines into /etc/sysctl.conf:"
- elog " net.core.rmem_max = 4194304"
- elog " net.core.wmem_max = 1048576"
- elog "and run sysctl -p"
- fi
-}
-
-_transmission_pkg_postrm() {
- if _transmission_is gtk || _transmission_is qt4; then
- fdo-mime_desktop_database_update
- fi
-
- _transmission_is gtk && gnome2_icon_cache_update
-}