ОБНОВЛЕНИЕ: cabal-install> = 1.18 поддерживает песочницы и будет лучше поддерживаться, чем cabal-dev в будущем. Cabal-install также лучше поддерживает использование add-source с песочницами. Вот описание новых возможностей песочницы в cabal-install: http://coldwa.st/e/blog/2013-07-30-Cabal-sandbox.html
Старый ответ:
Как вы обнаружили, add-source не предназначен для использования с активно меняющимися проектами. Я не уверен, что и там есть хорошее решение - сложно отследить местоположение проекта add-source (по крайней мере, для этого не существует существующей инфраструктуры), и я не уверен, что это всегда правильная вещь.
Другой рабочий процесс может помочь вам лучше - просто используйте cabal-dev install
, указывая на песочницу, которую вы хотите использовать для дальнейшей разработки. Последние версии набора инструментов Cabal (под которым я подразумеваю Cabal, cabal-install и cabal-dev) допускают такие вещи:
$ ls
wx wxcore wxdirect
$ cabal-dev install --sandbox=<path-to-some-sandbox> ./wx ./wxcore ./wxdirect
...
(Примечание: я не проверял это с WX - могут возникнуть перегибы, о которых я не знаю!)
При условии, что все идет как положено, это установит три пакета из локальных подкаталогов в указанную песочницу. Обновление исходного кода означает просто повторный ввод команды установки cabal-dev для измененного проекта.
Имейте в виду, что вы должны либо самостоятельно выполнить повторные команды установки cabal-dev в правильном порядке, или , вы должны использовать пакетную команду выше и номера версий обновления соответственно.
Я не утверждаю, что это идеал;) но я думаю, что это лучше, чем удалять песочницу каждый раз.