Switch to more modern cabal2nix-based workflow.
[?]
Jan 16, 2015, 9:11 PM
2Y2QZFVFSKXEFEGYJB5A7GI735ONWPCF7DVTIY5T73AUEVTZTBBQCDependencies
- [2]
HE3JTXO3Added client call to payouts. - [3]
AXKKXBWNInitial attempt at writing down my ideas for a company based on trust. - [4]
T44T2PDLRename trust.txt to README.md - [5]
64C6AWH6Rename Ananke -> Quixotic, project reboot. - [6]
EQXRXRZDChanged to use tasty instead of test-framework - [7]
64VI73NPServer now compiles using abstracted SQLite - [8]
Z3M53KTLAdrift. - [9]
WZUHEZSBStart of migration back toward snap. - [10]
45AI46JNMove readme to inception.md - [11]
ADMKQQGCInitial empty Snap project. - [12]
5W5M56VJMove library code to 'lib' - [13]
RSEB2NFGReplacing Snap with Scotty. - [14]
NTPC7KJETrivial changes, feature scratchpad. - [15]
NVOCQVASInitial failing tests. - [16]
LAROLAYUWIP - [17]
4IQVQL4TAdded client for payouts endpoint. - [18]
OBFPJS2GProject successfully builds and tests under nix. - [19]
QO4NFWIYAdded sample config file. - [20]
TCOAKCGGCompleted conversion to snap.
Change contents
- file deletion: default.nix
# This file was auto-generated by cabal2nix. Please do NOT edit manually!{ haskellPackages ? (import <nixpkgs> {}).haskellPackages }:#{ cabal, aeson, bifunctors, classyPrelude#, configurator, either, errors, groups, hourglass, hspec, lens#, MonadCatchIOTransformers, mtl, networkBitcoin#, optparseApplicative, safe, snapCore, snapServer, sqliteSimple#, text, time, transformers#}:with haskellPackages; cabal.mkDerivation (self: {pname = "quixotic";version = "0.1";src = "./.";isLibrary = true;isExecutable = true;#buildTools = [ cabalInstall ];buildDepends = [aeson bifunctors classyPrelude configurator eithererrors groups hourglass lens MonadCatchIOTransformers mtlnetworkBitcoin optparseApplicative safe snapCore snapServersqliteSimple text time transformers];testDepends = [ aeson hspec text time ];meta = {description = "The Quixotic Collaboration Platform";license = self.stdenv.lib.licenses.unfree;platforms = self.ghc.meta.platforms;};}) - replacement in lib/Quixotic/Client.hs at line 16
{ quixoticHost :: String, quixoticPort :: Int{ quixoticUrl :: String - replacement in lib/Quixotic/Client.hs at line 21
QCConfig <$> C.require cfg "quixoticHost"<*> C.require cfg "quixoticPort"QCConfig <$> C.require cfg "quixoticUrl" - replacement in lib/Quixotic/Client.hs at line 25
resp <- get (quixoticHost cfg <> "/payouts")resp <- get (quixoticUrl cfg <> "payouts") - edit in server/Main.hs at line 11
import qualified Data.Configurator.Types as CT - edit in server/Main.hs at line 22
import qualified Snap.Http.Server.Config as SC - replacement in server/Main.hs at line 26
cfg <- parseConfig "quixotic.cfg"cfg <- loadQConfig "quixotic.cfg" - replacement in server/Main.hs at line 28
quickHttpServe $ runReaderT (site sqliteQDB) dbsconf <- snapConfig cfgsimpleHttpServe sconf $ runReaderT (site sqliteQDB) db - replacement in server/Main.hs at line 39
{ port :: Int{ hostname :: ByteString, port :: Int, sslCert :: FilePath, sslKey :: FilePath - replacement in server/Main.hs at line 46
parseConfig :: FilePath -> IO QConfigparseConfig cfgFile = doloadQConfig :: FilePath -> IO QConfigloadQConfig cfgFile = do - replacement in server/Main.hs at line 49
QConfig <$> C.require cfg "port" <*> C.require cfg "db"parseQConfig cfgparseQConfig :: CT.Config -> IO QConfigparseQConfig cfg =QConfig <$> C.lookupDefault "localhost" cfg "hostname"<*> C.lookupDefault 8443 cfg "port"<*> (fmap fpFromText $ C.require cfg "sslCert")<*> (fmap fpFromText $ C.require cfg "sslKey")<*> C.require cfg "db"baseSnapConfig :: MonadSnap m => QConfig -> SC.Config m a -> SC.Config m abaseSnapConfig cfg =SC.setHostname (hostname cfg) .SC.setSSLPort (port cfg) .SC.setSSLCert (fpToString $ sslCert cfg) .SC.setSSLKey (fpToString $ sslKey cfg)snapConfig :: QConfig -> IO (SC.Config Snap ())snapConfig cfg = SC.commandLineConfig $ baseSnapConfig cfg emptyConfig