# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=7 inherit multilib-build if [ ${PV} == "9999" ] ; then inherit git-r3 EGIT_REPO_URI="https://bitbucket.org/mmueller2012/${PN}.git" else inherit vcs-snapshot SRC_URI="https://bitbucket.org/mmueller2012/${PN}/get/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~x86" fi DESCRIPTION="Wine-based wrapper for running Windows plugins on POSIX systems" HOMEPAGE="https://launchpad.net/pipelight" LICENSE="|| ( GPL-2+ LGPL-2.1+ MPL-1.1 )" SLOT="0" IUSE="+abi_x86_32 abi_x86_64" DEPEND="app-emulation/wine-any[X,${MULTILIB_USEDEP},pipelight]" RDEPEND="${DEPEND} app-arch/cabextract app-crypt/gnupg media-fonts/corefonts || ( gnome-extra/zenity kde-apps/kdialog )" QA_FLAGS_IGNORED="usr/share/pipelight/pluginloader{,64}.exe usr/share/pipelight/winecheck{,64}.exe" src_configure() { local win32winepath="$(/bin/bash -c 'echo /usr/lib32/wine-any-*')" local myconf=( --wine-path="${EPREFIX}/usr/bin/wine" --win32-flags="-L${win32winepath}/wine -L${win32winepath}" ) if use abi_x86_64; then myconf+=( --with-win64 --win64-cxx=wineg++ --wine64-path="${EPREFIX}/usr/bin/wine64" ) fi econf "${myconf[@]}" } src_install() { default_src_install # Ideally, every wrapped plugin could be a symlink to pipelight's wrapper # plugin, but some browsers do not like this. Upstream provides a script to # duplicate the wrapper plugin as a hack to work around it. That script # does not support DESTDIR, so we use sed to adjust it before running it to # properly duplicate the plugins. # XXX: Patch the script to support DESTDIR and send the patch upstream. sed -e "s:^\(PIPELIGHT_LIBRARY_PATH=\"\)\\(.*\):\1${ED}usr/$(get_libdir)/${PN}\":" \ -e "s:^\(PLUGIN_PATH=\"\)\\(.*\):\1${ED}usr/$(get_libdir)/${PN}\":" \ "${ED}/usr/bin/pipelight-plugin" > "${T}/pipelight-plugin" \ || die "Generating temporary pipelight-plugin failed" chmod u+x "${T}/pipelight-plugin" \ || die "Setting permissions on temporary pipelight-plugin failed" # Create Plugins "${T}/pipelight-plugin" --create-mozilla-plugins \ || die "Creating plugins failed" } postinst() { # Obligatory warnings about proprietary software ewarn "Neither the Gentoo developers nor the Pipelight developers can" ewarn "patch security vulnerabilities in Windows plugins. Use them at your" ewarn "own risk." # Warn about missing pipelight-sandbox ewarn ewarn "The pipelight sandbox has not been packaged yet. Plugins will have" ewarn "full privileges as Windows programs running inside wine." # Helpful information for those willing to live dangerously einfo "Using Windows plugins on certain websites might require a useragent" einfo "switcher. See the upstream tutorial for more details." einfo einfo "http://www.pipelight.net/cms/installation-user-agent.html" einfo einfo "End users should use the pipelight-plugin utility to install and" einfo "manage plugins. Updates are done at plugin initialization whenever" einfo "/usr/share/pipelight/install-dependency has been updated. This can" einfo "be done either by doing updates via portage or by running" einfo "pipelight-plugin --update as root. Browsers like Chrome (all" einfo "versions before 35) will initialize plugins at boot while browsers" einfo "like Firefox will initialize plugins on demand." einfo # Users must be in the video group for video acceleration einfo "Membership in the video group is required for using plugins that" einfo "feature hardware acceleration for video decoding. This is important" einfo "for video streaming sites that use Silverlight." }