Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-03-09 Thread Frodo Kenny
This could be the problem that the install-name of a shared library
on the mac needs to be set to the correct absolute path to be able to
link.
I encountered the same problem with the shared library version of
wxHaskell from Dave's branch (allowing ghci to work with wx!). That
version is working on my mac with wx2.9.3 for Xcode 4.2. I explained
the required fixes here :

http://sourceforge.net/mailarchive/forum.php?thread_name=CAD3si9i_Hr5J36FanSTwdFHVkRPjxsC5Far0M_Zm5JBdeeKZgg%40mail.gmail.comforum_name=wxhaskell-devel

Note that the attachments stop the text from being shown, so see the
replies for the actual mails.

Kenneth

--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-03-09 Thread Eric Kow
On 9 Mar 2012, at 09:42, Frodo Kenny wrote:

 This could be the problem that the install-name of a shared library
 on the mac needs to be set to the correct absolute path to be able to
 link.
 I encountered the same problem with the shared library version of
 wxHaskell from Dave's branch (allowing ghci to work with wx!). That
 version is working on my mac with wx2.9.3 for Xcode 4.2. I explained
 the required fixes here :


I had forgotten to actually push the modified versions of the patches for 
wxcore/Setup.hs
(and another patch)

Basically it was vainly trying to link against libwxmsw29ud_xrc (windows 
wxWidgets libs) instead of the equivalent Mac versions

Not sure if that alone resolves Doaitse's issue though.

Sorry for the resulting noise and confusion!

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-03-08 Thread S D Swierstra

On Mar 7, 2012, at 15:38 , Eric Kow wrote:

 Sorry, just one more follow-up.
 
 4. I've published my branch at http://darcsden.com/kowey/wxhaskell-osx64 (in 
 the process I've renamed the two WIP patches and simplified the build to only 
 look for wxWidgets 2.9)

We have spent a couple of hours now, patching, editing, trying to update etc.

1) We updated Alessandro's brew file to install wxmac2.9.3
2) All cabal files for wx say they only work for 2.8
3) We have added the changes needed for 7.4 (array, Eq, Show etc)
4) When trying to configure wxcore we get:

cabal configure --extra-lib-dirs=/usr/local/lib


generated 1461 methods for 114 classes.
generating: src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs
generated 2326 methods for 123 classes.
generating: src/haskell/Graphics/UI/WXCore/WxcClasses.hs
generated 3787 total methods for 237 total classes.
ok.
Configuring wxcore-0.13.1.1...
setup: Missing dependencies on foreign libraries:
* Missing C libraries: wx_baseu-2.9, wx_baseu_net-2.9, wx_baseu_xml-2.9,
wx_osx_cocoau_core-2.9, wx_osx_cocoau_adv-2.9, wx_osx_cocoau_qa-2.9,
wx_osx_cocoau_html-2.9, wx_osx_cocoau_webview-2.9, wx_osx_cocoau_xrc-2.9
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the -dev versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
dyn-81-83:wxcore doaitse$ 

The directory /usr/local/lib contains versions of these files with their names 
prefixed by lib.

5) We tried to edit Setup.hs in order to prefix the files with this lib, 
leading to a similar error message;

Configuring wxcore-0.13.1.1...
setup: Missing dependencies on foreign libraries:
* Missing C libraries: libwx_baseu-2.9, libwx_baseu_net-2.9,
libwx_baseu_xml-2.9, libwx_osx_cocoau_core-2.9, libwx_osx_cocoau_adv-2.9,
libwx_osx_cocoau_qa-2.9, libwx_osx_cocoau_html-2.9,
libwx_osx_cocoau_webview-2.9, libwx_osx_cocoau_xrc-2.9
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the -dev versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.


