cocoa: update PSMTabBarControl for x86_64

The update avoids a now-deprecated method.
This commit is contained in:
Matthew Flatt 2012-10-28 11:43:13 -06:00
parent 5861bf0b9f
commit cfb256fe16
4 changed files with 28 additions and 9 deletions

View File

@ -35,8 +35,13 @@ Win32).
Compiling for Mac OS X Compiling for Mac OS X
======================================================================== ========================================================================
First, install the Mac OS X Developer Tools from Apple. Then, follow First, install developer command-line tools from Apple. As of this
the Unix instructions below, but note the following: writing, install by getting "Xcode" from the AppStore; then, in
Xcode's preferences window and in the "Downloads" panel, install
"Command Line Tools".
After installing developer tools, follow the Unix instructions below,
but note the following:
* The Racket build creates a framework, "Racket.framework", which is * The Racket build creates a framework, "Racket.framework", which is
installed into "racket/lib". This framework is used by the `racket' installed into "racket/lib". This framework is used by the `racket'

View File

@ -4,7 +4,7 @@
(provide do-download) (provide do-download)
(define url-host "download.racket-lang.org") (define url-host "download.racket-lang.org")
(define url-path "/libs/8/") (define url-path "/libs/9/")
(define url-base (string-append "http://" url-host url-path)) (define url-base (string-append "http://" url-host url-path))
(define architecture #f) ;; set in `do-download' (define architecture #f) ;; set in `do-download'

View File

@ -53,7 +53,7 @@
["libpixman-1.0.dylib" 633368] ["libpixman-1.0.dylib" 633368]
["libgthread-2.0.0.dylib" 8592] ["libgthread-2.0.0.dylib" 8592]
["libpng15.15.dylib" 214836] ["libpng15.15.dylib" 214836]
["PSMTabBarControl.tgz" 107267 "PSMTabBarControl.framework" 316528]] ["PSMTabBarControl.tgz" 156265 "PSMTabBarControl.framework" 450751]]
'[ppc-macosx '[ppc-macosx
["libcairo.2.dylib" 2620616] ["libcairo.2.dylib" 2620616]
["libffi.5.dylib" 67920] ["libffi.5.dylib" 67920]
@ -173,11 +173,19 @@
(directory-size path) (directory-size path)
0)))) 0))))
(define-values (path-size/show)
(lambda (path)
(let-values ([(sz) (path-size path)])
(if (getenv "PLT_SHOW_PATH_SIZES")
(printf "~s ~s\n" path sz)
(void))
sz)))
(define-values (got-path?) ; approximate, using size (define-values (got-path?) ; approximate, using size
(case-lambda [(path size unpacked-path unpacked-size) (case-lambda [(path size unpacked-path unpacked-size)
(got-path? unpacked-path unpacked-size)] (got-path? unpacked-path unpacked-size)]
[(path size) [(path size)
(equal? size (path-size path))])) (equal? size (path-size/show path))]))
;; not provided by #%kernel ;; not provided by #%kernel
(define-values (filter) (define-values (filter)

View File

@ -11,8 +11,13 @@ Get these packages (or newer, if compatible):
pango-1.29.5.tar.gz [PowerPC: pango-1.28.0.tar.gz] pango-1.29.5.tar.gz [PowerPC: pango-1.28.0.tar.gz]
libjpeg62 (maybe in binary form) libjpeg62 (maybe in binary form)
PSMTabBarControl, probably from "maccode.googlecode.com", PSMTabBarControl, probably from
and handled differently https://github.com/dorianj/PSMTabBarControl
[PowerPC: maccode.googlecode.com]
and handled differently; note that the version
at from maccode has a bug on dealloc() and
uses methods that are now deprecated
Patches: Patches:
cairo/src/cairo-path-fixed.c:1295: [from Cairo repo, 3/18/11] cairo/src/cairo-path-fixed.c:1295: [from Cairo repo, 3/18/11]
@ -36,7 +41,7 @@ Patches:
apply "coretext.patch" (64-bit only) apply "coretext.patch" (64-bit only)
gettext/gettext-tools/gnulib-lib/stpncpy.c:28: may need to comment out gettext/gettext-tools/gnulib-lib/stpncpy.c:28: may need to comment out
// # define __stpncpy stpncpy // # define __stpncpy stpncpy
PSMTabBarControl/PSMTabBarControl.m:216: change to PowerPC: PSMTabBarControl/PSMTabBarControl.m:216: change to
// copy _cells because removing a cell // copy _cells because removing a cell
// can modify the array (which is not allowed) // can modify the array (which is not allowed)
NSArray *copyOfCells = [NSArray arrayWithArray: _cells]; NSArray *copyOfCells = [NSArray arrayWithArray: _cells];
@ -72,7 +77,8 @@ Configures (where <dest> is some temporary area):
XCode: XCode:
Build PSMTabBarControl. You only need the Framework target, and Build PSMTabBarControl. You only need the Framework target, and
in Release mode. in Release mode (which is "Build for Archiving" in Xcode 4.5).
Use `ditto' to reduce the framework to one architecture.
Install: Install:
racket install-libs.rkt <dest>/lib racket install-libs.rkt <dest>/lib