LINUX.ORG.RU

Vacuum - новый jabber-клиент на базе Qt

 , , ,


0

0

Vacuum — находящийся в разработке кроссплатформенный клиент на базе Qt. Несмотря на отсутствие стабильной версии, клиент вполне пригоден для тестирования, т.к. около 3-х лет разрабатывался закрыто.

Особенности программы:

  • собственная реализация jabber, основанная на XML-парсере Qt;
  • полностью модульная структура с возможностью расширения;
  • поддержка большого количества расширений (XEPs) протокола jabber.

В настоящее время реализованы следующие возможности:

  • поддержка нескольких аккаунтов и профилей;
  • поддержка стилей Adium;
  • автоматическое переключение статусов по расписанию;
  • анимированные смайлы;
  • автоматическое переключение шлюзов;
  • табовый интерфейс;
  • возможность задать любую картинку для пользователя, независимо от его аватары.

Лицензия: GPLv3

Проект на GoogleCode: http://code.google.com/p/vacuum-im/

>>> Подробности на русском



Проверено: boombick ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Ответ на: комментарий от HighwayStar

spec

Name: vacuum
Summary: Crossplatform Jabber client written on Qt
Version: svn906
Release: 1
%if 0%{?suse_version} < 1120  
BuildRoot:  %{_tmppath}/%{name}-%{version}-build    
%endif  
License: GPL v3
Group: Productivity/Networking/Instant Messenger 
Source: vacuum-im-svn906.tar.bz2
Patch0: libdir.patch
Url: http://code.google.com/p/vacuum-im/
BuildRequires: libqt4-devel libQtWebKit-devel 
BuildRequires: update-desktop-files fdupes

%description
The core program is just a plugin loader - all functionality is made available via plugins. This enforces modularity and ensures well defined component interaction via interfaces.

%prep
%setup -q -n vacuum-im-svn906
%patch0

%build
qmake -recursive vacuum.pro 
make 

%install
make install INSTALL_ROOT=%{buildroot}
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo96.png %{buildroot}%{_datadir}/icons/hicolor/96x96/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/vacuum.png
%{__install} -D -m644 resources/menuicons/shared/mainwindowlogo16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/vacuum.png
%suse_update_desktop_file -c vacuum "Vacuum" "Jabber Client" vacuum vacuum.png Network InstantMessaging

%fdupes %{buildroot}%{_datadir}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%{_bindir}/vacuum
%{_libdir}/libvacuumutils.so*
%dir %{_libdir}/vacuum
%dir %{_libdir}/vacuum/plugins
%{_libdir}/vacuum/plugins/*.so
%dir %{_datadir}/vacuum
%dir %{_datadir}/vacuum/resources
%{_datadir}/vacuum/resources/*
%dir %{_datadir}/vacuum/translations
%{_datadir}/vacuum/translations/*
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps
%{_datadir}/icons/hicolor/*/apps/vacuum.png
%{_datadir}/applications/vacuum.desktop
%changelog
HighwayStar ★★★★★
()
Ответ на: spec от HighwayStar

простой патч, для корректной установки на x86-64

diff -ruN ../vacuum-im-svn906/src/install.inc ./src/install.inc
--- ../vacuum-im-svn906/src/install.inc	2009-12-06 18:59:24.569046000 +0800
+++ ./src/install.inc	2009-12-07 17:34:19.686188551 +0800
@@ -8,8 +8,7 @@
 
 unix {
   INSTALL_BINS          = $$INSTALL_PREFIX/bin
-  INSTALL_LIBS          = $$INSTALL_PREFIX/lib
-  INSTALL_PLUGINS       = $$INSTALL_PREFIX/lib/$$INSTALL_DIR/plugins
+  include(libdir_$${QT_ARCH}.inc)
   INSTALL_RESOURCES     = $$INSTALL_PREFIX/share/$$INSTALL_DIR/resources
   INSTALL_TRANSLATIONS  = $$INSTALL_PREFIX/share/$$INSTALL_DIR/translations
 }
