Trinity Desktop Environment на Gentoo (Сборка окружения TDE под gentoo)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Выложил репозиторий, доступен на Github тыц.

Доступна минимальная сборка, она же базовая.
Присутствует интеграция с Layman. Для этого надо добавить в /etc/layman/layman.cfg адрес:

Код: Выделить всё

https://raw.github.com/ormorph/TDE/master/layman/tde.overlay
Добавляется в overlays. Должно получиться примерно так:

Код: Выделить всё

overlays  :
    https://api.gentoo.org/overlays/repositories.xml
    https://raw.github.com/ormorph/TDE/master/layman/tde.overlay
После этого команда layman -L покажет наличие репозитория TDE.
Останется только выполнить:

Shell

# layman --fetch

Shell

# layman -a TDE
Перед сборкой лучше сразу размаскировать пакет из репозитория =www-misc/htdig-3.2.0_beta6-r6, этот пакет пропатчен для возможности сборки его gcc-7x. Тот что в системе по умолчанию не собирается, за отсутствием данного патча.
База устанавливается командой:

Shell

# emerge -av tde-minimal
Поддержка языков выставляется в /etc/portage/make.conf, в переменной L10N.
Пример: L10N="ru".
Эта переменная прописывается перед сборкой tde-minimal.
Пока еще добавлены tdewebdev для веб разработки и amarok, их можно собрать отдельно. ебилд kaffeine не рабочий. Ну и не думаю что в нем есть необходимость, так как для сборки в gentoo уже доступен другой такой же.

У меня вроде все собралось, может еще какие зависимости пропустил, если у кого не соберется. Проверено на архитектуре amd64.
Для поддержки consolekit следует добавить флаг consolekit для пакета trinity-base/tdelibs.

Минусы, звук системных уведомлений работает на arts, как костыль можно запускать через эмуляцию oss в pulseaudio padsp, этот режим запуска добавлен в /usr/share/xsessions.
Может кому пригодиться.

Альтернативный способ установки, используя пакет app-eselect/eselect-repository
Добавление репозитория в список /etc/portage/repos.conf/eselect-repo.conf:

Shell

# eselect repository add TDE git https://github.com/ormorph/TDE
Скачивание, синхронизация:

Shell

# emaint sync -r TDE
Как результат репозиторий будет находиться, обычно по умолчанию в /var/db/repos/TDE
Далее все то же самое что и с Layman, с той разницей, что репозиторй будет находиться в другом каталоге, отличном от Layman.
Последний раз редактировалось ormorph 14.03.2020 20:16, всего редактировалось 4 раза.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

В оверлей добавлена новая версия рабочего стола TDE-14.0.6.
По умолчанию собирается без arts. Вроде все должно собираться, кроме trinity-apps/kvirc.
Перед сборкой желательно размаскировать, для этого перейти в каталог /etc/portage/package.keywords и установить символическую ссылку на файл из оверлея package.keywords/tde-14.0.6.
Пример:

Shell

# ln -sf /var/lib/layman/TDE/package.keywords/tde-14.0.6 tde
После этого можно выполнить:

Shell

# emerge tde-base
либо

Shell

# emerge tde-minimal
для минимальной сборки.
Spoiler
ИзображениеИзображение
Файлы из пакета trinity-base/tde-common-admin используются для обеспечения сборки некоторых пакетов, и могут использоваться для генерации configure файла в проектах tdevelop, правда сгенерированный configure по умолчанию привязывает проект к arts, даже там где он не используется, по этому лучше выполнять с такими опциями для сборки без arts:

Shell

