From murdoch at stats.uwo.ca  Mon Jul  2 23:14:53 2007
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Mon, 02 Jul 2007 17:14:53 -0400
Subject: [Rd] R CMD build with mingw and msys (PR#9766)
In-Reply-To: <20070629115333.7407D2478B@slim.kubism.ku.dk>
References: <20070629115333.7407D2478B@slim.kubism.ku.dk>
Message-ID: <46896ACD.6010209@stats.uwo.ca>

On 29/06/2007 7:53 AM, sneumann at pubhealth.ku.dk wrote:
> Full_Name: Steffen
> Version: 2-5-0
> OS: Windows
> Submission from: (NULL) (192.124.243.162)
> 
> 
> Hi,
> 
> the R CMD build script is using 
> 
>     if($WINDOWS) {
>         ## workaround for paths in Cygwin tar
>         $filepath =~ s+^([A-Za-z]):+/cygdrive/\1+;
>     }
> 
> which does not work if the build environment is a MINGW.
> I have added the patch below, 

It sounds as though you're not using the tar.exe that comes with the R 
toolset, you're using the MSYS one.  Or am I misunderstanding what 
you're doing? What does "which tar" give you? (I'm assuming MSYS 
provides "which", it's not part of the R toolset.).

I'd like the R toolset to work if someone is running in an MSYS shell, 
but I don't want to support arbitrary toolsets, it's just too much work 
to try to keep up with changes to them all.

Duncan Murdoch

> 
> Yours,
> Steffen
> 
> $ diff -u build build.orig 
> --- build       Fri Jun 29 13:50:16 2007
> +++ build.orig  Fri Jun 29 08:51:48 2007
> @@ -47,7 +47,6 @@
>  R::Vars::error("R_HOME", "R_EXE");
>  
>  my $WINDOWS = ($R::Vars::OSTYPE eq "windows");
> -my $MSYS = ( $ENV{OSTYPE} eq "msys" ); 
>  
>  my @exclude_patterns = R::Utils::get_exclude_patterns();
>  
> @@ -222,14 +221,10 @@
>      my $filepath = &file_path($startdir, $filename);
>      ## under Windows, need separate Cygwin and Windows versions of path.
>      my $origfilepath = $filepath;
> -    if ($MSYS) {
> -               ## different workwaround for MSYS
> -               $filepath =~ s+^([A-Za-z]):+/\1/+;
> -    } elsif ($WINDOWS) {
> -               ## workaround for paths in Cygwin tar
> -               $filepath =~ s+^([A-Za-z]):+/cygdrive/\1+;
> +    if($WINDOWS) {
> +       ## workaround for paths in Cygwin tar
> +       $filepath =~ s+^([A-Za-z]):+/cygdrive/\1+;
>      }
> -       
>      R_system(join(" ",
>                   ("$tar chf",
>                    &shell_quote_file_path($filepath),
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] R CMD build with mingw and msys (PR#9766)
Duncan Murdoch