Skip to content

Instantly share code, notes, and snippets.

@masak
Created April 6, 2009 15:29
Show Gist options
  • Save masak/90800 to your computer and use it in GitHub Desktop.
Save masak/90800 to your computer and use it in GitHub Desktop.
$ <installer ~/work/hobbies/parrot/languages/rakudo/perl6 -e 'while !$*IN.eof {\
my $line = $*IN.readline; if $line ~~ / \# \ [XXX|TODO|RAKUDO] / { say \
"== Line ", $*IN.ins; while $line ~~ / \# / { say $line; last if $*IN.eof;\
$line = $*IN.readline; }; say ""; } }'
== Line 99
# TODO: Maybe just test everything installed?
== Line 108
# TODO: Also need to check that projects are actually installed.
== Line 116
# RAKUDO: Doesn't support any other way to change the current working
# directory. Improvising.
== Line 124
# RAKUDO: Can't really figure out how to set environment variables
# so they're visible by later commands. Doing like this
# instead.
== Line 136
# TODO: This sub should probably recursively show dependencies, and in such
# a way that a dependency found twice by different routes is only
# mentioned the second time -- its dependencies are not shown.
== Line 166
# TODO: Though the below traversal works, it seems much cooler to do builds
# as soon as possible. Right now, in a dep tree looking like this:
# :A[ :B[ 'C', 'D' ], 'E' ], we download A-B-E-C-D and then build
# D-C-E-B-A. Though this works, one could conceive of a download
# preorder A-B-C-D-E and a build postorder C-D-B-E-A.
# Those could even be interspersed build-soonest, making it
# dA-dB-dC-bC-bD-bB-dE-bE-bA.
== Line 201
# TODO: It seems we can do better than this. A failed download does
# not invalidate a whole installation process, only the
# dependency tree in which it is a part. Passing information
# upwards with exceptions would provide excellent error
# diagnostics (either it failed because it wasn't found, or
# because dependencies couldn't be installed).
== Line 243
# RAKUDO: Doesn't support any other way to change the current working
# directory. Improvising.
== Line 253
# RAKUDO: Can't really figure out how to set environment variables
# so they're visible by later commands. Doing like this
# instead.
== Line 261
# XXX: Need to have error handling here, and not continue if things go
# haywire with the build. However, a project may not have a
# Makefile.PL or Configure.p6, and this needs to be considered
# a successful [sic] outcome.
== Line 294
# XXX: Oops, it's inconsistent that this sub takes a project name while
# get-deps takes a file name. Should fix one of them; and since this one
# feels weird with a file name, maybe get-deps should take a project
# name too.
== Line 300
# TODO: Make this one find the deps of the deps, and so on. We're off the
# hook for now, since there are no known deps of deps.
== Line 335
# XXX: Removed all comment-handling code from the p6 version of this sub,
# on the theory that less code means less maintenance. Should we ever
# want to write back to the config.proto file from within this script,
# we'll need to add the comment-handling code back.
== Line 341
# RAKUDO: Oslo doesn't have lines; have to wait till next month...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment