Merge pull request #726 from yyuu/osx-unicode-narrow-ucs2

Stop using ucs4 as default unicode encoding on OS X
This commit is contained in:
Yamashita, Yuu 2016-10-12 11:56:23 +09:00 committed by GitHub
commit 31a3aec870
4 changed files with 94 additions and 6 deletions

View file

@ -1939,7 +1939,9 @@ fi
# Compile with `--enable-unicode=ucs4` by default (#257) # Compile with `--enable-unicode=ucs4` by default (#257)
if [[ "$PYTHON_CONFIGURE_OPTS" != *"--enable-unicode="* ]]; then if [[ "$PYTHON_CONFIGURE_OPTS" != *"--enable-unicode="* ]]; then
package_option python configure --enable-unicode=ucs4 if ! is_mac; then
package_option python configure --enable-unicode=ucs4
fi
fi fi
# SSL Certificate error with older wget that does not support Server Name Indication (#60) # SSL Certificate error with older wget that does not support Server Name Indication (#60)

View file

@ -67,6 +67,10 @@ assert_build_log() {
stub_make_install stub_make_install
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
install_fixture definitions/needs-yaml install_fixture definitions/needs-yaml
assert_success assert_success
@ -93,6 +97,10 @@ OUT
stub_make_install stub_make_install
stub patch ' : echo patch "$@" | sed -E "s/\.[[:alnum:]]+$/.XXX/" >> build.log' stub patch ' : echo patch "$@" | sed -E "s/\.[[:alnum:]]+$/.XXX/" >> build.log'
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<"" TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<""
assert_success assert_success
@ -121,6 +129,10 @@ OUT
stub_make_install stub_make_install
stub patch ' : echo patch "$@" | sed -E "s/\.[[:alnum:]]+$/.XXX/" >> build.log' stub patch ' : echo patch "$@" | sed -E "s/\.[[:alnum:]]+$/.XXX/" >> build.log'
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<"diff --git a/script.py" TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<"diff --git a/script.py"
assert_success assert_success
@ -149,6 +161,10 @@ OUT
stub brew "--prefix libyaml : echo '$brew_libdir'" false stub brew "--prefix libyaml : echo '$brew_libdir'" false
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
install_fixture definitions/needs-yaml install_fixture definitions/needs-yaml
assert_success assert_success
@ -172,6 +188,10 @@ OUT
stub brew "--prefix readline : echo '$readline_libdir'" stub brew "--prefix readline : echo '$readline_libdir'"
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF DEF
@ -199,6 +219,10 @@ OUT
stub brew stub brew
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
export PYTHON_CONFIGURE_OPTS="CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib" export PYTHON_CONFIGURE_OPTS="CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib"
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
@ -223,7 +247,11 @@ OUT
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
# yyuu/pyenv#257
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin'
stub sysctl false stub sysctl false
stub_make_install stub_make_install
@ -238,7 +266,7 @@ DEF
assert_build_log <<OUT assert_build_log <<OUT
Python-3.2.1: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " Python-3.2.1: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib --enable-unicode=ucs4 Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2 make -j 2
make install make install
OUT OUT
@ -251,7 +279,11 @@ OUT
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
# yyuu/pyenv#257
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin'
stub sysctl '-n hw.ncpu : echo 4' stub sysctl '-n hw.ncpu : echo 4'
stub_make_install stub_make_install
@ -267,7 +299,7 @@ DEF
assert_build_log <<OUT assert_build_log <<OUT
Python-3.2.1: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " Python-3.2.1: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib --enable-unicode=ucs4 Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 4 make -j 4
make install make install
OUT OUT
@ -283,6 +315,9 @@ OUT
# yyuu/pyenv#222 # yyuu/pyenv#222
stub uname '-s : echo FreeBSD' stub uname '-s : echo FreeBSD'
# yyuu/pyenv#257
stub uname '-s : echo FreeBSD'
export -n MAKE_OPTS export -n MAKE_OPTS
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
@ -306,6 +341,10 @@ OUT
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
export PYTHON_MAKE_INSTALL_OPTS="DOGE=\"such wow\"" export PYTHON_MAKE_INSTALL_OPTS="DOGE=\"such wow\""
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
@ -327,6 +366,10 @@ OUT
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
export MAKE_INSTALL_OPTS="DOGE=\"such wow\"" export MAKE_INSTALL_OPTS="DOGE=\"such wow\""
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
@ -361,6 +404,9 @@ OUT
# yyuu/pyenv#222 # yyuu/pyenv#222
stub uname '-s : echo FreeBSD' stub uname '-s : echo FreeBSD'
# yyuu/pyenv#257
stub uname '-s : echo FreeBSD'
MAKE= install_fixture definitions/vanilla-python MAKE= install_fixture definitions/vanilla-python
assert_success assert_success
@ -377,6 +423,9 @@ OUT
# yyuu/pyenv#222 # yyuu/pyenv#222
stub uname '-s : echo FreeBSD' stub uname '-s : echo FreeBSD'
# yyuu/pyenv#257
stub uname '-s : echo FreeBSD'
MAKE= install_fixture definitions/vanilla-python MAKE= install_fixture definitions/vanilla-python
assert_success assert_success
@ -395,6 +444,10 @@ CONF
stub apply 'echo apply "$@" >> build.log' stub apply 'echo apply "$@" >> build.log'
stub_make_install stub_make_install
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
export PYTHON_CONFIGURE="${TMP}/custom-configure" export PYTHON_CONFIGURE="${TMP}/custom-configure"
run_inline_definition <<DEF run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz" install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"

View file

@ -12,6 +12,9 @@ export -n PYTHON_CONFIGURE_OPTS
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.9.5' stub sw_vers '-productVersion : echo 10.9.5'
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.9.5' stub sw_vers '-productVersion : echo 10.9.5'
stub gcc '--version : echo 4.2.1' stub gcc '--version : echo 4.2.1'
@ -33,6 +36,9 @@ OUT
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
stub gcc '--version : echo 4.2.1' stub gcc '--version : echo 4.2.1'
@ -67,6 +73,9 @@ DEF
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
stub cc 'false' stub cc 'false'
@ -89,7 +98,7 @@ build_package_standard python
DEF DEF
assert_success assert_success
assert_output <<OUT assert_output <<OUT
./configure --prefix=$INSTALL_ROOT --libdir=${TMP}/install/lib --enable-unicode=ucs4 ./configure --prefix=$INSTALL_ROOT --libdir=${TMP}/install/lib
CC=clang CC=clang
CFLAGS=no CFLAGS=no
make -j 2 make -j 2

View file

@ -101,6 +101,10 @@ resolve_link() {
echo | install_patch definitions/vanilla-python "Python-3.2.1/empty.patch" echo | install_patch definitions/vanilla-python "Python-3.2.1/empty.patch"
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
assert_success assert_success
@ -127,6 +131,10 @@ OUT
echo "bar" | install_patch definitions/vanilla-python "Python-3.2.1/bar.patch" echo "bar" | install_patch definitions/vanilla-python "Python-3.2.1/bar.patch"
echo "baz" | install_patch definitions/vanilla-python "Python-3.2.1/baz.patch" echo "baz" | install_patch definitions/vanilla-python "Python-3.2.1/baz.patch"
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
assert_success assert_success
@ -152,6 +160,10 @@ OUT
" : echo \"$MAKE \$@\" >> build.log" \ " : echo \"$MAKE \$@\" >> build.log" \
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'" " : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"
# yyuu/pyenv#257
stub uname '-s : echo Linux'
stub uname '-s : echo Linux'
PYTHON_MAKE_INSTALL_TARGET="altinstall" TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null PYTHON_MAKE_INSTALL_TARGET="altinstall" TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
assert_success assert_success
@ -234,6 +246,9 @@ OUT
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config" touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config" chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
PYTHON_CONFIGURE_OPTS="--enable-framework" TMPDIR="$TMP" run_inline_definition <<OUT PYTHON_CONFIGURE_OPTS="--enable-framework" TMPDIR="$TMP" run_inline_definition <<OUT
@ -242,7 +257,7 @@ verify_python python3.4
OUT OUT
assert_success assert_success
assert_output <<EOS assert_output <<EOS
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-framework=${TMP}/install --enable-unicode=ucs4) PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-framework=${TMP}/install)
EOS EOS
[ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python" ] [ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python" ]
@ -250,6 +265,9 @@ EOS
} }
@test "enable universalsdk" { @test "enable universalsdk" {
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
@ -257,7 +275,7 @@ echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
OUT OUT
assert_success assert_success
assert_output <<EOS assert_output <<EOS
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=intel --enable-unicode=ucs4) PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=intel)
EOS EOS
} }
@ -283,6 +301,9 @@ OUT
} }
@test "default MACOSX_DEPLOYMENT_TARGET" { @test "default MACOSX_DEPLOYMENT_TARGET" {
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10' stub sw_vers '-productVersion : echo 10.10'
@ -294,6 +315,9 @@ OUT
} }
@test "use custom MACOSX_DEPLOYMENT_TARGET if defined" { @test "use custom MACOSX_DEPLOYMENT_TARGET if defined" {
# yyuu/pyenv#257
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin' stub uname '-s : echo Darwin'
MACOSX_DEPLOYMENT_TARGET="10.4" TMPDIR="$TMP" run_inline_definition <<OUT MACOSX_DEPLOYMENT_TARGET="10.4" TMPDIR="$TMP" run_inline_definition <<OUT