Лично мне это понадобилось, чтобы запустить 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, то все работает. Я могу и сам довести спеки, но нужно, чтобы мне кто-то помог в этих вопросах. Ну или отдаю все наработанное по принципу "как есть".
Created attachment 6335 [details] Исходники, спеки и патчи для перехода на ghc7.10.1
См. также http://lists.altlinux.org/pipermail/sisyphus/2015-May/363792.html
*** Bug 31026 has been marked as a duplicate of this bug. ***
Отрадно, что эта проблема кого-то ещё заинтересовала! Спасибо за проделанную не самую простую работу! А в hasher-е собирается? ( https://www.altlinux.org/Hasher ) Устанавливаются пакеты без проблем? (Все пакеты, которые требуют изменений, можно собрать в hasher, который будет складывать их в свой APT-репозиторий, который можно использовать для дальнейшей сборки и проверки обновления.) Не хотите стать членом ALT Linux Team (если ещё не) и отправить пакеты в Sisyphus? ( https://www.altlinux.org/Join ) Это было бы лучшим вариантом, наверное. Могу быть в роли ментора по процедуре join. Спрашивайте у меня тогда, пожалуйста, всё, что нужно.
Created attachment 7560 [details] Файл настройки источников apt для временного репозитария haskell Так как мое присоединение к майнтейнерам Сизифа затягивается, размещаю собранные мной пакеты во временном хранилище на моем хостинге: ftp://kosenko.net.ua/pub/repos/haskell В приложении даю список источников для настройки apt, чтобы подключиться к этому хранилищу.
Похоже, дальнейшее обсуждение этой темы лучше перенести в рассылки: https://lists.altlinux.org/pipermail/sisyphus/2018-May/366749.html https://lists.altlinux.org/pipermail/devel/2018-May/204407.html
Ping?