ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Evgeny Sinelnikov <sin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Обновление GHC
Date: Tue, 2 Apr 2019 23:47:51 +0400
Message-ID: <CAK42-GqWyVb93OrcCgykpBx2Gmi2bB61xSzwnVrYgSwnWU+cAw@mail.gmail.com> (raw)
In-Reply-To: <CAB_XSX2kV6iM2z+K-+GSrKdV==ejo5r_ycMKAMhSZK-1=4sibA@mail.gmail.com>

вт, 2 апр. 2019 г. в 12:26, Eugine Kosenko <eugine.kosenko@gmail.com>:
>
> пт, 15 бер. 2019 о 12:07 Evgeny Sinelnikov <sin@altlinux.org> пише:
>>
>> 8.6.4 (cabal-install + зависимости)
>> - генерация и сборка модулей под бинарники pandoc, shellcheck, xmonad*, ztail
>
>
> От cabal сейчас отказываются. Нужно выходить на stack, это сейчас принятая инфраструктура.

Ну, это сильно сказано, мне кажется. Это же немного разные
инструменты, хотя и дублирующие какие-то свои функции. Stack - это для
разработки. Я бы не сказал, что это для деплоя подходящий инструмент.
С ним получается набор контейнеров. Даже не под приложение, а под
экземпляр разрабатываемого проекта.

>>
>> Для обновления модулей у нас предусмотрен инструмент cabal2rpm, с
>> помощью него удобно получить полный набор gear-репозиториев под все
>> новые модули. С ходу я от него не добился двух вещей - правильной
>> генерации сборочных зависимостей и обновления уже собраных модулей.
>> Кроме того cabal2rpm предполагает, что ему передают тарболы с
>> модулями, а это уже не рабочий вариант, как оказалось.
>
>
> У меня есть комплект самописных скриптов на fish, которые позволяют выстраивать нужные зависимости и собирать массово нужные пакеты. Правда, все это "на коленке". Если интересно, постараюсь на выходные привести все в порядок и выложить "как есть".
>
>> Дело в том, что тарболы, которые качают вручную из
>> http://hackage.haskell.org/ неполноценны, в них лежит нулевая ревизия
>> cabal-файла. Правильную ревизию умеет подкладывать cabal get, поэтому
>> я рассчитываю научить cabal2rpm брать не траболы, сразу распакованные
>> с помощью cabal get каталоги и делать уже с них gear-update.
>
>
> По ходу cabal2rpm иногда глючит не по детски, я где-то пяток пакетов руками правил. Но в рамках моей обертки она стреляет неплохо.

А как, конкретно? Давайте исправлять.


>>
>> Я на низком старте жду отмашки, что мы готовы к этому сценарию.
>
>
> Если не торопимся, то могу помочь с модулями. Но это не раньше выходных --- я сейчас сильно загружен. А самая большая проблема у меня была именно со сборкой "ядер" --- ghc нужной версии. На моем ноуте собирается примерно 15-20 часов, цикл отладки дикий. Надеюсь, правда, на этой неделе нарастить память. Опять же, модули собираются достаточно быстро, у меня весь комплект собирается за 4-5 часов.

Процесс мы начали. Меня приостановил неочевидный момент. А именно,
поломка сборки 8.2.2 под mipsel. Особенность там похожая, что и на
aarch64 - сборка via gcc, unregistered архитектуры. Для aarch64 - это,
возможно, исправимая ошибка. А вот под mipsel не хватает памяти, как у
32-битной платформы, в которой в пространстве пользователя доступна не
более 2Гб виртуальной памяти.

В общем, 8.2.2 уже в сизифе. 8.6.4 протестиован. Я им уже пользуюсь:
#225531 TESTED #4 [test-only] sisyphus ghc.git=8.2.2-alt2 ghc.git=8.6.4-alt1

Первый этап после его приезда завершается. Начинается сборка модулей.
Из ключевой момент, который хочется поправить - это автоматическая
генерация сборочных зависимостей в cabal2gear. На первом шаге я
планирую использовать связку
- cabal install --dry-run для поиска зависимостей;
- cabal get - для загрузки исходников с правильным релизом.

  parent reply	other threads:[~2019-04-02 19:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 17:48 Evgeny Sinelnikov
2019-03-14 15:33 ` Dmitry V. Levin
2019-03-15 10:07   ` Evgeny Sinelnikov
2019-03-15 17:07     ` Ivan Zakharyaschev
2019-04-02 19:47       ` Evgeny Sinelnikov [this message]
2019-04-03 12:33           ` Evgeny Sinelnikov
2019-04-03 16:17       ` Ivan Zakharyaschev
2019-04-03 16:20         ` Anton Farygin
2019-04-03 17:13           ` Ivan Zakharyaschev
2019-04-03 17:29             ` Ivan Zakharyaschev
2019-04-11  9:21           ` Evgeny Sinelnikov
2019-04-14 16:39               ` Aleksey Novodvorsky
2019-03-16 22:52 ` Ivan Zakharyaschev
2019-04-07  4:42   ` Ivan A. Melnikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK42-GqWyVb93OrcCgykpBx2Gmi2bB61xSzwnVrYgSwnWU+cAw@mail.gmail.com \
    --to=sin@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git