semantics, readability, relicense, initResource argument removal

This commit is contained in:
mtgmonkey
2025-12-08 11:21:14 +01:00
parent e767a5ee5b
commit 5585a49393
8 changed files with 200 additions and 133 deletions

View File

@@ -2,64 +2,38 @@
haskellPackages,
lib,
stdenv,
ghcOptions,
haddockOptions,
ghcPackages,
...
}: let
ghcExeOptions = lib.concatStringsSep " " ghcFlags;
ghcFlags = [
"-O"
"-Wall"
"-Widentities"
"-Wincomplete-record-updates"
"-Wincomplete-uni-patterns"
# "-Wmissing-export-lists"
"-Wmissing-home-modules"
"-Wpartial-fields"
"-Wredundant-constraints"
"-threaded"
"-rtsopts"
"-with-rtsopts=-N"
# src
"-i./src"
"-main-is Game"
}:
stdenv.mkDerivation {
pname = "hs-game";
version = "0.1.0";
src = ./.;
nativeBuildInputs = [
(haskellPackages.ghcWithPackages ghcPackages)
];
haddockOptions = lib.concatStringsSep " " haddockFlags;
haddockFlags = [
"--html"
"--odir docs"
"--optghc=-i./src"
"src/Game/Main.hs"
buildInputs = [
];
ghcPackages = p: [
p.GLFW-b
p.linear
p.OpenGL
];
in
stdenv.mkDerivation {
pname = "haskengl";
version = "0.1.0";
src = ./.;
nativeBuildInputs = [
(haskellPackages.ghcWithPackages ghcPackages)
];
buildInputs = [
];
configurePhase = ''
'';
buildPhase = ''
ghc ${ghcExeOptions} ./src/Game.hs -o ./Main
haddock ${haddockOptions}
'';
installPhase = ''
mkdir -p $out/bin
cp ./Main $out/bin/hs-game
cp ./docs $out/docs -r
'';
configurePhase = ''
'';
buildPhase = ''
touch Main
ghc ${ghcOptions} ./src/Game.hs -o ./Main
mkdir ./docs
haddock ${haddockOptions}
'';
installPhase = ''
mkdir -p $out/bin
cp ./Main $out/bin/hs-game
cp ./docs $out/docs -r
'';
meta = {
homepage = "https://mtgmonkey.net";
license = lib.licenses.wtfpl;
mainProgram = "hs-game";
platforms = ["x86_64-linux"];
};
}
meta = {
homepage = "https://mtgmonkey.net";
license = lib.licenses.bsd3;
mainProgram = "hs-game";
platforms = ["x86_64-linux"];
};
}