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

Sabayon, Calculate, Funtoo, Exherbo

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

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

Trinity Desktop Environment на Gentoo

Сообщение ormorph » 14.11.2018 12:36

Выложил репозиторий, доступен на 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 -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.
Может кому пригодиться.
Последний раз редактировалось ormorph 28.03.2019 10:15, всего редактировалось 1 раз.
Спасибо сказали:

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 26.03.2019 00:07

В оверлей добавлена новая версия рабочего стола 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
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 01.04.2019 19:18

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 01.04.2019 20:00

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 01.04.2019 20:35

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 01.04.2019 20:53

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 01.04.2019 21:49

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 01.04.2019 22:10

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
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 02.04.2019 20:11

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 02.04.2019 21:21

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 03.04.2019 17:59

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 03.04.2019 18:44

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
Сообщения: 818
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 04.04.2019 16:05

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 12.04.2019 18:01

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
Сообщения: 818
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 12.04.2019 18:35

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 13.04.2019 20:52

В 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
Сообщения: 818
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 13.04.2019 21:36

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
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 13.04.2019 22:33

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 14.04.2019 00:38

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
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 15.04.2019 06:58

Сделал небольшой патчик, приведя ебилды с 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
Сообщения: 818
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 15.04.2019 07:23

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

Аватара пользователя
/dev/random
Администратор
Сообщения: 4808
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение /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, и оба варианта абсолютно некорректны.
Спасибо сказали:

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 15.04.2019 08:58

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 15.04.2019 11:45

/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
Сообщения: 818
ОС: Gentoo

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 15.04.2019 13:13

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

swine
Сообщения: 11

Re: Trinity Desktop Environment на Gentoo

Сообщение swine » 15.04.2019 20:17

Пока что не на чем, да и времени маловато :(
Спасибо сказали:

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 15.04.2019 20:56

Переписал я EAPI=7 с использованием BDEPEND.
Конструкцию # $Id$ не тронул, как же без нее собираться будет ))
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15310
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Trinity Desktop Environment на Gentoo

Сообщение Bizdelnick » 15.04.2019 22:09

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

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

Re: Trinity Desktop Environment на Gentoo

Сообщение ormorph » 16.04.2019 03:57

Bizdelnick писал:
15.04.2019 22:09
Она же у Вас всё равно не работает.
Так вот и я о том же...
Но судя по всему она мозолит глаза )
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15310
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Trinity Desktop Environment на Gentoo

Сообщение Bizdelnick » 16.04.2019 09:19

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