diff --git a/cocoa-ide/Info.plist-proto b/cocoa-ide/Info.plist-proto
index 7d942ace4..753bfc5fd 100644
--- a/cocoa-ide/Info.plist-proto
+++ b/cocoa-ide/Info.plist-proto
@@ -10,7 +10,7 @@
LSApplicationCategoryType
public.app-category.developer-tools
LSMinimumSystemVersion
- 10.6.6
+ 10.9.0
CFBundleDevelopmentRegion
English
CFBundleDocumentTypes
@@ -23,7 +23,7 @@
asd
CFBundleTypeIconFile
- openmcl-icon.icns
+ OPENMCL-ICONS
CFBundleTypeName
Lisp source code
CFBundleTypeRole
@@ -35,7 +35,7 @@
CFBundleTypeIconFile
- openmcl-icon.icns
+ OPENMCL-ICONS
CFBundleTypeName
Listener
CFBundleTypeRole
@@ -72,12 +72,12 @@
CFBundleExecutable
OPENMCL-KERNEL
- CFBundleHelpBookFolder
+ HELP-BOOK-FOLDER
Help
- CFBundleHelpBookName
+ HELP-BOOK-NAME
OpenMCL Help
CFBundleIconFile
- openmcl-icon.icns
+ OPENMCL-ICONS
CFBundleIdentifier
OPENMCL-IDENTIFIER
CFBundleInfoDictionaryVersion
diff --git a/cocoa-ide/altconsole/Makefile b/cocoa-ide/altconsole/Makefile
index 169d88224..69a4023ed 100644
--- a/cocoa-ide/altconsole/Makefile
+++ b/cocoa-ide/altconsole/Makefile
@@ -5,12 +5,17 @@
#
#
+INFO_PLIST = AltConsole-Info.plist
+
+ifdef MAC_APP_STORE
+INFO_PLIST = AltConsole-mas-Info.plist
+endif
APPBASE=.
OBJECTS=main.o AltConsoleDocument.o AltConsoleDocumentController.o
RESOURCES=resource/MainMenu.nib resource/AltConsole.nib resource/Credits.rtf resource/InfoPlist.strings resource/Clear.tiff
-CFLAGS=-g -O -mmacosx-version-min=10.6
+CFLAGS=-g -O -mmacosx-version-min=10.9
AltConsole: $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $(OBJECTS) -framework Cocoa
@@ -22,7 +27,7 @@ $(APPBASE)/AltConsole.app: AltConsole $(RESOURCES) AltConsole-Info.plist
cp -r -p $(RESOURCES) $(APPBASE)/AltConsole.app/Contents/Resources/English.lproj
mkdir -p $(APPBASE)/AltConsole.app/Contents/MacOS
cp -p AltConsole $(APPBASE)/AltConsole.app/Contents/MacOS
- cp -p AltConsole-Info.plist $(APPBASE)/AltConsole.app/Contents/Info.plist
+ cp -p $(INFO_PLIST) $(APPBASE)/AltConsole.app/Contents/Info.plist
touch $(APPBASE)/AltConsole.app
install: $(APPBASE)/AltConsole.app
diff --git a/cocoa-ide/app-delegate.lisp b/cocoa-ide/app-delegate.lisp
index 921951a26..81bd316c0 100644
--- a/cocoa-ide/app-delegate.lisp
+++ b/cocoa-ide/app-delegate.lisp
@@ -46,6 +46,7 @@
(#/registerDefaults: domain dict)
(#/release dict)
(update-cocoa-defaults)
+ #-mac-app-store
(when *standalone-cocoa-ide*
(init-ccl-directory-for-ide))))
@@ -283,10 +284,7 @@
(objc:defmethod (#/showManual: :void) ((self ide-application-delegate) sender)
(declare (ignore sender))
- (let* ((p (merge-pathnames "doc/ccl-documentation.html" #p"ccl:"))
- (workspace (#/sharedWorkspace ns:ns-workspace)))
- (with-cfstring (s (native-translated-namestring p))
- (#/openFile: workspace s))))
+ (ccl::open-url-in-browser "http://ccl.clozure.com/docs/ccl.html"))
(defloadvar *hemlock-commands-window-controller* nil)
diff --git a/cocoa-ide/cocoa-application.lisp b/cocoa-ide/cocoa-application.lisp
index 7bee59bd2..6c811b948 100644
--- a/cocoa-ide/cocoa-application.lisp
+++ b/cocoa-ide/cocoa-application.lisp
@@ -21,20 +21,29 @@
(eval-when (:compile-toplevel :load-toplevel :execute)
(pushnew :cocotron *features*))
-
+#+mac-app-store
+(defvar *cocoa-ide-path* "ccl:Clozure CL.app;")
+#-mac-app-store
(defvar *cocoa-ide-path*
(let* ((bits (nth-value 1 (host-platform))))
(format nil "ccl:Clozure CL~a.app;" bits)))
+
(defvar *cocoa-ide-copy-headers-p* t)
(defvar *cocoa-ide-install-altconsole* t)
+
(defvar *cocoa-ide-bundle-suffix*
(multiple-value-bind (os bits cpu) (host-platform)
(declare (ignore os))
+ #+mac-app-store
+ (format nil "store.ccl-~a~a" (string-downcase cpu) bits)
+ #-mac-app-store
(format nil "Clozure CL-~a~a" (string-downcase cpu) bits)))
+
(defvar *cocoa-ide-frameworks* #+cocotron '("ccl:cocotron;Foundation.framework;" "ccl:cocotron;AppKit.framework;" "ccl:cocotron;CoreData.framework;") #-cocotron nil)
(defvar *cocoa-ide-libraries* #+cocotron '("ccl:cocotron;Foundation>.1>.0.dll" "ccl:cocotron;AppKit>.1>.0.dll" "ccl:cocotron;CoreData>.1>.0.dll") #-cocotron nil)
-
-(defvar *cocoa-ide-force-compile* nil)
+
+(defvar *cocoa-ide-force-compile* #+mac-app-store t
+ #-mac-app-store nil)
(load "ccl:cocoa-ide;defsystem.lisp")
(load-ide *cocoa-ide-force-compile*)
diff --git a/cocoa-ide/defsystem.lisp b/cocoa-ide/defsystem.lisp
index 4892ef5eb..63ad4e718 100644
--- a/cocoa-ide/defsystem.lisp
+++ b/cocoa-ide/defsystem.lisp
@@ -115,20 +115,20 @@
"preferences"
"processes-window"
"apropos-window"
+ #-mac-app-store
"xapropos"
"hemlock-commands"
"file-dialogs"
"menus"
"app-delegate"
+ #-mac-app-store
"ide-self-update"
,(if (use-pre-lion-search-files)
"search-files-pre-lion"
"search-files")
"start"
- ))
-
-(defparameter *leopard-only-ide-files*
- '("xinspector"
+ #-mac-app-store
+ "xinspector"
))
(defun load-mac-ui-files (names mac-ui-dir force-compile)
@@ -172,12 +172,6 @@
force-compile)
(defun load-ide (&optional force-compile)
- ;; kludge to limit experimental files to Leopard
- #+darwin-target
- (rlet ((p :int))
- (#_Gestalt #$gestaltSystemVersion p)
- (when (>= (%get-long p) #x1050)
- (setq *ide-files* (append *ide-files* *leopard-only-ide-files*))))
(load-mac-ui-files *mac-ui-files* "ccl:mac-ui;" force-compile)
(load-ide-files *ide-files* "ccl:cocoa-ide;" force-compile)
(require 'build-application)
diff --git a/cocoa-ide/ide-bundle.lisp b/cocoa-ide/ide-bundle.lisp
index bffc8a163..6963dcfc3 100644
--- a/cocoa-ide/ide-bundle.lisp
+++ b/cocoa-ide/ide-bundle.lisp
@@ -46,10 +46,13 @@
(recursive-copy-directory source-dir contents-dir :if-exists if-exists :test #'ignore-test)
(when copy-headers
(let* ((subdirs (ccl::cdb-subdirectory-path))
- (ccl-headers (make-pathname :host "ccl" :directory `(:absolute ,@subdirs)))
- (dest-headers (make-pathname :host (pathname-host contents-dir)
- :directory (append (pathname-directory contents-dir)
- (cons "Resources" subdirs)))))
+ (ccl-headers (make-pathname :host "ccl"
+ :directory `(:absolute ,@subdirs)))
+ (dest-headers (make-pathname
+ :host (pathname-host contents-dir)
+ :directory
+ (append (pathname-directory contents-dir)
+ (list* "Resources" "ccl" subdirs)))))
(recursive-copy-directory ccl-headers dest-headers :if-exists if-exists :test #'ignore-test)))
(when install-altconsole
(install-altconsole bundle-path))
@@ -84,7 +87,12 @@
(build-directory "ccl:cocoa-ide;altconsole;")
(build-bundle-path "ccl:cocoa-ide;altconsole;AltConsole.app")
(make-output (make-string-output-stream))
- (args `("-C" ,(native-translated-namestring build-directory) "install")))
+ #+mac-app-store
+ (args `("-C" ,(native-translated-namestring build-directory)
+ "clean" "install" "MAC_APP_STORE=yes"))
+ #-mac-app-store
+ (args `("-C" ,(native-translated-namestring build-directory)
+ "install")))
(recursive-delete-directory altconsole-path :if-does-not-exist nil)
(unwind-protect
(multiple-value-bind (exit-status code)
@@ -132,6 +140,12 @@
(declare (ignore os))
(format nil "~d (~a~d)" *openmcl-svn-revision* cpu bits)))
(needles `(("OPENMCL-KERNEL" . ,kernel-name)
+ ("OPENMCL-ICONS" . #+mac-app-store "store.icns"
+ #-mac-app-store "openmcl-icon.icns")
+ ("HELP-BOOK-FOLDER" . #+mac-app-store "nohelpbookfolder"
+ #-mac-app-store "CFBundleHelpBookFolder")
+ ("HELP-BOOK-NAME" . #+mac-app-store "nohelpbookname"
+ #-mac-app-store "CFBundleHelpBookName")
("OPENMCL-NAME" . ,bundle-name)
("OPENMCL-IDENTIFIER" . ,bundle-id)
("OPENMCL-VERSION" . ,bundle-version)
@@ -209,4 +223,7 @@
(progn
(create-ide-bundle *cocoa-ide-path*)
- (fake-cfbundle-path *cocoa-ide-path* "ccl:cocoa-ide;Info.plist-proto" "com.clozure" *cocoa-ide-bundle-suffix* *cocoa-ide-frameworks* *cocoa-ide-libraries* #+windows-target "ccl:cocoa-ide;ide-contents;resources;openmcl-icon.ico"))
+ (fake-cfbundle-path *cocoa-ide-path* "ccl:cocoa-ide;Info.plist-proto"
+ "com.clozure" *cocoa-ide-bundle-suffix*
+ *cocoa-ide-frameworks* *cocoa-ide-libraries*
+ #+windows-target "ccl:cocoa-ide;ide-contents;resources;openmcl-icon.ico"))
diff --git a/cocoa-ide/ide-contents/Resources/English.lproj/Credits.html b/cocoa-ide/ide-contents/Resources/English.lproj/Credits.html
index 7e4f43ded..5a749319b 100644
--- a/cocoa-ide/ide-contents/Resources/English.lproj/Credits.html
+++ b/cocoa-ide/ide-contents/Resources/English.lproj/Credits.html
@@ -1,8 +1,8 @@