1 # Copyright (C) 2009, Parrot Foundation.
6 fetch_languages.pl - Fetch language implementations from their source code
7 management repositories
11 perl fetch_languages.pl
13 perl fetch_languages.pl [--update] [--lang=<hll>]
18 Creates a directory called 'languages' and checks out the languages.
22 2009-03-14 Salvaged from https:/svn.parrot.org/parrot/trunk/config/gen/makefiles/languages.in@37396.
24 2009-06-28 --lang=<hll> option added by s1n++.
36 my ( $update_flag, $checkout_flag, $lang_flag ) = ( 0, 1, undef );
37 GetOptions
( 'lang=s' => \
$lang_flag, 'update' => \
$update_flag ) or pod2usage
();
39 my $languages_dir = 'languages';
45 SVN
=> [qw(svn checkout)],
46 GIT
=> [qw(git clone)],
50 SVN
=> [qw(svn update)],
51 GIT
=> [qw(git pull)],
52 HG
=> [qw(hg pull --update)],
60 repository
=> 'https://svn.parrot.org/languages/bf/trunk'
66 repository
=> 'git://github.com/jnthn/blizkost.git'
72 repository
=> 'https://svn.parrot.org/languages/c99/trunk'
78 repository
=> 'git://github.com/cardinal/cardinal.git'
84 repository
=> 'https://svn.parrot.org/languages/chitchat/trunk'
90 repository
=> 'http://close.googlecode.com/svn/trunk/'
96 repository
=> 'https://svn.parrot.org/languages/dotnet/trunk'
102 repository
=> 'git://github.com/bschmalhofer/eclectus.git'
106 name
=> 'ecmascript',
108 repository
=> 'https://svn.parrot.org/languages/ecmascript/trunk'
114 repository
=> 'https://svn.parrot.org/languages/forth/trunk'
120 repository
=> 'git://github.com/TiMBuS/fun.git'
126 repository
=> 'git://github.com/tene/gil.git'
132 repository
=> 'git://github.com/bschmalhofer/hq9plus.git'
138 repository
=> 'https://svn.parrot.org/languages/jako/trunk'
144 repository
=> 'https://svn.parrot.org/languages/json/trunk'
150 repository
=> 'git://github.com/leto/kea.git'
156 repository
=> 'https://rgrjr.dyndns.org/svn/kea-cl/trunk'
162 repository
=> 'git://github.com/bschmalhofer/lazy-k.git'
168 repository
=> 'https://svn.parrot.org/languages/lisp/trunk'
174 repository
=> 'https://svn.parrot.org/languages/lolcode/trunk'
180 repository
=> 'git://github.com/fperrad/lua.git'
186 repository
=> 'git://github.com/bschmalhofer/m4.git'
192 repository
=> 'git://github.com/fperrad/markdown.git'
198 repository
=> 'git://github.com/Whiteknight/matrixy.git'
204 repository
=> 'https://svn.parrot.org/languages/ook/trunk'
208 name
=> 'paraplegic',
210 repository
=> 'http://paraplegic.googlecode.com/svn/trunk'
216 repository
=> 'git://github.com/chrisdolan/perk.git'
222 repository
=> 'https://svn.parrot.org/languages/pheme/trunk'
228 repository
=> 'git://github.com/bschmalhofer/pipp.git'
234 repository
=> 'http://github.com/parrot/pir.git'
240 repository
=> 'http://parrotjs.googlecode.com/svn/trunk'
246 repository
=> 'https://svn.parrot.org/languages/pod/trunk'
252 repository
=> 'http://porcupinepascal.googlecode.com/svn/trunk'
256 name
=> 'primitivearc',
258 repository
=> 'git://github.com/stefano/primitivearc.git'
264 repository
=> 'https://svn.parrot.org/languages/punie/trunk'
270 repository
=> 'http://bitbucket.org/allison/pynie'
276 repository
=> 'git://github.com/rakudo/rakudo.git'
282 repository
=> 'https://svn.parrot.org/languages/scheme/trunk'
286 name
=> 'shakespeare',
288 repository
=> 'http://bitbucket.org/riffraff/shakespeare-parrot'
294 repository
=> 'git://github.com/tene/steme.git'
300 repository
=> 'git://github.com/partcl/partcl.git'
306 repository
=> 'git://github.com/bschmalhofer/unlambda.git'
312 repository
=> 'https://svn.parrot.org/languages/urm/trunk'
318 repository
=> 'http://winxed.googlecode.com/svn/trunk/'
324 repository
=> 'git://github.com/fperrad/wmlscript.git'
330 repository
=> 'git://github.com/fperrad/xml.git'
335 next if $lang_flag && $_->{name
} ne $lang_flag;
336 if ($checkout_flag && ! -d
$_->{name
}) {
337 my @cmd = ( @
{ $checkout_cmd{ $_->{scm
} } }, $_->{repository
}, $_->{name
} );
339 print "Running: '@cmd' in $dir.\n";
344 my @cmd = ( @
{ $update_cmd{ $_->{scm
} } } );
346 print "Running: '@cmd' in $dir.\n";
354 # cperl-indent-level: 4
357 # vim: expandtab shiftwidth=4: