initial ebuild

This commit is contained in:
Anton Bolshakov 2010-09-23 06:51:53 +00:00
parent 81d8e2e3e9
commit e427e04cfe
3 changed files with 230 additions and 0 deletions

View file

@ -0,0 +1,3 @@
bug #
http://bugs.gentoo.org/show_bug.cgi?id=333579

View file

@ -0,0 +1,4 @@
DIST google-talkplugin_1.4.1.0-1_amd64.deb 6926676 RMD160 193e54db5aa9505aca4287f8a82b109414de4694 SHA1 999b57b6dc37d91de7c56f5d4275df1d19af8b46 SHA256 6aeb4a1e7d20d61d0120c698c8de93cac08af344453d00737323352c0c03e974
DIST google-talkplugin_1.4.1.0-1_i386.deb 5903566 RMD160 f5a1ed907943ac4084a2421f01a7df59faff9429 SHA1 aa652e3cd66a4ca6f2cf69ad1462dfb682958855 SHA256 b15e89783a7f39022d2e4946a0a7704f10750291b35eac421941d2ad22c93837
EBUILD google-talkplugin-1.4.1.0-r100.ebuild 5699 RMD160 c799d097b3ef3d6fac29f9470f92b0e72ac7f807 SHA1 bd1fe1b51b39c7030eb498505a4944daec94b0ef SHA256 c900d0ab80d21b0cf412e00295307f739771955ed432114f693ab0e9b71e7552
MISC Changelog 53 RMD160 9e6de92f638b7bd23a5cb67a205484fdc8b4a655 SHA1 eb574ece6871f350bfd619f9fbeb4996b5e19c64 SHA256 e90b5bd09759845032c814f2ad49fa60b5507e0bc00f23e8d1a61899df2cc879

View file

