Форум проекта PuppyRus Linux

Дистрибутивы проекта PuppyRus Linux => PuppyRus-A [PRA] => Тема начата: sfs от 09 Ноябрь 2019, 17:13:36

Название: Qt5 без icu
Отправлено: sfs от 09 Ноябрь 2019, 17:13:36
https://habr.com/ru/post/258951/
скомпаилил маленький по размеру icu

Фрэймворк-Qt имеет модульную структуру, но, увы, не совсем совершенную. Некоторые зависимости от внешних библиотек «вешаются» не на модуль, требующий эти библиотеки, а на Qt5Core. Иными словами, нужна вам эта библиотека, или нет — вынь да положЪ в дистрибутив. Пример тому «монстрик» — библиотека ICU. Весит она почти 25 метров! Зависимость вешается, как я упоминал выше, на Qt5Core… а требует ее модуль Qt5WebKit (который по сути в 99% случаев не используется
030-qt5-noicu-5.13.2_64-sf06.pfs (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/030-qt5-noicu-5.13.2_64-sf06.pfs)

https://mirror.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.15.0/ - как в prar2008
030-qt5-noicu-5.15.0-2008-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2008/pfs/030-qt5-noicu-5.15.0-2008-sf01.pfs)

https://mirror.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.15.1/
Скомпилил. Версию взял самую свежую, т.к. они обратно совместимы
Позволит брать пакеты из свежего среза арчрепы. Например transmission-qt5-p-2.94_64-sf01.pfs (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/transmission-qt5-p-2.94_64-sf01.pfs)
И т.к. нет привязки к icu - можно юзать в любом дистре. Проверил в LFD10 - норм

Экспериментально выяснил, что достаточно перекомпилить qt5-base. Остальные qt5 пакеты этой же версии можно брать из арчрепы. Исключения (тоже надо перекомпилять):
qt5-wayland

Если понадобятся другие пакеты qt5 : ftp://ftp.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.13.2/ Другие не подойдут (некоторые подходят : qt5-script qt5-multimedia). Компилить или попробовать взять из арчрепы этой же (5.13.2 версии)

При компиляции вырезал :
qt5-base: icu ; все БД кроме sqlite
qt5-multimedia-5.13.2-1-x86_64.pkg.tar.xz : pulse ; gst
qt5-multimedia-5.13.2-2-x86_64.pkg.tar.xz : gst
Название: Re: Qt5 без icu
Отправлено: sfs от 07 Декабрь 2020, 11:46:22
https://mirror.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.15.0/ - как в prar2008
030-qt5-noicu-5.15.0-2008-sf01.pfs
Скомпилил
Пришел к выводу, что qt5 портировать (перемещать в /opt) нет смысла. Тем более virtualbox c портированным qt5 так и не заработал
Надо иметь noicu версию такую же как в срезе арчрепы дистриба
Экспериментально выяснил, что достаточно перекомпилить qt5-base. Остальные qt5 пакеты этой же версии можно брать из арчрепы. Исключения (тоже надо перекомпилять):
qt5-wayland
Тогда остальные пакеты (и в том числе софт можно брать из родного среза арчрепы)
Захочется софт свежее :
1. Если в текущем срезе арчрепы софт уже под более свежую версию qt5 - перекомпилить софт под родную дистру версию qt5
2. Скомпилить свежий qt5-noicu. Только тогда придется компилить все пакеты qt5.
qt5 хоть и обратно совместимо,но версии либ мешать нельзя (хотя с некоторыми получалось)
Т.е. вар.1 проще

