agr
дыбр Haskell stack погроммирование одолел, короче, эту ботву с базой пакетов. есть замечательный пакет ghc-paths. в нём пути к тулам определяются через переменные окружения, например, GHC_PACKAGE_PATH.
cabal-install, ghc и ghc-pkg растут и развиваются. и тут приходит стэк и начинает переписывать переменные окружения, т.к. у него есть минимум 2 базы пакетов (от снапшота, компилятора) в ~/.stack. ещё есть ~/.../.stack-work. там тоже есть, да. по ходу дела во время билда stack делает своё страшное дело и затирает HASKELL_SANDBOX_CONFIG, устанавливая его в базу пакетов снэпшота (!). вот это вообще ни разу не тривиально. я думал, что "песочница" — это база локальная, из .stack-work. а оказалось, что нет. снэпшот — это песочница. таким образом, все extra-deps, которые кладутся в .stack-work, остаются не удел и не видны.

придумал вообще рабочий костыль.
если вижу в пути ".stack", то пускаю "stack exec — ", иначе — оставляю значение из ghc-paths (либо дефолтное).
agr
? Haskell stack хочется странного.
1. host=osx.
2. stack docker собираю под линукс
3. в локальной pkg-db, соответствующей ghc-8.4.3-linux, есть пакет, лежит в .stack-work внутри соответственно.
4. в глобальной pkg-db, соответствующей ghc-8.4.3-linux, нету этого пакета.
5. в родительском пакете юзается ghc-paths, в котором явно триггерится ghc-pkg. опытным путём было установлено, что глобальный.

как поместить пакет из local db в global db?

сейчас проект собирается с хаком:

export GHC_PACKAGE_PATH=$(stack path --ghc-package-path)
alar
Java WTF Haskell stack Scala *maven *docker *nix *СЯУ: stack умеет собирать в докерные образа и nixовые окружения. Чтобы изоляция была уж совсем уж изолированной и воспроизводимой. А когда maven такое начнёт делать?
agr
stack Stack под Windows 7 x64 до сих пор работает.. кхм.. интересно, если ему надо подгрузить что-нибудь, например, msys, или ghc отличной версии.

MoveFileEx exception: access denied.

Обходится это легко:

1. Run cmd as Administrator
2. Close explorer.exe.
3. stack ...
max630
? Haskell stack ну хорошо, я сделал как в #2832570/25 спасибо. Как мне загрузить модуль теста в ghci? stack ghci ругается ""Could not find module ‘Test.HUnit’. It is a member of the hidden package ‘HUnit..." Надо как-то сказать ему чтобы он тестовый список пакетов использовал.
max630
? Haskell stack а можно ли мне попросить версию библиотеки отличную от той что есть в стакадже. И что из этого выйдет, например, если это будет process?
dr-Chaos
WTF code Haskell stack
Вот кстати по стеку вопрос. Когда фиксил тесты для fast-logger-а увидел забавную штуку.
Запускаю stack test . И для wai-logger он выдаёт замечательные ошибки про System.Posix . Выясняется что в cabal файле. используется.
if os(windows)
   Cpp-Options: -DWINDOWS

И почему-то при сборке тестов этот флаг либы не учитывается, добавление этого флага тестам ничего не даёт. 

А сами тесты сделаны с помощью doctest:
-- $setup
-- >>> :set -XOverloadedStrings
-- >>> import Network.Wai.Test

он ругается что нет такого модуля. Добавление его в зависимости stack и cabal ничего не даёт.

Собственно у меня 2 вопроса:
1. Фиксится встроенным в GHC mingw32_HOST_OS , но как всё таки stack заставить нормально обрабатывать Cpp-Options.
2. Полагаю что дело в путях, но всё равно какая-то хуйня.
max630
? Haskell stack а как компилить один файл? как я понял, stack ghc не делает настройки для проекта (надо вручную прописывать -i и лишние пакеты видны)
qnikst
Haskell stack cabal гинь-гинь а это cabal-library или stack не умеет работать с файлами, у меня периодически VM-ка прибивается OOM-киллером пока stack там что-то собирает (при кабал-инсталл такого не было), так вот с вероятностью практически 1, он убивает свою базу пакетов, что меня очень печалит.
L29Ah
? Haskell stack Почему вдруг всем стала нужна эта параша? У большинства хаскелистов в системе пакетного менеджера адекватного нету?
max630
? Haskell stack попробовал поиграться с второтегом. Проект собиратеся, всё ок, но stack ghci не видит пакаджей: выдаётся много сообщений типа:

Could not find module ‘Data.Set’
It is a member of the hidden package ‘containers-0.5.6.2@conta_LKCPrTJwOTOLk4OU37YmeN’.

что может быть не так?
qnikst
Haskell stack хочется_странного cabal а вот stack или cabal осилят сбилдить следующие зависимости:

A.cabal
library
...
executable test-stuff
build-depends: B

B.cabal
library
build-depends: A

т.е. в пакете A есть библиотека, и исполняемый файл зависящий от пакета B, зависящего от билиотеки A.
qnikst
Haskell stack гинь-гинь как этому стеку объяснить откуда брать все песочницы?

я хочу собирать тесты обычно, а запускать их: sudo stack test package
вместо того, чтобы взять их и тупо запустить стек пытается мне выкачать и скачать ghc и собрать все зависимости