summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild')
-rw-r--r--app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild76
1 files changed, 42 insertions, 34 deletions
diff --git a/app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild b/app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild
index 2a0e005..b5866c4 100644
--- a/app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild
+++ b/app-emulation/vmware-player/vmware-player-12.1.0.3272444-r2.ebuild
@@ -111,10 +111,8 @@ BUNDLED_LIB_DEPENDS="
x11-libs/gtk+:2
x11-libs/libXau
x11-libs/libXcomposite
- x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXfixes
- x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/pango
@@ -127,8 +125,10 @@ RDEPEND="
media-libs/alsa-lib
net-print/cups
x11-libs/libX11
+ x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXi
+ x11-libs/libXinerama
x11-libs/libXtst
x11-libs/startup-notification
x11-themes/hicolor-icon-theme
@@ -173,35 +173,45 @@ src_unpack() {
}
clean_bundled_libs() {
- einfo "Removing bundled libraries"
- for libname in ${BUNDLED_LIBS} ; do
- rm -rv "${S}"/lib/lib/${libname} || die "Failed removing bundled ${libname}"
- done
-
- rm -rv "${S}"/lib/libconf || die "Failed removing bundled gtk conf libs"
-
- # Among the bundled libs there are libcrypto.so.1.0.1 and libssl.so.1.0.1
- # (needed by libcds.so) which seem to be compiled from openssl-1.0.1h.
- # Upstream real sonames are *so.1.0.0 so it's necessary to fix DT_NEEDED link
- # in libcds.so to be able to use system libs.
- pushd >/dev/null .
- einfo "Patching libcds.so"
- cd "${S}"/lib/lib/libcds.so || die
- patchelf --replace-needed libssl.so.1.0.{1,0} \
- --replace-needed libcrypto.so.1.0.{1,0} \
- libcds.so || die
- popd >/dev/null
-
- # vmware-player seems to use a custom version of libgksu2.so, for this reason
- # we leave the bundled version. The libvmware-gksu.so library declares simply DT_NEEDED
- # libgksu2.so.0 but it uses at runtime the bundled version, patch the lib to avoid portage
- # preserve-libs mechanism to be triggered when a system lib is available (but not required)
- pushd >/dev/null .
- einfo "Patching libvmware-gksu.so"
- cd "${S}"/lib/lib/libvmware-gksu.so || die
- patchelf --set-rpath "\$ORIGIN/../libgksu2.so.0" \
- libvmware-gksu.so || die
- popd >/dev/null
+ if ! use bundled-libs ; then
+ einfo "Removing bundled libraries"
+ for libname in ${BUNDLED_LIBS} ; do
+ rm -rv "${S}"/lib/lib/${libname} || die "Failed removing bundled ${libname}"
+ done
+
+ rm -rv "${S}"/lib/libconf || die "Failed removing bundled gtk conf libs"
+
+ # Among the bundled libs there are libcrypto.so.1.0.1 and libssl.so.1.0.1
+ # (needed by libcds.so) which seem to be compiled from openssl-1.0.1h.
+ # Upstream real sonames are *so.1.0.0 so it's necessary to fix DT_NEEDED link
+ # in libcds.so to be able to use system libs.
+ pushd >/dev/null .
+ einfo "Patching libcds.so"
+ cd "${S}"/lib/lib/libcds.so || die
+ patchelf --replace-needed libssl.so.1.0.{1,0} \
+ --replace-needed libcrypto.so.1.0.{1,0} \
+ libcds.so || die
+ popd >/dev/null
+
+ # vmware-player seems to use a custom version of libgksu2.so, for this reason
+ # we leave the bundled version. The libvmware-gksu.so library declares simply DT_NEEDED
+ # libgksu2.so.0 but it uses at runtime the bundled version, patch the lib to avoid portage
+ # preserve-libs mechanism to be triggered when a system lib is available (but not required)
+ pushd >/dev/null .
+ einfo "Patching libvmware-gksu.so"
+ cd "${S}"/lib/lib/libvmware-gksu.so || die
+ patchelf --set-rpath "\$ORIGIN/../libgksu2.so.0" \
+ libvmware-gksu.so || die
+ popd >/dev/null
+ else
+ # if librsvg is not installed in the system then vmware doesn't start
+ pushd >/dev/null .
+ einfo "Patching svg_loader.so"
+ cd "${S}"/lib/libconf/lib/gtk-2.0/2.10.0/loaders || die
+ patchelf --set-rpath "\$ORIGIN/../../../../../lib/librsvg-2.so.2" \
+ svg_loader.so || die
+ popd >/dev/null
+ fi
}
src_prepare() {
@@ -210,9 +220,7 @@ src_prepare() {
# Bug 459566
mv lib/libvmware-netcfg.so lib/lib/
- if ! use bundled-libs ; then
- clean_bundled_libs
- fi
+ clean_bundled_libs
DOC_CONTENTS="
/etc/env.d is updated during ${PN} installation. Please run:\n