$ build_arts=no ./configure --without-arts
У меня собралось норм, могут возникнуть проблемы с некоторыми зависимостями, которые я не учел, так как у меня эти пакеты уже были установлены.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Как с совместимостью с kde4? Конфликтовать не будут? Например та же superkaramba как себя поведёт?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
01.04.2019 19:18
Как с совместимостью с kde4? Конфликтовать не будут?
Не будут, там все в отдельном каталоге /opt/trinity находится, по этому можно одновременно использовать даже два kaffeine.
Все пакеты отображаются в меню других рабочих столов за счет глобальной переменной XDG_DATA_DIRS
swine писал(а):
01.04.2019 19:18
Например та же superkaramba как себя поведёт?
Вполне нормально, работает.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Как приедет заказанный ноут, начну компилять. Жди багрепортов, и возможно фичреквестов )
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
01.04.2019 20:35
Как приедет заказанный ноут, начну компилять.
Удачи!
В tde-14.0.6 для сборки по умолчанию звуковой сервер arts не используется, у меня просто цель была выпилить это. Для вывода звука можно использовать любой плеер работающий с pulseaudio, например trinity-video/kaffeine.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Начну пожалуй с фичреквеста.
Хотелось бы видеть build_arts=no --without-arts вынесенными в use. Мне arts привычнее pulseaudio.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
01.04.2019 21:49
Начну пожалуй с фичреквеста.
Хотелось бы видеть build_arts=no --without-arts вынесенными в use. Мне arts привычнее pulseaudio.
Ок, учту.
Такая идея была изначально, просто не очень нравится, когда запускаешь прогу в другом рабочем столе, а оно запускает arts. Ну и для некоторых пакетов эта зависимость излишня, так как просто не используется программой. Просто конфиг создаваемый по умолчанию требует зависимости arts, а она не нужна.
Например не нужен для gwenview. Для тем оформления тоже не думаю что нужен.

Это особенность разработки tdevelop, там даже окно hello world, конфиг сгенерированный с помощью tde-common-admin будет требовать arts.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Сделал на досуге небольшой патчик, работоспособность не проверял. Слегка непонятно про build_arts=no. Собственно вот: http://dpaste.com/2Q6RHGA
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Хм, я как бы специально не использовал econf, так как некоторые параметры автоматом прописывает из eclass, например --prefix и т.д, по этому использовал на прямую configure.
econf не идет в данном случае. Также параметр $(use_enable arts), подставляет либо --enable-arts либо --disable-arts, данные параметры к сожалению в данном конфиге не используются, по тому смысла от них нет.
Я уже подправил, добавил поддержку arts в некоторые ебилды в зависимости от флага. И как я говорил смысла включать arts в gwenview нет, так как не использует его, например когда видеофайл проигрывает, то звук идет все равно через пульсу. Если конфиг ругается на отсутствие arts, так это по тому, что его генерирует tde-common-admin, такие уж у него параметры по умолчанию, и это не значит что arts в данном случае действительно необходим.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

А не было мысли использовать наработки https://github.com/Fat-Zer/trinity ? И вики опять же на него ссылается.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
03.04.2019 17:59
А не было мысли использовать наработки https://github.com/Fat-Zer/trinity ? И вики опять же на него ссылается.
У меня была цель создать то, в чем любой сможет разобраться и перенести себе без лишних переделок, с использованием только системных eclass.
Другими словами сплавить поддержку сборки данного окружения кому нибудь другому.
Ну и мне просто интересно было что там в trinity сделали, и как оно работает, по этому делал чисто для себя что бы посмотреть, ну и на всякий случай выложил что бы другие попробовали. Может заинтересует кого и можно будет ему сплавить))
Тут просто sunjob заинтриговал TDE, вот и решил сделать.

Fat-Zer В принципе не малый вклад внес в разработку Trinity, но оверлей для gentoo уже давно не поддерживает. Не знаю по чему там прописана в низу лицензия MIT(пардон AFL) если весь код под GPL-2 выкладывает, что в шапке каждого файла и прописано. Просто по лицензии AFL этот оверлей делался чисто в обучающих целях, хотя когда то сборка работала норм.
Кстати на счет конструкции build_arts=no ./configure --without-arts, я сделал вариант с оператором if.
Но в принципе можно сделать на много проще, так как --without-arts не работает без параметра build_arts=no, то можно сделать на много проще без if:

Код: Выделить всё

build_arts=$(usex arts yes no) ./configure --without-arts
build_arts=no это переменная с которой работает скрипт configure, которая подхватывается параметром --without-arts.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

