[devel] haskell

Денис Смирнов mithraen на altlinux.ru
Пт Сен 10 08:20:37 UTC 2010


Всем спасибо за помощь -- новый haskell собрался. Сейчас докидаю туда
важных модулей.

Важные нововведения:

1. теперь package.conf текстовый не генерируется. Вместо него в 6.12
используется бинарный кэш. Этот кэш автоматически обновляется
filetrigger'ом. Сейчас зависимость на haskell-filetrigger есть только у
rpm-macros-haskell, таким образом без него установленные модули могут быть
не видны системе. Для решения проблемы в следующей же сборке ghc будет
зависимость на этот пакет.

2. изменилась система зависимостей. Пока я переделал только provides, они
генеририруются как в старом формате:

ghc(mtl) = 1.1.0.2
ghc6.12.3(mtl) = 1.1.0.2

Так и в новом:

ghc6.12.3(mtl-1.1.0.2) = 336254fecf8a77054f76cb33671a5177

Старый формат останется и никуда не денется -- он очень удобен для
BuildRequires. Однако обычные requries будут уже в новом формате (более
жестком).

3. В новом хаскеле появилась замечательная фича: shared libraries. То
есть, теоретически, можно собирать бинарники которые не будут в несколько
мегабайт (как сейчас). Однако мной это еще не проверено, и какие будут
тонкости с зависимостями при этом я не знаю.

Однако что ясно уже сейчас -- shared libs пока не отделяются в отдельный
пакет. Поэтому если начать использовать эту фичу, то любое приложение
собранное таким образом -- потянет за собой сам ghc (а это далеко не
маленький пакетик).

Ни soname, ни symbol versioning, ничего похожего в хаскелле нет.
Единственное что возможно -- можно, наверное, делать provides/requires
вида:

ghc6.12.3(mtl-1.1.0.2.so) = 336254fecf8a77054f76cb33671a5177

И отделять библиотеки в отдельный подпакет. Плохо это тем, что обновление
ghc может потянуть за собой необходимость пересборки и одновременного
обновления всех зависящих от них пакетов.

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

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100910/3ba4e3b1/attachment.bin>


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