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 @@