пятница, 2 февраля 2007 г.

Inkboard

Вычитал тут случайно в inkscape сделали поддержку совместной работы через джаббер.

Т.е. идея как я понимаю такая - раз svg просто специально оформленный xml. а jabber (xmmp) - должен роутить любой xml то надо лишь научить inkscape слать кусочки друг другу (или в комнату) через jabber сервер. Идея эта понравилась очень.
Но лучше б я про это так и не узнал. Опишу свои злоключения - может кому поможет.

Я сижу в ubuntu dapper, поэтому просто установил inkscape - sudo apt-get install inkscape.

В репозитории оказалась версия 0.43 что меня вполне устроило так как на сайте inkscape сказано что фича inkboard для общения с jabber сервером в ней присутствует.

Но оказалось что майнтенер пакета опцию эту при компиляции не включил.
Что ж решил его пересобрать.
Эпизод первый пересборка 0.43

sudo apt-get install apt-build
sudo apt-build source inkscape
cd /var/cache/apt-build/build/inkscape-0.43/debian/
vim rules
Правим флаги CXXFLAGS добавляем
--enable-inkboard.
собираем и ставим
sudo apt-build --source --force-yes install inkscape
запускаем, лазим по менюшкам - чудно все по прежнему.
После консультации на #debian-russian
добавляем библиотеку
sudo apt-get install libloudmouth1-dev
пер
есобираем ставим
sudo apt-build --source --rebuild --force-yes install inkscape
запускаем
чудо - появилось меню доска-подсоединиться к jabber сервер.
пробуем. сразу стало очевидно что никуда он подсоединится и не пытается вводи хоть имя сервера хоть ip выкидывает сразу окошечко нет контакта.

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

Эпизод второй сборка 0.44

так как в убунтовских репозитариев этого пакета нет. Будем тащить из дебиана и собирать.
Пользуясь этой инструкцией собираем - ставим
новую libgc и попутно всякий хлам

sudo apt-get build-dep inkscape
sudo apt-get install liblcms-dev libboost-graph-dev build-essential
echo "deb-src http://ftp.us.debian.org/debian/ unstable main" >> /etc/apt/sources.list
sudo apt-get update
apt-get source libgc-dev
cd libgc*
fakeroot dpkg-buildpackage -uc -us
sudo dpkg -i ../libgc*.deb

единственная проблема у нас на убунте нет дебиановских ключей для apt-get поэтому скопировав номер публичного ключа на который он ругается при обновлении списка (apt-get update)
ташим его с сервера, ставим уровень доверия и импортируем себе для apt

gpg --keyserver wwwkeys.pgp.net --recv-keys 010908312D230C5F; gpg --edit-key
010908312D230C5F trust; gpg --export -a 010908312D230C5F | sudo apt-key add -
мне понадобилось таким макаром поставить два ключа.

далее
apt-get source inkscape
cd inkscape*
fakeroot dpkg-buildpackage -uc -us
sudo dpkg -i ../inkscape*.debругается на datarootdir в configure. Я не знаю что там с ним не так. Вникать мне лень. Открываю debian/rules и попросту убиваю эту строчку.

Пересобираем
fakeroot dpkg-buildpackage -uc -us
снова. Попутно таща на машину apt-get install все либы которые он находит в неудовлетворенных зависимостях.
Процесс сборки прямо скажем небыстрый и пестрит warning - ами о том о сем.
как собрался устанавливаем запускаем и наслаждаемся.

Не сказать что все проделанное сложно, но не назовешь и user friendly.