8 def extra_deps; @extra_deps.reject { |x| Array(x).first == "hoe" } end
9 end # thanks to "Mike H"
11 Hoe.new('sup', Redwood::VERSION) do |p|
12 p.rubyforge_name = 'sup'
13 p.author = "William Morgan"
14 p.summary = 'A console-based email client with the best features of GMail, mutt, and emacs. Features full text search, labels, tagged operations, multiple buffers, recent contacts, and more.'
15 p.description = p.paragraphs_of('README.txt', 2..9).join("\n\n")
16 p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[2].gsub(/^\s+/, "")
17 p.changes = p.paragraphs_of('History.txt', 0..0).join("\n\n")
18 p.email = "wmorgan-sup@masanjin.net"
19 p.extra_deps = [['ferret', '>= 0.10.13'], ['ncurses', '>= 0.9.1'], ['rmail', '>= 0.17'], 'highline', 'net-ssh', ['trollop', '>= 1.5'], 'lockfile']
22 rule 'ss?.png' => 'ss?-small.png' do |t|
25 ## is there really no way to make a rule for this?
26 WWW_FILES = %w(www/index.html README.txt doc/Philosophy.txt doc/FAQ.txt doc/UserGuide.txt www/main.css)
28 SCREENSHOTS = FileList["www/ss?.png"]
29 SCREENSHOTS_SMALL = []
30 SCREENSHOTS.each do |fn|
32 sfn = "www/ss#{$1}-small.png"
33 file sfn => [fn] do |t|
34 sh "cat #{fn} | pngtopnm | pnmscale -xysize 320 240 | pnmtopng > #{sfn}"
36 SCREENSHOTS_SMALL << sfn
39 task :upload_webpage => WWW_FILES do |t|
40 sh "scp -C #{t.prerequisites * ' '} wmorgan@rubyforge.org:/var/www/gforge-projects/sup/"
43 task :upload_webpage_images => (SCREENSHOTS + SCREENSHOTS_SMALL) do |t|
44 sh "scp -C #{t.prerequisites * ' '} wmorgan@rubyforge.org:/var/www/gforge-projects/sup/"