How to proceed from here? 

  Doaitse



 
 Note that this work is very far behind Dave and Jeremy's efforts.  I'm hoping 
 it'll eventually be obsolete in some future when we've merged everything we 
 need to merge.
 
 Thanks,
 
 Eric
 
 On 7 Mar 2012, at 13:31, Eric Kow wrote:
 1. I noticed this piece of text from the wxWidgets wiki [wxWidgets]:
 
 If you want 64-bit wxWidgets on OS X you'll need 2.9+ and configure 
 -with-osx_cocoa - see below; but remember that 2.9 is not an official, 
 stable release and wxOSX/Cocoa is not yet complete.
 
 This means that Lion users (and Snow Leopard with 64 bit GHC) will *have* to 
 use the Cocoa build after all, no choice about it.  I'd been using it pretty 
 much for the heck of it, but it turns out to have been a fortunate choice.
 
 2. Doaitse, I'm sorry, it seems your cry for help last October happened 
 before people started trying to use wxHaskell on Lion.  Did you see this 
 recent thread with hopefully more of a guide?
 
 3. Otherwise, have not yet had a chance to poke around and see if there is a 
 way to make things work with just one of Jeremy's or Dave's branches.  So 
 will be using the patch bundle I mentioned in this email thread until then.  
 
 -- 
 Eric Kow http://erickow.com
 


--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-03-07 Thread Eric Kow
Sorry, just one more follow-up.

4. I've published my branch at http://darcsden.com/kowey/wxhaskell-osx64 (in 
the process I've renamed the two WIP patches and simplified the build to only 
look for wxWidgets 2.9)

Note that this work is very far behind Dave and Jeremy's efforts.  I'm hoping 
it'll eventually be obsolete in some future when we've merged everything we 
need to merge.

Thanks,

Eric
 
On 7 Mar 2012, at 13:31, Eric Kow wrote:
 1. I noticed this piece of text from the wxWidgets wiki [wxWidgets]:
 
 If you want 64-bit wxWidgets on OS X you'll need 2.9+ and configure 
 -with-osx_cocoa - see below; but remember that 2.9 is not an official, stable 
 release and wxOSX/Cocoa is not yet complete.
 
 This means that Lion users (and Snow Leopard with 64 bit GHC) will *have* to 
 use the Cocoa build after all, no choice about it.  I'd been using it pretty 
 much for the heck of it, but it turns out to have been a fortunate choice.
 
 2. Doaitse, I'm sorry, it seems your cry for help last October happened 
 before people started trying to use wxHaskell on Lion.  Did you see this 
 recent thread with hopefully more of a guide?
 
 3. Otherwise, have not yet had a chance to poke around and see if there is a 
 way to make things work with just one of Jeremy's or Dave's branches.  So 
 will be using the patch bundle I mentioned in this email thread until then.  

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-03-07 Thread Eric Kow
Hi,

On 7 Mar 2012, at 15:39, S D Swierstra wrote:
 setup: Missing dependencies on foreign libraries:
 * Missing C libraries: wx_baseu-2.9, wx_baseu_net-2.9, wx_baseu_xml-2.9,
 wx_osx_cocoau_core-2.9, wx_osx_cocoau_adv-2.9, wx_osx_cocoau_qa-2.9,
 wx_osx_cocoau_html-2.9, wx_osx_cocoau_webview-2.9, wx_osx_cocoau_xrc-2.9

Hmm, what does
  wx-config --libs --cppflags
say?

For comparison, mine is
-I/usr/local/Cellar/wxmac2.9/2.9.2/lib/wx/include/osx_cocoa-unicode-2.9 
-I/usr/local/Cellar/wxmac2.9/2.9.2/include/wx-2.9 -D_FILE_OFFSET_BITS=64 
-DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__
-L/usr/local/Cellar/wxmac2.9/2.9.2/lib   -framework IOKit -framework Carbon 
-framework Cocoa -framework AudioToolbox -framework System -framework OpenGL 
-framework QuickTime -lwx_osx_cocoau_xrc-2.9 -lwx_osx_cocoau_html-2.9 
-lwx_osx_cocoau_qa-2.9 -lwx_osx_cocoau_adv-2.9 -lwx_osx_cocoau_core-2.9 
-lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9 

I think it's perfectly normal that the filenames are prefixed by 'lib'

Is there any chance that you have an old wx-config lying around that's more 
easily reached than the 2.9 Cocoa one?

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-02-27 Thread Eric Kow
Sarah,

The good news is that it *can* be done.  I know because I'm on Lion, and I'm 
using wxHaskell.

On 25 Feb 2012, at 14:58, Sarah Brofeldt wrote:
 I've been trying frantically to get a working setup of wxHaskell and
 wxWidgets on my Mac recently, but to no avail. I was wondering if
 anyone knows how exactly to go about it. I've tried just about every
 combination of old and new versions of wxWidgets from homebrew as well
 as older wxcore releases. How do you do it?


