52700.fb2
1.0
Cabal-Version:
>= 1.2
License:
BSD3
Author:
Anton
Synopsis:
Little example of cabal usage
Category:
Example
Build-Type:
Simple
Library
Build-Depends: base == 4.*
Hs-Source-Dirs: src/
Exposed-modules:
Hello
Other-Modules:
Utility.Hello
Utility.World
Executable hello
Build-Depends: base == 4.*
Main-Is: Main. hs
Hs-Source-Dirs: src/
В этом файле мы описали библиотеку и программу. В строке base == 4.* мы указали версию пакета base.
Запись 4.* означает любая версия, которая начинается с четвёрки. Осталось только поместить в корневую
директорию пакета файл Setup. hs.
import Distribution.Simple
main = defaultMain
Теперь мы можем переключиться на корневую директорию пакета и установить пакет:
anton@anton-desktop:~/haskell-notes/code/ch-17/hello$ cabal install
Resolving dependencies...
Configuring hello-1.0...
Preprocessing library hello-1.0...
Preprocessing executables for hello-1.0...
Building hello-1.0...
[1 of 3] Compiling Utility.World
( src/Utility/World. hs, dist/build/Utility/World. o )
[2 of 3] Compiling Utility.Hello
( src/Utility/Hello. hs, dist/build/Utility/Hello. o )
[3 of 3] Compiling Hello
( src/Hello. hs, dist/build/Hello. o )
Registering hello-1.0...
[1 of 4] Compiling Utility.World
( src/Utility/World. hs, dist/build/hello/hello-tmp/Utility/World. o )
[2 of 4] Compiling Utility.Hello
( src/Utility/Hello. hs, dist/build/hello/hello-tmp/Utility/Hello. o )
[3 of 4] Compiling Hello