Инсталлятор «Виолы»
Вчера я хотел кое-что потестировать в «Виоле» на другом ноутбуке и понял, что я понятия не имею как её нормально там запустить. Причина в том, что «Виола» требует несколько внешних утилит для работы, плюс библиотеки,.. в общем, я решил, что пора сделать инсталлятор.
Так как с собой пришлось тащить ещё и «Кварц» (XQuartz), то лучшим выбором был dmg — файл с монтируемой файловой системой. Хорош он тем, что просто делается и легко стилизуется. Я, например, сделал внутри обои, вдохновлённые внешним видом браузера и поместил портрет автора с его старой домашней странички.
По-моему, вышло очень симпатично.
Для сборки сделал две новые цели — make app для сборки самого приложения и make dmg для сборки инсталлятора.
Больше всего, конечно, пришлось помучаться с приложением — чтобы пользователь потом не ставил сторонний софт, я перенёс все бинарные зависимости внутрь, переписав пути. Вообще, весь инструментарий для этого уже существует, но в случае утилиты magick из пакета ImageMagick пришлось делать отдельную компиляцию, чтобы сделать бинарник перемещаемым.
Нейросеть, которая мне это всё готовила, в этом месте зациклилась, пытаясь разобраться как готовый бинарник унести внутрь так, чтобы он заработал, хорошо что я быстро увидел, а то бы мне это обошлось в копеечку.
Добавлено позднее: код собран по процессоры АРМ и под «МакОС» 26.
Про imagemagick не совсем понятно. То есть работать будет только если поставить в /Applications, в другую папку не выйдет?
Если кратко, то — да. Простого способа нет, но можно оставить fallback на системый ImageMagick, только его нет в «МакОСи», но если отдельно поставить руками, то всё ок будет.
Добавлено позднее: оказывается я и не проверил можно ли при перекомпиляции сделать так, чтобы ImageMagick работал из любого места. Оказалось — можно, скоро будет коммит.
Сам инсталлятор, по-идее, можно сделать pkg. Это (если я верно помню, давно не смотрел) позволит XQuartz поставить автоматом. Правда, не будет красивого фона, будет честный установочный визард.
Можно, но надо ли? Пользователей у этого браузера — один человек, это я :-) Я занялся этим, скорее, чтобы посмотреть как это вообще устроено всё.
Интересно, а почему не через brew?
Само бы всё подтянуло XQuartz.
Кстати, авторизация через телегу и ВК не работает. 403 и всё.
Потому что человеку откуда-то надо иметь brew.
Похоже надо это всё отключать как-то. Думаю, это связано с тем, что у Ильи сайт движка помер.
По-моему Виола это не для дизигнеров, а всё же для тех, кто brew поставить способен.
Просто очень удобно сказать «хочу» и получить не новую копию всех зависимостей, а только то, что надо
Ну, владельцы тех ноутов, куда я мог бы отправить Виолу для теста, являются вовсе не технари.
Добавлено позднее: и потом, вариант скомпилировать самостоятельно и доставить всё через брю никуда не девается ж.