Как импортировать библиотеку из одного пакета cabal в другой
Итак, моя структура папок такая
.
├── eulerlibs
│ ├── EulerLibs
│ └── eulerlibs.cabal
├── flake.lock
├── flake.nix
├── p001
│ ├── Main.hs
│ └── p001.cabal
├── p002
│ ├── Main.hs
│ └── p002.cabal
├── p003
│ ├── Main.hs
│ └── p003.cabal
├── p004
│ ├── Main.hs
│ └── p004.cabal
├── p005
│ ├── Main.hs
│ └── p005.cabal
Я пытаюсь импортировать модули библиотеки в
./eulerlibs
(библиотека) каталог кабалы, чтобы сказать
./p005
(исполняемый) каталог cabal.
Я понимаю, что могу включать встроенные библиотеки (* .so), но не могу найти способ связать два проекта Cabal.
Я новичок в Cabal, а также в haskell, поэтому я буду очень благодарен за некоторое понимание. Если ничего не получится, мне придется добавить библиотеку в сам p005, чего я действительно хочу избежать.
1 ответ
Вы можете сделать это с помощью файла. Поместите его на верхнем уровне (в
.
каталог) с этим содержимым:
packages: */*.cabal
Затем вы сможете использовать все эти библиотеки в файлах cabal друг друга в зависимостях сборки, например, в
p001.cabal
:
...
library
...
build-depends: base, eulerlibs
...
...
Вот полная документация
cabal.project
файлы: https://cabal.readthedocs.io/en/latest/cabal-project.html