В tde-base добавлен флаг powermanagement, который добавляет в зависимость trinity-apps/tdepowersave. Так же добавлен ебилд trinity-apps/tdepowersave-14.0.6, что актуально для ноутбуков.
Spoiler
ИзображениеИзображение
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

CMake Error at cmake/modules/TDEMacros.cmake:24 (message):
#################################################

xcomposite is requested, but was not found on your system

trinity-base/tdebase
-DWITH_XCOMPOSITE=ON

Надо бы в depend добавить. И как мне кажется лучше юзом.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
12.04.2019 18:01
Надо бы в depend добавить. И как мне кажется лучше юзом.
Ок, добавил в зависимости x11-libs/libXcomposite.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

В trinity-base/arts/arts-14.0.6.ebuild надо убрать из DEPEND trinity-base/tdelibs, а в trinity-base/tdelibs напротив добавить в DEPEND trinity-base/arts при USE=arts.
Немного про EAPI="7" и DEPEND: https://dev.gentoo.org/~mgorny/articles/the-ultimate-guide-to-eapi-7.html#build-time-dependencies-split-into-depend-and-bdepend
Не понял конструкцию RDEPEND="${RDEPEND}" в trinity-base/arts/arts-14.0.6.ebuild :)
Добавлено (21:05):
Надо бы некоторые ебилды перепилить с BDEPEND. сборка фейлится при ROOT= SYSROOT= отличных от /. Но неудобно на нетбуке ковыряться.
Добавлено (21:11):
В смысле привести ебилды к EAPI="7", и заменить DEPEND на BDEPEND.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
13.04.2019 20:52
Не понял конструкцию RDEPEND="${RDEPEND}" в trinity-base/arts/arts-14.0.6.ebuild
Упс..
swine писал(а):
13.04.2019 20:52
В смысле привести ебилды к EAPI="7", и заменить DEPEND на BDEPEND.
Не это не надо, просто тут принято разделение, инструменты сборки прописываются в BDEPEND, а зависимости в DEPEND. Но это не сильно важно.
На EAPI=7 перевел только пакеты использующие cmake-utils.
В результате инструменты сборки изменились, вместо make для сборки используется ninja. Так как в EAPI=7 генерация ninja выставлено по умолчанию. Это немного должно ускорить сборку.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Невнимательно ты читаешь)
Там как раз мой случай с ROOT= SYSROOT=. С BDEPEND нужные для сборки пакеты ставятся в хост систему, а с DEPEND нет, и соответственно сборка фейлится.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

swine писал(а):
13.04.2019 22:33
Невнимательно ты читаешь)
Там как раз мой случай с ROOT= SYSROOT=. С BDEPEND нужные для сборки пакеты ставятся в хост систему, а с DEPEND нет, и соответственно сборка фейлится.
Не там зачем то добавил в зависимость tdelibs для arts, хотя в версии 14.0.5 она у меня отсутствовала, вот и получается балалайка ))
tdelibs для сборки arts не нужно. Я тогда целую кучу пакетов правил, мог где то сбиться и натворить. А так как на тот момент старался выпилить arts, по этому и не проверил)
А так если добавить файлик ~/.asoundrc:

Код: Выделить всё

# Use PulseAudio by default
pcm.!default {
  type pulse
  fallback "sysdefault"
  hint {
    show on
    description "Default ALSA Output (currently PulseAudio Sound Server)"
  }
}

ctl.!default {
  type pulse
  fallback "sysdefault"
}
То где то через минуту после старта pulseaudio перехватывает управление и arts начинает работать через pulseaudio alsa-плагин. Что позволяет использовать одновременно обе звуковые системы.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Сделал небольшой патчик, приведя ебилды с EAPI=7 к чуть более правильному виду. BDEPEND одно из основных изменений в нём. Заодно убрал # $Id$, как и в основном дереве портажей. Ну и кое-где встречались пробелы в конце строки. Их тоже убрал. По хорошему, надо бы разделить BDEPEND и DEPEND, но это выше моих сил :)
Вот сам патчик: http://dpaste.com/1693PFD и raw: http://dpaste.com/1693PFD.txt
Добавлено (07:09):
Патчик на trinity-base/tdemultimedia для юза arts: http://dpaste.com/0YPTGTB
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Хм, ну и зачем это нужно?
Без DEPEND, получается та же самая очередность, что и была.
Просто BDEPEND выполняется до DEPEND, благодаря чему повышается гибкость, и устраняются циклические зависимости.
Ну и кавычки убирать не обязательно было из EAPI="7", в портах полно ебилдов оформленных подобным образом.
Вот уж вам скучно было ))
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5364
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение /dev/random »

