{ sources ? import ../nix/sources.nix }: (self: super: let pkgs = self; haskellLib = pkgs.haskell.lib; in { haskell = super.haskell // { packageOverrides = pkgs.lib.composeManyExtensions [ super.haskell.packageOverrides (self: super: { acms = (self.callCabal2nix "acms" ../acms { }).overrideAttrs (oldAttrs: pkgs.lib.optionalAttrs pkgs.stdenv.isx86_64 { nativeBuildInputs = (oldAttrs.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ]; postInstall = (oldAttrs.postInstall or "") + '' wrapProgram $out/bin/acms \ --set-default APPROOT ${pkgs.pkgsCross.ghcjs.haskell.packages.ghc910.frontend} ''; }); astore = haskellLib.doJailbreak (self.callCabal2nix "astore" sources.json2sql { }); autotypes = self.callCabal2nix "autotypes" ../autotypes { }; frontend = (self.callCabal2nix "frontend" ../frontend { }).overrideAttrs (_: { installPhase = '' cp -a dist/build/frontend/frontend.jsexe $out ''; }); sh = haskellLib.dontCheck (self.callCabal2nix "sh" sources.sh { }); repline = haskellLib.doJailbreak super.repline; uuid = haskellLib.doJailbreak super.uuid; websockets = haskellLib.doJailbreak super.websockets; hinotify = super.hinotify.overrideAttrs (_: { version = "0.4.2"; src = builtins.fetchTarball "https://hackage.haskell.org/package/hinotify-0.4.2/hinotify-0.4.2.tar.gz"; }); }) ]; }; })