153 lines
No EOL
6.3 KiB
Nix
153 lines
No EOL
6.3 KiB
Nix
let
|
|
buildDepError = pkg:
|
|
builtins.throw ''
|
|
The Haskell package set does not contain the package: ${pkg} (build dependency).
|
|
|
|
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
|
'';
|
|
sysDepError = pkg:
|
|
builtins.throw ''
|
|
The Nixpkgs package set does not contain the package: ${pkg} (system dependency).
|
|
|
|
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
|
'';
|
|
pkgConfDepError = pkg:
|
|
builtins.throw ''
|
|
The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency).
|
|
|
|
You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found.
|
|
'';
|
|
exeDepError = pkg:
|
|
builtins.throw ''
|
|
The local executable components do not include the component: ${pkg} (executable dependency).
|
|
'';
|
|
legacyExeDepError = pkg:
|
|
builtins.throw ''
|
|
The Haskell package set does not contain the package: ${pkg} (executable dependency).
|
|
|
|
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
|
'';
|
|
buildToolDepError = pkg:
|
|
builtins.throw ''
|
|
Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency).
|
|
|
|
If this is a system dependency:
|
|
You may need to augment the system package mapping in haskell.nix so that it can be found.
|
|
|
|
If this is a Haskell dependency:
|
|
If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix.
|
|
'';
|
|
in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }:
|
|
{
|
|
flags = { develop = false; };
|
|
package = {
|
|
specVersion = "2.4";
|
|
identifier = { name = "mateamt"; version = "0.0.0.0"; };
|
|
license = "AGPL-3.0-only";
|
|
copyright = "";
|
|
maintainer = "nek0@nek0.eu";
|
|
author = "nek0";
|
|
homepage = "";
|
|
url = "";
|
|
synopsis = "A whole new matemat";
|
|
description = "";
|
|
buildType = "Simple";
|
|
isLocal = true;
|
|
detailLevel = "FullDetails";
|
|
licenseFiles = [ "LICENSE" ];
|
|
dataDir = "";
|
|
dataFiles = [];
|
|
extraSrcFiles = [ "CHANGELOG.md" ];
|
|
extraTmpFiles = [];
|
|
extraDocFiles = [];
|
|
};
|
|
components = {
|
|
"library" = {
|
|
depends = [
|
|
(hsPkgs."base" or (buildDepError "base"))
|
|
(hsPkgs."servant" or (buildDepError "servant"))
|
|
(hsPkgs."servant-server" or (buildDepError "servant-server"))
|
|
(hsPkgs."servant-rawm" or (buildDepError "servant-rawm"))
|
|
(hsPkgs."opaleye" or (buildDepError "opaleye"))
|
|
(hsPkgs."aeson" or (buildDepError "aeson"))
|
|
(hsPkgs."text" or (buildDepError "text"))
|
|
(hsPkgs."time" or (buildDepError "time"))
|
|
(hsPkgs."profunctors" or (buildDepError "profunctors"))
|
|
(hsPkgs."product-profunctors" or (buildDepError "product-profunctors"))
|
|
(hsPkgs."postgresql-simple" or (buildDepError "postgresql-simple"))
|
|
(hsPkgs."warp" or (buildDepError "warp"))
|
|
(hsPkgs."wai" or (buildDepError "wai"))
|
|
(hsPkgs."wai-logger" or (buildDepError "wai-logger"))
|
|
(hsPkgs."http-types" or (buildDepError "http-types"))
|
|
(hsPkgs."http-api-data" or (buildDepError "http-api-data"))
|
|
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
|
(hsPkgs."base16-bytestring" or (buildDepError "base16-bytestring"))
|
|
(hsPkgs."base64-bytestring" or (buildDepError "base64-bytestring"))
|
|
(hsPkgs."random-bytestring" or (buildDepError "random-bytestring"))
|
|
(hsPkgs."containers" or (buildDepError "containers"))
|
|
(hsPkgs."stm" or (buildDepError "stm"))
|
|
(hsPkgs."mtl" or (buildDepError "mtl"))
|
|
(hsPkgs."pureMD5" or (buildDepError "pureMD5"))
|
|
];
|
|
buildable = true;
|
|
modules = [
|
|
"API"
|
|
"Control"
|
|
"Control/Buy"
|
|
"Control/Journal"
|
|
"Control/User"
|
|
"Control/Product"
|
|
"Control/Auth"
|
|
"Control/Avatar"
|
|
"Model"
|
|
"Model/User"
|
|
"Model/Product"
|
|
"Model/Auth"
|
|
"Model/Amount"
|
|
"Model/Journal"
|
|
"Model/Avatar"
|
|
"Types"
|
|
"Types/Auth"
|
|
"Types/Product"
|
|
"Types/Reader"
|
|
"Types/Refine"
|
|
"Types/User"
|
|
"Types/Purchase"
|
|
"Types/Amount"
|
|
"Types/Journal"
|
|
"Types/Avatar"
|
|
"Util"
|
|
];
|
|
hsSourceDirs = [ "src" ];
|
|
};
|
|
exes = {
|
|
"mateamt" = {
|
|
depends = [
|
|
(hsPkgs."base" or (buildDepError "base"))
|
|
(hsPkgs."mateamt" or (buildDepError "mateamt"))
|
|
(hsPkgs."text" or (buildDepError "text"))
|
|
(hsPkgs."bytestring" or (buildDepError "bytestring"))
|
|
(hsPkgs."base16-bytestring" or (buildDepError "base16-bytestring"))
|
|
(hsPkgs."containers" or (buildDepError "containers"))
|
|
(hsPkgs."mtl" or (buildDepError "mtl"))
|
|
(hsPkgs."opaleye" or (buildDepError "opaleye"))
|
|
(hsPkgs."postgresql-simple" or (buildDepError "postgresql-simple"))
|
|
(hsPkgs."stm" or (buildDepError "stm"))
|
|
(hsPkgs."network" or (buildDepError "network"))
|
|
(hsPkgs."servant" or (buildDepError "servant"))
|
|
(hsPkgs."servant-server" or (buildDepError "servant-server"))
|
|
(hsPkgs."time" or (buildDepError "time"))
|
|
(hsPkgs."warp" or (buildDepError "warp"))
|
|
(hsPkgs."wai" or (buildDepError "wai"))
|
|
(hsPkgs."wai-logger" or (buildDepError "wai-logger"))
|
|
(hsPkgs."HsYAML" or (buildDepError "HsYAML"))
|
|
(hsPkgs."optparse-applicative" or (buildDepError "optparse-applicative"))
|
|
];
|
|
buildable = true;
|
|
modules = [ "AppTypes" "AppTypes/Configuration" "Janitor" ];
|
|
hsSourceDirs = [ "app" ];
|
|
mainPath = [ "Main.hs" ];
|
|
};
|
|
};
|
|
};
|
|
} // rec { src = (pkgs.lib).mkDefault ../../mateamt; } |