Default prefix for Cabal on Windows

Brian Smith brianlsmith at gmail.com
Thu Jun 16 04:30:10 EDT 2005


* The "Program Files" folder usually has at least one space in its path, 
which could cause a lot of problems for Unix-centric software. For this 
reason alone, I always install anything that isn't Windows-specific into 
"c:\software" instead of "C:\Program Files." If the default prefix is going 
to be "Program Files" then there should be a note in the Cabal documentation 
that the application should expect to be installed into a directory with 
spaces in the path.

* Even if a program is written in Haskell and is built with Cabal, I imagine 
that people who write Windows Haskell software for non-developers will not 
expect users to install the software via Cabal. Instead, they will provide 
an MSI with a GUI installer. That means that, for the most part, the only 
users of Cabal on Windows will be programmers. So, I think that the Cabal 
experience on Windows should be optimized for us. In particular, if I run 
"runghc Setup.hs install" when I am using MSYS Bash, I want the package to 
install into "/usr/local/" just like it would on Unix. 

* I don't think it makes sense for executable packages to have "Haskell" in 
their prefix unless they are explicitly "for Haskell." For example, Darcs 
isn't a Haskell tool; it is a versioning tool that happens to be implemented 
in Haskell, so it wouldn't make sense for it to be installed into 
"C:\Program Files\Haskell\Darcs-1.0," just like we wouldn't want it 
installed into "C:\Prgoram Files\C#\Darcs-1.0" if it was written in C#. 
Conversely, library packages are presumable Haskell-specific and so it makes 
sense for them to have "Haskell" in their prefix.

Just my 2 cents.

- Brian

- Brian

[1] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetfolderpath.asp

[2] 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11b.asp

- Brian


or
> 
> 2) C:\Haskell\<package-name>-<version>
> 
> where "Haskell" could also be "Packages" I guess. 
> 
> -- Daan Leijen
> 
> Brian Smith wrote:
> > On 6/15/05, *Simon Marlow* <simonmar at microsoft.com
> > <mailto:simonmar at microsoft.com >> wrote:
> >
> > On 15 June 2005 05:49, Brian Smith wrote:
> >
> > > The documentation states in Section 3.1 that the default value of
> > > "prefix" is "/usr/local" on Unix. However, it doesn't specify 
> > what the
> > > prefix is on Windows. I found that the default value for prefix is:
> > > C:\Program
> > > Files\<package-name>\<compiler-name>-<compiler-version>. For example, 
> > > version 1.0 of a package named "Foo" compiled with GHC
> > > 6.5 would have a default prefix of:
> > > C:\Program Files\Foo\ghc-6.5
> >
> >
> > The compiler version is there to avoid conflicts in the case when you 
> > have multiple versions of GHC installed and the package is installed for
> > each one. However, I don't think we currently include the compiler &
> > version in the default $(libdir) on Unix, so whatever we do we should do 
> 
> > it consistently.
> >
> >
> > Okay, that makes more sense to me. However, I think that executables
> > should go in "C:\Program Files\<package-name>-<package-version>\bin," 
> > not <C:\Program
> > Files\<package-name>\<compiler-name>-<compiler-version>\bin" as they do
> > currently.
> >
> > - Brian
> >
> >
> >
> > ------------------------------------------------------------------------ 
> 
> >
> > _______________________________________________
> > Libraries mailing list
> > Libraries at haskell.org
> > http://www.haskell.org/mailman/listinfo/libraries
> 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org//pipermail/libraries/attachments/20050616/f83a83d0/attachment.htm


More information about the Libraries mailing list