From fc6cf6169868e60c189e4b243330c3717ff159f3 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 26 May 2022 13:58:07 +0200 Subject: ... --- overlays/spm/default.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 overlays/spm/default.nix (limited to 'overlays/spm/default.nix') diff --git a/overlays/spm/default.nix b/overlays/spm/default.nix new file mode 100644 index 00000000..6593fca8 --- /dev/null +++ b/overlays/spm/default.nix @@ -0,0 +1,46 @@ +{ final, prev, ... }: +let + spm = let + # defaultPackages = (import ./stackage.nix {}); + # haskellPackages = defaultPackages // argumentPackages; + # haskellPackages = argumentPackages; + haskellPackages = final.haskell.packages.ghc922.override { + overrides = self: super: { + warp-systemd = final.haskell.lib.doJailbreak (super.warp-systemd.overrideAttrs (oldAttrs: { meta = oldAttrs.meta // { broken = false; }; })); + servant-server = super.servant-server.overrideAttrs (oldAttrs: { + patches = []; + }); + hpack = super.hpack.overrideAttrs (oldAttrs: rec { + version = "0.35.0"; + src = prev.fetchFromGitHub { + owner = "sol"; + repo = "hpack"; + rev = "0.35.0"; + hash = "sha256-DMxCHwz9x2e4kSOIk1/qeW3aDFHw88LNW+4vXxDV9EI="; + }; + }); + }; + }; + + spm-frontend = final.callPackage ./frontend { + baseHref = "/ui/"; + }; + in final.haskell.lib.overrideCabal (haskellPackages.callPackage ./spm.nix {}) (oldAttrs: { + src = final.lib.cleanSourceWith rec { + filter = let + isFiltered = src ? _isLibCleanSourceWith; + origSrc = if isFiltered then src.origSrc else src; + relPath = path: final.lib.removePrefix (toString origSrc + "/") (toString path); + in path: _type: builtins.match "^frontend(/.*)?$" (relPath path) == null; + src = ./.; + }; + + postPatch = '' + ${oldAttrs.postPatch or ""} + + ln -sfTv ${spm-frontend} frontend + ''; + }); +in { + inherit spm; +} -- cgit v1.2.3