The bad news is that it may still involve manually applying some patches (I'm 
not up to speed about the latest state of wxHaskell) and also installing 
wxWidgets by hand.

Your two challenges are to install the right wxWidgets version with the right 
set of flags (you want Unicode, for starters), and then to get a version of 
wxhaskell that works with it.  I'm using wxWidgets 2.9, for what it's worth

If you use Homebrew, I have a formula for a wxmac2.9 by Alessandro Vermeulen 
(attached)
require 'formula'

def build_python?; ARGV.include? --python; end

def which_python
  if ARGV.include? '--system-python'
'/usr/bin/python'
  else
'python'
  end
end

class Wxpython  Formula
  url 'http://downloads.sourceforge.net/project/wxpython/wxPython/2.9.2.4/wxPython-src-2.9.2.4.tar.bz2'
  md5 '8dae829b3bb3ccfe279d5d3948562c5f'
end

class Wxmac29  Formula
  url 'http://downloads.sourceforge.net/project/wxwindows/2.9.2/wxWidgets-2.9.2.tar.bz2'
  homepage 'http://www.wxwidgets.org'
  md5 'd6cec5bd331ba90b74c1e2fcb0563620'

  def options
[
  ['--python', 'Build Python bindings'],
  ['--system-python', 'Build against the OS X Python instead of whatever is in the path.']
]
  end

  def test_python_arch
system arch -i386 #{which_python} --version
  rescue
onoe No python on path or default python does not support 32-bit.
puts -EOS.undent
  Your default python (if any) does not support 32-bit execution, which is
  required for the wxmac python bindings. You can install the Homebrew
  python with 32-bit support by running:

  brew install python --universal --framework

EOS
exit 99
  end

  def install_wx_python
opts = [
  # Reference our wx-config
  WX_CONFIG=#{bin}/wx-config,
  # At this time Wxmac is installed ANSI only
  UNICODE=0,
  # And thus we have no need for multiversion support
  INSTALL_MULTIVERSION=0,
  # TODO: see if --with-opengl can work on the wxmac build
  BUILD_GLCANVAS=0,
  # Contribs that I'm not sure anyone cares about, but
  # wxPython tries to build them by default
  BUILD_STC=0,
  BUILD_GIZMOS=0
]
Dir.chdir wxPython do
  system arch, -i386,
 which_python,
 setup.py,
 build_ext,
 *opts

  system arch, -i386,
 which_python,
 setup.py,
 install,
 --prefix=#{prefix},
 *opts
end
  end

  def install
test_python_arch if build_python?

# Force i386
# %w{ CFLAGS CXXFLAGS LDFLAGS OBJCFLAGS OBJCXXFLAGS }.each do |compiler_flag|
  # ENV.remove compiler_flag, -arch x86_64
  # ENV.append compiler_flag, -arch i386
# end

system ./configure, --disable-debug, --disable-dependency-tracking,
  --prefix=#{prefix},
  --enable-unicode,
  --with-osx_cocoa,
  --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk
  # --with-macosx-version-min=10.6
system make install

if build_python?
  ENV['WXWIN'] = Dir.getwd
  Wxpython.new.brew { install_wx_python }
end
  end

  def caveats
s = -EOS.undent
  wxWidgets 2.8.x builds 32-bit only, so you probably won''t be able to use it
  for other Homebrew-installed softare on Snow Leopard (like Erlang).

EOS

if build_python?
  s += -EOS.undent
Python bindings require that Python be built as a Framework; this is the
default for Mac OS provided Python but not for Homebrew python (compile
using the --framework option).

You will also need 32-bit support for Python. If you are on a 64-bit
platform, you will need to run Python in 32-bit mode:

  arch -i386 python [args]

Homebrew Python does not support this by default (compile using the
--universal option)

  EOS
end

return s
  end
end


For the wxHaskell patches, unless somebody from the team obsoletes my message, 
you should be able to grab them at this old thread http://ur1.ca/8erik and 
apply them using something like

darcs get --lazy http://code.haskell.org/wxhaskell 
the-patch-you-downloaded.dpatch
cd wxhaskell
darcs apply -i ~/foo/the-patch-you-downloaded.dpatch

