Picking development back up

Merge Kiselyov optimizations and De Bruijn indices
General clean up
This commit is contained in:
2026-05-05 14:51:42 -05:00
7 changed files with 483 additions and 123 deletions

View File

@@ -9,26 +9,42 @@
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
packageName = "tricu";
containerPackageName = "${packageName}-container";
customGHC = pkgs.haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [
megaparsec
]);
pkgs = nixpkgs.legacyPackages.${system};
packageName = "tricu";
haskellPackages = pkgs.haskellPackages;
hsLib = pkgs.haskell.lib;
enableSharedExecutables = false;
enableSharedLibraries = false;
tricuPackage =
haskellPackages.callCabal2nix packageName self {};
tricu = pkgs.haskell.lib.justStaticExecutables self.packages.${system}.default;
tricuTests =
hsLib.overrideCabal tricuPackage (old: {
doCheck = true;
configureFlags = (old.configureFlags or []) ++ [
"--enable-tests"
];
checkPhase = ''
runHook preCheck
./Setup test tricu-tests --show-details=direct
runHook postCheck
'';
});
customGHC = haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [
megaparsec
]);
in {
packages.${packageName} = tricuPackage;
packages.default = tricuPackage;
packages.${packageName} =
haskellPackages.callCabal2nix packageName self rec {};
packages.test = tricuTests;
checks.${packageName} = tricuTests;
checks.default = tricuTests;
packages.default = self.packages.${system}.${packageName};
defaultPackage = self.packages.${system}.default;
devShells.default = pkgs.mkShell {
@@ -39,9 +55,10 @@
customGHC
upx
];
inputsFrom = builtins.attrValues self.packages.${system};
};
devShell = self.devShells.${system}.default;
inputsFrom = [
tricuPackage
];
};
});
}