canvas/.plan.nix/canvas.nix

79 lines
3.4 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 = {};
package = {
specVersion = "2.4";
identifier = { name = "canvas"; version = "0.0.0.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "nek0@nek0.eu";
author = "nek0";
homepage = "";
url = "";
synopsis = "A test implementation for drawing images with SDL2 and OpenGL";
description = "";
buildType = "Simple";
isLocal = true;
};
components = {
exes = {
"canvas" = {
depends = [
(hsPkgs."base" or (buildDepError "base"))
(hsPkgs."affection" or (buildDepError "affection"))
(hsPkgs."sdl2" or (buildDepError "sdl2"))
(hsPkgs."OpenGL" or (buildDepError "OpenGL"))
(hsPkgs."OpenGLRaw" or (buildDepError "OpenGLRaw"))
(hsPkgs."GLUtil" or (buildDepError "GLUtil"))
(hsPkgs."JuicyPixels" or (buildDepError "JuicyPixels"))
(hsPkgs."JuicyPixels-extra" or (buildDepError "JuicyPixels-extra"))
(hsPkgs."stm" or (buildDepError "stm"))
(hsPkgs."containers" or (buildDepError "containers"))
(hsPkgs."linear" or (buildDepError "linear"))
(hsPkgs."bytestring" or (buildDepError "bytestring"))
(hsPkgs."random" or (buildDepError "random"))
];
buildable = true;
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../.; }