[devel] GHC-7.4

Денис Смирнов mithraen на freesource.info
Пн Фев 13 19:06:30 MSK 2012


On Thu, Feb 09, 2012 at 11:22:50PM +0200, Igor Vlasenko wrote:

IV> Подумав еще раз, выбрал и хочу предложить следующее:
IV> Каждое приложение (вроде xmonad) в установленной системе одно,
IV> Библиотек (вроде ghc-zlib) в системе может быть несколько,
IV> неконфликтующих, равноправных, с названиями 
IV> ghcXYZ(.T)-zlib, где XYZ - версия ghc, .T -serial (обычно %nil).
IV> требующих каждая свой ghcXYZ(.T). ghc при этом придется перевести
IV> на альтернативы.

Для чего serial?

IV> Виртуальных Provides: вида ghc-zlib НЕ БУДЕТ. Вместо этого
IV> BuildRequires: будут вычисляться при сборке, макросом.

Согласен. 

IV> У приложений будет написано
IV> BuildRequires: %{ghcdep zlib utf8-string ...}
IV> которые в зависимости от содержимого rpm-build-ghc
IV> будут при сборке раскрываться в конкретные
IV> ghcXYZ(.T)-zlib, ghcXYZ(.T)-utf8-string, ghcXYZ(.T)-...

Да, это важно для сборки приложений (вроде xmonad).

Для остального -- так как версия ghc также будет и в %name, то можно в
buildrequires обойтись без макросов а указывать конкретные пакеты.

IV> При обновлении сначала неспеша собираем новый ghc и библиотеки к нему.

Да.

IV> Затем меняем rpm-build-ghc и неспеша пересобираем приложения.

Гм, а почему меняем rpm-build-ghc? Ради ghcdep?

IV> Те приложения, которые с новым набором ghc+libs собираться
IV> упорно не хотят, оставляем собираться со старым набором,
IV> явно загружая при сборке rpm-build-ghc-compat-ABC(.D).

Скорее юзая макрос типа %set_ghc_version (по аналогии с gcc).

Он будет важен потому, что если у нас одновременно установлено в системе
два ghc -- должен использоваться нужный.

IV> Инструменты для автоматизированной правки спеков я напишу и предоставлю.
IV> Как такой вариант? 

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------


Подробная информация о списке рассылки Devel