Установка KWine в Gentoo Linux

()

Набор инструментов KWine предназначен для более тесной интеграции эмулятора Windows Wine и среды рабочего стола KDE. Он состоит из шести пакетов. Базовый для всех пакет kwinetools и пять дополнительных, каждый из которых соединяет какую-то часть KDE с Wine.

Мной было написано шесть ebuild'ов для Gentoo чтобы установить все эти пакеты. Однако при сборке первого же (kwine tools) я столкнулся с определёнными трудностями. В итоге я решил практически все проблемы для четырёх пакетов. Пятый упорно отказался собираться с моей версией Wine (подозреваю что на более старой он соберётся нормально), а шестой зависит от пятого.

Итак. В этой статье я постараюсь поделиться своим опытом по сборке первых четырёх пакетов KWine и выскажу свои соображения по поводу сборки оставшихся двух.

Немного о моей системе:

  • Архитектура x86
  • =kde-base/kdebase-3.5.5
  • =app-emulation/wine-0.9.24

Далее приведу тексты четырёх файлов, а именно:

/usr/local/portage/app-emulation/kwinetools/kwinetools-0.1.ebuild
/usr/local/portage/app-emulation/kwine/kwine-0.1.ebuild
/usr/local/portage/app-emulation/kio_wine/kio_wine-0.1.ebuild
/usr/local/portage/app-emulation/kfile_wine/kfile_wine-0.1.ebuild

Первый файл это ebuild для базового пакета - kwinetools. Он содержит набор разделяемых библиотек, используемых другими приложениями KWine:

DESCRIPTION="Tools set to improve KDE and Wine interoperability."
KEYWORDS="x86"
IUSE=""
SRC_URI="http://switch.dl.sourceforge.net/sourceforge/kwine/kwinetools-${PV}.tar.gz"

DEPEND="kde-base/kdebase
        app-emulation/wine"

src_install(){
        make install DESTDIR=${D}
}

Мне пришлось переопределить функцию src_install, потому как иначе получался пустой пакет. Т.е. ни один файл не устанавливался. То же касается и всех остальных пакетов.

Второй файл - ebuild для основного пакета kwine. В нём содержиться несколько .desktop-файлов для интеграции Wine в KDE. И самое главное - обёртка для Wine - kwine. После установки этого пакета все *.exe файлы будут запускаться с помощью оболочки kwine, которая в случае краха предоставляет более информативный вывод чем Wine и не ввиде сообщений в консоли, а в виде графиеского окна сообщения.

DESCRIPTION="Tools set to improve KDE and Wine interoperability."
KEYWORDS="x86"
IUSE=""
SRC_URI="http://switch.dl.sourceforge.net/sourceforge/kwine/kwine-${PV}.tar.gz"

DEPEND="kde-base/kdebase
        app-emulation/wine
        app-emulation/kwinetools"

RDEPEND="app-emulation/kio_wine
         app-emulation/kfile_wine"

src_install(){
        make install DESTDIR=${D}
}

Третий файл - ebuild для kio_wine. Этот пакет предоставляет возможность красивого и простого доступа к ресурсам виртуальной (эмулируемой) системы через konqueror. Т.е. например диск C: вам будет доступен как c:/, а папка windows на нём как c:/windows/. Кроме того вы сможете увидеть весь список Wine-дисков по адресу wine:/.

DESCRIPTION="Tools set to improve KDE and Wine interoperability."
KEYWORDS="x86"
IUSE=""
SRC_URI="http://switch.dl.sourceforge.net/sourceforge/kwine/kio_wine-${PV}.tar.gz"

DEPEND="kde-base/kdebase
        app-emulation/wine
        app-emulation/kwinetools"

src_install(){
        make install DESTDIR=${D}
}

И наконец четвёртый файл - ebuild для kfile_wine. Тоже очень интересный пакет. Он позволяет в режиме просмотра эксизов в konqueror видеть значки из exe и dll-файлов. Примерно так, как это сделано в Windows.

DESCRIPTION="Tools set to improve KDE and Wine interoperability."
KEYWORDS="x86"
IUSE=""
SRC_URI="http://switch.dl.sourceforge.net/sourceforge/kwine/kfile_wine-${PV}.tar.gz"

DEPEND="kde-base/kdebase
        app-emulation/wine
        app-emulation/kwinetools"

src_install(){
        make install DESTDIR=${D}
}

Для пакетов, которые мне собрать не удалось (kwinedcop и kwine_startmenu), я не привожу тексты ebuild'ов, однако я думаю что читатель и сам сможет их написать по аналогии. Следует помнить, что kwinedcop должен быть собран перед kwine_startmenu, т.е. он должен быть у него в зависимостях.

Теперь можно приступить к установке. Для этого выполните команду:

emerge app-emulation/kwine

В принципе этого достаточно, однако, если сборка не пройдёт с сообщением:

checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE headers installed. This will fail.
So, check this please and use another prefix!

то вам нужно определить переменную окружения KDEDIR. Вы можете это сделать примерно вот так:

KDEDIR="/usr/kde/3.5/" emerge app-emulation/kwine

Но я поступил немного по другому - дописал в /etc/profile следующую строчку:

export KDEDIR=`kde-config --prefix`

Затем выполнил:

source /etc/profile

И забыл о проблемах:)

Теперь о неудачной сборке kwinedcop: при сборке компилятор не может найти файл windows.h. Поиск в Make-файлах показал что скрипт configure при генерации Makefile просто не передал параметр -I/usr/include/wine/windows компилятору. Очевидно нужно написать небольшой патч. Но у меня хронически нет на это времени. Если кто сделает - буду благодарен.

Хотя в этой статье я и говорил о дистрибутиве Gentoo Linux, однако используя данные здесь рекоммендации можно установить KWine практически в любом другом дистрибутиве.

Ссылки:

Ключевые слова: wine, kde, kwine, gentoo, ebuild.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE