Bug 47245

Summary: Собрать Chromium Embedded Framework (CEF)
Product: New/proposed packages Reporter: Антон Мидюков <antohami>
Component: Обычный репозиторийAssignee: Mikhail Tergoev <tergoevm>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: lav, tergoevm, viy
Version: не указана   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 47109    
Attachments:
Description Flags
Экспериментальный спек v1 none

Description Антон Мидюков 2023-08-15 09:57:43 MSK
Если у кого-нибудь когда-нибудь дойдут руки, можно собрать Chromium Embedded Framework (CEF):
https://bitbucket.org/chromiumembedded/cef

Позволяет встраивать браузер в приложения. Например, есть бага:
https://bugzilla.altlinux.org/47109
где просят собрать obs-browser, которому нужен CEF.
Comment 1 Mikhail Tergoev 2023-08-15 11:44:59 MSK
Достаточно будет cef-minimal-obs собрать?
https://github.com/obsproject/cef/tree/5060-shared-textures
по примеру:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=cef-minimal-obs-bin
Comment 2 Антон Мидюков 2023-08-15 12:19:53 MSK
(Ответ для Mikhail Tergoev на комментарий #1)
> Достаточно будет cef-minimal-obs собрать?
> https://github.com/obsproject/cef/tree/5060-shared-textures
> по примеру:
> https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=cef-minimal-obs-bin

Желаете собрать?
Comment 3 Mikhail Tergoev 2023-08-15 12:24:28 MSK
Могу попробовать.
Comment 4 Mikhail Tergoev 2023-08-15 19:34:54 MSK
Created attachment 14124 [details]
Экспериментальный спек v1
Comment 5 Mikhail Tergoev 2023-08-15 19:56:29 MSK
Чем дальше углубляюсь в попытку сборки obs-cef-minimal-bin, тем больше мнение что не попадёт он в Сизиф: 
1 - пакет в итоге будет содержать сторонние бинари.
2 - если брать по примеру из аура, то расположение: /opt/cef-obs (привет sisyphus_check: check-fhs ERROR: FHS violation), а куда его ещё со сторонними бинарями кидать...

Идею с АЛЬТернативной вселенной выскажу(:
Так как пакет obs-cef-minimal-bin нужен только для сборки obs-browser, то может его собрать внутри спека obs-studio в каталог %builddir/cef-obs (как сабмодуль) и после этого собрать obs-studio c
-DBUILD_BROWSER=ON \
-DCEF_ROOT_DIR="%builddir/cef-obs"

Если есть идеи получше, с удовольствием выслушаю.
Comment 6 Vitaly Lipatov 2023-08-18 00:00:40 MSK
Я не думаю, что есть смысл собирать бинарники. Хотя у нас есть исключение в виде пакетов electron, но это плохая тенденция.

Безусловно, пакеты в репозитории не могут размещать файлы в /opt, это запрещено технически.

Есть ли где-то примеры сборки CEF из исходников?
Comment 7 Mikhail Tergoev 2023-08-18 11:06:38 MSK
(Ответ для Vitaly Lipatov на комментарий #6)
> Есть ли где-то примеры сборки CEF из исходников?

В том то и суть, что никто его отдельно и не держит в своих репозиториях. (по крайней мере, я не нашел)
https://repology.org/project/cef/versions
https://repology.org/project/cef-binary/versions
по этому и предложил:

> Идею с АЛЬТернативной вселенной выскажу(:
> Так как пакет obs-cef-minimal-bin нужен только для сборки obs-browser, то
> может его собрать внутри спека obs-studio в каталог %builddir/cef-obs (как
> сабмодуль) и после этого собрать obs-studio c
> -DBUILD_BROWSER=ON \
> -DCEF_ROOT_DIR="%builddir/cef-obs"

Разумеется, собранный obs-cef-minimal-bin в таком случае не будет попадать в репозиторий, так как его файлы не будут упакованы.

Вопрос, является ли такое решение возможным с точки зрения лицензий и прочего.
Если проблем с этим нет, могу попробовать пересобрать obs-studio по схеме описанной выше.