81 lines
3.2 KiB
Nix
81 lines
3.2 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;
|
||
|
detailLevel = "FullDetails";
|
||
|
licenseFiles = [ "LICENSE" ];
|
||
|
dataDir = "";
|
||
|
dataFiles = [];
|
||
|
extraSrcFiles = [ "CHANGELOG.md" ];
|
||
|
extraTmpFiles = [];
|
||
|
extraDocFiles = [];
|
||
|
};
|
||
|
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."JuicyPixels" or (buildDepError "JuicyPixels"))
|
||
|
(hsPkgs."JuicyPixels-extra" or (buildDepError "JuicyPixels-extra"))
|
||
|
];
|
||
|
buildable = true;
|
||
|
hsSourceDirs = [ "app" ];
|
||
|
mainPath = [ "Main.hs" ];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
} // rec { src = (pkgs.lib).mkDefault ../.; }
|