После 5 лет разработки представлен новый стабильный релиз векторной графической библиотеки Cairo 1.18.0. Код Cairo распространяется под лицензиями LGPL и Mozilla Public License. Среди известных проектов, использующих Cairo, можно отметить GTK и Firefox...Подробнее: https://www.opennet.me/opennews/art.shtml?num=59804
> "Mozilla Public License"Mozilla чем угодно занимается, только не браузером!
Ведь лицензия это что-то, что требует постоянного внимания и поддержки.
Мозилла Кайро не разрабатывает. Она в общем-то не так уж сильно его и использует сейчас, а вот было время когда переход на Кайро дал им кучу плюшек, напрмиер сохранение страниц как PDF.
>Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl и OpenVG.Да, некоторое время назад до неё добрались гномеры.
Алё, поддержка Qt4 закончилась еще в 2015 году. Это было 8 лет назад!
После этого вышли 4 LTS версии Qt5 и две Qt6.
Сколько вы еще предлагаете тянуть этот хлам?
Работает - не трожь. Есть ли хоть одна разумная причина по вырезанию фич?
Если фитча не используется, то нет необходимости тратить ресурсы на ее поддержание. Это разумная причина.
А если по пунктам (которые уже больше года, как оглашены https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/285 ):
* Qt4 - EOL 2015, требует компилятора С++ в зависимостях
* Cogl - заброшен. Никем не поддерживается с 2016 г.
* OpenVG, BeOS - не поддерживается meson-ом. BeOS требует компилятора С++ в зависимостях. От себя: и оба мертвы.
* OS/2 - последний раз собиралось в Cairo 1.12 (2006). Сломано.
* DRM, DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)Т.е., по факту, эти самые гномеры выгребли кучу замшелого кода, который никому уже давно не нужен, разгребли зависимости, осовременили сборку и, в принципе, ИМХО приводят давно стагнировавший проект в порядок (если смотреть в git log). Но анонимы опеннета всё равно априори недовольны.
Промышленное ПО, в котором сабж можно найти, всё ещё работоспособно и поддерживается (включая платформу в лице 7 по-моему). Гномеры просто не хотят, чтобы кто-то ещё мог применять там, где конкретно эта либа необходима. Ну а месон весь провонялся гномом, например, с autotools atk-bridge легко вычищался из зависимостей бинарей. Кроме того гном подразумевает вендорлок и проблемы со всеми платформами, прошли времена, когда гтк был свободным.
> Промышленное ПО, в котором сабж можно найти, всё ещё работоспособно и поддерживается
> (включая платформу в лице 7 по-моему).Вопрос: за каким лешим там может потребоваться НОВАЯ версия Кайры?
> Гномеры просто не хотят, чтобы кто-то ещё мог применять там, где конкретно эта либа необходима.
Гномеры так-то спрашивали, кому это надо. Желающих не обнаружилось. Если никто не собирается поддерживать, то, очевидно, никому и не нужно.
> Кроме того гном подразумевает вендорлок и проблемы со всеми платформами, прошли времена, когда гтк был свободным.
Почему именно ты не занимаешь поддержкой какой-то платформы? Все должны персонально тебе бесплатно делать хорошо? Чем персонально ты за это заплатил (поддержка платформы в GTK - это тоже плата своим временем)? Очень интересно рассуждать о свободе, когда кто-то за это платит (в том числе своим временем).
Это сознательный урон по всему опенсорсу [s]со стороны сотрудников IMB[/s]. Ожидаемо от голубых, но видеть, что подобные практики находят защитников, довольно странно. Естественно, что желающих взять на себя сопровождение платформы нет. Взаимодействие с корпоративными выкидышами из фридесктоп это проблема ещё та.
>DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)Не совсем так, оригинал да заброшен,форк ещё шевелиться.Derectfb2 , обновление год назад.
>>DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)
> Не совсем так, оригинал да заброшен,форк ещё шевелиться.Derectfb2 , обновление год назад.Имелся ввиду не сам Dfb, а бэкенд в Кайре. Текущий давно заброшен, под Dfb2, вроде, и не было.
> и оба мертвыВроде недавно было большое обновление Гайки. Хотя там наверное можно и через Qt рисовать.
Не уверен, что они прямо этим бэкендом и пользовались. Где-то на ЛОРе был X512 (один из разработчиков Гайки). Можно у него спросить.
Но так и осталось неясным: чего хорошего в выкидывании того что уже сделано и работает, особенно для штуковины, которая типо очень много всего поддерживает
Мало ли у кого какие варианты использования
> Но так и осталось неясным: чего хорошего в выкидывании того что уже сделано и работаетТак в том-то и дело, что из этого всего, что выкинули, работает, разве что, Qt4. Остальное или сломано (и, соответственно, надо кому-то чинить), или и не особо работало (эксперименты), или уже в живой природе не обнаружено. На починку и актуализацию этого всего нужны силы, т.е. заинтересованные люди. По результатам больше года (когда было оглашено решение удалить неактуальные бэкенды) этих самых людей не обнаружилось. Значит, никому особенно и не нужно.
А вы PR посмотрите https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/...
87 files +14 −41395Выкинули кучу ifdef и специфических файлов. Почистили зависимости.
Код стал меньше, чище и читабельнее. На целые 41к строк.
Разве это не повод для радости?При этом никто не пострадал, тк. желающих поддерживать не было, а остальные могут использовать предыдущую версию (если заставят ее работать, хехе)
> не поддерживается meson-омВот это аргумент. Разве C код не намного ценнее какой-то системы сборки?
> Cogl - заброшен.
Это там так называют "система сборки не переведена на meson"?
> Вот это аргумент. Разве C код не намного ценнее какой-то системы сборки?Все вопросы сводятся к одному, на самом деле - этот бэкенд кем-то, вообще, продолжает использоваться или нет. За год, насколько я понял, откликнувшихся - 0.
> Это там так называют "система сборки не переведена на meson"?
Нет. Это называется "написавший и сопровождающий этот код куда-то срулил и больше заинтересованных разбираться в этом коде и заниматься им нет (желающих не объявилось) с 2016 года". Как я понял, в зоне видимости околонулевое число активных разработок, его задействующих. Необходимость в сопровождении выглядит сомнительной.
Вообще, хочешь, чтобы бэкенд был - не проблема: идёшь в список рассылки (или в gitlab ли где там гномеры общаются) и пишешь тред, что-то типа "я готов сопровождать <backend-name> в Cairo, вот мои патчи, верните". Вот это будет конструктивно. В подавляющем большинстве СПО проектов (и в Гноме внезапно тоже) это так работает.
Чем это лучше AGG?
> Written in C++Думаю можно не объяснять. Плюсы -- вещь в себе. Пользоваться плюсовой библиотекой можно только из плюсов. А кайро можно вызывать хоть из vala, хоть из питона, хоть из си, хоть из яваскрипта, хоть из раста, хоть из перла. Твой УГГ такого уровня многоязычности уже достиг?
> Пользоваться плюсовой библиотекой можно только из плюсов.Добавляется C обертка - и можно пользоваться откуда угодно.
зачем тогда на плюсах писать стараться придумывать интерфейсы и классы чтобы потом всё слить в один неймспейс Си?
Чтобы в языках с классами использовать. Типа, D, Python, которые могут в C++ ABI. Собственно, в самом C++ использовать.
у С++ появился стабильный ABI ?
D и Python ориентируются на ABI от проекта GCC. Гулял ранее по сети документ от инженеров MS, в котором предлагалось именно этот ABI принять в качестве стандарта.
Все программы приходится пересобирать когда обновляется любая плюсовая либа из зависимостей. Это не может быть совпадением. И после этого ещё будете спрашивать почему плюсовые либы все ненавидят.
Qt4 зря удалили, всё ещё актуальна.
«Qt4 зря удалили, всё ещё актуальна.»
В Кубунту 14.04.
Надо будет можно на любой системе использовать , qt4 это как то с чего все своровали бекенд и сбежали на версии выше пока не попались , используется так же в win 7
апрельские убунты 14 года всё ещё актуальны до 2024, если что
Но софт-то под Qt 4 уже никто не пишет, ибо зачем? Даже в 14й Убунте есть пакет Qt 5 (правда, тоже жутко древней версии).
Qt5 требует OpenGL, если есть только софтовый рендер, то на пустом месте рост загрузки проца. Поэтому Qt4 остаётся актуальным и для новых разработок.
А где это нет OpenGL и при том можно запустить Qt4?
> Qt5 требует OpenGL, если есть только софтовый рендер, то на пустом месте рост загрузки проца.Нет, не требует. У него даже есть флаг -no-opengl при сборке.
Билдятся ли с такой опцией QtGui/QtWidgets модули?
Да, это опция qtbase.
В новости почему-то ни слова о том, что:
1) Firefox уже лет десять как отказался от Cairo (перешёл на гугловскую Skia).
2) GTK4 уже года три как большей частью отказался от Cairo (рендерит виджеты напрямую через OpenGL/Vulkan, а Cairo используется только в качестве фолбека для софтварного рендеринга)
3) LibreOffice аналогично несколько лет назад перешёл с Cairo на Skia.Выводы для Cairo, увы, неутешительные.
Аналог Windows GDI.
> и задействования OpenGL, XCB и DirectFB.Это описание уже не актуально. Ниже стоит:
> Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl и OpenVG.
А ещё стоит упомянуть и удаление OpenGL бэкенда:
Drop cairo-gl
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/287