packages feed

yarn2nix-0.7.0: default.nix

{ nixpkgsPath ? ./nixpkgs-pinned.nix }:
(import nixpkgsPath {
  overlays = [(pkgs: oldpkgs: {
    haskellPackages =
      let nix-lib = pkgs.callPackage ./nix-lib {};
      in oldpkgs.haskellPackages.override {
        overrides = oldpkgs.lib.composeExtensions
          (pkgs.callPackage ./nix-lib/old-version-dependencies.nix {})
          (self: super: {
            yarn2nix =
              let
                pkg = oldpkgs.haskell.lib.overrideCabal
                  (self.callPackage ./yarn2nix.nix {})
                  (old: {
                    prePatch = old.prePatch or "" + ''
                      ${oldpkgs.lib.getBin self.hpack}/bin/hpack
                      # we depend on the git prefetcher
                      substituteInPlace \
                        src/Distribution/Nixpkgs/Nodejs/ResolveLockfile.hs \
                        --replace '"nix-prefetch-git"' \
                          '"${pkgs.nix-prefetch-scripts}/bin/nix-prefetch-git"'
                    '';
                  });
              in oldpkgs.haskell.lib.overrideCabal pkg (old: {
                src = nix-lib.removePrefixes
                  [ "nix-lib" "dist" "result" "tests/nix-tests" ] ./.;
              });
          });
      };
  })];

}).haskellPackages.yarn2nix