+# The deprecated Carbon QuickDraw APIs are no longer available as of
+# OS X 10.8. Raise an ImportError here in that case so that callers
+# of EasyDialogs, like BuildApplet, will do the right thing.
+
+try:
+ screenbounds = Qd.GetQDGlobalsScreenBits().bounds
+except AttributeError:
+ raise ImportError("QuickDraw APIs not available")
-screenbounds = Qd.GetQDGlobalsScreenBits().bounds
screenbounds = screenbounds[0]+4, screenbounds[1]+4, \
screenbounds[2]-4, screenbounds[3]-4
cd IDLE && make install
install_BuildApplet:
- $(RUNSHARED) @ARCH_RUN_32BIT@ $(BUILDPYTHON) $(srcdir)/scripts/BuildApplet.py \
- --destroot "$(DESTDIR)" \
- --python=$(prefix)/Resources/Python.app/Contents/MacOS/Python \
- --output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app" \
- $(srcdir)/scripts/BuildApplet.py
-ifneq ($(LIPO_32BIT_FLAGS),)
- rm "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app/Contents/MacOS/Python"
- lipo $(LIPO_32BIT_FLAGS) -output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app/Contents/MacOS/Python" $(BUILDPYTHON)
-endif
+ if ! $(RUNSHARED) @ARCH_RUN_32BIT@ $(BUILDPYTHON) \
+ -c 'import EasyDialogs' 2>/dev/null ; then \
+ echo "EasyDialogs not available in this Python - skipping Build Applet.app" ; \
+ else \
+ $(RUNSHARED) @ARCH_RUN_32BIT@ $(BUILDPYTHON) $(srcdir)/scripts/BuildApplet.py \
+ --destroot "$(DESTDIR)" \
+ --python=$(prefix)/Resources/Python.app/Contents/MacOS/Python \
+ --output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app" \
+ $(srcdir)/scripts/BuildApplet.py && \
+ if [ -n "$(LIPO_32BIT_FLAGS)" ] ; then \
+ rm "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app/Contents/MacOS/Python" && \
+ lipo $(LIPO_32BIT_FLAGS) \
+ -output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app/Contents/MacOS/Python" \
+ $(BUILDPYTHON) ; \
+ fi \
+ fi
MACLIBDEST=$(LIBDEST)/plat-mac
MACTOOLSDEST=$(prefix)/Mac/Tools
through PythonLauncher's preferences dialog.
"BuildApplet.app" creates an applet from a Python script. Drop the script on it
-and out comes a full-featured MacOS application. There is much more to this,
-to be supplied later. Some useful (but outdated) info can be found in
-Mac/Demo.
+and out comes a full-featured MacOS application. BuildApplet.app is now
+deprecated and has been removed in Python 3. As of OS X 10.8, Xcode 4 no
+longer supplies the headers for the deprecated QuickDraw APIs used by
+the EasyDialogs module making BuildApplet unusable as an app. It will
+not be built by the Mac/Makefile in this case.
The commandline scripts /usr/local/bin/python and pythonw can be used to run
non-GUI and GUI python scripts from the command line, respectively.
the default for linking if LDSHARED is not also overriden. This restores
Distutils behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4.
+Build
+-----
+
+- Issue #18098: The deprecated OS X Build Applet.app fails to build on
+ OS X 10.8 systems because the Apple-deprecated QuickDraw headers have
+ been removed from Xcode 4. Skip building it in this case.
+
IDLE
----
+ARCH_RUN_32BIT=""
UNIVERSAL_ARCHS="32-bit"
esac
-ARCH_RUN_32BIT=""
case $ac_sys_system/$ac_sys_release in
Darwin/[01567]\..*)
AC_SUBST(UNIVERSALSDK)
AC_SUBST(ARCH_RUN_32BIT)
+ARCH_RUN_32BIT=""
UNIVERSAL_ARCHS="32-bit"
AC_SUBST(LIPO_32BIT_FLAGS)
esac
-ARCH_RUN_32BIT=""
AC_SUBST(LIBTOOL_CRUFT)
case $ac_sys_system/$ac_sys_release in
Darwin/@<:@01567@:>@\..*)