about summary refs log tree commit diff
path: root/users/Profpatsch/cas-serve/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/Profpatsch/cas-serve/default.nix')
-rw-r--r--users/Profpatsch/cas-serve/default.nix49
1 files changed, 30 insertions, 19 deletions
diff --git a/users/Profpatsch/cas-serve/default.nix b/users/Profpatsch/cas-serve/default.nix
index 2236e92c8e..14c3e4aa13 100644
--- a/users/Profpatsch/cas-serve/default.nix
+++ b/users/Profpatsch/cas-serve/default.nix
@@ -1,27 +1,38 @@
 { depot, pkgs, lib, ... }:
 
 let
-  cas-serve = pkgs.writers.writeHaskell "cas-serve"
-    {
-      libraries = [
-        pkgs.haskellPackages.wai
-        pkgs.haskellPackages.warp
-        pkgs.haskellPackages.sqlite-simple
-        depot.users.Profpatsch.my-prelude
-        (pkgs.haskell.lib.dontCheck
-          (pkgs.haskell.lib.overrideSrc pkgs.haskellPackages.superrecord {
-            src = pkgs.fetchFromGitHub {
-              owner = "Profpatsch";
-              repo = "superrecord";
-              rev = "c00e933f582e3fb8d209f6cece91d464faf09082";
-              sha256 = "sha256-UQ2wCoBpUEPcRsI7wNOFGH+vceKF4dcbbGHFVVTkOWw=";
-            };
-          }))
+  bins = depot.nix.getBins pkgs.sqlite [ "sqlite3" ];
 
-      ];
-      ghcArgs = [ "-threaded" ];
+  cas-serve = pkgs.haskellPackages.mkDerivation {
+    pname = "cas-serve";
+    version = "0.1.0";
 
-    } ./CasServe.hs;
+    src = depot.users.Profpatsch.exactSource ./. [
+      ./cas-serve.cabal
+      ./CasServe.hs
+    ];
 
+    libraryHaskellDepends = [
+      pkgs.haskellPackages.pa-prelude
+      pkgs.haskellPackages.pa-label
+      pkgs.haskellPackages.crypton
+      pkgs.haskellPackages.wai
+      pkgs.haskellPackages.warp
+      pkgs.haskellPackages.sqlite-simple
+      depot.users.Profpatsch.arglib.netencode.haskell
+      depot.users.Profpatsch.netencode.netencode-hs
+    ];
+
+    isExecutable = true;
+    isLibrary = false;
+    license = lib.licenses.mit;
+  };
+
+  create-cas-database = depot.nix.writeExecline "create-cas-database" { readNArgs = 1; } [
+    bins.sqlite3
+    "$1"
+    "-init"
+    ./schema.sql
+  ];
 in
 cas-serve