Установка Crossover в Gentoo

Crossover — коммерческая оболочка для эмулятора windows приложений wine, исправляющая множество ошибок и багов wine, а также включающая автоматическую установку зависимостей для большого количества программ и игр. Установка Crossover в Gentoo может вызвать некоторые сложности, особенно в новых пользователей, хотя что делать новичкам в Gentoo? 🙂

И так идем на официальный сайт CodeWears и загружаем там установочный пакет версии 14.0.3, поскольку это самая новая версия к которой есть ebuild. На странице загрузки нужно выбрать ОС — other linux distribution, ввести свое имя, электронный адрес и код с картинки, да и галочку снять не забудьте чтобы на почту всякий спам не сыпали:

crossover

Теперь когда мы получили доступ к загрузке видим что доступна только последняя версия программы, на данный момент последняя это 14.0.3 так что все нормально, но в будущем может выйти новая. Архива версий я не нашел но, можно выбрать версию вручную подправив ссылку. Например для нашей версии ссылка будет выглядеть вот так: https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-14.0.3.bin здесь 14.0.3 номер версии, таким способом можно получить любую доступную на сайте версию программы.

После загрузки скопируйте установочный файл в папку /usr/portage/distfiles командой:

cp ~/адрес_файла /usr/portage/distfiles

Официальный ebuild на данный момент не работает, поэтому нужно использовать модифицированный найденный на просторах интернета:

[sourcecode]
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild,v 1.1 2014/12/20 18:56:20 ryao Exp $

EAPI=5
PYTHON_COMPAT=( python{2_6,2_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=»install-crossover-${PV}.bin»

LICENSE=»CROSSOVER-2″
SLOT=»0″
KEYWORDS=»-* ~amd64 ~x86″
IUSE=»+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l»
RESTRICT=»fetch 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}»

REGULAR_DEPS=»
capi? ( net-dialup/capi4k-utils )
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(-)] )
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-apps/util-linux[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(-)]
»

EMUL_DEPS=»
app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
openal? ( app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)] )
opengl? ( app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] )
scanner? ( app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
v4l? ( app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )
»

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
|| ( ( ${REGULAR_DEPS} ) ( ${EMUL_DEPS} ) )
»

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 -e ‘s:/usr/local/etc/xdg /etc/xdg::’ -i «${WORKDIR}/bin/locate_gui.sh» \
|| die «Could not patch ${WORKDIR}/bin/locate_gui.sh»

# 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 /opt/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» \
|| die «Could not install into ${ED}opt/cxoffice»

# Install configuration file
insinto /opt/cxoffice/etc
doins share/crossover/data/cxoffice.conf

# Install requisite directories for menus
dodir «/usr/share/applications»
dodir «/etc/xdg/menus/applications-merged»

# Install menus
XDG_CONFIG_DIRS=»${ED}etc/xdg» \
XDG_DATA_DIRS=»${ED}usr/share» \
«${ED}opt/cxoffice/bin/cxmenu» —crossover —install \
|| die «Could not install menus»

# Fix menus
sed -e «s:${ED}:/:» -i «${ED}usr/share/applications/»* \
|| die «Could not fix menus»
}
[/sourcecode]

Откройте официальный ebuild /usr/portage/app-emulation/crossover-bin/crossover-bin-14.0.3.ebuild и замените в нем текст на тот что приведен выше. Затем выполните команду:

sudo ebuild /usr/portage/app-emulation/crossover-bin/crossover-bin-14.0.3.ebuild digest

Вот только теперь мы готовы к установке, можно запускать emerge:

sudo emerge -v crossover-bin

Надеюсь информация данной статьи была полезной.

 

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: