Bug 48810

Summary: bun
Product: New/proposed packages Reporter: Олег Щавелев <oleg>
Component: Обычный репозиторийAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: sorochanilyav, viy
Version: не указана   
Hardware: x86_64   
OS: Linux   

Description Олег Щавелев 2023-12-14 19:06:23 MSK
Описание приложения:
==========================
bun - это универсальный инструментарий для приложений JavaScript и TypeScript. Он поставляется в виде единого исполняемого файла под названием bun​.

В основе лежит Bun runtime, быстрая среда выполнения JavaScript, разработанная как замена для Node.js. Bun написан на Zig и работает на базе JavaScriptCore under the hood, что значительно сокращает время запуска и использование памяти.

По рейтингу Github - 66K звезд.

Лицензия:
==========================
MIT

Исходники:
==========================
https://github.com/oven-sh/bun
Comment 1 Ilya Sorochan 2024-11-12 18:10:39 MSK
Для всех любопытных следующие моменты огромная боль и мешают опакечиванию:

1. Для компиляции bun нужен bun. Он используется для генерации некоторых файлов. Без них собрать нельзя.
https://github.com/oven-sh/bun/blob/main/CONTRIBUTING.md#code-generation-scripts
Теоретически их можно сгенерить и закоммитить, смотря насколько они платформозависимые.

2. Bun использует патченый WebKit, который требует llvm16. Именно этой версии ллвм у нас нет в репозитории.
Использование другой версии может повлечь файлы с аллокацией памяти. Хотя у меня с 18.1 даже не скомпилировалось.
https://github.com/oven-sh/bun/blob/main/CONTRIBUTING.md#install-llvm
Тут либо возврщать 16-й ллвм либо обновлять апстримовский вебкит.
Во втором случае на крайняк можно сначала подержать его у себя.

3. При стандартной сборке через bun run build скачивается стандартный zig для сборки их форка (oven-sh/zig).
Причем определенный коммит. Теоретически форк можно закоммитить и собирать нашим zig-ом.