Re: MSYS2 package for GHC 7.10.1
On 24. 5. 2015 8:43, someone wrote: Hi, Hi. First off, let me note that I proposed multiple things and each affects this in a different way (and some not at all). I saw your email at ghc-devs (I couldnt reply to your email because I wasnt subscribed at the time, hence this email) regarding msys2, and was wondering how it would affect the msys instructions at : https://wiki.haskell.org/Windows#Quickstart_on_Windows_7 Note that these steps results in a setup roughly equivalent to the one MinGHC provides. Currently I use these instructions to setup ghc in msys2, but I suspect these would change following your modifications. If the mingw-unbundling proposal goes through and the MSYS2 package gets sanctioned, the new steps would be: 1. Install MSYS2 and update using pacman 2. Install ghc and cabal-install packages using pacman For usage inside a POSIX shell, launch mingw64_shell.bat. For usage outside of MSYS2, add `$msysroot/mingw64/bin` to PATH. -- David Macek smime.p7s Description: S/MIME Cryptographic Signature ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Re: MSYS2 package for GHC 7.10.1
Hi David, You may want to work closely with the minghc project which seems to be the best Haskell Windows installer at the moment: https://github.com/fpco/minghc Thanks, Greg Weber On Fri, May 22, 2015 at 9:53 AM, David Macek david.mace...@gmail.com wrote: On 22. 5. 2015 15:58, Yitzchak Gale wrote: Wow, this sounds great! Just to clarify - this would still be a mingw-w64 build and not require the msys2 DLLs, correct? Correct. -- 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
Re: MSYS2 package for GHC 7.10.1
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
Re: MSYS2 package for GHC 7.10.1
On 22. 5. 2015 15:58, Yitzchak Gale wrote: Wow, this sounds great! Just to clarify - this would still be a mingw-w64 build and not require the msys2 DLLs, correct? Correct. -- David Macek smime.p7s Description: S/MIME Cryptographic Signature ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Re: MSYS2 package for GHC 7.10.1
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 smime.p7s Description: S/MIME Cryptographic Signature ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs