Патч на Wine. [Решено]

Понадобилось наложить патч на Вайн для rawinput. Как это можно сделать с учётом того что ебилды никогда не писал ?
Очень хочу игрушку одну запустить: 'Hellgate London'. Это тот-же Diablo но современный. Или может кто нибудь ебилд напишет ?

Ничего сверхсложного там

Ничего сверхсложного там нету. Вам необходимо поместить файл в локальный оверлей (структура папок должна остаться прежней). В папке с приложением создать папку files и поместить туда патч. Логично, если были патчи и до этого, то их надо скопировать.
В ебилд добавить что-то следующее

src_unpack() {
        unpack ${A}
        cd "${S}"
        epatch "${FILESDIR}"/${P}-gcc4.patch /* здесь заменить на имя своего патча */
 }

Если данный метод уже есть - надо поправить его содержимое в зависимости от ситуации.
Далее обновляем манифест и устанавливаем.

А что такое "обновляем

А что такое "обновляем манифест" ?

Мышка дура, прав был Суворов.

ты на форуме уже год с лишком

ты на форуме уже год с лишком - а думать головой так и не привык ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Ну зачем же грубить ?

Ну зачем же грубить ? Привычные вещи всегда кажутся очевидными для тех кто их знает.Ты что родился со своими знаниями? Имею сильные подозрения что тебя кто-то научил и он был не такой спесивый как ты. Научи меня тому что знаешь сам, и может я буду это делать лучше тебя... Вообще я техник а не программист.

Мышка дура, прав был Суворов.

Вообще я техник а не

Вообще я техник а не программист.

А я автослесарь :-D. Специализация - большие дизеля :)

P.S прочитать хендбук и те доки, которые там упомянуты, совсем не трудно. это раз
Тебя я запомнил тем, что ты постоянно задаешь вопросы, ответы на которые есть в оффициальной документации проекта Гентоо, и при этом предложение их прочитать встречаешь в штыки с просьбой разжевать. Это два
И три: http://devmanual.gentoo.org - там наверно много букоф ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

А тебя я запомнил потому что

А тебя я запомнил потому что ты никогда не ошибешься, к примеру в этом топике уже шесть твоих постов с общим количеством полезной информации - ноль. Похоже слесарь из тебя не получился, просто трепло...

P.S. Если бы все читали всю документацию по своим вопросам то этого форума не существовало бы. К тому же доки не совершенны.

Мышка дура, прав был Суворов.

ebuild твой_wine.ebuild

ebuild твой_wine.ebuild digest

У меня есть архив

У меня есть архив rawinput.tgz в котором находятся 3 файла *.diff. В связи с этим вопросы:

1) в каталог files поместить архив или надо распаковать ?

2) надо ли создавать 3 строки вида: epatch "${FILESDIR}"/${P}-gcc4.patch /* здесь заменить на имя своего патча */
для каждого файла или можно уместить в одну строку ?

3) в какой части ебилда добавлять секцию про патчи ?

Мышка дура, прав был Суворов.

кинь уже сюда ебилд и имена

кинь уже сюда ебилд и имена файлов патчей
патчи из архива достать надо и положить в папку files

патчи из архива не надо :-D

патчи из архива достать надо

не надо :-D

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Может кто нибудь разжуёт ?

Может кто нибудь разжуёт ? Почему например команда epatch в секции src_unpack а не в секции src_prepare ? Кто знает объясните в ирке или в скайпе если писать здесь лень.

Мышка дура, прав был Суворов.

у тебя для какого вайна патч?

у тебя для какого вайна патч? для 1.2 он уже не подходит. вот так примерно: http://paste.pocoo.org/show/239035/

и:
src_prepare() {
epatch "${FILESDIR}"/rawinput.patch
}

Для стабильного, 1.1.44 или

Для стабильного, 1.1.44 или 1.1.43. И у меня только файлы *.diff. rawinput.patch нету.
Хоть где нибудь об этом на русском есть ? Тяжело на английском когда не понимаешь о чём речь. В принципе патч на вайн не так уж и нужен, просто мотивация появилась. Научиться давно хочу, но с мёртво точки сдвинуться без посторонней помощи сложно.

Мышка дура, прав был Суворов.

вобщем на

вобщем на http://paste.pocoo.org/show/239035/ rawinput.patch и лежит, из твоих трёх сделанный. только я его для 1.2 поправил. так что копируй, и ставь wine 1.2 :)

http://www.gentoo.org/doc/ru/

http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=3&chap=6 - хорошая статья.
распаковывай тарбол с вайном.
ebuild /usr/portage/app-emulation/wine/wine-1.2.ebuild unpack (как то так)
применяй на него свои патчи, в той директории в которую он распаковался.
ну и потом в конце
ebuild /usr/portage/app-emulation/wine/wine-1.2.ebuild install

З.Ы почитай по подробнее руководства по системе portage, и все прилегающие к ней линки, очень нужная информация для гентушников.
и писать для таких ситуаций ебилды имхо глупость.

Может и глупость но их все

Может и глупость но их все делают, я пока не разобрался что к чему. Постепенно победю. Спасибо.

Мышка дура, прав был Суворов.

его не надо делать. в готовый

его не надо делать. в готовый одну строчку добавить.

ну а если совсем хорошо

ну а если совсем хорошо пошаманить. то ебилд вобще не надо трогать

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

А как шаманить-то ?

А как шаманить-то ?
Может всё же кто нибудь мне скажет куда свою строку в ебилд вписать. Вот вижу я перед собой секцию в ебилде:

src_prepare() {
    if use pulseaudio ; then
        EPATCH_OPTS=-p1 epatch `pulse_patches "${DISTDIR}"`
        eautoreconf
    fi
    epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
    epatch_user #282735
    sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
    sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}

Достаточно ли будет после этой секции поместить секцию:

src_prepare() {
epatch "${FILESDIR}"/rawinput.patch
}

Мышка дура, прав был Суворов.

Что не так ?

1) Скопировал rawinput.patch
2) Поместил его в /usr/local/portage/app-emulation/wine/files
3) Написал в /usr/local/portage/app-emulation/wine/wine-1.2.ebuild после секции:

src_prepare() {
    if use pulseaudio ; then
        EPATCH_OPTS=-p1 epatch `pulse_patches "${DISTDIR}"`
        eautoreconf
    fi
    epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
    epatch_user #282735
    sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
    sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}

секцию:

src_prepare() {
    epatch "${FILESDIR}"/rawinput.patch #mouse for Hellgate London
}

4) Сделал:

ebuild /usr/local/portage/app-emulation/wine/wine-1.2.ebuild digest

Далее пытаюсь заемержить wine-1.2 и не компилируется :(

 * Messages for package app-emulation/wine-1.2:

 * ERROR: app-emulation/wine-1.2 failed:
 *   all
 * 
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 3356:  Called die
 * The specific snippet of code:
 *       emake all || die "all"
 * 
 * If you need support, post the output of 'emerge --info =app-emulation/wine-1.2',
 * the complete build log and the output of 'emerge -pqv =app-emulation/wine-1.2'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * The complete build log is located at '/tmp/portage/app-emulation/wine-1.2/temp/build.log'.
 * The ebuild environment file is located at '/tmp/portage/app-emulation/wine-1.2/temp/environment'.
 * S: '/tmp/portage/app-emulation/wine-1.2/work/wine-1.2'

Что я делаю не так ?

Мышка дура, прав был Суворов.

дык

у тебя 2 секции с одним названием. надо вот как:

src_prepare() {
if use pulseaudio ; then
EPATCH_OPTS=-p1 epatch `pulse_patches "${DISTDIR}"`
eautoreconf
fi
epatch "${FILESDIR}"/rawinput.patch #mouse for Hellgate London
epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
epatch_user #282735
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}

Хоть где нибудь об этом на

Хоть где нибудь об этом на русском есть ? Тяжело на английском когда не понимаешь о чём речь. В принципе патч на вайн не так уж и нужен, просто мотивация появилась. 

на русском нету и не будет.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Ну почему же не будет ? У

Ну почему же не будет ? У меня например много переводчиков знакомых, заинтересую чем нибудь и у меня будет.

Вообще лажа случилась: компиляция на зависимостях застряла. Но ebuild unpack прошёл нормально, значит ли это что все патчи наложились нормально ?

Мышка дура, прав был Суворов.

Ну почему же не будет ? У

Ну почему же не будет ? У меня например много переводчиков знакомых, заинтересую чем нибудь и у меня будет.

Не будет :)
Ибо не успевают они никогда - http://sources.gentoo.org/gitweb/?p=devmanual.git;a=summary

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Один забугорный чел писал в

Один забугорный чел писал в блоге, на английском, что прочитав devmanual, он сломал себе мозг :) А если еще это переводить на русский...

