LINUX.ORG.RU

Haskell binary package for gentoo

 , ,


1

2

Из программ, требующих хаскель использую gitit, pandoc и git-annex на нескольких машинах. Gentoo-way предполагает создание целого хаскелевского тулчейна, а хотелось бы минимизировать затраты на сборку и распространять между машинами только бинари.

Что скажут спв: стоит ли делать статич. сборку пакетов? Как избежать установки всего хаскелевского тулчейна?


я не понял:

хотелось бы минимизировать затраты на сборку и распространять между машинами только бинари.

стоит ли делать статич. сборку пакетов? Как избежать установки всего хаскелевского тулчейна?

чего ты хочешь-то?
если машины однотипные, то чем не угодил вариант с binhost?

megabaks ★★★★ ()
Последнее исправление: megabaks (всего исправлений: 1)

Про то как не собирать тулчейн: адекватно - никак, но ты можешь использовать USE=«binary», у ghc - вследствии чего самый тяжелый из пакетов будет бинарным.

Так же, в случае однотипности машин, ты можешь собирать только на одной машине, а на другие распространять бинари, благо haskell-пакеты полностью статически слинкованы и заботиться нужно только о внешних .so-шках: libffi, libgmp, (мало ли какое-ещё FFI), естественно архитектура нужна общая и не нужно «играть» со сверх оптимизацией.

Пока вариант с бинарными вариантами хацкель программ изкоробки не рассматривается.

qnikst ★★★★★ ()
Ответ на: комментарий от qnikst

Пол года назад у меня был скрипт который при помощи cabal, cabal-dev и ghc собирал для любой программы слако-пакет собирая её статически со всем что можно, со split-obj'ем. Но потом cabal-dev поломали и он перестал собираться без бубна.

А вообще слака просто менее целостна и потому нужно гораздо меньше усилий чтобы сделать из неё что-то эдакое не разломав при этом на фиг. С другой стороны, что значит «разломать нафиг» в терминах слаки тоже вопрос.

Но на самом деле мне просто кажется что лет пять назад ТСа не смутила бы перспектива компилять ghc на кофеварке. Кстати а для ghc есть какая-нибудь распределённая компиляция?

KblCb ★★★★★ ()
Ответ на: комментарий от KblCb

Пол года назад у меня был скрипт который при помощи cabal, cabal-dev и ghc собирал для любой программы слако-пакет собирая её статически со всем что можно, со split-obj'ем. Но потом cabal-dev поломали и он перестал собираться без бубна.

в генте это называется ebuild и был и есть. с помощью quick-pkg делается бинарник. И есть hackport который из cabal файла делает ебилд.

А вообще слака просто менее целостна и потому нужно гораздо меньше усилий чтобы сделать из неё что-то эдакое не разломав при этом на фиг. С другой стороны, что значит «разломать нафиг» в терминах слаки тоже вопрос.

в генте юзкейс запрошенный ТС-ом не является чем-то особенным, и не надо никак извращаться, чтобы его выпотить.

Но на самом деле мне просто кажется что лет пять назад ТСа не смутила бы перспектива компилять ghc на кофеварке. Кстати а для ghc есть какая-нибудь распределённая компиляция?

не понял вопроса. И как я уже указал, если не хочется компилять ghc и cabal-install - их можно не компелять.

qnikst ★★★★★ ()
Ответ на: комментарий от megabaks

так все равно тянется тулчейн, т.е. ghc и всякое говно

tis ()
Ответ на: комментарий от qnikst

Пока вариант с бинарными вариантами хацкель программ изкоробки не рассматривается.

Понятно, но жаль...

Но все равно спасибо!

tis ()
Последнее исправление: tis (всего исправлений: 1)
Ответ на: комментарий от KblCb

Как известно, любой дистр можно превратить в слаку, пару раз использовав make && make install...

А 5 лет назад я было молод, юн, и у меня был всего лишь один хост :)

tis ()
Ответ на: комментарий от tis

просто в случае обновления одной из либ - нужно перебрать все её обратные зависимости, на что нужна некоторая процессорная сила и хостинг, чтобы эти пакеты хранить, а они очень жирные (статика ж). У того же git-annex юзов до черта, так что если и делать бинарь, то все включено, не уверен, что это то, что надо. В целом для магистральных программ возможно это и имеет смысл, пойду посоветуюсь с остальной частью gentoo-haskell team.

qnikst ★★★★★ ()
Ответ на: комментарий от tis

Собираешь пакет на build-машине. Пакет зависит только от сишных библиотек. Никаких зависимостей от тулчейна нет. Деплоишь пакет где угодно. Всё. В виду наличия cabal-install скрипт для сборки пакетов один на весь hackage. Для простоты поднимаешь свой репозиторий.

KblCb ★★★★★ ()
Ответ на: комментарий от tis

ну и сделать binhost никто не запрещает, если что можешь задавать вопросы, что как сделать.

qnikst ★★★★★ ()
Ответ на: комментарий от qnikst

в генте это называется ebuild и был и есть. с помощью quick-pkg делается бинарник. И есть hackport который из cabal файла делает ебилд.

У меня одно время была Gentoo так что я в курсе.

в генте юзкейс запрошенный ТС-ом не является чем-то особенным, и не надо никак извращаться, чтобы его выпотить.

Я так и не понял что именно хочет ТС (выкачать сборку пакета под его машину с централизованного репозитория?), но он явно остался недоволен ближе к концу.

KblCb ★★★★★ ()
Ответ на: комментарий от KblCb

Я так и не понял что именно хочет ТС

как я понял в идеале: установить бинарный пакет на хосты без тулчейна там. не в идеале ставить тулчейн на минимуме хостов.

(наверное)

qnikst ★★★★★ ()
Ответ на: комментарий от tis

pandoc - без вариантов не получится, т.к. он либы экспортирует, git-annex в принципе можно, но придётся фиксировать юзы, оно тебе точно надо?

qnikst ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.