See also the NOTES file in the thread.

If this helps you get set up, I think it would be fantastic service to your 
fellow Mac-using 

Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-02-27 Thread Sarah Brofeldt
Hi,

On Mon, Feb 27, 2012 at 4:42 PM, Eric Kow eric@gmail.com wrote:

 darcs get --lazy http://code.haskell.org/wxhaskell 
 the-patch-you-downloaded.dpatch
 cd wxhaskell
 darcs apply -i ~/foo/the-patch-you-downloaded.dpatch


Thank you very much, with this process it appears to work, although
there are some slight issues with usage. I'll be testing it out a bit
before writing an updated guide on the wiki.

Thanks again.

-- Sarah

--
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users


Re: [wxhaskell-users] Working guide for wxWidgets and wxHaskell on Mac OS X Lion 64 bit

2012-02-27 Thread Henning Thielemann


On Mon, 27 Feb 2012, Eric Kow wrote:


On 27 Feb 2012, at 15:38, Eric Kow wrote:


darcs get --lazy http://code.haskell.org/wxhaskell 
the-patch-you-downloaded.dpatch
cd wxhaskell
darcs apply -i ~/foo/the-patch-you-downloaded.dpatch


Oops, that's darcs get --lazy REPO --context PATCH

The idea is that darcs will then grab REPO and then unapply patches until 
it's wound its way back to the context that the patch was expecting.  This way you 
avoid thinking about merging or conflicts.


Btw. I hope you do not have problems with latest GHC-7.4.1. I did some 
patches to wxcore-0.12.1.7 in order to let wxhaskell work with GHC-7.4.1. 
Where shall I send them, since wxhaskell moved to wxWidgets-3.0?


I have attached a diff.
diff -rN -u old-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs new-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs
--- old-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs	2012-02-27 21:40:16.0 +0100
+++ new-wxhaskell-0.12/wxcore/src/haskell/Graphics/UI/WXCore/WxcTypes.hs	2012-02-27 21:40:16.0 +0100
@@ -568,7 +568,7 @@
 rectFromSize (Size w h)
   = Rect 0 0 w h
 
-rectIsEmpty :: (Num a) = Rect2D a - Bool
+rectIsEmpty :: (Num a, Eq a) = Rect2D a - Bool
 rectIsEmpty (Rect l t w h)
   = (w==0  h==0)
 
@@ -850,7 +850,7 @@
 toCChar = castCharToCChar
 
 -- generalised to work with Char and CChar
-withCharResult :: (Num a, Integral a) = IO a - IO Char
+withCharResult :: (Num a, Integral a, Show a) = IO a - IO Char
 withCharResult io
   = do x - io
if (x  0)
diff -rN -u old-wxhaskell-0.12/wxcore/wxcore.cabal new-wxhaskell-0.12/wxcore/wxcore.cabal
--- old-wxhaskell-0.12/wxcore/wxcore.cabal	2012-02-27 21:40:16.0 +0100
+++ new-wxhaskell-0.12/wxcore/wxcore.cabal	2012-02-27 21:40:16.0 +0100
@@ -1,5 +1,5 @@
 name: wxcore
-version:  0.12.1.7
+version:  0.12.1.7.1
 license:  LGPL
 license-file: LICENSE
 author:   Daan Leijen
@@ -203,7 +203,7 @@
 
   if flag(splitBase)
 build-depends:
-  array = 0.2   0.4,
+  array = 0.2   0.5,
   base = 4   5,
   containers = 0.2   0.5
   else
diff -rN -u old-wxhaskell-0.12/wxdirect/wxdirect.cabal new-wxhaskell-0.12/wxdirect/wxdirect.cabal
--- old-wxhaskell-0.12/wxdirect/wxdirect.cabal	2012-02-27 21:40:16.0 +0100
+++ new-wxhaskell-0.12/wxdirect/wxdirect.cabal	2012-02-27 21:40:16.0 +0100
@@ -60,7 +60,7 @@
 
   build-depends:
 parsec = 2.1.0   4,
-time   = 1.0 1.3
+time   = 1.0 1.5
 
   if flag(splitBase)
 build-depends:
--
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2___
wxhaskell-users mailing list
wxhaskell-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxhaskell-users