Манипулирование исходными пакетами из Hackage, как легко развернуть несколько оконных коробок? - PullRequest
2 голосов
/ 12 мая 2010

Недавно, когда я нашел хорошие пакеты с исходниками для ghc 6.12 / 6.10 на Hackage, я был вынужден внести некоторые незначительные или серьезные изменения в файлы cabal, чтобы эти пакеты работали под windows.Кроме того, чтобы раскошелиться и объединить мои исправления с github, , что кажется наилучшим способом / достаточно хорошей практикой , чтобы перенести эти модифицированные сборки в пару других оконных коробок, которые имеют только основныеПлатформа haskell установлена?

Я бы предпочел, чтобы я мог как-то работать с установкой cabal, потому что это то, что обычно используется.Нужно ли помещать измененные каталоги сборки в общий / сетевой каталог и монтировать из целевого окна Windows?Скажите что-то вроде этого:

при подготовке машины

 cabal fetch foo
    cabal unpack foo
    cd foo
    edit .cabal and .hs
    cabal configure
    cabal build

При использовании машины и нормальном развитии

cd machinepreparemount
cd foo
cabal install

Ответы [ 3 ]

2 голосов
/ 19 апреля 2011

Инструмент Yackage позволяет вам легко запускать локальный Hackage-совместимый сервер. Вы можете развернуть измененные версии в Yackage, добавить репозиторий Yackage в свой список репозиториев и затем использовать установку cabal как обычно.

1 голос
/ 14 октября 2010

В принципе можно создавать локальные хакерские архивы и указывать на них установку cabal. Однако в настоящее время у нас нет очень хороших инструментов для создания формата архива. Если у вас есть время, это вопрос правильного расположения каталогов и использования tar для создания индекса.

1 голос
/ 18 мая 2010

Использование github, безусловно, «достаточно хорошо», хотя если вам кажется, что это обычная операция, которую вы выполняете, чтобы заставить что-то работать в Windows, вы можете упомянуть об этом в списках рассылки для разработчиков GHC или, по крайней мере, Haskell-кафе. Если эта процедура достаточно мала, возможно, потребуется включить ее в общие сборки.

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

...