git.iko.soy/typeable/octopod
on master help sign in
migrate from Stack to Cabal and Nix
commitfe24e8b85fa6c388aba6f13abecd04b50ee6ac6e authorAndrei Orlov <aaorlov1@gmail.com> dateSat 15 Feb 2020, 20:38 (7 years ago) parent529dc14
8 files changed+239−79
.gitignore+3−2 Makefile+10 README.md+27−2 default.nix+33 dm.cabal+149 package.yaml−75 release.nix+4 shell.nix+13
.gitignore+3−2
@@ -1,3 +1,4 @@
11.stack-work/
2−dm.cabal
3−*~
2+package.yaml
3+result
4+*~
Makefilenew file+10
@@ -0,0 +1,10 @@
1+.PHONY: build
2+
3+build: update-default-nix
4+ nix-build release.nix
5+
6+repl: update-default-nix
7+ nix-shell --pure shell.nix --run "cabal repl lib:dm"
8+
9+update-default-nix:
10+ nix-shell --pure -p cabal2nix --run "cabal2nix ." > default.nix
README.md+27−2
@@ -1,2 +1,27 @@
1−# dm
2−Multi-staging Deployment Manager
1+# DM
2+
3+Multi-staging Deployment Manager. Consists of the client (DMC) and server (DMS) parts.
4+
5+# Installation
6+
7+```bash
8+make build
9+```
10+
11+# Interact with DMC
12+
13+```bash
14+$ result/bin/dmc-exe
15+Missing: (create | list | edit | destroy | update)
16+
17+Usage: dmc-exe (create | list | edit | destroy | update)
18+```
19+
20+# Interact with DMS
21+
22+```bash
23+$ result/bin/dms-exe
24+Missing: --port INT --db TEXT --db-pool-size INT
25+
26+Usage: dms-exe --port INT --db TEXT --db-pool-size INT
27+```
default.nixnew file+33
@@ -0,0 +1,33 @@
1+{ mkDerivation, aeson, base, bytestring, directory, fast-logger
2+, http-client, mtl, network-uri, optparse-generic
3+, postgresql-simple, resource-pool, servant, servant-client
4+, servant-server, stdenv, temporary, text, transformers
5+, typed-process, warp
6+}:
7+mkDerivation {
8+ pname = "dm";
9+ version = "0.1.0.0";
10+ src = ./.;
11+ isLibrary = true;
12+ isExecutable = true;
13+ libraryHaskellDepends = [
14+ aeson base bytestring directory fast-logger http-client mtl
15+ network-uri optparse-generic postgresql-simple resource-pool
16+ servant servant-client servant-server temporary text transformers
17+ typed-process warp
18+ ];
19+ executableHaskellDepends = [
20+ aeson base bytestring directory fast-logger http-client mtl
21+ network-uri optparse-generic postgresql-simple resource-pool
22+ servant servant-client servant-server temporary text transformers
23+ typed-process warp
24+ ];
25+ testHaskellDepends = [
26+ aeson base bytestring directory fast-logger http-client mtl
27+ network-uri optparse-generic postgresql-simple resource-pool
28+ servant servant-client servant-server temporary text transformers
29+ typed-process warp
30+ ];
31+ homepage = "https://github.com/https://github.com/Aviora/dm#readme";
32+ license = stdenv.lib.licenses.bsd3;
33+}
dm.cabalnew file+149
@@ -0,0 +1,149 @@
1+cabal-version: 1.12
2+
3+-- This file has been generated from package.yaml by hpack version 0.31.2.
4+--
5+-- see: https://github.com/sol/hpack
6+--
7+-- hash: af2336457e3fa8fe709928806e38347b41a2781ea75cedc4c7757454c8cab393
8+
9+name: dm
10+version: 0.1.0.0
11+description: Please see the README on GitHub at <https://github.com/githubuser/dm#readme>
12+homepage: https://github.com/https://github.com/Aviora/dm#readme
13+bug-reports: https://github.com/https://github.com/Aviora/dm/issues
14+author: Andrei Orlov
15+maintainer: aaorlov1@gmail.com
16+copyright: 2020 LLC Typeable
17+license: BSD3
18+license-file: LICENSE
19+build-type: Simple
20+extra-source-files:
21+ README.md
22+ ChangeLog.md
23+
24+source-repository head
25+ type: git
26+ location: https://github.com/https://github.com/Aviora/dm
27+
28+library
29+ exposed-modules:
30+ API.Lib
31+ DMC.Lib
32+ DMS.Lib
33+ Lib
34+ other-modules:
35+ Paths_dm
36+ hs-source-dirs:
37+ src
38+ build-depends:
39+ aeson
40+ , base >=4.7 && <5
41+ , bytestring
42+ , directory
43+ , fast-logger
44+ , http-client
45+ , mtl
46+ , network-uri
47+ , optparse-generic
48+ , postgresql-simple
49+ , resource-pool
50+ , servant
51+ , servant-client
52+ , servant-server
53+ , temporary
54+ , text
55+ , transformers
56+ , typed-process
57+ , warp
58+ default-language: Haskell2010
59+
60+executable dmc-exe
61+ main-is: Main.hs
62+ other-modules:
63+ Paths_dm
64+ hs-source-dirs:
65+ app/dmc
66+ ghc-options: -threaded -rtsopts -with-rtsopts=-N
67+ build-depends:
68+ aeson
69+ , base >=4.7 && <5
70+ , bytestring
71+ , directory
72+ , dm
73+ , fast-logger
74+ , http-client
75+ , mtl
76+ , network-uri
77+ , optparse-generic
78+ , postgresql-simple
79+ , resource-pool
80+ , servant
81+ , servant-client
82+ , servant-server
83+ , temporary
84+ , text
85+ , transformers
86+ , typed-process
87+ , warp
88+ default-language: Haskell2010
89+
90+executable dms-exe
91+ main-is: Main.hs
92+ other-modules:
93+ Paths_dm
94+ hs-source-dirs:
95+ app/dms
96+ ghc-options: -threaded -rtsopts -with-rtsopts=-N
97+ build-depends:
98+ aeson
99+ , base >=4.7 && <5
100+ , bytestring
101+ , directory
102+ , dm
103+ , fast-logger
104+ , http-client
105+ , mtl
106+ , network-uri
107+ , optparse-generic
108+ , postgresql-simple
109+ , resource-pool
110+ , servant
111+ , servant-client
112+ , servant-server
113+ , temporary
114+ , text
115+ , transformers
116+ , typed-process
117+ , warp
118+ default-language: Haskell2010
119+
120+test-suite dm-test
121+ type: exitcode-stdio-1.0
122+ main-is: Spec.hs
123+ other-modules:
124+ Paths_dm
125+ hs-source-dirs:
126+ test
127+ ghc-options: -threaded -rtsopts -with-rtsopts=-N
128+ build-depends:
129+ aeson
130+ , base >=4.7 && <5
131+ , bytestring
132+ , directory
133+ , dm
134+ , fast-logger
135+ , http-client
136+ , mtl
137+ , network-uri
138+ , optparse-generic
139+ , postgresql-simple
140+ , resource-pool
141+ , servant
142+ , servant-client
143+ , servant-server
144+ , temporary
145+ , text
146+ , transformers
147+ , typed-process
148+ , warp
149+ default-language: Haskell2010
package.yamldeleted−75
@@ -1,75 +0,0 @@
1−name: dm
2−version: 0.1.0.0
3−github: "https://github.com/Aviora/dm"
4−license: BSD3
5−author: "Andrei Orlov"
6−maintainer: "aaorlov1@gmail.com"
7−copyright: "2020 LLC Typeable"
8−
9−extra-source-files:
10−- README.md
11−- ChangeLog.md
12−
13−# Metadata used when publishing your package
14−# synopsis: Short description of your package
15−# category: Web
16−
17−# To avoid duplicated efforts in documentation and dealing with the
18−# complications of embedding Haddock markup inside cabal files, it is
19−# common to point users to the README.md file.
20−description: Please see the README on GitHub at <https://github.com/githubuser/dm#readme>
21−
22−dependencies:
23−- base >= 4.7 && < 5
24−- optparse-generic >= 1.3.1 && < 1.4.0
25−- servant >= 0.16.2 && < 0.17.0
26−- servant-client >= 0.16.0.1 && < 0.17.0.0
27−- servant-server >= 0.16.2 && < 0.17.0
28−- http-client >= 0.6.4 && < 0.7.0
29−- network-uri >= 2.6.2.0 && < 2.7.0.0
30−- warp >= 3.3.5 && < 3.4.0
31−- resource-pool >= 0.2.3.2 && < 0.3.0.0
32−- postgresql-simple >= 0.6.2 && < 0.7.0
33−- aeson >= 1.4.6.0 && < 1.5.0.0
34−- text >= 1.2.3.1 && < 1.3.0.0
35−- bytestring >= 0.10.8.2 && < 0.11.0.0
36−- directory >= 1.3.3.0 && < 1.4.0.0
37−- typed-process >= 0.2.6.0 && < 0.3.0.0
38−- temporary >= 1.3 && < 1.4
39−- fast-logger >= 2.4.17 && < 2.5.0
40−- mtl >= 2.2.2 && < 2.3.0
41−- transformers >= 0.5.6.2 && < 0.6.0.0
42−
43−library:
44− source-dirs: src
45−
46−executables:
47− dmc-exe:
48− main: Main.hs
49− source-dirs: app/dmc
50− ghc-options:
51− - -threaded
52− - -rtsopts
53− - -with-rtsopts=-N
54− dependencies:
55− - dm
56− dms-exe:
57− main: Main.hs
58− source-dirs: app/dms
59− ghc-options:
60− - -threaded
61− - -rtsopts
62− - -with-rtsopts=-N
63− dependencies:
64− - dm
65−
66−tests:
67− dm-test:
68− main: Spec.hs
69− source-dirs: test
70− ghc-options:
71− - -threaded
72− - -rtsopts
73− - -with-rtsopts=-N
74− dependencies:
75− - dm
release.nixnew file+4
@@ -0,0 +1,4 @@
1+let
2+ pkgs = import <nixpkgs> { };
3+in
4+ pkgs.haskellPackages.callPackage ./default.nix { }
shell.nixnew file+13
@@ -0,0 +1,13 @@
1+{ nixpkgs ? import <nixpkgs> {} }:
2+let
3+ inherit (nixpkgs) pkgs;
4+ inherit (pkgs) haskellPackages;
5+
6+ project = import ./release.nix;
7+in
8+pkgs.stdenv.mkDerivation {
9+ name = "shell";
10+ buildInputs = project.env.nativeBuildInputs ++ [
11+ haskellPackages.cabal-install
12+ ];
13+}