Wow, this sounds great! Just to clarify - this would still be a mingw-w64 build and not require the msys2 DLLs, correct?
Thanks, Yitz On May 21, 2015 23:53, "David Macek" <david.mace...@gmail.com> wrote: > With the helpful pointers from ezyang on IRC, I pushed this a bit forward. > > I converted most of the patches into more reasonable commits including > short descriptions and created a git branch for it. See < > https://github.com/ghc/ghc/compare/ghc-7.10.1-release...elieux:msys2-pkgbuild > >. > > As mentioned previously, the changes should be uncontroversial except for > two big changes: removing bundled mingw, perl and touchy and changing the > directory layout. While the directory layout change is mostly > self-contained (barring any tools hardcoding ..\lib), the bundled > dependency removal will required major changes to the build process. My > proposals follow. > > For hacking on GHC > ================== > > 1. Get MSYS2, update and install dependencies (including the bootstrapping > ghc that would come as a MSYS2 package) > 2. Get a GHC repository ready > 3. Hack, hack, hack > 4. Build and test as usual > 5. GOTO 3 > > Alternatively, this could be replaced with a makepkg-based flow: > > 1. Get MSYS2, update and install dependencies (including the bootstrapping > ghc that would come as a MSYS2 package) > 2. Get a mingw-w64-ghc-git PKGBUILD > 3. $ makepkg-mingw --nobuild # clone the repositories > 4. Go to src/ghc and hack, hack, hack > 5. $ makepkg-mingw --noextract --noprepare --noarchive # build and test > 6. GOTO 4 > > For binary release > ================== > > Phase 1: pacman package. This can be done in coordination with the MSYS2 > maintainers, or a separate GHC-owned pacman repository can be created. > > 1. Get MSYS2, update and install dependencies (including the bootstrapping > ghc that would come as a MSYS2 package) > 2. Update the mingw-w64-ghc PKGBUILD to point to the new source release > 3. $ makepkg-mingw # build a package > 4. Upload the package to a pacman repository > > Phase 2: stand-alone bindist > > 1. Download the package and its dependencies > 2. Extract them into a temporary directory > 3. Create a tarball or an installer from that > 4. Upload to GHC servers > > This is essentially what the new Git for Windows does (and what some other > projects that use MSYS2 as their build environment do). > > -- > David Macek > > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs