|
From: <af...@al...> - 2006-12-22 11:06:04
|
It is working good, just needs a post-process step
of adding a resource fork or an application bundle:
wxLuaSudoku.app/
`-- Contents
|-- Info.plist
|-- MacOS
| `-- wxLuaSudoku
|-- PkgInfo
`-- Resources
`-- wxLua.icns
The default static build might be a tad on the large
side, though. Especially with wxWidgets included too:
11M ppc-static/wxluasudoku
11M x86-static/wxluasudoku
22M wxLuaSudoku.app
6.3M wxLuaSudoku.zip
No UPX for Mach-O/i386 yet, as far as I know ? Think
there is for Mach-O/ppc32 though, so there is hope...
Works good on Mac OS X 10.4, anyway. Looks good, too:
http://www.algonet.se/~afb/wx/wxlua28-wxluasudoku.png
No requirements needed, since this was a static build:
(i.e. just unzip, double-click the icon and it starts)
wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku: Mach-O fat file with 2
architectures
wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku (for architecture ppc):
Mach-O executable ppc
wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku (for architecture i386):
Mach-O executable i386
wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku:
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
(compatibility version 1.0.0, current version 6.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
(compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
(compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
(compatibility version 1.0.0, current version 11.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
current version 88.3.4)
/System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current
version 1.2.3)
/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current
version 5.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0,
current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
The wx.framework and wxLua.framework shared libraries
should help keep the wxLua overhead down to just once...
248K ppc-shared/wxluasudoku
276K x86-shared/wxluasudoku
Of course, then one might as well wrap the program with
a call to "wxlua" and not use freeze in the first place ?
--anders
|
|
From: Francesco M. <f18...@ya...> - 2006-12-22 14:02:01
|
Anders F Björklund ha scritto: > It is working good, just needs a post-process step > of adding a resource fork or an application bundle: > > wxLuaSudoku.app/ > `-- Contents > |-- Info.plist > |-- MacOS > | `-- wxLuaSudoku > |-- PkgInfo > `-- Resources > `-- wxLua.icns > > The default static build might be a tad on the large > side, though. Especially with wxWidgets included too: > > 11M ppc-static/wxluasudoku > 11M x86-static/wxluasudoku > 22M wxLuaSudoku.app > 6.3M wxLuaSudoku.zip > > No UPX for Mach-O/i386 yet, as far as I know ? Think > there is for Mach-O/ppc32 though, so there is hope... good :) I don't understand exactly what needs to be done to get this, however... (i.e. which is the post-process step?) > Works good on Mac OS X 10.4, anyway. Looks good, too: > http://www.algonet.se/~afb/wx/wxlua28-wxluasudoku.png great, I've added also this screenshot (I also added the other ones you posted - thanks!). > No requirements needed, since this was a static build: > (i.e. just unzip, double-click the icon and it starts) > > wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku: Mach-O fat file with 2 > architectures > wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku (for architecture ppc): > Mach-O executable ppc > wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku (for architecture i386): > Mach-O executable i386 > > wxLuaSudoku.app/Contents/MacOS/wxLuaSudoku: > > /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime > (compatibility version 1.0.0, current version 6.0.0) > /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit > (compatibility version 1.0.0, current version 275.0.0) > /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon > (compatibility version 2.0.0, current version 128.0.0) > /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa > (compatibility version 1.0.0, current version 11.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, > current version 88.3.4) > /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit > (compatibility version 1.0.0, current version 1.0.0) > /usr/lib/libz.1.dylib (compatibility version 1.0.0, current > version 1.2.3) > /usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current > version 5.0.0) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, > current version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > The wx.framework and wxLua.framework shared libraries > should help keep the wxLua overhead down to just once... > > 248K ppc-shared/wxluasudoku > 276K x86-shared/wxluasudoku > > Of course, then one might as well wrap the program with > a call to "wxlua" and not use freeze in the first place ? AFAIK wxluafreeze basically just do that: i.e. wraps the user's lua script with a wxlua interpreter... Francesco |
|
From: <af...@al...> - 2006-12-22 14:59:36
|
Francesco Montorsi wrote: > I don't understand exactly what needs to be done to get this, > however... > (i.e. which is the post-process step?) Sorry, the post-process would be either of: 1) Rez (Carbon.r, wxLua.r), SetFile 2) mkdir/cp (wxLua.icns), Info.plist i.e. either make resource fork, or make bundle. This could of course easilly be scripted... >> Works good on Mac OS X 10.4, anyway. Looks good, too: >> http://www.algonet.se/~afb/wx/wxlua28-wxluasudoku.png > great, I've added also this screenshot (I also added the other ones you > posted - thanks!). Once wxLua 2.8.0 is release, we can synchronize screenshots... >> Of course, then one might as well wrap the program with >> a call to "wxlua" and not use freeze in the first place ? > AFAIK wxluafreeze basically just do that: i.e. wraps the user's lua > script with a wxlua interpreter... Yes, but I meant wrapping it in a shell script: #!/bin/sh wxlua `dirname $0`/myprogram.wx.lua Just so that the user has something to double-click :-) --anders |
|
From: Francesco M. <f18...@ya...> - 2006-12-22 19:01:31
|
Anders F Björklund ha scritto: > Francesco Montorsi wrote: > >> I don't understand exactly what needs to be done to get this, >> however... >> (i.e. which is the post-process step?) > > Sorry, the post-process would be either of: > 1) Rez (Carbon.r, wxLua.r), SetFile > 2) mkdir/cp (wxLua.icns), Info.plist > > i.e. either make resource fork, or make bundle. > This could of course easilly be scripted... see my other mail about Rez & SetFile. Don't know about step #2.... what does it do? Should it go in makefiles (not so easy to do) because it's _required_ for getting wxLua apps to work or rather it's something related to the distribution/packaging process which could be scripted in a separate distrib/macbundle/make.sh script? >>> Works good on Mac OS X 10.4, anyway. Looks good, too: >>> http://www.algonet.se/~afb/wx/wxlua28-wxluasudoku.png >> great, I've added also this screenshot (I also added the other ones you >> posted - thanks!). > > Once wxLua 2.8.0 is release, we can synchronize screenshots... actually I forgot to update thumbnails. Done now. >>> Of course, then one might as well wrap the program with >>> a call to "wxlua" and not use freeze in the first place ? >> AFAIK wxluafreeze basically just do that: i.e. wraps the user's lua >> script with a wxlua interpreter... > > Yes, but I meant wrapping it in a shell script: > #!/bin/sh > wxlua `dirname $0`/myprogram.wx.lua > > Just so that the user has something to double-click :-) yes, of course it could be done. But wxluafreeze has the advantage of not requiring an external wxlua installed (i.e. it's the equivalent of the Python freeze)... Francesco |
|
From: <af...@al...> - 2006-12-22 19:59:29
|
Francesco Montorsi wrote: >> 2) mkdir/cp (wxLua.icns), Info.plist >> > Don't know about step #2.... what does it do? > Should it go in makefiles (not so easy to do) because it's _required_ > for getting wxLua apps to work or rather it's something related to the > distribution/packaging process which could be scripted in a separate > distrib/macbundle/make.sh script? It's required for the app to work properly (and is recommend for being more future-savvy than what the deprecated resforks are...) The directories are just to create, nothing special about those. "Info.plist" is an XML plist, that follows a certain Apple DTD. wxWidgets has it in makefiles for all the samples, for instance ? (if I am not mistaken, it should also have relevant Bakefiles) Mac OS X uses similar bundles for shared libraries and packages. (those would be the .framework and .pkg bundles, see elsewhere) --anders |
|
From: Francesco M. <f18...@ya...> - 2006-12-22 20:48:07
|
Anders F Björklund ha scritto: > Francesco Montorsi wrote: > >>> 2) mkdir/cp (wxLua.icns), Info.plist >>> >> Don't know about step #2.... what does it do? >> Should it go in makefiles (not so easy to do) because it's _required_ >> for getting wxLua apps to work or rather it's something related to the >> distribution/packaging process which could be scripted in a separate >> distrib/macbundle/make.sh script? > > It's required for the app to work properly (and is recommend for > being more future-savvy than what the deprecated resforks are...) > > The directories are just to create, nothing special about those. > "Info.plist" is an XML plist, that follows a certain Apple DTD. > > wxWidgets has it in makefiles for all the samples, for instance ? > (if I am not mistaken, it should also have relevant Bakefiles) Good idea. Looking at wx bakefiles I realized I could simply do a copy-and-paste of the mac_bundles.bkl file ;) I've committed an updated version of the build system and added the distrib/macbundle/Info.plist.in distrib/macbundle/wxLua.icns files (with correct binary type for the second). Most probably there's something still to fix to make wxLua work "out of the box": I obviously couldn't test the changes I've just done (i.e. I did them blindly). But this should be a good step. Francesco |
|
From: <af...@al...> - 2006-12-23 10:48:16
|
Francesco Montorsi wrote: >> wxWidgets has it in makefiles for all the samples, for instance ? >> (if I am not mistaken, it should also have relevant Bakefiles) > Good idea. Looking at wx bakefiles I realized I could simply do a > copy-and-paste of the mac_bundles.bkl file ;) > > I've committed an updated version of the build system and added the > distrib/macbundle/Info.plist.in > distrib/macbundle/wxLua.icns > files (with correct binary type for the second). > > Most probably there's something still to fix to make wxLua work "out of > the box": I obviously couldn't test the changes I've just done (i.e. I > did them blindly). But this should be a good step. Much better, just need to change a few items in Info.plist.in: @@ -5,13 +5,13 @@ <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleIdentifier</key> - <string>org.wxwindows.IDENTIFIER</string> + <string>net.sourceforge.wxlua.IDENTIFIER</string> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>EXECUTABLE</string> <key>CFBundleIconFile</key> - <string>wxmac.icns</string> + <string>wxLua.icns</string> <key>CFBundleName</key> <string>EXECUTABLE</string> <key>CFBundlePackageType</key> And there seems to be a Bakefile problem with dependencies: make[1]: *** No rule to make target `../../distrib/macbundle/Info.plist.in/wxLua.icns', needed by `app_wxlua.app/Contents/PkgInfo'. Stop. Also, the applications currently build in apps as "apps_wxlua.app", they should probably be called "wxlua.app" (preferrably wxLua.app, if such a transformation can be set up, not sure if it's easy...) --anders |
|
From: Francesco M. <f18...@ya...> - 2006-12-23 11:11:33
|
Anders F Björklund ha scritto: > Much better, just need to change a few items in Info.plist.in: > > @@ -5,13 +5,13 @@ > <key>CFBundleInfoDictionaryVersion</key> > <string>6.0</string> > <key>CFBundleIdentifier</key> > - <string>org.wxwindows.IDENTIFIER</string> > + <string>net.sourceforge.wxlua.IDENTIFIER</string> > <key>CFBundleDevelopmentRegion</key> > <string>English</string> > <key>CFBundleExecutable</key> > <string>EXECUTABLE</string> > <key>CFBundleIconFile</key> > - <string>wxmac.icns</string> > + <string>wxLua.icns</string> > <key>CFBundleName</key> > <string>EXECUTABLE</string> > <key>CFBundlePackageType</key> fixed > And there seems to be a Bakefile problem with dependencies: > > make[1]: *** No rule to make target > `../../distrib/macbundle/Info.plist.in/wxLua.icns', needed by > `app_wxlua.app/Contents/PkgInfo'. Stop. should be fixed > Also, the applications currently build in apps as "apps_wxlua.app", > they should probably be called "wxlua.app" (preferrably wxLua.app, > if such a transformation can be set up, not sure if it's easy...) not difficult. Should be fixed now. Francesco |