Я на английском могу

Я на английском могу прочитать только когда хоть примерно знаю о чём будет речь, на ассоциативном уровне :)
Но теперь наверное смогу.

Мышка дура, прав был Суворов.

PORTAGE_PATCHDIR=/etc/portage

PORTAGE_PATCHDIR=/etc/portage/patches в make.conf. Патч в /etc/portage/patches/app-emulation/wine.
С 2.2 портажом точно работает.

а дальше то что ?

Не понял ? И что, после описанных действий вайн чудесным образом пропатчится сам ? Или надо заклинание прочитать ?

Мышка дура, прав был Суворов.

Я рекомендую вам вместо

Я рекомендую вам вместо ожидания чудес и знамений просто попробовать.

А что конкретно вы мне

А что конкретно вы мне советуете попробовать ?
Вписать в make.conf PORTAGE_PATCHDIR= и поместить в указанный каталог патч для вайна ? Дальше то что? Вайн заемержить ? Для этого мне понадобится поставить жёстко замаскированный портаж в полностью рабочую, стабильную и тщательно вылизанную систему ? Глупость несусветная !
Ради чего мне это? Поможет разобраться в ебилдах ? Или просто запустить игрушку на пропатченом вайне ? Да для игрушки я могу поставить Playonlinux, создать префикс для нужной и пропатченой должным образом версии вайна и не париться.

Мышка дура, прав был Суворов.

^_^

Дождались-таки! http://juick.com/Livid/645130
Вот теперь-то можно будет прочувствовать ещё одно преимущество sourse based
Делаешь diff -u filename.ext.orig filename.ext > filename.ext.patch и всё
Буду пробовать, muchas gracias, LK4D4

а эта строка - это просто подпись

:'(

О нет, ну что ж такое...
Вот патч для rc64: http://achurch.org/patch-pile/portage/2.2_rc64/autopatch.diff
Смотрим в rc67 - там этого нет. Смотрим в 9999 http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git - тоже нет.
Зачем-то убрали эту хорошую возможность. :(
А так хотелось пропатчить x11-misc/xrestop...

LK4D4 написал(а):
С 2.2 портажом точно работает.

Увы, но это уже не так :(

а эта строка - это просто подпись

что-то я не понимаю, это для

что-то я не понимаю, это для того чтоб сырцы пропатчить ?
Или сразу пропатчит скомпилирует и установит пакет ?

Мышка дура, прав был Суворов.

у тебя 2 секции с одним

у тебя 2 секции с одним названием. надо вот как:

src_prepare() {
if use pulseaudio ; then
EPATCH_OPTS=-p1 epatch `pulse_patches "${DISTDIR}"`
eautoreconf
fi
epatch "${FILESDIR}"/rawinput.patch #mouse for Hellgate London
epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
epatch_user #282735
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}

Тогда вообще не получается:

Тогда вообще не получается:

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:
 * 
 *   /usr/local/portage/app-emulation/wine/files/wine-1.1.15-winegcc.patch
 *   ( wine-1.1.15-winegcc.patch )
 * ERROR: app-emulation/wine-1.2 failed:
 *   Cannot find $EPATCH_SOURCE!
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_prepare
 *   environment, line 3361:  Called epatch '/usr/local/portage/app-emulation/wine/files/wine-1.1.15-winegcc.patch'
 *   environment, line 1844:  Called die
 * The specific snippet of code:
 *               die "Cannot find \$EPATCH_SOURCE!";

Извиняюсь, не положил все патчи в каталог files в локальном оверлее. Всё получилось. Большое спасибо, действительно когда знаешь то всё очень просто. :) Патчи научился накладывать но этот конкретный патч работает не корректно.

Мышка дура, прав был Суворов.

этот конкретный патч я

этот конкретный патч я накладывал на 1.2. если у тебя 1.1.44, то положи 3 своих diff-a, и так же их пропиши

Я тоже его на 1.2 накладывал.

Я тоже его на 1.2 накладывал. Мышь заработала но персонаж смотрит в землю и вращается вокруг своей оси. На 1.1.43 я наложил вот этот патч и заработало. Но конечно версия 1.1.43 намного хуже.

Мышка дура, прав был Суворов.

Вам правильно грят про devmanual.gentoo.org

А я про это когда-то писал.
Правда, в общих чертах и коротко, ибо для себя ;)

Спасибо.

Спасибо.

Мышка дура, прав был Суворов.

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

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".