diff -ruN ../vacuum-im-svn906/src/libdir_i386.inc ./src/libdir_i386.inc
--- ../vacuum-im-svn906/src/libdir_i386.inc	1970-01-01 08:00:00.000000000 +0800
+++ ./src/libdir_i386.inc	2009-12-07 17:01:54.154187253 +0800
@@ -0,0 +1,2 @@
+INSTALL_LIBS          = $$INSTALL_PREFIX/lib
+INSTALL_PLUGINS       = $$INSTALL_PREFIX/lib/$$INSTALL_DIR/plugins
diff -ruN ../vacuum-im-svn906/src/libdir_x86_64.inc ./src/libdir_x86_64.inc
--- ../vacuum-im-svn906/src/libdir_x86_64.inc	1970-01-01 08:00:00.000000000 +0800
+++ ./src/libdir_x86_64.inc	2009-12-07 17:01:58.570186757 +0800
@@ -0,0 +1,2 @@
+INSTALL_LIBS          = $$INSTALL_PREFIX/lib64
+INSTALL_PLUGINS       = $$INSTALL_PREFIX/lib64/$$INSTALL_DIR/plugins
diff -ruN ../vacuum-im-svn906/src/libdir_x86-64.inc ./src/libdir_x86-64.inc
--- ../vacuum-im-svn906/src/libdir_x86-64.inc	1970-01-01 08:00:00.000000000 +0800
+++ ./src/libdir_x86-64.inc	2009-12-07 17:02:03.227188203 +0800
@@ -0,0 +1,2 @@
+INSTALL_LIBS          = $$INSTALL_PREFIX/lib64
+INSTALL_PLUGINS       = $$INSTALL_PREFIX/lib64/$$INSTALL_DIR/plugins

HighwayStar ★★★★★
()
Ответ на: комментарий от anonymous

> И не понятно, чем оно принципиально лучше этой http://vacuum-im.googlecode.com/svn/trunk/src/interfaces/

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

в кутиме 0.3 интерфейсы и абстрактные классы сделаны таким образом, чтобы как можно меньше ограничивать плагинописателей, достаточно просто сравнить реализации настроек - в вакууме в интерфейсе (!) захардкорено, что настройки профиля должны быть реализованы через QDomElement'ы, в кутиме же по дефолту уже есть поддержка и json и xml форматов, а интерфейс предпологает оперирование абстрактными ветвями данных

EuroElessar
()
Ответ на: комментарий от Sylvia

> есть смайлики как в qip )

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

EuroElessar
()
Ответ на: комментарий от a3

>А давайте так, поделки, авторы которых не удосужились сделать deb и rpm и предлагают make install, не будем постить в новостях?

А давайте будем выпиливать таких умников? На всю толпу фанатичных линуксоидов с богатым разнообразием дистрибутивов не угодишь.

anonymous
()
Ответ на: комментарий от EuroElessar

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

с чего это?

  ЛИЦЕНЦИОННОЕ СОГЛАШЕНИЕ
--------------------------------------------------------------------

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

 - Вы можете свободно использовать их на форумах, чатах и т.д., размещать этот архив у себя на сайте, передавать третьим лицам, дарить до тех пор, пока не изменены смайлы и этот файл с текстом находится внутри архива.
 - Вы не можете использовать их в коммерческих проектах без моего разрешения.
 - Вы не можете, переделывать мои смайлы и добавлять свои в этот архив, без моего персонального разрешения.
 - Вы не можете преобразовывать их в любой другой формат и распространять без моего разрешения.
 - Вы не можете продавать их или использовать для извлечения выгоды как по отдельности, так и в составе любого архива или сборки.
 - Вы не можете использовать их в составе любых программ или проектов без моего персонального разрешения.
 - При использовании авторских работ, как моих, так и художников нашего сайта в частных галереях смайлов, вы должны СПРОСИТЬ РАЗРЕШЕНИЕ У АВТОРА, разместить его работы в отдельных разделах соответствующих имени автора, указать этот сайт как источник (если автор не пожелает указать свой сайт) и дать на него ссылку.
 - Не коммерческие Интернет проекты при использовании моих работ могут не спрашивать моего разрешения, но должны поместить на всех страницах внизу, где используются мои работы мои копирайты "Copyright © Aiwan. Kolobok Smiles", и ссылку, указывающую на мою страницу http://www.kolobok.us.
 - Если вы не согласны с этим соглашением, то должны удалить архив и не использовать его.

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

  Если у вас есть вопросы, то пишите мне на aiwan@yandex.ru указав в заголовке письма слово "КОЛОБОК" или "KOLOBOK". В противном случае ваше письмо может определиться как спам. Извините за вынужденную меру.

  С уважением, Айван.

  http://www.kolobok.us
Mikael
()
Ответ на: комментарий от Mikael

>с чего это?

- Вы не можете использовать их в составе любых программ или проектов без моего персонального разрешения

HighwayStar ★★★★★
()
Ответ на: комментарий от HighwayStar

>с чего это?

- Вы не можете использовать их в составе любых программ или проектов без моего персонального разрешения


а что мешает договориться? :) Для Pidgin и Gajim есть официальные сборки колобков.

Mikael
()
Ответ на: комментарий от Mikael

а что мешает договориться? :) Для Pidgin и Gajim есть официальные сборки колобков.

