Mercurial > hg
annotate contrib/Makefile.python @ 38807:98df52d5042c
exchange: make narrow ACL presence imply narrow=True
And refactor the logic for determining when to invoke our custom
changegroup part function so it is only conditional on
narrow being set. This makes it more obvious under which
conditions we should invoke the custom implementation.
Also use raw strings so **kwargs works on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D4013
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 28 Jul 2018 17:33:20 -0700 |
parents | 5e947367606c |
children | ae68418cc3a1 |
rev | line source |
---|---|
36143
5e947367606c
buildrpm: bump bundled python version to 2.7.14 when building for centos{5,6}
Antonio Muci <a.mux@inwind.it>
parents:
27230
diff
changeset
|
1 PYTHONVER=2.7.14 |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
2 PYTHONNAME=python- |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
3 PREFIX=$(HOME)/bin/prefix-$(PYTHONNAME)$(PYTHONVER) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
4 SYMLINKDIR=$(HOME)/bin |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
5 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
6 help: |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
7 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
8 @echo 'Make a custom installation of a Python version' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
9 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
10 @echo 'Common make parameters:' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
11 @echo ' PYTHONVER=... [$(PYTHONVER)]' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
12 @echo ' PREFIX=... [$(PREFIX)]' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
13 @echo ' SYMLINKDIR=... [$(SYMLINKDIR) creating $(PYTHONNAME)$(PYTHONVER)]' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
14 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
15 @echo 'Common make targets:' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
16 @echo ' python - install Python $$PYTHONVER in $$PREFIX' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
17 @echo ' symlink - create a $$SYMLINKDIR/$(PYTHONNAME)$$PYTHONVER symlink' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
18 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
19 @echo 'Example: create a temporary Python installation:' |
26735
ec74ea542201
contrib: offer Python 2.7.10
Mads Kiilerich <madski@unity3d.com>
parents:
26734
diff
changeset
|
20 @echo ' $$ make -f Makefile.python python PYTHONVER=${PYTHONVER} PREFIX=/tmp/p27' |
ec74ea542201
contrib: offer Python 2.7.10
Mads Kiilerich <madski@unity3d.com>
parents:
26734
diff
changeset
|
21 @echo ' $$ /tmp/p27/bin/python -V' |
ec74ea542201
contrib: offer Python 2.7.10
Mads Kiilerich <madski@unity3d.com>
parents:
26734
diff
changeset
|
22 @echo ' Python 2.7' |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
23 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
24 @echo 'Some external libraries are required for building Python: zlib bzip2 openssl.' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
25 @echo 'Make sure their development packages are installed systemwide.' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
26 # fedora: yum install zlib-devel bzip2-devel openssl-devel |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
27 # debian: apt-get install zlib1g-dev libbz2-dev libssl-dev |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
28 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
29 @echo 'To build a nice collection of interesting Python versions:' |
26735
ec74ea542201
contrib: offer Python 2.7.10
Mads Kiilerich <madski@unity3d.com>
parents:
26734
diff
changeset
|
30 @echo ' $$ for v in 2.{6{,.1,.2,.9},7{,.8,.10}}; do' |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
31 @echo ' make -f Makefile.python symlink PYTHONVER=$$v || break; done' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
32 @echo 'To run a Mercurial test on all these Python versions:' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
33 @echo ' $$ for py in `cd ~/bin && ls $(PYTHONNAME)2.*`; do' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
34 @echo ' echo $$py; $$py run-tests.py test-http.t; echo; done' |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
35 @echo |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
36 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
37 export LANGUAGE=C |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
38 export LC_ALL=C |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
39 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
40 python: $(PREFIX)/bin/python docutils |
26734
b000d34f863f
contrib: drop Python < 2.6 from Makefile.python
Mads Kiilerich <madski@unity3d.com>
parents:
23880
diff
changeset
|
41 printf 'import sys, zlib, bz2, docutils, ssl' | $(PREFIX)/bin/python |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
42 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
43 PYTHON_SRCDIR=Python-$(PYTHONVER) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
44 PYTHON_SRCFILE=$(PYTHON_SRCDIR).tgz |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
45 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
46 $(PREFIX)/bin/python: |
23824
e278fc8bb0c3
Makefile.python: try curl if wget fails
Augie Fackler <augie@google.com>
parents:
23140
diff
changeset
|
47 [ -f $(PYTHON_SRCFILE) ] || wget http://www.python.org/ftp/python/$(PYTHONVER)/$(PYTHON_SRCFILE) || curl -OL http://www.python.org/ftp/python/$(PYTHONVER)/$(PYTHON_SRCFILE) || [ -f $(PYTHON_SRCFILE) ] |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
48 rm -rf $(PYTHON_SRCDIR) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
49 tar xf $(PYTHON_SRCFILE) |
27230
9f8b8c4e5076
contrib: disable SSLv3_method() to build old Python with recent libssl
Yuya Nishihara <yuya@tcha.org>
parents:
26735
diff
changeset
|
50 # Debian/Ubuntu disables SSLv2,3 the hard way, disable it on old Pythons too |
9f8b8c4e5076
contrib: disable SSLv3_method() to build old Python with recent libssl
Yuya Nishihara <yuya@tcha.org>
parents:
26735
diff
changeset
|
51 -sed -i 's,self.*SSLv[23]_method(),0;//\0,g' $(PYTHON_SRCDIR)/Modules/_ssl.c |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
52 # Find multiarch system libraries on Ubuntu and disable fortify error when setting argv |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
53 LDFLAGS="-L/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`"; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
54 BASECFLAGS=-U_FORTIFY_SOURCE; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
55 export LDFLAGS BASECFLAGS; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
56 cd $(PYTHON_SRCDIR) && ./configure --prefix=$(PREFIX) && make all SVNVERSION=pwd && make install |
26734
b000d34f863f
contrib: drop Python < 2.6 from Makefile.python
Mads Kiilerich <madski@unity3d.com>
parents:
23880
diff
changeset
|
57 printf 'import sys, zlib, bz2, ssl' | $(PREFIX)/bin/python |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
58 rm -rf $(PYTHON_SRCDIR) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
59 |
23140
fbd79c2552a6
contrib: update build defaults to latest Python and docutils versions
Mads Kiilerich <madski@unity3d.com>
parents:
20388
diff
changeset
|
60 DOCUTILSVER=0.12 |
20388
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
61 DOCUTILS_SRCDIR=docutils-$(DOCUTILSVER) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
62 DOCUTILS_SRCFILE=$(DOCUTILS_SRCDIR).tar.gz |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
63 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
64 docutils: $(PREFIX)/bin/python |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
65 @$(PREFIX)/bin/python -c 'import docutils' || ( set -ex; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
66 [ -f $(DOCUTILS_SRCFILE) ] || wget http://downloads.sourceforge.net/project/docutils/docutils/$(DOCUTILSVER)/$(DOCUTILS_SRCFILE) || [ -f $(DOCUTILS_SRCFILE) ]; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
67 rm -rf $(DOCUTILS_SRCDIR); \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
68 tar xf $(DOCUTILS_SRCFILE); \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
69 cd $(DOCUTILS_SRCDIR) && $(PREFIX)/bin/python setup.py install --prefix=$(PREFIX); \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
70 $(PREFIX)/bin/python -c 'import docutils'; \ |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
71 rm -rf $(DOCUTILS_SRCDIR); ) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
72 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
73 symlink: python $(SYMLINKDIR) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
74 ln -sf $(PREFIX)/bin/python $(SYMLINKDIR)/$(PYTHONNAME)$(PYTHONVER) |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
75 |
9fe578297b5c
contrib/Makefile.python: build local Python from source
Mads Kiilerich <mads@kiilerich.com>
parents:
diff
changeset
|
76 .PHONY: help python docutils symlink |