summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2018-09-03 10:43:00 -0400
committerRichard Yao <ryao@gentoo.org>2018-09-03 10:44:32 -0400
commit5ca765e6532606bc3569bcf8b7c474bdf508460e (patch)
tree2f151e8e15fdb590f26230f35afce0dae8787250 /app-emulation
parentRevert "media-video/vdr: cleanup old" (diff)
downloadgentoo-5ca765e6532606bc3569bcf8b7c474bdf508460e.tar.gz
gentoo-5ca765e6532606bc3569bcf8b7c474bdf508460e.tar.bz2
gentoo-5ca765e6532606bc3569bcf8b7c474bdf508460e.zip
app-emulation/crossover-bin: Bump to 17.5.1
This also includes a fix for the install process breaking when a recent version of konqueror is installed. Crossover relies on it for KDE version detection while Konqueror in its infinite wisdom decided to open things with write permissions, which are sandbox violations. Right now, the fix is only in 17.5.1. I need to talk to upstream and think about this some more before I decide the proper course of action. Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/crossover-bin/Manifest1
-rw-r--r--app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild157
2 files changed, 158 insertions, 0 deletions
diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest
index 20040fb6fa24..c94cbc9afa01 100644
--- a/app-emulation/crossover-bin/Manifest
+++ b/app-emulation/crossover-bin/Manifest
@@ -17,3 +17,4 @@ DIST install-crossover-15.3.1.bin 80774288 BLAKE2B 3d3fd83ee426a66ead3c88f4ca584
DIST install-crossover-16.0.0.bin 197872657 BLAKE2B d500ed4f6a426154b376ead6c2b50eb21a403303561078dc51982a5147af23261dda9892717c16c6e2f3b2a30ffc84e73070cd330bea70ba89c79180c4933297 SHA512 184533679ddf3918ab5fc00b01452d868c694fbc7ccb5484c88822cc52da067fd1a0be0387e4050e40d9b367052158faec27dc06f6a371a044b5a1782950e780
DIST install-crossover-16.2.5.bin 198336730 BLAKE2B a11252dab552846fe0a1527cd59cd62907142385062b744591cef6707213d03945879fc5da6bcfaaa315967c51ae15159ad14d8519407542b82f0eb53c5fd02e SHA512 17cb711e7257f094e9ccf939edc1ca6be362f18b86078fe307b7e1337850e182d02fde087789f13ea2bf96ca89736f941c1a7bd93ff1b37a78fe8f846a1d5e22
DIST install-crossover-17.5.0.bin 198287744 BLAKE2B c594192927874e5a80626ad110f0089f2bf8b7385a16ff7755923d63ebb0559b1aa505ec4e8b6f85253ac13736b7f9af178c64ed042a515d31cd4565295db163 SHA512 8592d2c91c437d62d1fd5fecf6230eeabfe56c38f49ea795bf4d3b51d8ae4399f1b01801d60dcccb94caeb4dd662675c2739f730f39ef178db32dd4f72182197
+DIST install-crossover-17.5.1.bin 198278549 BLAKE2B e53504177eb4a4030a31ae73baf26144375dd559bcd58af3ef05364cfb7a00b8cd68d879e6ef31e92b165876e4c3f85ebcb823dd6585c3edcb8e4cafb76d8e59 SHA512 d1e41c5290c56bbb23a6317e91800d7c23d2b4389ebf08ef4416718103aa06b05b33c655d3ef413fe76773dd3599d8fe3d4ea64274fcc18518923990f980bf2a
diff --git a/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild b/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild
new file mode 100644
index 000000000000..1d2e3bb99523
--- /dev/null
+++ b/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit python-single-r1 unpacker
+
+DESCRIPTION="Commercial version of app-emulation/wine with paid support."
+HOMEPAGE="http://www.codeweavers.com/products/crossover/"
+SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin"
+
+LICENSE="CROSSOVER-3"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l"
+RESTRICT="bindist test"
+QA_FLAGS_IGNORED="opt/cxoffice/.*"
+QA_PRESTRIPPED="opt/cxoffice/lib/.*
+ opt/cxoffice/bin/cxburner
+ opt/cxoffice/bin/cxntlm_auth
+ opt/cxoffice/bin/wineserver
+ opt/cxoffice/bin/unrar
+ opt/cxoffice/bin/wine-preloader
+ opt/cxoffice/bin/cxdiag
+ opt/cxoffice/bin/cxgettext
+ opt/cxoffice/bin/wineloader
+ "
+S="${WORKDIR}"
+
+DEPEND="dev-lang/perl
+ app-arch/unzip
+ ${PYTHON_DEPS}"
+
+RDEPEND="${DEPEND}
+ !prefix? ( sys-libs/glibc )
+ >=dev-python/pygtk-2.10[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-util/desktop-file-utils
+ !app-emulation/crossover-office-pro-bin
+ !app-emulation/crossover-office-bin
+ capi? ( net-libs/libcapi[abi_x86_32(-)] )
+ cups? ( net-print/cups[abi_x86_32(-)] )
+ gsm? ( media-sound/gsm[abi_x86_32(-)] )
+ jpeg? ( virtual/jpeg[abi_x86_32(-)] )
+ lcms? ( media-libs/lcms:2 )
+ ldap? ( net-nds/openldap[abi_x86_32(-)] )
+ gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] )
+ mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] )
+ nls? ( sys-devel/gettext[abi_x86_32(-)] )
+ openal? ( media-libs/openal[abi_x86_32(-)] )
+ opencl? ( virtual/opencl[abi_x86_32(-)] )
+ opengl? (
+ virtual/glu[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ )
+ png? ( media-libs/libpng:0[abi_x86_32(-)] )
+ scanner? ( media-gfx/sane-backends[abi_x86_32(-)] )
+ ssl? ( dev-libs/openssl:0[abi_x86_32(-)] )
+ v4l? ( media-libs/libv4l[abi_x86_32(-)] )
+ media-libs/alsa-lib[abi_x86_32(-)]
+ >=media-libs/freetype-2.0.0[abi_x86_32(-)]
+ media-libs/mesa[abi_x86_32(-)]
+ sys-auth/nss-mdns[abi_x86_32(-)]
+ sys-apps/util-linux[abi_x86_32(-)]
+ sys-libs/ncurses:5/5[abi_x86_32(-)]
+ sys-libs/zlib[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libSM[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXau[abi_x86_32(-)]
+ x11-libs/libXdmcp[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/libXi[abi_x86_32(-)]
+ x11-libs/libXrandr[abi_x86_32(-)]
+ x11-libs/libXxf86vm[abi_x86_32(-)]
+ x11-libs/libxcb[abi_x86_32(-)]"
+
+pkg_nofetch() {
+ einfo "Please visit ${HOMEPAGE}"
+ einfo "and place ${A} in ${DISTDIR}"
+}
+
+src_unpack() {
+ # self unpacking zip archive; unzip warns about the exe stuff
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ python_fix_shebang .
+
+ sed -i \
+ -e "s:xdg_install_icons(:&\"${ED}\".:" \
+ -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \
+ -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \
+ "${S}/lib/perl/CXMenuXDG.pm"
+
+ # Remove unnecessary files
+ rm -r license.txt guis/ || die "Could not remove files"
+ use doc || rm -r doc/ || die "Could not remove files"
+}
+
+src_install() {
+ # Install crossover symlink, bug #476314
+ dosym ../cxoffice/bin/crossover /opt/bin/crossover
+
+ # Install documentation
+ dodoc README changelog.txt
+ rm README changelog.txt || die "Could not remove README and changelog.txt"
+
+ # Install files
+ dodir /opt/cxoffice
+ #cp -r ./* "${ED}opt/cxoffice" \
+ find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \
+ || die "Could not install into ${ED}opt/cxoffice"
+
+ # Install configuration file
+ insinto /opt/cxoffice/etc
+ doins share/crossover/data/cxoffice.conf
+
+ # Konqueror in its infinite wisdom decides to try opening things for
+ # writing, which are sandbox violations. This breaks the install process if
+ # it is installed, so we ninja edit it to false so it so doesn't run.
+ sed -i -e 's/cxwhich konqueror/false &/' "${ED}opt/cxoffice/bin/locate_gui.sh" \
+ || die "Could not apply workaround for konqueror"
+
+ # Install menus
+ # XXX: locate_gui.sh automatically detects *-application-merged directories
+ # This means what we install will vary depending on the contents of
+ # /etc/xdg, which is a QA violation. It is not clear how to resolve this.
+ XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \
+ "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \
+ || die "Could not install menus"
+
+ # Revert ninja edit
+ sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}opt/cxoffice/bin/locate_gui.sh" \
+ || die "Could not apply workaround for konqueror"
+
+ rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \
+ || die "Could not remove uninstall menus"
+ sed -i \
+ -e "s:\"${ED}\".::" \
+ -e "s:${ED}::" \
+ "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \
+ || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm"
+ sed -i -e "s:${ED}:/:" \
+ "${ED}usr/share/applications/"*"CrossOver.desktop" \
+ || die "Could not fix paths of *.desktop files"
+}
+
+pkg_postinst() {
+ einfo "${P} is open source software with the exception of the GUI."
+ einfo "Source code can be obtained from:"
+ einfo
+ einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz"
+}