@ -0,0 +1,223 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=3
inherit multilib nsplugins
if [ "${PV}" != "9999" ]; then
MY_URL="http://dl.google.com/linux/talkplugin/deb/pool/main/${P:0:1}/${PN}"
DEB_PATCH="1"
MY_32B_PKG="${PN}_${PV}-${DEB_PATCH}_i386.deb"
MY_64B_PKG="${PN}_${PV}-${DEB_PATCH}_amd64.deb"
else
MY_URL="http://dl.google.com/linux/direct"
MY_32B_PKG="${PN}_current_i386.deb"
MY_64B_PKG="${PN}_current_amd64.deb"
fi
DESCRIPTION="Video chat browser plug-in for Google Talk"
SRC_URI="x86? ( ${MY_URL}/${MY_32B_PKG} )
amd64? (
multilib? (
32bit? ( ${MY_URL}/${MY_32B_PKG} )
64bit? ( ${MY_URL}/${MY_64B_PKG} )
)
!multilib? ( ${MY_URL}/${MY_64B_PKG} )
)"
HOMEPAGE="http://www.google.com/chat/video"
IUSE="nspluginwrapper +system-libCg 32bit 64bit"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
LICENSE="UNKNOWN"
RESTRICT="strip mirror"
#from debian control file and ldd
NATIVE_DEPS="|| ( media-sound/pulseaudio media-libs/alsa-lib )
>=sys-libs/glibc-2.4
media-libs/fontconfig
media-libs/freetype:2
virtual/opengl
media-libs/glew
dev-libs/glib:2
x11-libs/gtk+:2
media-libs/libpng:1.2
media-libs/libpng:0
dev-libs/openssl
x11-libs/libX11
x11-libs/libXfixes
x11-libs/libXt
x11-libs/libxcb
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXxf86vm
x11-libs/libXdamage
x11-libs/libxcb
x11-libs/libdrm
x11-libs/libSM
x11-libs/libICE
x11-libs/pango
x11-libs/libXi
dev-libs/atk
x11-libs/cairo
x11-libs/libXrandr
x11-libs/libXcursor
x11-libs/libXcomposite
x11-libs/libXrender
dev-libs/expat
sys-apps/util-linux
x11-libs/pixman
x11-libs/xcb-util
system-libCg? ( media-gfx/nvidia-cg-toolkit )
sys-apps/lsb-release
sys-libs/zlib"
DEPEND="amd64? ( nspluginwrapper? ( www-plugins/nspluginwrapper ) )"
EMUL_DEPS=">=app-emulation/emul-linux-x86-baselibs-20100220
app-emulation/emul-linux-x86-gtklibs
app-emulation/emul-linux-x86-soundlibs
app-emulation/emul-linux-x86-xlibs"
RDEPEND="x86? ( ${NATIVE_DEPS} )
amd64? (
multilib? (
64bit? ( ${NATIVE_DEPS} )
32bit? ( ${EMUL_DEPS} )
)
!multilib? ( ${NATIVE_DEPS} )
)"
INSTALL_BASE="opt/google/talkplugin"
[ "${ARCH}" = "amd64" ] && SO_SUFFIX="64" || SO_SUFFIX=""
QA_TEXTRELS="${INSTALL_BASE}/libnpgtpo3dautoplugin.so
${INSTALL_BASE}/libnpgoogletalk${SO_SUFFIX}.so"
QA_TEXTRELS_amd64="${INSTALL_BASE}32/libnpgtpo3dautoplugin.so
${INSTALL_BASE}32/libnpgoogletalk.so"
rm_nswrapper_plugin() {
#remove all wrapped plugins
local i plugin
if use amd64 && has_version 'www-plugins/nspluginwrapper'; then
for i in libnpgtpo3dautoplugin.so libnpgoogletalk.so; do
plugin=$(nspluginwrapper -l | grep -e "^/.*$i")
if [[ -f ${plugin} ]]; then
einfo "Removing 32-bit plugin wrapper: ${plugin}"
nspluginwrapper -r "${plugin}"
fi
done
fi
}
pkg_setup() {
if use x86; then
export MY_INSTALL_TYPE="native"
elif use amd64; then
if use multilib; then
if use 32bit && use 64bit; then
export MY_INSTALL_TYPE="both"
elif use 64bit; then
export MY_INSTALL_TYPE="native"
elif use 32bit; then
export MY_INSTALL_TYPE="cross"
else
eerror "You must select at least one library USE flag (32bit or 64bit)"
die "No library version selected [-32bit -64bit]"
fi
else
export MY_INSTALL_TYPE="native"
fi
fi
}
src_unpack() {
if [ "${MY_INSTALL_TYPE}" = "native" ]; then
unpack ${A} ./data.tar.gz ./usr/share/doc/google-talkplugin/changelog.Debian.gz
else # cross or both
mkdir 32bit
cd 32bit
unpack "${MY_32B_PKG}" ./data.tar.gz ./usr/share/doc/google-talkplugin/changelog.Debian.gz
cd ..
fi
if [ "${MY_INSTALL_TYPE}" = "both" ]; then
unpack "${MY_64B_PKG}" ./data.tar.gz ./usr/share/doc/google-talkplugin/changelog.Debian.gz
fi
}
src_install() {
if [ "${MY_INSTALL_TYPE}" != "cross" ]; then #native or both
dodoc ./usr/share/doc/google-talkplugin/changelog.Debian
cd "./${INSTALL_BASE}"
exeinto "${EROOT}${INSTALL_BASE}"
doexe GoogleTalkPlugin libnpgtpo3dautoplugin.so libnpgoogletalk"${SO_SUFFIX}".so
inst_plugin "${EROOT}${INSTALL_BASE}"/libnpgtpo3dautoplugin.so
inst_plugin "${EROOT}${INSTALL_BASE}"/libnpgoogletalk"${SO_SUFFIX}".so
#install bundled libCg
if ! use system-libCg; then
cd lib
exeinto "${EROOT}${INSTALL_BASE}/lib"
doexe *.so
fi
fi
if [ "${MY_INSTALL_TYPE}" != "native" ]; then #cross or both
oldabi="${ABI}"
ABI="x86"
cd 32bit
cd "./${INSTALL_BASE}"
exeinto "${EROOT}${INSTALL_BASE}32"
doexe GoogleTalkPlugin libnpgtpo3dautoplugin.so libnpgoogletalk.so
inst_plugin "${EROOT}${INSTALL_BASE}"32/libnpgtpo3dautoplugin.so
inst_plugin "${EROOT}${INSTALL_BASE}"32/libnpgoogletalk.so
#install bundled libCg
if ! use system-libCg; then
cd lib
exeinto "${EROOT}${INSTALL_BASE}"32/lib
doexe *.so
fi
ABI="${oldabi}"
fi
}
pkg_prerm() {
rm_nswrapper_plugin
}
pkg_postinst() {
local i
if use amd64; then
if [ "${MY_INSTALL_TYPE}" = "cross" ]; then
if has_version 'www-plugins/nspluginwrapper'; then
#install 32bit plugins for 64bit browsers
oldabi="${ABI}"
ABI="x86"
einfo "nspluginwrapper detected: Installing plugin wrapper"
for i in libnpgtpo3dautoplugin.so libnpgoogletalk.so; do
nspluginwrapper -i "${EROOT}/usr/$(get_libdir)/${PLUGINS_DIR}/${i}"
done
ABI="${oldabi}"
else
einfo "To use the 32-bit plugins in a native 64-bit firefox,"
einfo "you must install www-plugins/nspluginwrapper and run"
for i in libnpgtpo3dautoplugin.so libnpgoogletalk.so; do
einfo "nspluginwrapper -i '${EROOT}/usr/$(get_libdir)/${PLUGINS_DIR}/${i}'"
done
fi
else #both or native
rm_nswrapper_plugin
fi
fi
}