Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Building Shoes on Windows

steveklabnik edited this page Nov 24, 2011 · 10 revisions

(taken from here)

Building Shoes for Windows

Install Ruby 1.9 [i386-mingw32]

Install MSysGit

Create c:\shoes_dev directory

Right now, C:\shoes_dev is hardcoded in the rakefile, so it has to go here.

  • open Windows' console window
  • cd c:\
  • git clone git://github.com/ashbb/rubyinstaller.git shoes_dev

Create c:\shoes_dev\sandbox directory

  • cd c:\shoes_dev
  • mkdir downloads
  • download all files into c:\shoes_dev\downloads -- You can do this by typing $ cd c:/shoes_dev/downloads && wget -cm -nd http://www.rin-shun.com/shoes/MinGW/downloads/
  • cd c:\shoes_dev
  • rake

Note: If the rake command fails with an error that looks like this:

"C:/shoes_dev/sandbox/extract_utils/7z.exe" x -y -o"C:/shoes_dev/sandbox/portaudio"  "c:/temp/extract_sandbox_4892/pa_snapshot.tar" > NUL
rake aborted!
Command failed with status (2): ["C:/shoes_dev/sandbox/extract_utils/7z.exe...]

see the Troubleshooting section below.

Note: Updated the above dependencies list. Now you can build Shoes on both Windows XP and 7!

Create c:\shoes_dev\sandbox\deps_cairo_1.8.10 directory

  • cd c:\shoes_dev\sandbox
  • mkdir deps_cairo_1.8.10
  • download deps_cairo_1.8.10.zip file and unzip that into c:\shoes_dev\sandbox\deps_cairo_1.8.10

Create c:\shoes_dev\sandbox\deps_vlc_0.8 directory

  • cd c:\shoes_dev\sandbox
  • mkdir deps_vlc_0.8
  • download deps_vlc_0.8.zip file and unzip that into c:\shoes_dev\sandbox\deps_vlc_0.8

Note: If you have deps-win32-1.6.4-1.20.5_vlc.zip. The vlc subdirectory is the same as deps_vlc_0.8.

Build Shoes with Video support

  • cd c:\shoes_dev\sandbox
  • git clone git://github.com/ashbb/shoes.git
  • cd c:\shoes_dev
  • rake interpreter:shoes:compile VIDEO=1

That's it! The c:\shoes_dev\sandbox\shoes\dist\shoes.exe is there. :-D

NOTE: When you use Policeman with Video support on Windows XP, launch with --nolayered option like this: shoes --nolayered

Build Shoes without Video support

  • cd c:\shoes_dev\sandbox
  • git clone git://github.com/ashbb/shoes.git
  • cd c:\shoes_dev
  • rake interpreter:shoes:compile

That's it! The c:\shoes_dev\sandbox\shoes\dist\shoes.exe is there. :-D

Package Shoes

  • cd c:\shoes_dev\sandbox\shoes
  • set NSIS=C:\Program Files\NSIS (See also this)
  • rake installer

That's it! The C:\shoes_dev\sandbox\shoes\pkg\shoes-0.r1488.exe is there.
You can install Shoes just one click. ;-)

Snapshot

building-shoes-with-mingw.png

Shoes.app :title => 'Building Shoes with MinGW', 
  :width => 330, :height => 200 do
  
  background hotpink..orange, :angle => 90
  style Shoes::Caption, :stroke => white
  stack do
    caption strong("RELEASE_NAME: #{Shoes::RELEASE_NAME}")
    caption strong("RELEASE_ID: #{Shoes::RELEASE_ID}")
    caption strong("REVISION: #{Shoes::REVISION}")
    caption strong("RUBY_PLATFORM: #{Shoes::RUBY_PLATFORM}")
    caption strong("RUBY_VERSION: #{Shoes::RUBY_VERSION}")
  end
end

Troubleshooting

If, when you do "rake", you get an error that looks like:

"C:/shoes_dev/sandbox/extract_utils/7z.exe" x -y -o"c:/temp/extract_sandbox_xxxx" "C:/shoes_dev/downloads/pa_snapshot.tar.gz" > NUL
"C:/shoes_dev/sandbox/extract_utils/7z.exe" x -y -o"C:/shoes_dev/sandbox/portaudio" "c:/temp/extract_sandbox_xxxx/pa_snapshot.tar" > NUL
rake aborted!
Command failed with status (2): ["C:/shoes_dev/sandbox/extract_utils/7z.exe...]

(where xxxx is your temp directory's number) and C:/shoes_dev/sandbox/portaudio is empty, and instead of C:/temp/extract_sandbox_xxxx/pa_snapshot.tar you have C:/temp/extract_sandbox_xxxx/portaudio/ that contains uncompressed files, zip that directory:

> "C:/shoes_dev/sandbox/extract_utils/7z.exe" a -tzip portaudio.zip "C:/temp/extract_sandbox_xxxx/portaudio"

and put the resulting portaudio.zip in C:/shoes_dev/downloads, then change C:/shoes_dev/config/ruby_installer.rb line 257 to say:

 :files => ['portaudio.zip']

and try running rake again.

Note

  • add Shoes icon ... done!
  • launch Shoes without Windows' console
  • merge the latest Shoes code ... done!
  • update dependencies ... done! (Ruby 1.9.1p378 and libjpeg v8, so far)