А ничего, мы договорились. Только вот в deb пакет всёравно класть низя, поэтому эти самые колобки могут лежать лишь в бинарных сборках на сайте.

Gorthauer ★★★★★
()
Ответ на: комментарий от Mikael

> а что мешает договориться? :) Для Pidgin и Gajim есть официальные сборки колобков.

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

EuroElessar
()

Чего только люди не придумают, чтобы не пользоваться Psi.

andyTon
()

Vacuum - новый jabber-клиент на базе Qt

Чем этот клиент лучше qutim?

IceRain
()
Ответ на: Пакеты от HighwayStar

Эээ.. Может, я чего-то путаю, но мне кажется, в имени пакетов есть ошибка: 12.1 (версия сузы-то 11.2). Не?

some-body ★★
()
Ответ на: комментарий от some-body

>Эээ.. Может, я чего-то путаю, но мне кажется, в имени пакетов есть ошибка: 12.1 (версия сузы-то 11.2). Не?

нет, 12.1 это релиз. значит что пакет собирается в билдсервисе уже в 12-й раз

HighwayStar ★★★★★
()
Ответ на: комментарий от HighwayStar

Понятно. Просто давно уже не слежу за openSUSE (когда-то ей пользовался).

some-body ★★
()
Ответ на: комментарий от Gorthauer

>Так и запишем... человек незнаком с С++

Так и запишем. Реальных преимуществ нет.

anonymous
()
Ответ на: комментарий от HighwayStar

offtop:
А теперь в Factory пререлизы? Вчера кеды предложил до 4.3.80 обновить. Теперь просто в Stable будут релизы или Stable, как и раньше, будет «раз в сто лет» обновляться?

PayableOnDeath
()
Ответ на: комментарий от EuroElessar

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

И нахрена дополнительный уровень абстракции? Наследование в школе проходили?

в кутиме 0.3 интерфейсы и абстрактные классы сделаны таким образом, чтобы как можно меньше ограничивать плагинописателей, достаточно просто сравнить реализации настроек - в вакууме в интерфейсе (!) захардкорено, что настройки профиля должны быть реализованы через QDomElement'ы, в кутиме же по дефолту уже есть поддержка и json и xml форматов, а интерфейс предпологает оперирование абстрактными ветвями данных

Что мешает читать xml и загонять его в QDomDocument?

anonymous
()
Ответ на: комментарий от PayableOnDeath

>А теперь в Factory пререлизы?

в фактори находится то, что будет в 11.3, и над чем сейчас идет работа. кде44 дошло до беты - его залили в фактори и начали пилить

в STABLE на днях зальют 4.3.4 и затем в апдейты. репозитарий KDE43 удалят

HighwayStar ★★★★★
()
Ответ на: комментарий от anonymous

Что мешает читать xml и загонять его в QDomDocument?

А если я хочу Json? А на Яббле есть быстрый парсер plist'а, который можно дёрнуть и юзать его? А если я ваще хочу чтобы настройки на сервере хранились?

Gorthauer ★★★★★
()
Ответ на: комментарий от Gorthauer

>А если я хочу Json?

А я вот не хочу. Зачем мне из-за этого тащить лишний уровень абстракции?

А если я ваще хочу чтобы настройки на сервере хранились?

Иными словами про функцию setContent ты не в курсе? Да, теперь понятно, откуда столько велосипедов.

anonymous
()
Ответ на: комментарий от anonymous

> Что мешает читать xml и загонять его в QDomDocument?

в том и косяк, что вакуумные интерфейсы не дают делать ничего иного, как работать с дом моделью Qt, следовательно с ними никакой расширяемости нельзя добиться, тогда вопрос - нафиг они нужны, если уже больший функционал есть в Psi?

EuroElessar
()
Ответ на: комментарий от EuroElessar

> тогда вопрос - нафиг они нужны, если уже больший функционал есть в Psi?

Ответ так же прост, по всей видимости. Человек _захотел_ и потратил три года своей счастливой жизни. Или сколько там проект в закрытом виде разрабатывался? Ну вот возжелалось ему... :)

anonymous
()
Ответ на: комментарий от anonymous

> потратил три года своей счастливой жизни

вот честно, лучше бы уже существующему проекту помог... а так зря пропавшая человеко-сила

EuroElessar
()
Ответ на: комментарий от EuroElessar

>в том и косяк, что вакуумные интерфейсы не дают делать ничего иного, как работать с дом моделью Qt, следовательно с ними никакой расширяемости нельзя добиться, тогда вопрос - нафиг они нужны, если уже больший функционал есть в Psi?

