| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 7-r211003 | 8 | amd64 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..14} )
UVER=
UREV=
inherit distutils-r1 ubuntu-versionator
DESCRIPTION="Online scopes for the Unity Dash"
HOMEPAGE="https://launchpad.net/onehundredscopes"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64"
RESTRICT="test"
RDEPEND="
dev-libs/dee:0=
dev-libs/gobject-introspection
dev-libs/libunity:0=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
"
BDEPEND="virtual/pkgconfig"
## Neat and efficient way of bundling and tracking all available scopes into one ebuild ##
## Borrowed from chenxiaolong's Unity-for-Arch overlay at https://github.com/chenxiaolong/Unity-for-Arch ##
setvar() {
eval "_ver_${1//-/_}=${2}"
eval "_rel_${1//-/_}=${3}"
eval "_use_${1//-/_}=${4}"
eval "_dep_${1//-/_}=\"${5}\""
packages+=( ${1} )
}
setvar audacious 0.1+13.10.20130927.1 0ubuntu1 + "$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')" ## works with audacious 3.9
setvar calculator 0.1+14.04.20140328 0ubuntu5 + "" ## works with gnome-calculator 3.32
setvar chromiumbookmarks 0.1+13.10.20130723 0ubuntu1 + "" ## works with chromium 79 (fixed by patch)
setvar clementine 0.1+13.10.20130723 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')" ## not tested
setvar colourlovers 0.1+13.10.20130723 0ubuntu1 + "" ## works
setvar devhelp 0.1+14.04.20140328 0ubuntu4 + "$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')" ## works
setvar deviantart 0.1+13.10.20130723 0ubuntu1 + "$(python_gen_cond_dep 'dev-python/feedparser[${PYTHON_USEDEP}]')" ## works (fixed by patch)
setvar firefoxbookmarks 0.1+13.10.20130809.1 0ubuntu1 + "" ## works with firefox 72 (fixed by patch)
setvar gallica 0.1+13.10.20130816.2 0ubuntu1 + "$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')" ## works (fixed by patch)
#setvar gdrive 0.9+13.10.20130723 0ubuntu1 - "" ## doesn't work (account-plugins package not available)
setvar github 0.1+13.10.20130723 0ubuntu1 + "" ## works
setvar gmusicbrowser 0.1+13.10.20130723 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')" ## not tested
setvar gnote 0.1+13.10.20130723 0ubuntu3 - "" ## not tested
#setvar googlenews 0.1+13.10.20130723 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/feedparser[${PYTHON_USEDEP}]')" ## doesn't work
#setvar gourmet 0.1+13.10.20130723 0ubuntu1 - "" ## doesn't work (gourmet package not available)
setvar guayadeque 0.1+13.10.20130927.1 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')" ## not tested
#setvar launchpad 0.1daily13.06.05 0ubuntu1 - "" ## doesn't work (python-launchpadlib package not available)
setvar manpages 3.0+14.04.20140324 0ubuntu4 + "sys-apps/man-db x11-libs/gtk+:3" ## works
setvar musique 0.1+13.10.20130723 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/dbus-python[${PYTHON_USEDEP}]')" ## not tested
#setvar openclipart 0.1+13.10.20130723 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/feedparser[${PYTHON_USEDEP}]')" ## doesn't work (https://en.wikipedia.org/wiki/Openclipart#Lockdown_and_attempts_at_mirroring_the_library)
#setvar openweathermap 0.1+13.10.20130828 0ubuntu1 - "" ## doesn't work (needs API key)
setvar soundcloud 0.1+13.10.20130723 0ubuntu3 + "" ## works
setvar sshsearch 0.1daily13.06.05 0ubuntu1 - "$(python_gen_cond_dep 'dev-python/paramiko[${PYTHON_USEDEP}]')" ## not tested
setvar texdoc 0.1+14.04.20140328 0ubuntu1 + "" ## works
#setvar tomboy 0.1+13.10.20130723 0ubuntu1 - "" ## doesn't work (tomboy package not available)
setvar virtualbox 0.1+13.10.20130723 0ubuntu3 + "" ## works
#setvar yahoostock 0.1+13.10.20130723 0ubuntu1 - "" ## doesn't work
setvar yelp 0.1+13.10.20130723 0ubuntu1 + "" ## works
setvar zotero 0.1+13.10.20130723 0ubuntu3 - "" ## not tested (Zotero 4.0 for Firefox is being replaced by a Zotero Connector for Firefox)
UURL="${UURL%/*}"; SRC_URI=""
for i in ${packages[@]}; do
unset _rel
eval "_name=${i}; _ver=\${_ver_${i//-/_}}; _rel=\${_rel_${i//-/_}}; _use=\${_use_${i//-/_}}; _dep=\${_dep_${i//-/_}}"
[[ -n ${_dep} ]] && RDEPEND+=" ${_name}? ( ${_dep} )"
IUSE+="${_use/-}${_name} "
SRC_URI+="${_name}? (
${UURL}/unity-scope-${_name}_${_ver}.orig.tar.gz
${UURL}/unity-scope-${_name}_${_ver}-${_rel}.diff.gz ) "
done
DEPEND="${RDEPEND}
$(python_gen_cond_dep '
dev-python/python-distutils-extra[${PYTHON_USEDEP}]
')
"
## gnome-base/gvfs[http]: show thumbnails when searching online in the Dash ##
PDEPEND="
audacious? ( unity-lens/unity-lens-meta[music] )
colourlovers? ( gnome-base/gvfs[http] )
deviantart? ( gnome-base/gvfs[http] )
gallica? ( gnome-base/gvfs[http] )
soundcloud? ( unity-lens/unity-lens-meta[music] )
"
S="${WORKDIR}"
src_prepare() {
ubuntu-versionator_src_prepare
for i in ${packages[@]}; do
use ${i} || continue
eval "_name=${i}; _ver=\${_ver_${i//-/_}}; _rel=\${_rel_${i//-/_}}"
pushd "${S}/unity-scope-${_name}-${_ver}" >/dev/null || die
echo "$(tput bold)>>> Processing Ubuntu diff file$(tput sgr0) ..."
eapply "${S}/unity-scope-${_name}_${_ver}-${_rel}.diff"
echo "$(tput bold)>>> Done.$(tput sgr0)"
[[ -f ${FILESDIR}/${i}.patch ]] && eapply "${FILESDIR}/${i}.patch"
distutils-r1_src_prepare
grep -Fqsx "RemoteContent=true" "data/${i}.scope.in" && RSCOPES+=( ${i} )
popd >/dev/null || die
done
}
src_compile() {
for i in ${packages[@]}; do
use ${i} || continue
eval "_name=${i}; _ver=\${_ver_${i//-/_}}; _rel=\${_rel_${i//-/_}}"
pushd "${S}/unity-scope-${_name}-${_ver}" >/dev/null || die
BUILD_DIR="${PWD#${WORKDIR}/}_${BUILD_DIR}" distutils-r1_src_compile
popd >/dev/null || die
done
}
src_install() {
for i in ${packages[@]}; do
use ${i} || continue
eval "_name=${i}; _ver=\${_ver_${i//-/_}}; _rel=\${_rel_${i//-/_}}"
pushd "${S}/unity-scope-${_name}-${_ver}" >/dev/null || die
BUILD_DIR="${PWD#${WORKDIR}/}_${BUILD_DIR}" distutils-r1_src_install
popd >/dev/null || die
done
}
pkg_postinst() {
ubuntu-versionator_pkg_postinst
local ylp dvh tlc rs
has_version "gnome-extra/yelp" || ylp="to install gnome-extra/yelp package and "
has_version "dev-util/devhelp" || dvh="to install dev-util/devhelp package and "
tlc="${dvh}"
has_version "app-text/texlive-core[doc]" \
&& tlc="${tlc/ and /.}" \
|| tlc="${tlc}to install app-text/texlive-core[doc] package."
echo
use audacious && ! has_version "media-sound/audacious" && elog "audacious scope needs to install media-sound/audacious package." && echo
use calculator && ! has_version "gnome-extra/gnome-calculator" && elog "calculator scope needs to install gnome-extra/gnome-calculator." && echo
use chromiumbookmarks && ! has_version "www-client/chromium" && elog "chromiumbookmarks scope needs to install www-client/chromium package." && echo
use devhelp && [[ -n ${dvh} ]] && elog "devhelp scope needs ${dvh/ and /.}" && echo
use firefoxbookmarks && ! has_version "www-client/firefox" && elog "firefoxbookmarks scope needs to install www-client/firefox package." && echo
use manpages && elog "manpages scope needs ${ylp}to run 'mandb' command to create or update the manual page index caches." && echo
use texdoc && [[ -n ${tlc} ]] && elog "texdoc scope needs ${tlc}" && echo
use virtualbox && ! has_version "app-emulation/virtualbox" && elog "virtualbox scope needs to install app-emulation/virtualbox package." && echo
use yelp && [[ -n ${ylp} ]] && elog "yelp scope needs ${ylp/ and /.}" && echo
if [[ -n ${RSCOPES} ]]; then
elog "Remote scopes need 'Include online search results' option to be turned on."
elog "The option is located in System Settings > Security & Privacy > Search tab."
echo
elog "Installed remote scopes:"
for rs in "${RSCOPES[@]}"; do
elog "${rs}"
done
echo
fi
}
dev-libs/dee:0=
dev-libs/gobject-introspection
dev-libs/libunity:0=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
virtual/pkgconfig