Bug 31193 - Собрать GHC версии 7.10.1
Summary: Собрать GHC версии 7.10.1
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: ghc (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Ivan Zakharyaschev
QA Contact: qa-sisyphus
URL:
Keywords:
: 31026 (view as bug list)
Depends on:
Blocks: 34082 36201
  Show dependency tree
 
Reported: 2015-08-06 17:23 MSK by Eugine V. Kosenko
Modified: 2019-02-28 21:29 MSK (History)
5 users (show)

See Also:


Attachments
Исходники, спеки и патчи для перехода на ghc7.10.1 (6.45 KB, application/octet-stream)
2015-08-06 17:25 MSK, Eugine V. Kosenko
no flags Details
Файл настройки источников apt для временного репозитария haskell (112 bytes, application/octet-stream)
2018-05-26 19:58 MSK, Eugine V. Kosenko
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eugine V. Kosenko 2015-08-06 17:23:39 MSK
Лично мне это понадобилось, чтобы запустить Yesod и установить последнюю версию Purescript. Так как при смене версий GHC много чего ломается, майнтейнер сказал, что нужно сделать переключатель версий a-la GCC. В принципе, я сделал почти все, а именно:

- сделал пакет ghc-common, в котором и лежит собственно переключатель;

- адаптировал спек ghc7.6.1 --- переключил зависимость с ghc7.6.1-common (который теперь почти не нужен и конфликтует с ghc-common), а заодно пропатчил небольшой баг, в результате которого при сборке некоторые файлы тянулись из Internel, а не из локального дистрибутива;

- написал спек для ghc7.10.1 по образцу спека ghc7.6.1.

К этому запросу прилагаю архив, в котором исходник пакета ghc-common, спеки ghc7.6.1 и ghc7.10.1 и специфические патчи для них. Исходники для двух последних дать не могу из-за их большого размера. Аналогично, я не вложил патч ghc-7.6.1-alt6.patch, так как это просто переименованная версия существующего патча. Исходник для ghc7.10.1 я взял с официального сайта (https://www.haskell.org/ghc/dist/7.10.1/ghc-7.10.1-src.tar.bz2) и просто переименовал его в соответствии с требованиями спека. Интересно, что исходники ghc7.10.1 в несколько раз меньше исходников ghc7.6.1, но принципиальной разницы в сборке и поведении я не заметил.

Остался ряд мелких проблем, а именно:

- непонятно, какую версию присвоить ghc-common;

- после сборки ghc7.6.1 почему-то меняются бинарные хеш-идентификаторы его библиотек, что разрушает зависимости со всеми пакетами библиотек серии ghc7.6.1-*; при таких незначительных изменениях я не думаю, что это должно быть так; кроме того, непонятно, как теперь форсировать пересборку этих пакетов;

- при сборке ghc7.10.1 не хватает каких-то зависимостей; к сожалению, на моей машинке сборка под buildreq за двое суток завершилась аварийной перезагрузкой; одну зависимость (от gcc-c++) мне помогли найти, но теперь в процессе сборки в hasher почему-то не находятся собранные so-библиотеки, хотя в базовой системе все собирается на ура; если же в hasher установить пакет, собранный в базовой системе, то при запуске ghc не находятся те же самые библиотеки; если прокинуть ссылки с них в /usr/lib, то все работает.

Я могу и сам довести спеки, но нужно, чтобы мне кто-то помог в этих вопросах. Ну или отдаю все наработанное по принципу "как есть".
Comment 1 Eugine V. Kosenko 2015-08-06 17:25:17 MSK
Created attachment 6335 [details]
Исходники, спеки и патчи для перехода на ghc7.10.1
Comment 2 Eugine V. Kosenko 2015-08-07 08:14:22 MSK
См. также

http://lists.altlinux.org/pipermail/sisyphus/2015-May/363792.html
Comment 3 Eugine V. Kosenko 2015-08-07 08:15:30 MSK
*** Bug 31026 has been marked as a duplicate of this bug. ***
Comment 4 Ivan Zakharyaschev 2015-12-09 04:35:35 MSK
Отрадно, что эта проблема кого-то ещё заинтересовала! Спасибо за проделанную не самую простую работу!

А в hasher-е собирается? ( https://www.altlinux.org/Hasher ) Устанавливаются пакеты без проблем? (Все пакеты, которые требуют изменений, можно собрать в hasher, который будет складывать их в свой APT-репозиторий, который можно использовать для дальнейшей сборки и проверки обновления.)

Не хотите стать членом ALT Linux Team (если ещё не) и отправить пакеты в Sisyphus? ( https://www.altlinux.org/Join ) Это было бы лучшим вариантом, наверное. Могу быть в роли ментора по процедуре join. Спрашивайте у меня тогда, пожалуйста, всё, что нужно.
Comment 5 Eugine V. Kosenko 2018-05-26 19:58:01 MSK
Created attachment 7560 [details]
Файл настройки источников apt для временного репозитария haskell

Так как мое присоединение к майнтейнерам Сизифа затягивается, размещаю собранные мной пакеты во временном хранилище на моем хостинге:

ftp://kosenko.net.ua/pub/repos/haskell

В приложении даю список источников для настройки apt, чтобы подключиться к этому хранилищу.
Comment 6 Eugine V. Kosenko 2018-05-26 20:02:37 MSK
Похоже, дальнейшее обсуждение этой темы лучше перенести в рассылки:

https://lists.altlinux.org/pipermail/sisyphus/2018-May/366749.html
https://lists.altlinux.org/pipermail/devel/2018-May/204407.html
Comment 7 Grigory Ustinov 2018-11-01 16:43:26 MSK
Ping?