ormorph писал(а):
15.04.2019 07:23
Просто BDEPEND выполняется до DEPEND, благодаря чему повышается гибкость, и устраняются циклические зависимости.
Нет, BDEPEND не для этого. При сборке одной системы из-под другой (ЕМНИП, swine писал, что это как раз его случай), BDEPEND ставится в ту систему, в которой идёт сборка, а DEPEND - в ту, которая собирается. До EAPI7 был только DEPEND, и ставился в обе системы. Кстати, насколько я могу судить без детального вникания, патч некорректен. Библиотеки должны идти в DEPEND, а сборочный инструментарий - в BDEPEND. Тут же без патча всё лежит в DEPEND, а с патчем - в BDEPEND, и оба варианта абсолютно некорректны.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

/dev/random писал:
15.04.2019 07:46
Нет, BDEPEND не для этого. При сборке одной системы из-под другой (ЕМНИП, swine писал, что это как раз его случай)
Не там я просто с зависимостями намудрил и tdelibs не требовалось добавлять в BDEPEND.
А на счёт инструментов сборки, то тут надо будет ещё разгребать, например удалить из зависимостей те, которые и так добавляет eclass. А так в BDEPEND нужно будет перенести tde-common-*.
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

/dev/random писал:
15.04.2019 07:46
ormorph писал(а):
15.04.2019 07:23
Просто BDEPEND выполняется до DEPEND, благодаря чему повышается гибкость, и устраняются циклические зависимости.
Нет, BDEPEND не для этого. При сборке одной системы из-под другой (ЕМНИП, swine писал, что это как раз его случай), BDEPEND ставится в ту систему, в которой идёт сборка, а DEPEND - в ту, которая собирается. До EAPI7 был только DEPEND, и ставился в обе системы. Кстати, насколько я могу судить без детального вникания, патч некорректен. Библиотеки должны идти в DEPEND, а сборочный инструментарий - в BDEPEND. Тут же без патча всё лежит в DEPEND, а с патчем - в BDEPEND, и оба варианта абсолютно некорректны.
Совершенно с вами согласен. Я же и написал, что разделить DEPEND и BDEPEND выше моих сил)
Просто на скорую руку sed-ом пробежался.
Насчёт EAPI="7" не согласен. Погрепал /usr/portage. EAPI="7" - 222, EAPI=7 - 3666.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Ну вот уже способ объявления переменных вам не нравится)
Оба варианта корректны и работают.
Если хочется внести вклад, то можно посмотреть на множество пакетов, которые я ещё не собирал, например tdeaccessibility.
Тут буду только рад)
Спасибо сказали:
swine
Сообщения: 21
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение swine »

Пока что не на чем, да и времени маловато :(
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Переписал я EAPI=7 с использованием BDEPEND.
Конструкцию # $Id$ не тронул, как же без нее собираться будет ))
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21001
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Trinity Desktop Environment на Gentoo

Сообщение Bizdelnick »

ormorph писал(а):
15.04.2019 20:56
Конструкцию # $Id$ не тронул, как же без нее собираться будет ))
Она же у Вас всё равно не работает.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2913
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph »

Bizdelnick писал:
15.04.2019 22:09
Она же у Вас всё равно не работает.
Так вот и я о том же...
Но судя по всему она мозолит глаза )
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21001
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Trinity Desktop Environment на Gentoo

Сообщение Bizdelnick »

ormorph писал(а):
16.04.2019 03:57
Так вот и я о том же...
А для чего вставили? И, надеюсь, не сочтёте вопрос нескромным, — вообще знаете, для чего она?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: