An improved script for building the binary distribution on MacOSX.
This commit is contained in:
parent
3e134a5960
commit
69c347655d
|
@ -0,0 +1,35 @@
|
||||||
|
Building a MacPython distribution
|
||||||
|
=================================
|
||||||
|
|
||||||
|
The ``build-install.py`` script creates MacPython distributions, including
|
||||||
|
sleepycat db4, sqlite3 and readline support. It builds a complete
|
||||||
|
framework-based Python out-of-tree, installs it in a funny place with
|
||||||
|
$DESTROOT, massages that installation to remove .pyc files and such, creates
|
||||||
|
an Installer package from the installation plus other files in ``resources``
|
||||||
|
and ``scripts`` and placed that on a ``.dmg`` disk image.
|
||||||
|
|
||||||
|
Here are the steps you ned to follow to build a MacPython installer:
|
||||||
|
|
||||||
|
- Run ``./build-installer.py``. Optionally you can pass a number of arguments
|
||||||
|
to specify locations of various files. Please see the top of
|
||||||
|
``build-installer.py`` for its usage.
|
||||||
|
- When done the script will tell you where the DMG image is.
|
||||||
|
|
||||||
|
The script needs to be run on Mac OS X 10.4 with Xcode 2.2 or later and
|
||||||
|
the 10.4u SDK.
|
||||||
|
|
||||||
|
When all is done, announcements can be posted to at least the following
|
||||||
|
places:
|
||||||
|
- pythonmac-sig@python.org
|
||||||
|
- python-dev@python.org
|
||||||
|
- python-announce@python.org
|
||||||
|
- archivist@info-mac.org
|
||||||
|
- adcnews@apple.com
|
||||||
|
- news@macnn.com
|
||||||
|
- http://www.macupdate.com
|
||||||
|
- http://guide.apple.com/usindex.lasso
|
||||||
|
- http://www.apple.com/downloads/macosx/submit
|
||||||
|
- http://www.versiontracker.com/ (userid Jack.Jansen@oratrix.com)
|
||||||
|
- http://www.macshareware.net (userid jackjansen)
|
||||||
|
|
||||||
|
Also, check out Stephan Deibels http://pythonology.org/market contact list
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,36 @@
|
||||||
|
diff -r -u ncurses-5.5-orig/test/Makefile.in ncurses-5.5/test/Makefile.in
|
||||||
|
--- ncurses-5.5-orig/test/Makefile.in 2006-03-24 12:47:40.000000000 +0100
|
||||||
|
+++ ncurses-5.5/test/Makefile.in 2006-03-24 12:47:50.000000000 +0100
|
||||||
|
@@ -75,7 +75,7 @@
|
||||||
|
MATH_LIB = @MATH_LIB@
|
||||||
|
|
||||||
|
LD = @LD@
|
||||||
|
-LINK = @LINK_TESTS@ $(LIBTOOL_LINK) $(CC) $(CFLAGS)
|
||||||
|
+LINK = @LINK_TESTS@ $(LIBTOOL_LINK) $(CC)
|
||||||
|
|
||||||
|
usFLAGS = @LD_MODEL@ @LOCAL_LDFLAGS@ @LDFLAGS@
|
||||||
|
|
||||||
|
diff -ru ncurses-5.5-orig/ncurses/tinfo/read_entry.c ncurses-5.5/ncurses/tinfo/read_entry.c
|
||||||
|
--- ncurses-5.5-orig/ncurses/tinfo/read_entry.c 2004-01-11 02:57:05.000000000 +0100
|
||||||
|
+++ ncurses-5.5/ncurses/tinfo/read_entry.c 2006-03-25 22:49:39.000000000 +0100
|
||||||
|
@@ -474,7 +474,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
/* truncate the terminal name to prevent buffer overflow */
|
||||||
|
- (void) sprintf(ttn, "%c/%.*s", *tn, (int) sizeof(ttn) - 3, tn);
|
||||||
|
+ (void) sprintf(ttn, "%x/%.*s", *tn, (int) sizeof(ttn) - 3, tn);
|
||||||
|
|
||||||
|
/* This is System V behavior, in conjunction with our requirements for
|
||||||
|
* writing terminfo entries.
|
||||||
|
diff -ru ncurses-5.5-orig/configure ncurses-5.5/configure
|
||||||
|
--- ncurses-5.5-orig/configure 2005-09-24 23:50:50.000000000 +0200
|
||||||
|
+++ ncurses-5.5/configure 2006-03-26 22:24:59.000000000 +0200
|
||||||
|
@@ -5027,7 +5027,7 @@
|
||||||
|
darwin*)
|
||||||
|
EXTRA_CFLAGS="-no-cpp-precomp"
|
||||||
|
CC_SHARED_OPTS="-dynamic"
|
||||||
|
- MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $@` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $@'
|
||||||
|
+ MK_SHARED_LIB='$(CC) $(CFLAGS) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $@` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $@'
|
||||||
|
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
|
||||||
|
cf_cv_shlib_version_infix=yes
|
||||||
|
;;
|
|
@ -0,0 +1,31 @@
|
||||||
|
This package will install MacPython $FULL_VERSION for Mac OS X
|
||||||
|
$MACOSX_DEPLOYMENT_TARGET for the following
|
||||||
|
architecture(s): $ARCHITECTURES.
|
||||||
|
|
||||||
|
Separate installers are available for older versions
|
||||||
|
of Mac OS X, see the homepage, below.
|
||||||
|
|
||||||
|
Installation requires approximately $INSTALL_SIZE MB of disk
|
||||||
|
space, ignore the message that it will take zero bytes.
|
||||||
|
|
||||||
|
You must install onto your current boot disk, even
|
||||||
|
though the installer does not enforce this, otherwise
|
||||||
|
things will not work.
|
||||||
|
|
||||||
|
MacPython consists of the Python programming language
|
||||||
|
interpreter, plus a set of programs to allow easy
|
||||||
|
access to it for Mac users (an integrated development
|
||||||
|
environment, an applet builder), plus a set of pre-built
|
||||||
|
extension modules that open up specific Macintosh technologies
|
||||||
|
to Python programs (Carbon, AppleScript, Quicktime, more).
|
||||||
|
|
||||||
|
The installer puts the applications in "MacPython $VERSION"
|
||||||
|
in your Applications folder, command-line tools in
|
||||||
|
/usr/local/bin and the underlying machinery in
|
||||||
|
$PYTHONFRAMEWORKINSTALLDIR.
|
||||||
|
|
||||||
|
More information on MacPython can be found at
|
||||||
|
http://www.cwi.nl/~jack/macpython and
|
||||||
|
http://pythonmac.org/. More information on
|
||||||
|
Python in general can be found at
|
||||||
|
http://www.python.org.
|
|
@ -0,0 +1,15 @@
|
||||||
|
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf330
|
||||||
|
{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;}
|
||||||
|
{\colortbl;\red255\green255\blue255;}
|
||||||
|
\paperw11900\paperh16840\margl1440\margr1440\vieww9920\viewh10660\viewkind0
|
||||||
|
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
|
||||||
|
|
||||||
|
\f0\fs24 \cf0 This package will install
|
||||||
|
\f1\b MacPython $FULL_VERSION
|
||||||
|
\f0\b0 for
|
||||||
|
\f1\b Mac OS X $MACOSX_DEPLOYMENT_TARGET
|
||||||
|
\f0\b0 .\
|
||||||
|
\
|
||||||
|
MacPython consists of the Python programming language interpreter, plus a set of programs to allow easy access to it for Mac users (an integrated development environment, an applet builder), plus a set of pre-built extension modules that open up specific Macintosh technologies to Python programs (Carbon, AppleScript, Quicktime, more).\
|
||||||
|
\
|
||||||
|
See the ReadMe file for more information.}
|
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# FIXME
|
||||||
|
PYVER="@PYVER@"
|
||||||
|
|
||||||
|
if [ -d /Developer/Documentation ]; then
|
||||||
|
if [ ! -d /Developer/Documentation/Python ]; then
|
||||||
|
mkdir -p /Developer/Documentation/Python
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -fhs /Library/Frameworks/Python.framework/Versions/${PYVER}/Resources/English.lproj/Documentation "/Developer/Documentation/Python/Reference Documentation"
|
||||||
|
fi
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Recompile the .py files.
|
||||||
|
#
|
||||||
|
|
||||||
|
PYVER="@PYVER@"
|
||||||
|
FWK="/Library/Frameworks/Python.framework/Versions/@PYVER@/"
|
||||||
|
|
||||||
|
"${FWK}/bin/python" -Wi -tt \
|
||||||
|
"${FWK}/lib/python${PYVER}/compileall.py" \
|
||||||
|
-x badsyntax -x site-packages \
|
||||||
|
"${FWK}/lib/python${PYVER}"
|
||||||
|
|
||||||
|
"${FWK}/bin/python" -Wi -tt -O \
|
||||||
|
"${FWK}/lib/python${PYVER}/compileall.py" \
|
||||||
|
-x badsyntax -x site-packages \
|
||||||
|
"${FWK}/lib/python${PYVER}"
|
||||||
|
|
||||||
|
"${FWK}/bin/python" -Wi -tt \
|
||||||
|
"${FWK}/lib/python${PYVER}/compileall.py" \
|
||||||
|
-x badsyntax -x site-packages \
|
||||||
|
"${FWK}/Mac/Tools"
|
||||||
|
|
||||||
|
"${FWK}/bin/python" -Wi -tt -O \
|
||||||
|
"${FWK}/lib/python${PYVER}/compileall.py" \
|
||||||
|
-x badsyntax -x site-packages \
|
||||||
|
"${FWK}/Mac/Tools"
|
||||||
|
|
||||||
|
|
||||||
|
chown -R admin "${FWK}"
|
||||||
|
chmod -R g+w "${FWK}"
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "This script will update your shell profile when the 'bin' directory"
|
||||||
|
echo "of python is not early enough of the PATH of your shell."
|
||||||
|
echo "These changes will be effective only in shell windows that you open"
|
||||||
|
echo "after running this script."
|
||||||
|
|
||||||
|
PYVER=@PYVER@
|
||||||
|
PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/Current"
|
||||||
|
|
||||||
|
# Make sure the directory ${PYTHON_ROOT}/bin is on the users PATH.
|
||||||
|
BSH="`basename "${SHELL}"`"
|
||||||
|
case "${BSH}" in
|
||||||
|
bash|ksh|sh|*csh)
|
||||||
|
P="`${SHELL} -c 'echo $PATH'`"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Sorry, I don't know how to patch $BSH shells"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Now ensure that our bin directory is on $P and before /usr/bin at that
|
||||||
|
for elem in `echo $P | tr ':' ' '`
|
||||||
|
do
|
||||||
|
if [ "${elem}" == "${PYTHON_ROOT}/bin" ]; then
|
||||||
|
echo "All right, you're a python lover already"
|
||||||
|
exit 0
|
||||||
|
elif [ "${elem}" == "/usr/bin" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "${PYTHON_ROOT}/bin is not on your PATH or at least not early enough"
|
||||||
|
case "${BSH}" in
|
||||||
|
*csh)
|
||||||
|
# Create backup copy before patching
|
||||||
|
if [ -f "${HOME}/.cshrc" ]; then
|
||||||
|
cp -fp "${HOME}/.cshrc" "${HOME}/.cshrc.pysave"
|
||||||
|
fi
|
||||||
|
echo "" >> "${HOME}/.cshrc"
|
||||||
|
echo "# Setting PATH for MacPython ${PYVER}" >> "${HOME}/.cshrc"
|
||||||
|
echo "# The orginal version is saved in .cshrc.pysave" >> "${HOME}/.cshrc"
|
||||||
|
echo "setenv path=(${PYTHON_ROOT}/bin "'$path'")" >> "${HOME}/.cshrc"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
bash)
|
||||||
|
if [ -e "${HOME}/.profile" ]; then
|
||||||
|
PR="${HOME}/.profile"
|
||||||
|
else
|
||||||
|
PR="${HOME}/.bash_profile"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*sh)
|
||||||
|
PR="${HOME}/.profile"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Create backup copy before patching
|
||||||
|
if [ -f "${PR}" ]; then
|
||||||
|
cp -fp "${PR}" "${PR}.pysave"
|
||||||
|
fi
|
||||||
|
echo "" >> "${PR}"
|
||||||
|
echo "# Setting PATH for MacPython ${PYVER}" >> "${PR}"
|
||||||
|
echo "# The orginal version is saved in `basename ${PR}`.pysave" >> "${PR}"
|
||||||
|
echo 'PATH="'"${PYTHON_ROOT}/bin"':${PATH}"' >> "${PR}"
|
||||||
|
echo 'export PATH' >> "${PR}"
|
||||||
|
if [ `id -ur` = 0 ]; then
|
||||||
|
chown "${LOGNAME}" "${PR}"
|
||||||
|
fi
|
||||||
|
exit 0
|
Loading…
Reference in New Issue