Разумеется, первым делом я поискал, кто как решает эту проблему. Нашёл здесь, на форуме:
How are linux folks compiling freecad 0.17 with qt5?
То есть скомпилировать можно и под qt5 (qtwebkit под qt5 в gentoo имеется), поэтому решил идти этим путём.
После игр с cmake выяснилось, что надо ставить опцию использования qt5, но при этом требуется shiboken2, в то время как в gentoo PySide и, соответственно, shiboken, только версии 1.2. Кроме того, возникает проблема с версией coin3d - только четвёртая совместима с qt5, но официального релиза ещё нет.
Первая проба - установить shiboken2 с помощью pip ( emerge dev-python/pip ). Подсказку взял в официальном руководстве здесь. Это можно сделать только для отдельного пользователя (pip предупреждает, что в противном случае может грохнуть python, поэтому надо использовать опцию --user), что меня на первое время устраивает:
Code: Select all
pip install --user --index-url=http://download.qt.io/snapshots/ci/pyside/5.11/latest/ pyside2 --trusted-host download.qt.io
Установка pyside и shiboken в систему через менеджер пакетов portage так же возможна, в наиболее полном объёме созданием всех необходимых для FreeCAD ebuildов озаботился пользователь Waebbl. Его оверлей можно присоединить через layman: layman -a waebbl
К сожалению, но ни один из них у меня в текущем виде не заработал, всех их пришлось допиливать. Во-первых, его его ebuildы ориентированы на скачивание прямо определённой ветки репозитория, для меня же была принципиальна установка именно из архива, чтобы он хранился на диске. Кроме того, у разработчиков уже имеются официальные релизы Pyside для Qt5.11, последний - 5.11.2: https://download.qt.io/official_release ... .11.2-src/ Разумеется, они ориентированы на Qt соответствующей версии, у меня они установились лишь после установки qt-5.11. Дополнительной проблемой стало, что скомпилированный shiboken2 при генерации опций компиляции Pisyde указал не все необходимые пути к заголовочным файлам, пришлось включить в ebuild для pyside корректировку исходников.
Заметно больше проблем было с компиляцией Coin3d 4-й версии. В итоге выяснилось, что ebuildы, ориентированные на сборку через cmake, как находящийся в официальном репозитории, так и созданный не работают, сгенерированные ими Makefile "забывают" скомпилировать и положить в библиотеку значительную часть функций, необходимых для компиляции FreeCAD. Обойти проблему удалось путём переписывания ebuildа на использование "старого доброго" configure. Но даже несмотря на это, FreeCAD смог скомпилироваться лишь со снапшотом от 21.09.2018, для которого Waebbl создал один из ebuildов.
Огромная благодарность Waebbl! Насчёт моих версий ebuild-ов пишите в личку.