## Building
 
-The program is built as a single executable to be run by PowerDns's
-pipe backend. It is written in [Haskell](http://www.haskell.org/).
-There is no `cabal` configuration at the moment, so to build it,
-simply run
+The program is a single executable to be run by PowerDns's pipe
+backend. It is written in [Haskell](http://www.haskell.org/).
+If you have haskell installed on your system, run
 
 ```
-ghc --make pdns-pipe-nmc
+cabal configure
 ```
 
-and install any missing packages it complains about.
+followed by
+
+```
+cabal build
+```
+
+and hopefully it will tell you what packages are missing. You can
+install them either with your OS package manager (if they exist in
+your distribution) or with `cabal install`.
 
 ## Installing
 
 
--- /dev/null
+name:                pdns-pipe-nmc
+version:             0.9.0.0
+synopsis:            Namecoin pipe backend for PowerDNS
+description:         Realtime bridge between Namecoin "d/" namespace
+                     (http://namecoin.info/) and DNS implemented as
+                     a pipe backend coprocess for PowerDns
+                     (http://www.powerdns.com/).
+homepage:            http://www.average.org/pdns-pipe-nmc/
+license:             OtherLicense
+license-file:        LICENSE
+author:              Eugene Crosser
+maintainer:          crosser@average.org
+copyright:           2014, Eugene Crosser
+category:            Database
+build-type:          Simple
+extra-source-files:  README.md
+cabal-version:       >=1.10
+
+executable pdns-pipe-nmc
+  main-is:             pdns-pipe-nmc.hs
+  other-modules:       Config
+                     , JsonRpcClient
+                     , NmcDom
+                     , NmcRpc
+                     , NmcTransform
+                     , PowerDns
+  other-extensions:    OverloadedStrings
+  build-depends:       base >=4.6 && <4.7
+                     , bytestring >=0.10 && <0.11
+                     , text >=0.11 && <0.12
+                     , split >=0.2 && <0.3
+                     , containers >=0.5 && <0.6
+                     , aeson >=0.6 && <0.7
+                     , ConfigFile >=1.1 && <1.2
+                     , MissingH >=1.2 && <1.3
+                     , vector >=0.10 && <0.11
+                     , unordered-containers >=0.2 && <0.3
+                     , data-default-class >=0.0.1 && <1.0
+                     , http-client >=0.3 && <1.0
+                     , http-types >=0.8 && <1.0
+                     , mtl >=2.0 && <3.0
+                     , pretty-show >=1.2 && <2.0
+                     , time >=1.4 && <2.0
+  -- hs-source-dirs:      
+  default-language:    Haskell98
 
 import Data.Aeson (encode, decode, Value(..))
 import Network.HTTP.Types
 import Network.HTTP.Client
-import Data.Default (def)
+import Data.Default.Class (def)
 
 import JsonRpcClient
 import Config