Если дистр FULL - qt5-noicu стандартно автообновится и проблем не будет
В таком виде и пойдет в исо
Название: Re: Qt5 без icu
Отправлено: sfs от 06 Январь 2021, 10:57:30
https://www.opennet.ru/opennews/art.shtml?num=54352
Появилась надежда, что 5.15.2 заморозится как qt 4.8.7
Т.е. не надо будет постоянно перекомпилять (5.15.2 обратно совместима с 5.15.0, т.е. скомпиленное под 5.15.2 не пойдет под 5.15.0)
qt6 уже есть в арчрепе, но весь софт еще qt5
Название: Re: Qt5 без icu
Отправлено: sfs от 11 Июнь 2021, 15:44:45
Появилась надежда, что 5.15.2 заморозится
Пока так оно и есть. Скомпилил без icu под lfa2008 https://mirror.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.15.2/
030-qt5-noicu-5.15.2-2008-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2008/pfs/030-qt5-noicu-5.15.2-2008-sf01.pfs)
С патчами от kde (https://mirror.yandex.ru/puppyrus/roll/pkg/qt5-noicu-5.15.2/-/) у меня не собралось

030-qt5-noicu-5.15.2-2103-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2103/pfs/030-qt5-noicu-5.15.2-2103-sf01.pfs)
vlc-qt5-3.0.15-2103-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2103/pfs/vlc-qt5-3.0.15-2103-sf01.pfs) - j,обновил для проверки - работает
Позде попробую к LFDS2104 прикрутить
Название: Re: Qt5 без icu
Отправлено: krasnyh от 12 Июнь 2021, 14:36:22
030-qt5-noicu-5.15.2-2008-sf01.pfs
smplayer-qt5-p-21.1.0_64-sf01.pfs
Код
$ smplayer
SMPlayer v. 21.1.0 (ревизия 9475) запущен в Linux
[1]    14006 segmentation fault (core dumped)  smplayer
Название: Re: Qt5 без icu
Отправлено: sfs от 15 Июнь 2021, 10:49:38
А от root запускается. Добавил dbus-launch - заработало
smplayer-qt5-p-21.1.0_64-sf02.pfs (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/smplayer-qt5-p-21.1.0_64-sf02.pfs)
030-qt5-noicu-5.15.2-2008-sf02.pfs (http://mirror.yandex.ru/puppyrus/roll/2008/pfs/030-qt5-noicu-5.15.2-2008-sf02.pfs)

Название: Re: Qt5 без icu
Отправлено: sfs от 18 Июнь 2021, 14:24:37
roll/pkg/qt5-noicu-5.15.2/qt5-declarative-5.15.2+kde+r28-1-x86_64.pkg.tar.xz
roll/pkg/qt5-noicu-5.15.2/qt5-multimedia-nogst-5.15.2-1-x86_64.pkg.tar.xz
roll/pkg/qt5-noicu-5.15.2/qt5-quickcontrols2-5.15.2-1-x86_64.pkg.tar.xz
Название: Re: Qt5 без icu
Отправлено: sfs от 21 Июнь 2021, 13:50:08
030-qt5-noicu-5.15.2-2103-sf01.pfs
Позде попробую к LFDS2104 прикрутить
Посмотрел - icu там в зависимостях даже у lxterminal. Можно , конечно все перекомпилить, но тогда получится типа lfd10.  А для LFDS2104 замысел был не особо отходить от родной репы
Название: Re: Qt5 без icu
Отправлено: krasnyh от 21 Июнь 2021, 13:59:38
030-qt5-noicu-5.15.2-2008-sf01.pfs
smplayer-qt5-p-21.1.0_64-sf01.pfs
Код
$ smplayer
SMPlayer v. 21.1.0 (ревизия 9475) запущен в Linux
[1]    14006 segmentation fault (core dumped)  smplayer
Добавил dbus-launch - заработало
Ставил qmmp. Тоже потребовался запуск через dbus-launch.

Может exec dbus-launch как-то глобально пописать в 030-qt5-noicu-5.15.2? Иначе каждое qt5 приложение придется дорабатывать на стороне пользователя, не очень удобно. Или пересмотреть структуру 030-qt5-noicu-5.15.2? Раньше же в в сборках не было таких проблем с 030-qt5.
Название: Re: Qt5 без icu
Отправлено: sfs от 21 Июнь 2021, 15:10:24
Может exec dbus-launch как-то глобально пописать в 030-qt5-noicu-5.15.2?
Типа qt5152 qmmp - неудобно
В модуль 030-qt5 добавлять запускалки всех прог - еще неудобнее
Раньше же в в сборках не было таких проблем с 030-qt5
Возможно что-то поменялось в свежих версиях qt5. Мог и я накосячить. Искал - не нашел. Попробуйте Вы поискать
Название: Re: Qt5 без icu
Отправлено: krasnyh от 21 Июнь 2021, 16:15:11
Qmmp запускается обычным способом, без root или dbus-launch, если старый конфиг удалить.

Не знаю с чем это связано. Я его настраивал еще со старым 030-qt5-noicu-5.15.0-2008-sf01.pfs.
Название: Re: Qt5 без icu
Отправлено: sfs от 30 Июнь 2021, 09:10:20
030-qt5-noicu-5.15.2-2008-sf01.pfs
Не скомпилились opengl компоненты. Наверное забыл подключить mesa. Virtualbox не работает. Надо переделывать
Название: Re: Qt5 без icu
Отправлено: sfs от 07 Июль 2021, 14:52:47
Надо переделывать
Не получается скомпилить. Оставлю так. Для virtualbox юзаем старый qt5 или полный
Название: Re: Qt5 без icu
Отправлено: sfs от 30 Сентябрь 2021, 10:29:45
Не получается скомпилить
Получилось под прар2103 из родных (не патченных КДЕ исходников). Под прар2110 тоже не компилилось
roll/pkg/qt5-noicu-5.15.2/PKGBUILD
roll/pkg/qt5-noicu-5.15.2/dep.list
roll/pkg/qt5-noicu-5.15.2/qt5-base-noicu-5.15.2-4-x86_64.pkg.tar.xz

030-qt5-noicu-5.15.2-2103-sf02.pfs (http://mirror.yandex.ru/puppyrus/roll/2103/pfs/030-qt5-noicu-5.15.2-2103-sf02.pfs)
030-qt5-noicu-5.15.2-2008-sf03.pfs (http://mirror.yandex.ru/puppyrus/roll/2008/pfs/030-qt5-noicu-5.15.2-2008-sf03.pfs)
030-qt5-noicu-5.15.2-2110-sf02.pfs (http://mirror.yandex.ru/puppyrus/roll/2110/pfs/030-qt5-noicu-5.15.2-2110-sf02.pfs)
Название: Re: Qt5 без icu
Отправлено: sfs от 19 Ноябрь 2021, 15:56:18
030-qt5-noicu-5.15.2-d10-sf03.pfs (http://mirror.yandex.ru/puppyrus/lf/d10/pfs/030-qt5-noicu-5.15.2-d10-sf03.pfs) делал из 030-qt5-noicu-5.15.2-2008-sf03.pfs с добавлением либ
030-qt5-noicu_DEV-5.15.2-d10-sf03.pfs (http://mirror.yandex.ru/puppyrus/lf/d10/pfs/030-qt5-noicu_DEV-5.15.2-d10-sf03.pfs)
Название: Re: Qt5 без icu
Отправлено: sfs от 24 Май 2022, 16:19:11
Вдохновясь этой (https://www.opennet.ru/opennews/art.shtml?num=57238) идеей
Цитата
Пакет icu-data с данными для интернационализации разделён на два пакета: icu-data-en (2.6 MiB, включена только локаль en_US/GB) и icu-data-full (29 MiB).
и переделав APKBUILD (https://github.com/alpinelinux/aports/tree/master/main/icu) в PKGBUILD (http://mirror.yandex.ru/puppyrus/puppyrus-a/PKGBUILD/icu-lib/PKGBUILD), скомпаилил маленький по размеру icu
roll/pkg/2110/icu-bin-69.1-3-x86_64.pkg.tar.xz

Проверял на vlc. Экспериментально определил, что .dat для ПРАР можно вообще выкинуть
roll/pkg/2110/icu-lib-69.1-3-x86_64.pkg.tar.xz - т.е. этого достаточно
Переделал 030-qt5-light-5.15.2-2110-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2110/pfs/030-qt5-light-5.15.2-2110-sf01.pfs) - тут родной qt из репы и мой icu
Т.е. теперь не надо перекомпилять qt5. Это многократно сложнее, чем перекомпилить icu
Такой 030-qt5 больше на пару мб и более совместим
Название: Re: Qt5 без icu
Отправлено: sfs от 20 Июль 2022, 17:08:23
Ну вот опять пошло обновление версий qt5 в арче. Хорошо что я упростил себе жизнь с icu-lib (см. выше)
icu-bin-71.1-3-x86_64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/icu-bin-71.1-3-x86_64.pkg.tar.xz)
icu-lib-71.1-3-x86_64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/icu-lib-71.1-3-x86_64.pkg.tar.xz)
030-qt5-light-5.15.5-2110-sf01.pfs (http://mirror.yandex.ru/puppyrus/roll/2110/pfs/030-qt5-light-5.15.5-2110-sf01.pfs)
Модуль пожирнел, т.к. пришлось добавить либу из свежего gcc-libs