Если вдруг энтузиаст захочет собрать qutim из исходников для Mac OS X, ему придется выполнить несколько несложных операций.

Все нижеприведенное справедливо для 10.6, на предыдущих творениях торговцев яблоками не проверялось, но не вижу причин, по которым инструкция не годится и для них.

Получаем средство разработки от Apple

Первым делом надо получить яблочное средство разработки. Обычно XCode можно найти на установочном диске с Mac OS X, но если диск потерялся, сломался или был использован в качестве елочной игрушки, дорога энтузиасту на http://developer.apple.com/technologies/xcode.html. В процессе несложной регистрации потребуется сдать явки и пароли указать все свои контактные данные, включая домашний адрес и телефон. Зачем это нужно? Непонятно. Может быть Империя Зла хочет знать своих солдат в лицо?

После получения Apple ID можно авторизоваться и скачать нужное средство разработки. Правда тут внезапно наступает еще одна нежданная радость — XCode3 включает в себя iPhone SDK и весит 2.4 Гб. Для сравнения, XCode2 весит всего 800 Мб. Но XCode2 и XCode3 в чем-то различаются достаточно серьезно, да и вообще, для 10.6 нужно именно XCode3. Благо, при установке можно не согласиться с лицензией iPhone SDK и получить только XCode.

Установка внешних зависимостей

Теперь можно поставить дополнительные библиотеки. Как устанавливать макпорты, писать не буду, в интернетах подробно описано все. Из портов ставим следующие пакеты:

$ port install cmake git-core libidn qt4-mac qca

Надо быть осторожным с гитом. Он тянет за собой питона, который мне лично не нужен. В предыдущих версиях портов питон тянул за собой tk, который в свою очередь зависел от иксов и тянул половину xorg-библиотек.

Для интеграции с Growl нужно скачать с сайта growl-sdk и скопировать оттуда директорию Frameworks/Growl.framework в ~/Library/Frameworks. Настраивать, какие уведомления нужны, а какие нет, пока что нужно через Growl.

Получение исходников

Получаем.

$ git clone git://gitorious.org/qutim/qutim-meta.git
$ cd qutim-meta && git submodule update --init --recursive

Сборка из исходников

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

$ cmake /path/to/src

Тут надо указать на некоторые умолчания для qutim. Если не указать тип сборки и генератор, то автоматически создастся релизный проект для make. Дебаг проект или компиляция через XCode тоже возможны, но требуют указания разных опций.

Если собирается через XCode, то плагины не будут автоматически добавляться в бандл qutim.app после сборки, так что, энтузиаст, флаг тебе в руки — добавляй плагины вручную в директорию qutim.app/Contents/PlugIns, создавай файл qutim.app/Contents/Recources/qt.conf и запускай скрипт core/utils/deployqutim.sh

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

$ ccmake .

Пора собирать проект:

$ make

В директории сборки появится директория core/qutim.app. Это практически полноценный бандл, то есть будет запускаться на любой машине с Mac OS X (разумеется, если совпадают архитектуры и пр.).

Но пользоваться им нельзя :)

Чтобы все заработало, надо будет собрать языки, темы чатов, иконки, звуки, смайлы и прочее ненужное добро, которое тем не менее так любят пользователи. Где это все искать? Иконки можно получить, распотрошив собранный Sauron'ом неработающий пакет http://narod.ru/disk/21370754000/qutim.zip.html (если этот файл еще доступен), смайлы и звуки на форуме(если повезет), языки и темы в исходниках.

/home/qutim/data/www/wiki.qutim.org/data/pages/ru/building_0.3_for_mac.txt · Last modified: 2011/03/18 13:53 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki