Skip to content

maccman/bowline-desktop

Repository files navigation

This project integrates wxWidgets with Ruby and Bowline.
The public API documentation is in the Bowline project:
  http://github.com/maccman/bowline

* OSX (Cocoa) & Linux (GTK)
  If you feel like implementing bowline_webkit_win.cpp go for it!
* uses wxWidgets 2.9
* uses Ruby 1.9
* uses the Rice 1.3.0 gem (http://github.com/jameskilton/rice)
* i386 architecture

Pre-compiled binaries for OSX and Ubuntu are available, and are automatically
distributed with the Bowline gem.

We don't distribute WebKit by default with Bowline for OSX, since it's so big.
However, if you need the latest and greatest, you can compile & distribute it yourself.
If you go down this route, you'll find that the CSS3 3D effects don't work on OSX 10.6 
with a 10.5 compiled WebKit. If you need those effects, you'll have to distribute two
versions of your app - one for Leopard and one for Snow Leopard.

Rice:
 You'll need to use the github version since it's got a few fixes we need:
  git clone git://github.com/jameskilton/rice.git

 There's an issue at the moment, building on Rice in 32 bit mode using Snow Leopard.
 The gem doesn't build with the right architecture. To solves this edit extconf.rb to 
 always use i386, and move all the test and example makefiles from the project.
  

You'll need this environment variables before compiling Ruby & wxWidgets:

  arch_flags="-arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
  export CFLAGS="$arch_flags "
  export CXXFLAGS="$arch_flags"
  export CPPFLAGS="$arch_flags"
  export LDFLAGS="$arch_flags"
  export OBJCFLAGS="$arch_flags" 
  export OBJCXXFLAGS="$arch_flags"

  Ruby 1.9.1 configuration:
    ./configure --with-static-linked-ext --program-suffix=19 --prefix=/usr/local 

  wxWidgets configuration:
    ./configure --disable-webkit --disable-shared --with-osx_cocoa
    
  wxWidgets needs patching on Snow Leopard - see http://trac.wxwidgets.org/ticket/11183

Optional:

  Building WebKit for 10.5 (on Snow Leopard):
    ./WebKitTools/Scripts/build-webkit --32-bit -sdk macosx10.5 MACOSX_DEPLOYMENT_TARGET_1060=10.5 WEBKIT_SYSTEM_INTERFACE_LIBRARY_1060=WebKitSystemInterfaceLeopard

  Building WebKit for 10.6:
    ./WebKitTools/Scripts/build-webkit --32-bit
    
    Then move all the WebKit frameworks (in WebKitBuild/Release) to a folder inside bowline-desktop called "libs".
    Then run:  
      rake libs:id
      WEBKIT_PATH=/path/to/webkit rake libs:change
    
  Building WebKit on Ubuntu:
    export CFLAGS="-O2"
    export CXXFLAGS="-O2"
    ./autogen.sh --enable-3D-transforms --enable-web-sockets --prefix /usr --host `dpkg-architecture -qDEB_HOST_GNU_TYPE` --build `dpkg-architecture -qDEB_BUILD_GNU_TYPE`

To compile:
$ ruby ruby2make
$ make

About

wxWidgets/Ruby/Webkit framework for Bowline apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published