Parcourir la source

Update IHP to v0.9 (#6533)

Andreas il y a 4 ans
Parent
commit
62d419e8ab

+ 5 - 100
frameworks/Haskell/ihp/src/Config/nix/nixpkgs-config.nix

@@ -1,101 +1,6 @@
+# See https://ihp.digitallyinduced.com/Guide/package-management.html
 { ihp }:
-
-let
-  dontCheckPackages = [
-    "cabal-helper"
-    "generic-lens"
-    "filesystem-conduit"
-    "tz"
-    "typerep-map"
-    "trifecta"
-    "hackage-security"
-  ];
-
-  doJailbreakPackages = [
-    "filesystem-conduit"
-    "http-media"
-    "aeson"
-    "wreq"
-    "ghcide"
-    "brittany"
-  ];
-
-  dontHaddockPackages = [];
-
-  nixPkgsRev = "c985bf793e6ab7d54a9182381b4b610fe0ae6936";
-  nixPkgsSha256 = "0zsj9imjbnhkb65r169xxqmjgqd5593insrvncvabg1iqdsrcxz1";
-
-  compiler = "ghc883";
-
-  generatedOverrides = haskellPackagesNew: haskellPackagesOld:
-    let
-      toPackage = dir: file: _: {
-        name = builtins.replaceStrings [ ".nix" ] [ "" ] file;
-
-        value = haskellPackagesNew.callPackage ("${dir}/${file}") {};
-      };
-      makePackageSet = dir: pkgs.lib.mapAttrs' (toPackage dir) (builtins.readDir dir);
-    in
-      { "ihp" = ((haskellPackagesNew.callPackage "${ihp}/ihp.nix") { }); } // (makePackageSet ./haskell-packages/.) // (makePackageSet "${ihp}/NixSupport/haskell-packages/.");
-
-  makeOverrides =
-    function: names: haskellPackagesNew: haskellPackagesOld:
-      let
-        toPackage = name: {
-          inherit name;
-
-          value = function haskellPackagesOld.${name};
-        };
-      in
-      builtins.listToAttrs (map toPackage names);
-
-  composeExtensionsList = pkgs.lib.fold pkgs.lib.composeExtensions (_: _: {});
-
-
-  # More exotic overrides go here
-  manualOverrides = haskellPackagesNew: haskellPackagesOld: {
-    haskell-language-server = haskellPackagesOld.haskell-language-server.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    hls-plugin-api = haskellPackagesOld.hls-plugin-api.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    yaml = haskellPackagesOld.yaml.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    lsp-test = haskellPackagesOld.lsp-test.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    haskell-lsp-types = haskellPackagesOld.haskell-lsp-types.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    haskell-lsp = haskellPackagesOld.haskell-lsp.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    aeson-pretty = haskellPackagesOld.aeson-pretty.overrideScope ( self: super: { aeson = pkgs.haskell.lib.dontCheck haskellPackagesNew.aeson_1_5_2_0; } );
-    aeson = pkgs.haskell.lib.dontCheck haskellPackagesOld.aeson_1_5_2_0;
-  };
-
-  #mkDerivation = args: super.mkDerivation (args // {
-  #    enableLibraryProfiling = true;
-  #});
-  config = {
-    allowBroken = true;
-    packageOverrides = pkgs: rec {
-      haskell = pkgs.haskell // {
-        packages = pkgs.haskell.packages // {
-          "${compiler}" =
-          pkgs.haskell.packages."${compiler}".override {
-            overrides = composeExtensionsList [
-              generatedOverrides
-              (makeOverrides pkgs.haskell.lib.dontCheck   dontCheckPackages  )
-              (makeOverrides pkgs.haskell.lib.doJailbreak doJailbreakPackages)
-              (makeOverrides pkgs.haskell.lib.dontHaddock dontHaddockPackages)
-              manualOverrides
-            ];
-          };
-        }
-        ;
-      }
-      ;
-    };
-  };
-
-
-  pkgs = (import ((import <nixpkgs> {}).fetchFromGitHub {
-    owner = "NixOS";
-    repo = "nixpkgs";
-    rev = nixPkgsRev;
-    sha256 = nixPkgsSha256;
-  })) { inherit config; };
-
-in
-pkgs
+import "${toString ihp}/NixSupport/make-nixpkgs-from-options.nix" {
+    ihp = ihp;
+    haskellPackagesDir = ./haskell-packages/.;
+}

+ 5 - 1
frameworks/Haskell/ihp/src/Main.hs

@@ -7,11 +7,15 @@ import IHP.RouterSupport
 import IHP.FrameworkConfig
 import Web.FrontController
 import Web.Types
+import IHP.Job.Types
 
 instance FrontController RootApplication where
     controllers = [
             mountFrontController WebApplication
         ]
 
+instance Worker RootApplication where
+    workers _ = []
+
 main :: IO ()
-main = IHP.Server.run config
+main = IHP.Server.run config

+ 1 - 1
frameworks/Haskell/ihp/src/default.nix

@@ -1,7 +1,7 @@
 let
     ihp = builtins.fetchGit {
         url = "https://github.com/digitallyinduced/ihp.git";
-        rev = "d02a0699220a87d32889ff2a7b87ad81f8bc8195";
+        ref = "refs/tags/v0.9.0";
     };
     haskellEnv = import "${ihp}/NixSupport/default.nix" {
         ihp = ihp;