Re: MSYS2 package for GHC 7.10.1

2015-06-04 Thread David Macek
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

2015-05-24 Thread Greg Weber
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

2015-05-22 Thread Yitzchak Gale
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

2015-05-22 Thread David Macek
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

2015-05-21 Thread David Macek
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