1 # Copyright (C) 2009, Parrot Foundation.
6 fetch_languages.pl - A helper to fetch language implementations from the SCM repoistories
10 perl fetch_languages.pl
12 perl fetch_languages.pl [--update] [--lang=<hll>]
17 Creates a directory called 'languages' and checks out the languages.
21 2009-03-14 Salvaged from https:/svn.parrot.org/parrot/trunk/config/gen/makefiles/languages.in@37396.
23 2009-06-28 --lang=<hll> option added by s1n++.
35 my ( $update_flag, $checkout_flag, $lang_flag ) = ( 0, 1, undef );
36 GetOptions
( 'lang=s' => \
$lang_flag, 'update' => \
$update_flag ) or pod2usage
();
38 my $languages_dir = 'languages';
44 SVN
=> [qw(svn checkout)],
45 GIT
=> [qw(git clone)],
49 SVN
=> [qw(svn update)],
50 GIT
=> [qw(git pull)],
59 repository
=> 'https://svn.parrot.org/languages/bf/trunk'
65 repository
=> 'git://github.com/jnthn/blizkost.git'
71 repository
=> 'https://svn.parrot.org/languages/c99/trunk'
77 repository
=> 'git://github.com/cardinal/cardinal.git'
83 repository
=> 'https://svn.parrot.org/languages/chitchat/trunk'
89 repository
=> 'https://svn.parrot.org/languages/dotnet/trunk'
95 repository
=> 'git://github.com/bschmalhofer/eclectus.git'
101 repository
=> 'https://svn.parrot.org/languages/ecmascript/trunk'
107 repository
=> 'https://svn.parrot.org/languages/forth/trunk'
113 repository
=> 'git://github.com/TiMBuS/fun.git'
119 repository
=> 'git://github.com/tene/gil.git'
125 repository
=> 'git://github.com/bschmalhofer/hq9plus.git'
131 repository
=> 'https://svn.parrot.org/languages/jako/trunk'
137 repository
=> 'https://svn.parrot.org/languages/json/trunk'
143 repository
=> 'https://rgrjr.dyndns.org/svn/kea-cl/trunk'
149 repository
=> 'git://github.com/bschmalhofer/lazy-k.git'
155 repository
=> 'https://svn.parrot.org/languages/lisp/trunk'
161 repository
=> 'https://svn.parrot.org/languages/lolcode/trunk'
167 repository
=> 'git://github.com/fperrad/lua.git'
173 repository
=> 'git://github.com/bschmalhofer/m4.git'
179 repository
=> 'git://github.com/fperrad/markdown.git'
185 repository
=> 'git://github.com/Whiteknight/matrixy.git'
191 repository
=> 'https://svn.parrot.org/languages/ook/trunk'
195 name
=> 'paraplegic',
197 repository
=> 'http://paraplegic.googlecode.com/svn/trunk'
203 repository
=> 'git://github.com/chrisdolan/perk.git'
209 repository
=> 'https://svn.parrot.org/languages/pheme/trunk'
215 repository
=> 'git://github.com/bschmalhofer/pipp.git'
221 repository
=> 'https://svn.parrot.org/languages/pir/trunk'
227 repository
=> 'http://parrotjs.googlecode.com/svn/trunk'
233 repository
=> 'https://svn.parrot.org/languages/pod/trunk'
239 repository
=> 'http://porcupinepascal.googlecode.com/svn/trunk'
243 name
=> 'primitivearc',
245 repository
=> 'git://github.com/stefano/primitivearc.git'
251 repository
=> 'https://svn.parrot.org/languages/punie/trunk'
257 repository
=> 'http://pynie.googlecode.com/svn/trunk'
263 repository
=> 'git://github.com/rakudo/rakudo.git'
269 repository
=> 'https://svn.parrot.org/languages/scheme/trunk'
273 name
=> 'shakespeare',
275 repository
=> 'http://bitbucket.org/riffraff/shakespeare-parrot'
281 repository
=> 'git://github.com/tene/steme.git'
287 repository
=> 'git://github.com/partcl/partcl.git'
293 repository
=> 'git://github.com/bschmalhofer/unlambda.git'
299 repository
=> 'https://svn.parrot.org/languages/urm/trunk'
305 repository
=> 'git://github.com/fperrad/wmlscript.git'
311 repository
=> 'git://github.com/fperrad/xml.git'
316 next if $lang_flag && $_->{name
} ne $lang_flag;
317 if ($checkout_flag && ! -d
$_->{name
}) {
318 my @cmd = ( @
{ $checkout_cmd{ $_->{scm
} } }, $_->{repository
}, $_->{name
} );
320 print "Running: '@cmd' in $dir.\n";
325 my @cmd = ( @
{ $update_cmd{ $_->{scm
} } } );
327 print "Running: '@cmd' in $dir.\n";
335 # cperl-indent-level: 4
338 # vim: expandtab shiftwidth=4: