Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
3-manifolds
GitHub Repository: 3-manifolds/Sage_macOS
Path: blob/main/Sage_base/sage/python/build_python.sh
242 views
1
VERSION=3.13.3
2
TCLTK_VERSION=9.0
3
SRC_DIR=Python-${VERSION}
4
SRC_ARCHIVE=Python-${VERSION}.tgz
5
URL=https://www.python.org/ftp/python/${VERSION}/${SRC_ARCHIVE}
6
HASH=d50c851d1b9d004327237ddbf6eace10df18f726
7
INSTALL_PREFIX=`pwd`/local
8
9
TCLTK_HEADERS=${INSTALL_PREFIX}/include
10
TCL_LIB=${INSTALL_PREFIX}/lib/libtcl${TCLTK_VERSION}.dylib
11
TK_LIB=${INSTALL_PREFIX}/lib/libtcl9tk${TCLTK_VERSION}.dylib
12
13
set -e
14
cd python
15
16
if ! [ -e ${SRC_ARCHIVE} ]; then
17
echo "Downloading source archive ${SRC_ARCHIVE}..."
18
curl -L -O ${URL}
19
ACTUAL_HASH=`/usr/bin/shasum ${SRC_ARCHIVE} | cut -f 1 -d' '`
20
if [[ ${ACTUAL_HASH} != ${HASH} ]]; then
21
echo Invalid hash value for ${SRC_ARCHIVE}
22
exit 1
23
fi
24
fi
25
26
if ! [ -d ${SRC_DIR} ]; then
27
tar xfz ${SRC_ARCHIVE}
28
pushd ${SRC_DIR}
29
if [ -e ../patches ]; then
30
for patchfile in `ls ../patches`; do
31
patch -p1 < ../patches/$patchfile
32
done
33
fi
34
popd
35
fi
36
37
cd ${SRC_DIR}
38
39
if [ -e Makefile ]; then
40
make distclean
41
fi
42
43
./configure \
44
CFLAGS="-mmacosx-version-min=11" \
45
MACOSX_DEPLOYMENT_TARGET=11 \
46
TCLTK_CFLAGS="-I${TCLTK_HEADERS}" \
47
TCLTK_LIBS="${TCL_LIB} ${TK_LIB}" \
48
LDFLAGS=-L${INSTALL_PREFIX}/lib \
49
CPPFLAGS=-I${INSTAL_PREFIX}/include \
50
--prefix=${INSTALL_PREFIX} \
51
--with-openssl=${INSTALL_PREFIX}
52
53
make -j8
54
make install
55
56