Они позволяют отрезать лишнее. Этого более чем достаточно. И если ты наклепал свой велосипед, то непонятно, зачем тогда таскать с собой эту толстую либу? Это не говоря о том, что как бы этот json не получился медленнее xml из-за кучи прослоек.

anonymous
()
Ответ на: комментарий от EuroElessar

>вот честно, лучше бы уже существующему проекту помог...

Ты готов оплатить его труд? Нет? Ну тогда помалкивай.

anonymous
()

Vacuum через IPv6

традиционнйы вопрос :-), для тех кто уже попробовал:

1.
IPv6 — работает? ..хотябы для подключения к IPv6-XMPP-серверу..

2.
если [1] да, то работаетли IPv6 в этом случае — для процесса передачи файлов?

mkfifo
()
Ответ на: комментарий от Hokum

> Люди все разные. Кому-то подходит kopete, а кому-то и tkabber'а с дописками мало. Так или иначе, основные функции в клиенте есть, кажется и администрирование мук присутствует - значит, многим он подойдёт уже сейчас.

Основная функция IM, как это не странно, передавать и принимать сообщения. Но у меня он даже к серверу не подключается.

p.s. Возможно, это то мои локальные проблемы, но Gajim работает. Остаюсь на Gajim.

andreyu ★★★★★
()
Ответ на: комментарий от anonymous

Они позволяют отрезать лишнее. Этого более чем достаточно.

А ничего, что QDomDocument весьма тормозной, ибо вынужден целиком дерево строить.

Это не говоря о том, что как бы этот json не получился медленнее xml из-за кучи прослоек.

Ну ты явно с понятием оптимизация незнаком. Затраты на вызов функции, даже с доп прослойкой, несоизмеримо меньше, чем затраты на парсинг.

Короче лучше уж монолитное ядро, чем вот такая странная модульность

Gorthauer ★★★★★
()
Ответ на: комментарий от Gorthauer

>А ничего, что QDomDocument весьма тормозной, ибо вынужден целиком дерево строить.

А ничего, что вся библиотеку Qt очень тормозная? Толи дело на чистых иксах.

Ну ты явно с понятием оптимизация незнаком. Затраты на вызов функции, даже с доп прослойкой, несоизмеримо меньше, чем затраты на парсинг.

Вообще-то, внутри QDomDocument-а данные хранятся уже в распарсенном виде.

Короче лучше уж монолитное ядро, чем вот такая странная модульность

Какое-то у тебя извр... своеобразное понятие о модульности.

anonymous
()
Ответ на: комментарий от Gorthauer

Gorthauer wrote:

Только вот в deb пакет всёравно класть низя

Эээ... Пакет pidgin-themes в Дебиане содержит и «колобков», причём под именем «QIP smiles» (типа того).

GotF ★★★★★
()
Ответ на: комментарий от a3

> А еще проще забанить тех, кто за 15 лет не осилил пакетного менеджера.

Сделаешь deb, федорщики будут орать, сделайте rpm.
Сделаешь rpm и deb, арчеводы будут орать про пакаджы.
Сделаешь deb, rpm и pkg, гентушники завопят про ебилды.

А делать deb, rpm, pkg, ebuild - так это никаких сил не хватит.

Свободное ПО же, что дали - то и жрите.
А требовать будете, когда денюжку заплатите.

Fredrik
()
Ответ на: комментарий от Fredrik

>А требовать будете, когда денюжку заплатите.

И то¸ это при условии, что автор соизволил эту денюжку взять :D

anonymous
()

Оно jingle умеет? Нет? Закапывайте!

Nicko
()
Ответ на: комментарий от a3

> А давайте так, поделки, авторы которых не удосужились сделать deb и rpm и предлагают make install, не будем постить в новостях?

Авторы LightScribe Template Labeller сделали и RPM, и DEB. Один фиг пришлось его оттуда руками доставать. Ибо генту.

Пока что ничего универсальнее configure -> make -> make install не придумали.

hobbit ★★★★★
()
Ответ на: комментарий от KRoN73

> Сама по себе настраиваемость в вакууме нафиг не нужна

Название клиента как бы намекает :)

hobbit ★★★★★
()
Ответ на: комментарий от anonymous



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

svn co <адрес> vacuum-im
cd vacuum-im
qmake -recursive PREFIX=/usr
(если собирать пакет)
make install DESTDIR=/tmp/pack-vacuum INSTALL_ROOT=/tmp/pack-vacuum
cd /tmp/pack-vacuum
makepkg /tmp/vacuumIM-0.0.0-i486-1.txz

всё, ставите пакетом
если делаете сборку от пользователя
то начиная с make install лучше сделать su на root
хотя лично я предпочитаю пользоваться fakeroot (можно взять в дебиан)

Sylvia ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.