├── .cache └── file ├── .gitignore ├── Makefile ├── Makefile.win ├── README.md ├── buildout-build-aix-7.2.cfg ├── buildout-build-aix.cfg ├── buildout-build-gcc5.cfg ├── buildout-build-osx-xcode-5.cfg ├── buildout-build-osx-xcode-6.cfg ├── buildout-build-osx-xcode-7.cfg ├── buildout-build-osx-xcode-8.cfg ├── buildout-build-osx.cfg ├── buildout-build-redhat-32bit.cfg ├── buildout-build-redhat-64bit.cfg ├── buildout-build-redhat-8-64bit.cfg ├── buildout-build-redhat-ppc64.cfg ├── buildout-build-redhat-ppc64le.cfg ├── buildout-build-solaris-11.4-64bit.cfg ├── buildout-build-solaris-11.4-sparc.cfg ├── buildout-build-solaris-64bit.cfg ├── buildout-build-solaris-sparc.cfg ├── buildout-build-suse-15.cfg ├── buildout-build-suse-ppc64.cfg ├── buildout-build-suse-ppc64le.cfg ├── buildout-build-ubuntu-16.04.cfg ├── buildout-build-ubuntu.cfg ├── buildout-build-windows-64bit.cfg ├── buildout-build-windows.cfg ├── buildout-build.cfg ├── buildout-pack-aix.cfg ├── buildout-pack-windows.cfg ├── buildout-pack.cfg ├── buildout.cfg ├── setup.py ├── sources ├── src ├── hooks │ ├── __init__.py │ ├── aix.c │ ├── aix.py │ ├── osx.py │ ├── posix.py │ ├── sasl.py │ ├── unix.py │ └── windows.py ├── patches │ ├── bzip2-1.0.6-redhat-lib64.patch │ ├── bzip2-1.0.6-solaris-Makefile.patch │ ├── bzip2-1.0.6-unix-Makefile.patch │ ├── bzip2-1.0.6-windows-Makefile.patch │ ├── cyrus-sasl-2.1.23-configure.patch │ ├── cyrus-sasl-2.1.23-digestmd5.patch │ ├── cyrus-sasl-2.1.23-ltconfig.patch │ ├── cyrus-sasl-2.1.23-redhat-lib64.patch │ ├── cyrus-sasl-2.1.23-windows-Makefile.patch │ ├── cyrus-sasl-2.1.23-windows-plugins-Makefile.patch │ ├── db-5.1.25-windows-solution.patch │ ├── db-5.3.21-osx-atomic.patch │ ├── gdbm-1.8.3-Makefile.patch │ ├── gettext-0.14.6-windows-localename.patch │ ├── gettext-0.18.1.1-gets.patch │ ├── gettext-0.18.1.1-gets2.patch │ ├── gettext-0.18.1.1-osx-gettext-tools-Makefile.patch │ ├── gettext-0.18.1.1-osx-gettext-tools.patch │ ├── gnutls-2.12.3-gets.patch │ ├── gnutls-2.12.3-gets2.patch │ ├── libgpg-error-1.10-src-Makefile.patch │ ├── libiconv-1.11.1-windows-Makefile.patch │ ├── libxml2-2.7.8-windows-Makefile.patch │ ├── libxslt-1.1.26-configure.patch │ ├── libxslt-1.1.26-windows-Makefile.patch │ ├── ncurses-5.9-configure.patch │ ├── openssh-5.8p1-makefile-mkdir.patch │ ├── openssl-1.0.2h-Makefile.patch │ ├── openssl-1.0.2h-apps-Makefile.patch │ ├── openssl-1.0.2h-linux-ldflags.patch │ ├── openssl-1.0.2h-solaris-configure.patch │ ├── openssl-1.0.2h-tools-Makefile.patch │ ├── openssl-1.0.2h-windows-batchfile.patch │ ├── python-2.7.8-aix-fopen.patch │ ├── python-2.7.8-aix-libpath.patch │ ├── python-2.7.8-disutils-sysconfig.py.patch │ ├── python-2.7.8-linux-symlink.patch │ ├── python-2.7.8-osx-Makefile.patch │ ├── python-2.7.8-osx-configure.patch │ ├── python-2.7.8-pythonhome-pythonrun.c.patch │ ├── python-2.7.8-redhat-lib64.patch │ ├── python-2.7.8-redhat-segfault-workaround.patch │ ├── python-2.7.8-solaris-elf.patch │ ├── python-2.7.8-sysconfig.py.patch │ ├── python-2.7.8-ubuntu-platform.patch │ ├── python-2.7.8-windows-Makefile.patch │ ├── python-2.7.8-windows-getpathp.patch │ ├── python-2.7.8-windows-make_buildinfo.patch │ ├── python-2.7.8-windows-make_versioninfo.patch │ ├── sqlite3-autoconf-3070602-windows-makefile.patch │ ├── zeromq-3.2.3-newline.patch │ ├── zeromq-3.2.3-osx-libtool.patch │ ├── zeromq-3.2.3-test_disconnect_inproc.cpp.patch │ └── zlib-1.2.8-windows-Makefile.patch └── scripts │ └── __init__.py └── tests ├── test_ctypes.py ├── test_readline.py └── test_ssl.py /.cache/file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Infinidat/relocatable-python/ea87dcc3a1ff0a0dbef0842f93ac08541b3f3e8c/.cache/file -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # generic 3 | *.swp 4 | *.pyc 5 | *.egg-info/ 6 | *.tar.gz 7 | 8 | # eclipse 9 | .project 10 | .pydevproject 11 | 12 | # buildout 13 | .*installed*.cfg 14 | .cache/ 15 | bin/ 16 | eggs/ 17 | develop-eggs/ 18 | parts/ 19 | build/ 20 | dist/ 21 | .cache 22 | eggs 23 | parts 24 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | make: 2 | pip install zc.buildout distro 3 | buildout bootstrap 4 | bin/buildout 5 | bin/build 6 | 7 | pack: 8 | bin/pack -------------------------------------------------------------------------------- /Makefile.win: -------------------------------------------------------------------------------- 1 | make: 2 | pip install zc.buildout 3 | buildout bootstrap 4 | bin\buildout 5 | bin\build 6 | 7 | pack: 8 | bin\pack -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Introduction 3 | ============ 4 | 5 | This project builds a portable Python interpreter, along with all the shared libraries it depends on. 6 | The build system itself is written in Python, based on zc.buildout and some recipes. 7 | 8 | The sources are downloaded from the Internet, stored locally and then built. 9 | 10 | The current supported platforms are: Linux, macOS, Windows, Solaris and AIX. 11 | 12 | In order to build python, execute: 13 | 14 | make 15 | 16 | Or, for Windows: 17 | 18 | nmake -f Makefile.win 19 | 20 | **For Python 3.x, see [relocatable-python3](https://github.com/Infinidat/relocatable-python3)** 21 | 22 | Build environment 23 | ================= 24 | 25 | You'll need to have pip installed on the build environment. 26 | 27 | For building on macOS, you'll need to install: 28 | * Xcode command line tools 29 | * Homebrew 30 | * autoconf, automake, libtool, pkgconfig 31 | 32 | For Ubuntu, you'll need to install: 33 | * build-essential 34 | 35 | For Windows, you'll need to install: 36 | * Microsot Visual Studio 2008 (No SP) 37 | * Perl 38 | * Python 39 | -------------------------------------------------------------------------------- /buildout-build-aix-7.2.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-aix.cfg 3 | 4 | [openssh] 5 | # /bin/sh written in the shebang line doesn't recognize some syntax in the configure script 6 | configure-command = /bin/bash ./configure 7 | 8 | [openldap] 9 | # /bin/sh written in the shebang line doesn't recognize some syntax in the configure script 10 | configure-command = /bin/bash ./configure 11 | 12 | [python-environment] 13 | # the libpath we set in the base aix config prevents the gcc compiler from loading properly; we change it here 14 | LIBPATH = /usr/lib:${options:prefix}/lib 15 | LD_LIBRARY_PATH = /usr/lib:${options:prefix}/lib -------------------------------------------------------------------------------- /buildout-build-aix.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | parts = zlib ncurses readline openssl openssh libgpg-error libgcrypt gettext libiconv libgnutls bzip2 sqlite3 db libxml2 libxslt libffi gdbm cyrus-sasl libevent libev zeromq openldap python 4 | 5 | [environment] 6 | CC = gcc -static-libgcc -fPIC 7 | LDFLAGS = -L${options:prefix}/lib -Wl,-blibpath:/usr/lib 8 | SHARED_LDFLAGS = -L${options:prefix}/lib -Wl,-blibpath:/usr/lib 9 | LIBPATH = -L${options:prefix}/lib 10 | CFLAGS = -I${options:prefix}/include 11 | CPPFLAGS = ${:CFLAGS} 12 | # The *_LIBRARY_PATH definitions cause built-in executables that we run to link against our new shared objects which doesn't work 13 | DYLD_LIBRARY_PATH = 14 | LD_LIBRARY_PATH = 15 | 16 | [ncurses] 17 | # removed with-shared due to error in configure: "Shared libraries are not supported in this version" 18 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-big-core --disable-root-environ --disable-macros --disable-rpath --disable-largefile --without-ada --without-cxx-binding --with-terminfo-dirs=/etc/terminfo:/lib/terminfo:/usr/share/terminfo 19 | 20 | [openssl] 21 | # OpenSSL's configure doesn't respect CC/GCC env vars properly (it only decides which compiler to use according to which is defined, but doesn't use the flags). 22 | # we pass the compiler and flags in the configure options instead, this overwrites any env var 23 | # note that --shared doesn't actually work on aix 24 | configure-options = --prefix=${options:prefix} --openssldir=/var/ssl/ --shared --libdir=lib gcc:"gcc -static-libgcc -fPIC" 25 | # run "slibclean" before "make install", otherwise make install fails due to "files already in use" 26 | make-binary = slibclean; make 27 | 28 | [openssh-environment] 29 | <= environment 30 | # add . and .. as search paths, otherwise the wrong "buffer.h" (from openssl) will be used 31 | CFLAGS = ${environment:CFLAGS} -I. -I.. -I${options:prefix}/include/openssl 32 | 33 | [libgcrypt] 34 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --enable-static --disable-asm 35 | 36 | [bzip2] 37 | patches = ${:patches-dir}/${:name}-${:version}-unix-Makefile.patch 38 | 39 | [libxslt] 40 | name = libxslt 41 | patches = ${:patches-dir}/${:name}-${:version}-configure.patch 42 | pre-configure-hook = ${options:hooks-dir}/unix.py:chmod_configure 43 | 44 | [libevent] 45 | environment-section = libevent-environment 46 | 47 | [libevent-environment] 48 | <= environment 49 | # define _EVENT_HAVE_FD_MASK, otherwise there is redefinition of type fd_mask 50 | CFLAGS = ${environment:CFLAGS} -D_EVENT_HAVE_FD_MASK 51 | 52 | [zeromq] 53 | patches = ${:patches-dir}/${:name}-${:version}-newline.patch 54 | ${:patches-dir}/${:name}-${:version}-test_disconnect_inproc.cpp.patch 55 | 56 | [python] 57 | environment-section = python-environment 58 | configure-options = --prefix=${options:prefix} --enable-shared --enable-ipv6 --with-dbmliborder=gdbm --with-gcc --with-system-ffi --libdir=${options:prefix}/lib --with-system-ffi 59 | patches = ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 60 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 61 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 62 | ${:patches-dir}/${:name}-${:version}-linux-symlink.patch 63 | ${:patches-dir}/${:name}-${:version}-aix-libpath.patch 64 | ${:patches-dir}/${:name}-${:version}-aix-fopen.patch 65 | post-make-hook = ${options:hooks-dir}/aix.py:python_post_make 66 | 67 | [readline] 68 | version = 6.2 69 | 70 | [python-environment] 71 | <= environment 72 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/gnutls -I${options:prefix}/include/graphviz -I${options:prefix}/include/libexslt -I${options:prefix}/include/libxml2 -I${options:prefix}/include/libxslt -I${options:prefix}/include/ncurses -I${options:prefix}/include/openssl -I${options:prefix}/include/readline -I${options:prefix}/include/sasl -I${options:prefix}/lib/libffi-${libffi:version}/include 73 | LDFLAGS = ${environment:LDFLAGS} -L${options:prefix}/lib/engines -L${options:prefix}/lib/gettext -L${options:prefix}/lib/graphviz -L${options:prefix}/lib/libxslt-plugins -L${options:prefix}/lib/pkgconfig -L${options:prefix}/lib/sasl2 -Wl,-blibpath:.:../lib:/usr/lib 74 | OPT = -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes 75 | # LIBPATH is used as a runtime search path environment variable, and we define it so that the lib-dynload so's won't fail to load 76 | # In the global 'environment' section it's defined differently, because some modules use it for ld flags 77 | LIBPATH = ${options:prefix}/lib 78 | # we also need LD_LIBRARY_PATH in order to compile the modules against our libs. See comment above about why we don't 79 | # want it always 80 | LD_LIBRARY_PATH = ${options:prefix}/lib 81 | -------------------------------------------------------------------------------- /buildout-build-gcc5.cfg: -------------------------------------------------------------------------------- 1 | [ncurses] 2 | configure-options += CPPFLAGS="-P" 3 | 4 | [libgpg-error] 5 | version = 1.32 6 | configure-options += --libdir=${options:prefix}/lib64 7 | 8 | [libgcrypt] 9 | version = 1.5.3 -------------------------------------------------------------------------------- /buildout-build-osx-xcode-5.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-osx.cfg 3 | parts = zlib ncurses readline openssl openssh libgpg-error libgcrypt libtasn1 gmp nettle gettext libgnutls bzip2 sqlite3 db libxml2 libxslt libffi gdbm cyrus-sasl libevent libev zeromq openldap graphviz python 4 | 5 | [environment] 6 | CC = gcc -fPIC 7 | 8 | [environment-libgcrypt] 9 | <= environment 10 | CFLAGS = ${environment:CFLAGS} -std=gnu89 -fheinous-gnu-extensions 11 | 12 | [libgcrypt] 13 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-asm --enable-static 14 | version = 1.5.3 15 | name = libgcrypt 16 | url = ${urls:source}/${:name}-${:version}.tar.bz2 17 | environment-section = environment-libgcrypt 18 | 19 | [cyrus-sasl] 20 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:patch_cyrus_sasl 21 | 22 | [db] 23 | version = 5.3.21 24 | name = db 25 | url = ${urls:source}/${:name}-${:version}.tar.gz 26 | patches = ${:patches-dir}/${:name}-${:version}-osx-atomic.patch 27 | 28 | [environment-libgnutls] 29 | <= environment 30 | NETTLE_LIBS = -L${options:prefix}/lib -Wl,-rpath,@loader_path/../lib -lnettle 31 | NETTLE_CFLAGS = -I${options:prefix}/include 32 | HOGWEED_LIBS = -L${options:prefix}/lib -Wl,-rpath,@loader_path/../lib -lhogweed 33 | HOGWEED_CFLAGS = -I${options:prefix}/include 34 | GMP_LIBS = -L${options:prefix}/lib -Wl,-rpath,@loader_path/../lib -lgmp 35 | GMP_CFLAGS = -I${options:prefix}/include 36 | LIBTASN1_LIBS = -L${options:prefix}/lib -Wl,-rpath,@loader_path/../lib -ltasn1 37 | LIBTASN1_CFLAGS = -I${options:prefix}/include 38 | 39 | [libgnutls] 40 | name = gnutls 41 | url = ${urls:source}/${:name}-${:version}.tar.bz2 42 | version = 3.2.12.1 43 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:autoreconf 44 | environment-section = environment-libgnutls 45 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-silent-rules 46 | patches = 47 | 48 | [libtasn1] 49 | <= options 50 | recipe = hexagonit.recipe.cmmi 51 | name = libtasn1 52 | configure-options = --prefix=${options:prefix} --disable-dependency-tracking 53 | url = ${urls:source}/${:name}-${:version}.tar.gz 54 | version = 3.4 55 | environment-section = libtasn1-environment 56 | 57 | [libtasn1-environment] 58 | # sometimes libtasn1 tries to run automake (maybe because of timestamp skew??) 59 | # but automake-1.13 that it needs is not installed 60 | AUTOMAKE=: 61 | 62 | [nettle] 63 | <= options 64 | recipe = hexagonit.recipe.cmmi 65 | name = nettle 66 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:add_ld_library_path_to_configure 67 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-dependency-tracking 68 | url = ${urls:source}/${:name}-${:version}.tar.gz 69 | version = 2.7.1 70 | 71 | [gmp] 72 | <= options 73 | recipe = hexagonit.recipe.cmmi 74 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-dependency-tracking --with-pic 75 | name = gmp 76 | url = ${urls:source}/${:name}-${:version}.tar.bz2 77 | version = 6.1.0 78 | 79 | -------------------------------------------------------------------------------- /buildout-build-osx-xcode-6.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-osx-xcode-5.cfg 3 | 4 | [environment] 5 | CXX = g++ -fPIC 6 | 7 | [zeromq] 8 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-dependency-tracking --with-pic --enable-static 9 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:autogen 10 | patches = ${:patches-dir}/${:name}-${:version}-newline.patch 11 | -------------------------------------------------------------------------------- /buildout-build-osx-xcode-7.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-osx-xcode-6.cfg 3 | 4 | [environment-libev] 5 | CFLAGS = ${environment:CFLAGS} -std=c99 6 | 7 | [libev] 8 | environment-section = environment-libev 9 | -------------------------------------------------------------------------------- /buildout-build-osx-xcode-8.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-osx-xcode-7.cfg 3 | 4 | [libtasn1] 5 | version = 4.8 6 | 7 | [libgcrypt] 8 | version = 1.7.3 9 | 10 | [libgpg-error] 11 | version = 1.24 12 | 13 | [libgnutls] 14 | version = 3.4.15 15 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-silent-rules -without-p11-kit 16 | 17 | [nettle] 18 | version = 3.2 19 | -------------------------------------------------------------------------------- /buildout-build-osx.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | parts = zlib ncurses readline openssl openssh libgpg-error libgcrypt gettext libgnutls bzip2 sqlite3 db libxml2 libxslt libffi gdbm cyrus-sasl libevent libev zeromq openldap graphviz python 4 | 5 | [options] 6 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:change_install_name 7 | 8 | [environment] 9 | # rpath is different on osx 10 | LDFLAGS = -L${options:prefix}/lib -Wl,-rpath,@loader_path/../lib 11 | 12 | [ncurses] 13 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-big-core --disable-root-environ --disable-macros --disable-rpath --with-shared --disable-largefile --without-ada --without-cxx-binding --with-terminfo-dirs=/etc/terminfo:/lib/terminfo:/usr/share/terminfo --disable-mixed-case 14 | pre-make-hook = ${buildout:directory}/src/hooks/osx.py:patch_ncurses 15 | 16 | [openssl] 17 | # openssl-1.0.0.d/config script doesn't check for 64bit compiler on OSX 18 | configure-command = ./Configure 19 | configure-options = darwin64-x86_64-cc --prefix=${:prefix} --shared --libdir=lib --openssldir=/etc/openssl/ 20 | pre-make-hook = ${buildout:directory}/src/hooks/osx.py:patch_openssl 21 | 22 | [openssh] 23 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:add_ld_library_path_to_configure 24 | 25 | [libgcrypt] 26 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-asm 27 | 28 | [cyrus-sasl] 29 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:patch_cyrus_sasl 30 | 31 | [python] 32 | environment-section = environment-python-osx 33 | configure-options= --without-gcc --with-system-ffi 34 | pre-make-hook = ${buildout:directory}/src/hooks/osx.py:patch_python_Makefile_after_configure 35 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:patch_python 36 | patches = ${:patches-dir}/${:name}-${:version}-osx-Makefile.patch 37 | ${:patches-dir}/${:name}-${:version}-osx-configure.patch 38 | ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 39 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 40 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 41 | 42 | [environment-python-osx] 43 | <= environment 44 | CC = cc -fPIC 45 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/sasl -I${options:prefix}/include/gnutls -I${options:prefix}/include/graphviz -I${options:prefix}/include/libexslt -I${options:prefix}/include/libxml2 -I${options:prefix}/include/libxslt -I${options:prefix}/include/ncurses -I${options:prefix}/include/openssl -I${options:prefix}/include/readline -I${options:prefix}/lib/libffi-${libffi:version}/include 46 | LDFLAGS = ${environment:LDFLAGS} -L${options:prefix}/lib/engines -L${options:prefix}/lib/gettext -L${options:prefix}/lib/graphviz -L${options:prefix}/lib/libxslt-plugins -L${options:prefix}/lib/pkgconfig -L${options:prefix}/lib/sasl2 47 | 48 | [gettext] 49 | patches = ${:patches-dir}/${:name}-${:version}-osx-gettext-tools.patch 50 | ${:patches-dir}/${:name}-${:version}-osx-gettext-tools-Makefile.patch 51 | 52 | [libevent] 53 | pre-configure-hook = ${buildout:directory}/src/hooks/osx.py:autogen 54 | -------------------------------------------------------------------------------- /buildout-build-redhat-32bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | 4 | [openssl] 5 | openssldir = /etc/pki/tls/ 6 | -------------------------------------------------------------------------------- /buildout-build-redhat-64bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-redhat-32bit.cfg 3 | 4 | [options] 5 | configure-options = --prefix=${options:prefix} --disable-rpath --libdir=${options:prefix}/lib64 6 | 7 | [options-no-rpath] 8 | configure-options = --prefix=${options:prefix} --libdir=${options:prefix}/lib64 9 | 10 | [environment] 11 | CC = gcc -static-libgcc -fPIC 12 | LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,\$$ORIGIN,-rpath,\$$ORIGIN/../lib64,-rpath-link,\$$ORIGIN,-rpath-link,\$$ORIGIN/../lib64 13 | SHARED_LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,-rpath,\$$ORIGIN,\$$ORIGIN/../lib64,-rpath-link,\$$ORIGIN,-rpath-link,\$$ORIGIN/../lib64 14 | LIBPATH = -L${options:prefix}/lib64 15 | DYLD_LIBRARY_PATH = ${options:prefix}/lib64 16 | LD_LIBRARY_PATH = ${:DYLD_LIBRARY_PATH} 17 | PKG_CONFIG_PATH = ${options:prefix}/lib64/pkgconfig 18 | 19 | [openssl] 20 | configure-options = --prefix=${options:prefix} --openssldir=${:openssldir} --shared --libdir=lib64 -fPIC -Wl,-rpath,\\\$\$\$\$\\\$\$\$\$ORIGIN/../lib 21 | 22 | [openssh] 23 | configure-options = --prefix=${options:prefix} --without-rpath --without-openssl-header-check --with-ssl-dir=${options:prefix} --libdir=${options:prefix}/lib64 24 | 25 | [cyrus-sasl] 26 | configure-options = --prefix=${options:prefix} --without-saslauthd --without-authdaemond --disable-java --disable-dependency-tracking --disable-rpath --disable-java --without-gdbm --without-dblib --disable-macos-framework --enable-static --libdir=${options:prefix}/lib64 27 | patches = ${:patches-dir}/${:name}-${:version}-configure.patch 28 | ${:patches-dir}/${:name}-${:version}-ltconfig.patch 29 | ${:patches-dir}/${:name}-${:version}-digestmd5.patch 30 | ${:patches-dir}/${:name}-${:version}-redhat-lib64.patch 31 | 32 | [openldap] 33 | configure-options = ${options:configure-options} --disable-slapd --disable-backends --libdir=${options:prefix}/lib64 34 | 35 | [python-environment] 36 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/gnutls -I${options:prefix}/include/graphviz -I${options:prefix}/include/libexslt -I${options:prefix}/include/libxml2 -I${options:prefix}/include/libxslt -I${options:prefix}/include/ncurses -I${options:prefix}/include/openssl -I${options:prefix}/include/readline -I${options:prefix}/include/sasl -I${options:prefix}/lib64/libffi-${libffi:version}/include 37 | LDFLAGS = ${environment:LDFLAGS} -Wl,-rpath,\$$ORIGIN/../.. -L${options:prefix}/lib64/engines -L${options:prefix}/lib64/gettext -L${options:prefix}/lib64/graphviz -L${options:prefix}/lib64/libxslt-plugins -L${options:prefix}/lib64/pkgconfig -L${options:prefix}/lib64/python2.7 -L${options:prefix}/lib64/sasl2 38 | 39 | [python] 40 | configure-options = --prefix=${options:prefix} --enable-shared --enable-ipv6 --with-dbmliborder=gdbm --with-gcc --with-system-ffi --libdir=${options:prefix}/lib64 41 | patches = ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 42 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 43 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 44 | ${:patches-dir}/${:name}-${:version}-redhat-lib64.patch 45 | ${:patches-dir}/${:name}-${:version}-linux-symlink.patch 46 | 47 | [bzip2] 48 | patches = ${:patches-dir}/${:name}-${:version}-unix-Makefile.patch 49 | ${:patches-dir}/${:name}-${:version}-redhat-lib64.patch 50 | 51 | [gettext] 52 | configure-options = ${options:configure-options} --without-git --without-cvs --libdir=${options:prefix}/lib64 53 | 54 | [readline] 55 | configure-options = --prefix=${options:prefix} --libdir=${options:prefix}/lib64 56 | -------------------------------------------------------------------------------- /buildout-build-redhat-8-64bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-redhat-64bit.cfg 3 | buildout-build-gcc5.cfg 4 | 5 | [python] 6 | patches += ${:patches-dir}/${:name}-${:version}-redhat-segfault-workaround.patch 7 | -------------------------------------------------------------------------------- /buildout-build-redhat-ppc64.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-redhat-64bit.cfg 3 | 4 | [openssl] 5 | configure-command = ./Configure 6 | configure-options = linux-ppc64 --prefix=${:prefix} --shared --libdir=lib64 --openssldir=${:openssldir} 7 | 8 | [cyrus-sasl] 9 | configure-options = --prefix=${options:prefix} --without-saslauthd --without-authdaemond --disable-java --disable-dependency-tracking --disable-rpath --disable-java --without-gdbm --without-dblib --disable-macos-framework --enable-static --libdir=${options:prefix}/lib64 --build=ppc 10 | patches = ${:patches-dir}/${:name}-${:version}-configure.patch 11 | ${:patches-dir}/${:name}-${:version}-ltconfig.patch 12 | ${:patches-dir}/${:name}-${:version}-digestmd5.patch 13 | ${:patches-dir}/${:name}-${:version}-redhat-lib64.patch 14 | -------------------------------------------------------------------------------- /buildout-build-redhat-ppc64le.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-redhat-ppc64.cfg 3 | 4 | [options] 5 | configure-options = ppc64le-linux-gnu --prefix=${options:prefix} --disable-rpath --libdir=${options:prefix}/lib64 6 | 7 | [options-no-rpath] 8 | configure-options = ppc64le-linux-gnu --prefix=${options:prefix} --libdir=${options:prefix}/lib64 9 | 10 | [openssl] 11 | configure-command = ./Configure 12 | configure-options = linux-ppc64le --prefix=${:prefix} --shared --libdir=lib64 --openssldir=${:openssldir} 13 | patches = 14 | 15 | [openssh] 16 | version = 7.3p1 17 | configure-options = ppc64le-linux-gnu --prefix=${options:prefix} --without-rpath --without-openssl-header-check --with-ssl-dir=${options:prefix} --libdir=${options:prefix}/lib64 18 | patches = 19 | 20 | [ncurses] 21 | version = 6.0 22 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-big-core --disable-root-environ --disable-macros --disable-rpath --with-shared --disable-largefile --without-ada --without-cxx-binding --with-terminfo-dirs=/etc/terminfo:/lib/terminfo:/usr/share/terminfo 23 | 24 | [libgpg-error] 25 | configure-options = ppc64le-linux-gnu --prefix=${options:prefix} --enable-static 26 | 27 | [libffi] 28 | configure-options = --prefix=${options:prefix} --disable-rpath --libdir=${options:prefix}/lib64 29 | 30 | [gettext] 31 | configure-options = ${options:configure-options} --without-git --without-cvs 32 | 33 | [zeromq] 34 | version = 4.1.5 35 | configure-options = ppc64le-linux-gnu --prefix=${options:prefix} --disable-rpath --disable-dependency-tracking --libdir=${options:prefix}/lib64 36 | patches = 37 | 38 | [zlib] 39 | configure-options = --prefix=${options:prefix} --libdir=${options:prefix}/lib64 40 | -------------------------------------------------------------------------------- /buildout-build-solaris-11.4-64bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-solaris-64bit.cfg 3 | buildout-build-gcc5.cfg 4 | 5 | -------------------------------------------------------------------------------- /buildout-build-solaris-11.4-sparc.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-solaris-sparc.cfg 3 | buildout-build-gcc5.cfg 4 | 5 | -------------------------------------------------------------------------------- /buildout-build-solaris-64bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | 4 | [options] 5 | configure-options = --prefix=${options:prefix} --disable-rpath --libdir=${options:prefix}/lib64 6 | patch-binary = gpatch 7 | 8 | [options-no-rpath] 9 | configure-options = --prefix=${options:prefix} --libdir=${options:prefix}/lib64 10 | 11 | [environment] 12 | CC = gcc -static-libgcc -fPIC -m64 13 | LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,\$$ORIGIN,-rpath,\$$ORIGIN/../lib64 14 | SHARED_LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,\$$ORIGIN,-rpath,\$$ORIGIN/../lib64 15 | LIBPATH = -L${options:prefix}/lib64 16 | DYLD_LIBRARY_PATH = ${options:prefix}/lib64 17 | LD_LIBRARY_PATH = ${:DYLD_LIBRARY_PATH} 18 | PKG_CONFIG_PATH = ${options:prefix}/lib64/pkgconfig 19 | CFLAGS = -I${options:prefix}/include -m64 20 | CPPFLAGS = ${:CFLAGS} 21 | CXXFLAGS = ${:CFLAGS} 22 | OPT = -m64 23 | 24 | [openssl] 25 | configure-command = ./Configure 26 | configure-options = solaris64-x86_64-gcc --openssldir=/etc/openssl/ --prefix=${options:prefix} --shared --libdir=lib64 -fPIC -Wl,-rpath,\\\$\$\$\$\\\$\$\$\$ORIGIN/../lib64 27 | 28 | environment-section = openssl-environment 29 | patches = ${:patches-dir}/${:name}-${:version}-solaris-configure.patch 30 | 31 | [openssl-environment] 32 | <= environment 33 | CFLAG = -m64 34 | CC = gcc 35 | 36 | [openssh] 37 | environment-section = openssh-environment 38 | 39 | [openssh-environment] 40 | <=environment 41 | LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,\$$ORIGIN,-rpath,${options:prefix}/lib64 42 | SHARED_LDFLAGS = -L${options:prefix}/lib64 -Wl,-rpath,\$$ORIGIN,-rpath,${options:prefix}/lib64 43 | 44 | [libxslt] 45 | name = libxslt 46 | patches = ${:patches-dir}/${:name}-${:version}-configure.patch 47 | pre-configure-hook = ${options:hooks-dir}/unix.py:chmod_configure 48 | 49 | [graphviz] 50 | make-binary = gmake 51 | configure-options = --prefix=${options:prefix} --disable-rpath --disable-dependency-tracking --enable-swig=no --enable-sharp=no --enable-guile=no --enable-java=no --enable-lua=no --enable-ocaml=no --enable-perl=no --enable-php=no --enable-python=no --enable-r=no --enable-ruby=no --enable-tcl=no --with-rsvg=no 52 | 53 | [openldap] 54 | configure-options = --prefix=${options:prefix} --disable-slapd --disable-backends --disable-rpath --libdir=${options:prefix}/lib64 55 | 56 | [python] 57 | environment-section = python-environment 58 | configure-options = --prefix=${options:prefix} --enable-shared --enable-ipv6 --with-dbmliborder=gdbm --with-gcc --with-system-ffi --libdir=${options:prefix}/lib64 --with-system-ffi 59 | patches = ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 60 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 61 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 62 | ${:patches-dir}/${:name}-${:version}-redhat-lib64.patch 63 | ${:patches-dir}/${:name}-${:version}-linux-symlink.patch 64 | ${:patches-dir}/${:name}-${:version}-solaris-elf.patch 65 | 66 | [python-environment] 67 | <= environment 68 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/gnutls -I${options:prefix}/include/graphviz -I${options:prefix}/include/libexslt -I${options:prefix}/include/libxml2 -I${options:prefix}/include/libxslt -I${options:prefix}/include/ncurses -I${options:prefix}/include/openssl -I${options:prefix}/include/readline -I${options:prefix}/include/sasl -I${options:prefix}/lib64/libffi-${libffi:version}/include 69 | LDFLAGS = -m64 ${environment:LDFLAGS} -Wl,-rpath,\$$ORIGIN/../.. -L${options:prefix}/lib64/engines -L${options:prefix}/lib64/gettext -L${options:prefix}/lib64/graphviz -L${options:prefix}/lib64/libxslt-plugins -L${options:prefix}/lib64/pkgconfig -L${options:prefix}/lib64/python2.7 -L${options:prefix}/lib64/sasl2 70 | OPT = -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -m64 71 | 72 | [gettext] 73 | environment-section = gettext-environment 74 | 75 | [gettext-environment] 76 | <=environment 77 | CFLAGS = -I${options:prefix}/include -m64 78 | CPPFLAGS = ${:CFLAGS} 79 | 80 | [libgnutls] 81 | environment-section = libgnutls-environment 82 | 83 | [libgnutls-environment] 84 | <=environment 85 | CFLAGS = -I${options:prefix}/include -m64 86 | CPPFLAGS = ${:CFLAGS} 87 | CXXFLAGS = -g -O2 -m64 88 | 89 | [libgcrypt] 90 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --enable-static --disable-asm 91 | 92 | [bzip2] 93 | patches = ${:patches-dir}/${:name}-${:version}-unix-Makefile.patch 94 | ${:patches-dir}/${:name}-${:version}-solaris-Makefile.patch 95 | 96 | [zeromq] 97 | patches = ${:patches-dir}/${:name}-${:version}-newline.patch 98 | ${:patches-dir}/${:name}-${:version}-test_disconnect_inproc.cpp.patch 99 | -------------------------------------------------------------------------------- /buildout-build-solaris-sparc.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-solaris-64bit.cfg 3 | 4 | [openssl] 5 | configure-command = ./Configure 6 | configure-options = solaris64-sparcv9-gcc --openssldir=/etc/openssl/ --prefix=${options:prefix} --shared --libdir=lib64 -fPIC -Wl,-rpath,\\\$\$\$\$\\\$\$\$\$ORIGIN/../lib64 7 | -------------------------------------------------------------------------------- /buildout-build-suse-15.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | buildout-build-gcc5.cfg -------------------------------------------------------------------------------- /buildout-build-suse-ppc64.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-redhat-ppc64.cfg 3 | 4 | [openssl] 5 | openssldir = /etc/ssl/ 6 | 7 | [libgcrypt] 8 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --enable-static --libdir=${options:prefix}/lib64 9 | -------------------------------------------------------------------------------- /buildout-build-suse-ppc64le.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-suse-ppc64.cfg buildout-build-redhat-ppc64le.cfg 3 | 4 | [openssl] 5 | openssldir = /etc/ssl/ 6 | -------------------------------------------------------------------------------- /buildout-build-ubuntu-16.04.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-ubuntu.cfg 3 | buildout-build-gcc5.cfg -------------------------------------------------------------------------------- /buildout-build-ubuntu.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | 4 | [python] 5 | patches = ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 6 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 7 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 8 | ${:patches-dir}/${:name}-${:version}-ubuntu-platform.patch 9 | ${:patches-dir}/${:name}-${:version}-linux-symlink.patch 10 | -------------------------------------------------------------------------------- /buildout-build-windows-64bit.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build-windows.cfg 3 | 4 | [environment-windows] 5 | FrameworkDir = ${:WinDir}\Microsoft.NET\Framework64 6 | VSINSTALLDIR = ${:ProgramFiles64}\Microsoft Visual Studio 9.0 7 | ProgramFiles64 = ${:SystemDrive}\Program Files (x86) 8 | VSBIN = ${:VCRoot}\BIN\amd64 9 | ATLMFC_LIB = ${:VCRoot}\ATLMFC\LIB\amd64 10 | VSLIB = ${:VCRoot}\LIB\amd64 11 | VC90CRT = ${:VCRoot}\redist\amd64\Microsoft.VC90.CRT 12 | SDKLIB = ${:WindowsSdkDir}\lib\x64 13 | SDKLIB32 = ${:WindowsSdkDir}\lib 14 | SDKBIN = ${:WindowsSdkDir}\bin\x64 15 | PerlExe = ${:SystemDrive}\Perl64\bin\perl.exe 16 | 17 | [openssl] 18 | configure-options = Configure VC-WIN64A enable-zlib enable-static-engine enable-zlib-dynamic enable-capieng no-asm no-shared --prefix=${options:prefix} 19 | pre-make-hook = ${options:hooks-dir}\windows.py:openssl_pre_make64 20 | 21 | [db] 22 | make-binary = devenv 23 | make-options = build_windows\Berkeley_DB.sln /build "Release|x64" 24 | post-make-hook = ${options:hooks-dir}\windows.py:db_post_make64 25 | 26 | [python-win] 27 | make-options = pcbuild.sln /useenv /build "Release|x64" 28 | post-make-hook = ${options:hooks-dir}\windows.py:python_post_make64 29 | -------------------------------------------------------------------------------- /buildout-build-windows.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-build.cfg 3 | parts = mkdir zlib db openssl libiconv-no-nls-static bzip2 gettext-static libiconv-static tcl tcl-win tk tk-win sqlite3 sqlite3-win libxml2 libxml2-win libxslt libxslt-win libevent python python-win 4 | 5 | [environment-windows] 6 | APPVER = 5.02 7 | CPU = i386 8 | TARGETOS = WINNT 9 | FrameworkVersion = v2.0.50727 10 | OS = Windows_NT 11 | RegKeyPath = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VC7 12 | VSRegKeyPath = HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7 13 | SystemDrive = C: 14 | WinDir = ${:SystemDrive}\WINDOWS 15 | ProgramFiles = ${:SystemDrive}\Program Files 16 | ORIGINALPATH = ${:WinDir}\system32;${:WinDir};${:WinDir}\System32\Wbem;${:ProgramFiles}\Git\cmd;${:ProgramFiles}\Git\bin;C:\Python27 17 | 18 | FrameworkDir = ${:WinDir}\Microsoft.NET\Framework 19 | FxTools = ${:FrameworkDir}\v3.5;${:FrameworkDir}\${:FrameworkVersion} 20 | WindowsSdkDir = ${:ProgramFiles}\Microsoft SDKs\Windows\v7.0 21 | VSINSTALLDIR = ${:ProgramFiles}\Microsoft Visual Studio 9.0 22 | VCRoot = ${:VSINSTALLDIR}\VC 23 | VCINSTALLDIR = ${:VCRoot} 24 | VC90CRT = ${:VCRoot}\redist\x86\Microsoft.VC90.CRT 25 | INCLUDE = ${:VCRoot}\Include;${:WindowsSdkDir}\Include;${:WindowsSdkDir}\Include\gl;${:VCRoot}\ATLMFC\INCLUDE; 26 | MSSdk = ${:WindowsSdkDir} 27 | NODEBUG = 1 28 | SdkSetupDir = ${:WindowsSdkDir}\Setup 29 | SdkTools = ${:WindowsSdkDir}\Bin 30 | DevEnvDir = ${:VSINSTALLDIR}\Common7\IDE 31 | INCLUDE = ${:VCRoot}\ATLMFC\INCLUDE;${:VCRoot}\INCLUDE;${:WindowsSdkDir}\include;${:PREFIX}\include 32 | ATLMFC_LIB = ${:VCRoot}\ATLMFC\LIB 33 | VSLIB = ${:VCRoot}\LIB 34 | SDKLIB = ${:WindowsSdkDir}\lib 35 | SDKBIN = ${:WindowsSdkDir}\bin 36 | LIB = ${:ATLMFC_LIB};${:VSLIB};${:SDKLIB};${:PREFIX}\lib 37 | LIBPATH = ${:FrameworkDir};${:FrameworkDir}\${:FrameworkVersion};${:ATLMFC_LIB};${:VSLIB} 38 | Recipe = hexagonit.recipe.cmmi 39 | VSBIN = ${:VCRoot}\BIN 40 | PosixHomeDir=${:SystemDrive}\Cygwin\home\Administrator 41 | GitDir = ${:PosixHomeDir}\git 42 | GitBinDir = ${:GitDir}\bin 43 | CygwinBinDir = ${:SystemDrive}\Cygwin\bin 44 | PythonDir = ${:PosixHomeDir}\python 45 | PythonBinDir = ${:PythonDir}\bin 46 | PATH = ${:DevEnvDir};${:VSBIN};${:VSINSTALLDIR}\Common7\Tools;${:VSINSTALLDIR}\Common7\Tools\bin;${:FrameworkDir};${:FrameworkDir}\Microsoft .NET Framework 3.5 (Pre-Release Version);${:FrameworkDir}\${:FrameworkVersion};${:VCRoot}\VCPackages;${:SDKBIN};${:WinDir}\system32;${:WinDir};${:WinDir}\System32\Wbem;${:GitDir}\cmd;${:GitBinDir};${:PythonBinDir};${:CygwinBinDir} 47 | PREFIX = ${options:prefix} 48 | IIPREFIX = ${options:prefix} 49 | PerlExe = ${:SystemDrive}\Perl\bin\perl.exe 50 | 51 | MSVCDIR = ${:VSINSTALLDIR} 52 | 53 | [environment_dup] 54 | LIB = ${:VCRoot}\Lib;${:WindowsSdkDir}\Lib;${:VCRoot}\ATLMFC\LIB; 55 | Path = ${:VCRoot}\Bin;${:VCRoot}\vcpackages;${:VSINSTALLDIR}\Common7\IDE;${:WindowsSdkDir}\Bin;${:WinDir}\Microsoft.NET\Framework\v3.5;${:WinDir}\Microsoft.NET\Framework\${:FrameworkVersion};${:WindowsSdkDir}\Setup;${:WinDir}\system32;${:WinDir};${:WinDir}\System32\Wbem;${:ProgramFiles}\Git\cmd;${:ProgramFiles}\Git\bin;C:\Python27 56 | 57 | [options] 58 | configure-command = true 59 | configure-options = 60 | make-binary = nmake 61 | make-options = -f win32/Makefile.msc 62 | environment-section = environment-windows 63 | prefix = ${buildout:directory}\dist 64 | hooks-dir = ${buildout:directory}\src\hooks 65 | 66 | [mkdir] 67 | recipe = z3c.recipe.mkdir 68 | paths = dist 69 | dist/bin 70 | dist/lib 71 | dist/include 72 | 73 | [zlib] 74 | name = zlib 75 | version = 1.2.8 76 | url = ${urls:source}/${:name}-${:version}.tar.gz 77 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 78 | 79 | [openssl] 80 | configure-command = ${environment-windows:PerlExe} 81 | configure-options = Configure VC-WIN32 enable-zlib enable-static-engine enable-zlib-dynamic enable-capieng no-asm no-shared --prefix=${options:prefix} 82 | make-targets = install 83 | make-options = -f ms\nt.mak 84 | pre-make-hook = ${options:hooks-dir}\windows.py:openssl_pre_make 85 | name = openssl 86 | patches = ${:patches-dir}/${:name}-${:version}-windows-batchfile.patch 87 | 88 | [libiconv-no-nls] 89 | <= options 90 | gnu 91 | recipe = hexagonit.recipe.cmmi 92 | # last version that has a Makefile for MSVC 93 | version = 1.11.1 94 | make-options = -f Makefile.msvc NO_NLS=1 MFLAGS=-MT PREFIX=${options:prefix} 95 | name = libiconv 96 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 97 | 98 | [libiconv-no-nls-static] 99 | <= options 100 | gnu 101 | recipe = hexagonit.recipe.cmmi 102 | # last version that has a Makefile for MSVC 103 | version = 1.9.1 104 | make-options = -f Makefile.msvc NO_NLS=1 MFLAGS=-MT PREFIX=${options:prefix} 105 | name = libiconv 106 | 107 | [bzip2] 108 | configure-command = true 109 | make-options = -f makefile.msc PREFIX=${options:prefix} 110 | name = bzip2 111 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 112 | 113 | [gettext] 114 | # last version that has a Makefile for MSVC 115 | version = 0.14.6 116 | make-options = -f Makefile.msvc MFLAGS=-MT PREFIX=${options:prefix} 117 | patches = ${:patches-dir}/${:name}-${:version}-windows-localename.patch 118 | 119 | [gettext-static] 120 | <= options 121 | gnu 122 | recipe = hexagonit.recipe.cmmi 123 | version = 0.12.1 124 | name = gettext 125 | make-options = -f Makefile.msvc MFLAGS=-MT PREFIX=${options:prefix} 126 | 127 | [libiconv] 128 | # last version that has a Makefile for MSVC 129 | version = 1.11.1 130 | make-options = -f Makefile.msvc MFLAGS=-MT PREFIX=${options:prefix} 131 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 132 | 133 | [libiconv-static] 134 | <= options 135 | gnu 136 | recipe = hexagonit.recipe.cmmi 137 | version = 1.9.1 138 | name = libiconv 139 | make-options = -f Makefile.msvc MFLAGS=-MT PREFIX=${options:prefix} 140 | 141 | [tcl] 142 | <= options 143 | recipe = hexagonit.recipe.cmmi 144 | name = tcl 145 | version = 8.5.15 146 | url = ${urls:source}/${:name}${:version}-src.tar.gz 147 | configure-command = true 148 | make-binary = true 149 | 150 | [tcl-win] 151 | <= options 152 | recipe = hexagonit.recipe.cmmi 153 | path = ${buildout:directory}\parts\tcl__compile__\tcl8.5.15\win 154 | make-binary = nmake 155 | make-options = -f Makefile.vc all OPTS=static,threads INSTALLDIR=${options:prefix} 156 | 157 | [tk] 158 | <= options 159 | recipe = hexagonit.recipe.cmmi 160 | name = tk 161 | version = 8.5.15 162 | url = ${urls:source}/${:name}${:version}-src.tar.gz 163 | configure-command = true 164 | make-binary = true 165 | 166 | [tk-win] 167 | <= options 168 | recipe = hexagonit.recipe.cmmi 169 | path = ${buildout:directory}\parts\tk__compile__\tk8.5.15\win 170 | make-binary = nmake 171 | make-options = -f Makefile.vc all OPTS=static,threads INSTALLDIR=${options:prefix} TCLDIR=${buildout:directory}\parts\tcl__compile__\tcl8.5.15 172 | 173 | [sqlite3] 174 | make-binary = true 175 | version = autoconf-3070602 176 | patches = ${:patches-dir}/sqlite3-autoconf-3070602-windows-makefile.patch 177 | 178 | [sqlite3-win] 179 | <= options 180 | recipe = hexagonit.recipe.cmmi 181 | path = ${buildout:directory}\parts\sqlite3__compile__\sqlite-autoconf-3070602\tea\win 182 | make-binary = nmake 183 | make-options = -f Makefile.vc all install OPTS=static,threads INSTALLDIR=${options:prefix} 184 | 185 | [db] 186 | make-binary = devenv 187 | make-options = build_windows\Berkeley_DB.sln /build "Release|Win32" 188 | configure-command = true 189 | patches = ${:patches-dir}/db-5.1.25-windows-solution.patch 190 | post-make-hook = ${options:hooks-dir}\windows.py:db_post_make 191 | 192 | [libxml2] 193 | make-binary = true 194 | patches = ${:patches-dir}/libxml2-${:version}-windows-Makefile.patch 195 | 196 | [libxml2-win] 197 | <= options 198 | recipe = hexagonit.recipe.cmmi 199 | path = ${buildout:directory}\parts\libxml2__compile__\libxml2-${libxml2:version}\win32 200 | configure-command = cscript 201 | configure-options = configure.js compiler=msvc cruntime=/MT prefix=${options:prefix} include=${options:prefix}\include lib=${options:prefix}\lib 202 | make-options = -f Makefile.msvc 203 | 204 | [libxslt] 205 | make-binary = true 206 | 207 | [libxslt-win] 208 | <= options 209 | recipe = hexagonit.recipe.cmmi 210 | path = ${buildout:directory}\parts\libxslt__compile__\libxslt-${libxslt:version}\win32 211 | configure-command = cscript 212 | configure-options = configure.js compiler=msvc cruntime=/MT prefix=${options:prefix} include=${options:prefix}\include lib=${options:prefix}\lib 213 | make-options = -f Makefile.msvc 214 | 215 | [cyrus-sasl] 216 | make-options = /f NTMakefile CFG=Release DB_INCLUDE=${options:prefix}\include DB_LIBPATH=${options:prefix}\lib OPENSSL_INCLUDE=${options:prefix}\include OPENSSL_LIBPATH=${options:prefix}\lib DB_LIB=libdb51.lib 217 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 218 | ${:patches-dir}/${:name}-${:version}-windows-plugins-Makefile.patch 219 | ${:patches-dir}/${:name}-${:version}-digestmd5.patch 220 | ${:patches-dir}/${:name}-${:version}-digestmd5.patch 221 | 222 | [libevent] 223 | version = 2.0.17 224 | make-options = -f Makefile.nmake 225 | make-targets = static_libs 226 | post-make-hook = ${options:hooks-dir}\windows.py:libevent_post_make 227 | 228 | [python] 229 | make-binary = true 230 | patches = ${:patches-dir}/${:name}-${:version}-windows-Makefile.patch 231 | ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 232 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 233 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 234 | ${:patches-dir}/${:name}-${:version}-windows-getpathp.patch 235 | ${:patches-dir}/${:name}-${:version}-windows-make_buildinfo.patch 236 | ${:patches-dir}/${:name}-${:version}-windows-make_versioninfo.patch 237 | post-make-hook = 238 | 239 | [python-win] 240 | <= options 241 | recipe = hexagonit.recipe.cmmi 242 | path = ${buildout:directory}\parts\python__compile__\python-${python:version}\PCbuild 243 | make-binary = devenv 244 | make-options = pcbuild.sln /useenv /build "Release|Win32" 245 | environment-section = python-win-environment 246 | post-make-hook = ${options:hooks-dir}\windows.py:python_post_make 247 | 248 | [python-win-environment] 249 | <= environment-windows 250 | bsddbDir = ${options:prefix}\..\parts\db__compile__\db-5.1.25\src\db 251 | 252 | [libffi] 253 | make-binary = true 254 | -------------------------------------------------------------------------------- /buildout-build.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | develop = . 3 | 4 | installed = .installed-build.cfg 5 | 6 | parts = zlib ncurses readline openssl openssh libgpg-error libgcrypt gettext libiconv libgnutls bzip2 sqlite3 db libxml2 libxslt libffi gdbm cyrus-sasl libevent libev zeromq openldap graphviz python 7 | 8 | # location of the download cache is specified by the download-cache option 9 | download-cache = .cache 10 | 11 | log-level = DEBUG 12 | 13 | [options] 14 | keep-compile-dir = true 15 | configure-options = --prefix=${options:prefix} --disable-rpath 16 | prefix = ${buildout:directory}/dist 17 | patches-dir = ${buildout:directory}/src/patches 18 | patch-options = -p1 19 | hooks-dir = ${buildout:directory}/src/hooks 20 | environment-section = environment 21 | ignore-existing = true 22 | 23 | [options-no-rpath] 24 | <= options 25 | configure-options = --prefix=${options:prefix} 26 | 27 | [urls] 28 | gnu = ${urls:source} 29 | source = ftp://python.infinidat.com/python/sources 30 | 31 | [gnu] 32 | name = ${:_buildout_section_name_} 33 | url = ${urls:gnu}/${:name}-${:version}.tar.gz 34 | 35 | [gnu-bz2] 36 | name = ${:_buildout_section_name_} 37 | url = ${urls:gnu}/${:name}-${:version}.tar.bz2 38 | 39 | [environment] 40 | CC = gcc -static-libgcc -fPIC 41 | LDFLAGS = -L${options:prefix}/lib -Wl,-rpath,\$$ORIGIN,-rpath,\$$ORIGIN/../lib,-rpath-link,\$$ORIGIN,-rpath-link,\$$ORIGIN/../lib 42 | SHARED_LDFLAGS = -L${options:prefix}/lib -Wl,-rpath,\$$ORIGIN,-rpath,\$$ORIGIN/../lib,-rpath-link,\$$ORIGIN,-rpath-link,\$$ORIGIN/../lib 43 | CFLAGS = -I${options:prefix}/include 44 | CPPFLAGS = ${:CFLAGS} 45 | LIBPATH = -L${options:prefix}/lib 46 | DYLD_LIBRARY_PATH = ${options:prefix}/lib 47 | LD_LIBRARY_PATH = ${:DYLD_LIBRARY_PATH} 48 | PKG_CONFIG_PATH = ${options:prefix}/lib/pkgconfig 49 | 50 | [zlib] 51 | <= options-no-rpath 52 | recipe = hexagonit.recipe.cmmi 53 | version = 1.2.8 54 | name = zlib 55 | url = ${urls:source}/${:name}-${:version}.tar.gz 56 | 57 | [ncurses] 58 | <= options 59 | gnu 60 | recipe = hexagonit.recipe.cmmi 61 | version = 5.9 62 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --disable-big-core --disable-root-environ --disable-macros --disable-rpath --with-shared --disable-largefile --without-ada --without-cxx-binding --with-terminfo-dirs=/etc/terminfo:/lib/terminfo:/usr/share/terminfo 63 | 64 | [readline] 65 | <= options-no-rpath 66 | gnu 67 | recipe = hexagonit.recipe.cmmi 68 | version = 6.3 69 | environment-section = readline-environment 70 | 71 | [readline-environment] 72 | <= environment 73 | LDFLAGS = ${environment:LDFLAGS} -lncurses 74 | 75 | [openssl] 76 | <= options 77 | recipe = hexagonit.recipe.cmmi 78 | name = openssl 79 | version = 1.0.2h 80 | url = ${urls:source}/${:name}-${:version}.tar.gz 81 | openssldir = /etc/ssl/ 82 | configure-command = ./config 83 | configure-options = --prefix=${options:prefix} --openssldir=${:openssldir} --shared --libdir=lib -fPIC -Wl,-rpath,\\\$\$\$\$\\\$\$\$\$ORIGIN/../lib 84 | make-targets = all install_sw 85 | patches = ${:patches-dir}/${:name}-${:version}-Makefile.patch 86 | ${:patches-dir}/${:name}-${:version}-linux-ldflags.patch 87 | ${:patches-dir}/${:name}-${:version}-apps-Makefile.patch 88 | ${:patches-dir}/${:name}-${:version}-tools-Makefile.patch 89 | 90 | [openssh] 91 | <= options 92 | recipe = hexagonit.recipe.cmmi 93 | version = 5.8p1 94 | name = openssh 95 | url = ${urls:source}/${:name}-${:version}.tar.gz 96 | environment-section = openssh-environment 97 | configure-options = --prefix=${options:prefix} --without-rpath --without-openssl-header-check --with-ssl-dir=${options:prefix} 98 | # We use -nosysconf because we only need the lib and no system changes 99 | make-targets = install-nosysconf 100 | # the patch is to avoid permission errors when running without root 101 | patches = ${:patches-dir}/${:name}-${:version}-makefile-mkdir.patch 102 | 103 | [openssh-environment] 104 | <= environment 105 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/openssl 106 | 107 | [cyrus-sasl] 108 | <= options 109 | recipe = hexagonit.recipe.cmmi 110 | name = cyrus-sasl 111 | version = 2.1.23 112 | url = ${urls:source}/${:name}-${:version}.tar.gz 113 | configure-options = --prefix=${options:prefix} --without-saslauthd --without-authdaemond --disable-java --disable-dependency-tracking --disable-rpath --disable-java --without-gdbm --without-dblib --disable-macos-framework --enable-static 114 | patches = ${:patches-dir}/${:name}-${:version}-configure.patch 115 | ${:patches-dir}/${:name}-${:version}-ltconfig.patch 116 | ${:patches-dir}/${:name}-${:version}-digestmd5.patch 117 | pre-make-hook = ${options:hooks-dir}/sasl.py:make 118 | 119 | [openldap] 120 | <= options 121 | recipe = hexagonit.recipe.cmmi 122 | version = stable-20100719 123 | name = openldap 124 | url = ${urls:source}/${:name}-${:version}.tgz 125 | configure-options = ${options:configure-options} --disable-slapd --disable-backends 126 | 127 | [libgpg-error] 128 | <= options 129 | recipe = hexagonit.recipe.cmmi 130 | configure-options = --prefix=${options:prefix} --enable-static 131 | version = 1.10 132 | name = libgpg-error 133 | url = ${urls:source}/${:name}-${:version}.tar.bz2 134 | 135 | [libgcrypt] 136 | <= options 137 | recipe = hexagonit.recipe.cmmi 138 | configure-options = ${options:configure-options} --with-gpg-error-prefix=${:prefix} --enable-static 139 | version = 1.5.0 140 | name = libgcrypt 141 | url = ${urls:source}/${:name}-${:version}.tar.bz2 142 | 143 | [libgnutls] 144 | <= options 145 | gnu-bz2 146 | recipe = hexagonit.recipe.cmmi 147 | name = gnutls 148 | version = 2.12.3 149 | configure-options = ${options:configure-options} --with-libgcrypt-prefix=${:prefix} --with-libgcrypt 150 | patches = ${:patches-dir}/${:name}-${:version}-gets.patch 151 | ${:patches-dir}/${:name}-${:version}-gets2.patch 152 | 153 | [libiconv] 154 | <= options 155 | gnu 156 | recipe = hexagonit.recipe.cmmi 157 | version = 1.13.1 158 | configure-options = ${options:configure-options} --enable-relocatable --enable-static --with-libintl-prefix=${:prefix} --with-libiconv-prefix=${:prefix} 159 | 160 | [bzip2] 161 | <= options 162 | recipe = hexagonit.recipe.cmmi 163 | name = bzip2 164 | version = 1.0.6 165 | url = ${urls:source}/${:name}-${:version}.tar.gz 166 | configure-command = echo 167 | make-options = PREFIX=${:prefix} DESTDIR=${:prefix} 168 | patches = ${:patches-dir}/${:name}-${:version}-unix-Makefile.patch 169 | 170 | [gettext] 171 | <= options 172 | gnu 173 | recipe = hexagonit.recipe.cmmi 174 | version = 0.18.1.1 175 | configure-options = ${options:configure-options} --without-git --without-cvs 176 | patches = ${:patches-dir}/${:name}-${:version}-gets.patch 177 | ${:patches-dir}/${:name}-${:version}-gets2.patch 178 | 179 | [sqlite3] 180 | <= options 181 | recipe = hexagonit.recipe.cmmi 182 | version = autoconf-3070602 183 | name = sqlite 184 | url = ${urls:source}/${:name}-${:version}.tar.gz 185 | 186 | [db] 187 | <= options 188 | recipe = hexagonit.recipe.cmmi 189 | version = 5.1.25 190 | name = db 191 | url = ${urls:source}/${:name}-${:version}.tar.gz 192 | configure-options = ${options:configure-options} --disable-java --enable-hash 193 | configure-command = ./dist/configure 194 | 195 | [libxml2] 196 | <= options 197 | recipe = hexagonit.recipe.cmmi 198 | version = 2.7.8 199 | name = libxml2 200 | url = ${urls:source}/${:name}-${:version}.tar.gz 201 | configure-options = ${options:configure-options} --without-python 202 | 203 | [libxslt] 204 | <= options 205 | recipe = hexagonit.recipe.cmmi 206 | version = 1.1.26 207 | name = libxslt 208 | url = ${urls:source}/${:name}-${:version}.tar.gz 209 | configure-options = ${options:configure-options} --without-python --without-plugins --with-libxml-prefix=${:prefix} --without-crypto 210 | environment-section = libxslt-environment 211 | 212 | [libxslt-environment] 213 | <= environment 214 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/libxml2 215 | 216 | [libffi] 217 | <= options 218 | recipe = hexagonit.recipe.cmmi 219 | name = libffi 220 | url = ${urls:source}/${:name}-${:version}.tar.gz 221 | version = 3.2.1 222 | 223 | [gdbm] 224 | <= options 225 | gnu 226 | recipe = hexagonit.recipe.cmmi 227 | version = 1.8.3 228 | patches = ${:patches-dir}/${:name}-${:version}-Makefile.patch 229 | 230 | [libevent] 231 | <= options 232 | recipe = hexagonit.recipe.cmmi 233 | version = 1.4.13 234 | name = libevent 235 | url = ${urls:source}/${:name}-${:version}-stable.tar.gz 236 | 237 | [libev] 238 | <= options 239 | recipe = hexagonit.recipe.cmmi 240 | version = 4.15 241 | name = libev 242 | url = ${urls:source}/${:name}-${:version}.tar.gz 243 | 244 | [python] 245 | <= options 246 | recipe = hexagonit.recipe.cmmi 247 | name = python 248 | version = 2.7.8 249 | url = ${urls:source}/Python-${:version}.tgz 250 | configure-options = --prefix=${options:prefix} --enable-shared --enable-ipv6 --with-dbmliborder=gdbm --with-gcc --with-system-ffi 251 | environment-section = python-environment 252 | patches = ${:patches-dir}/${:name}-${:version}-sysconfig.py.patch 253 | ${:patches-dir}/${:name}-${:version}-disutils-sysconfig.py.patch 254 | ${:patches-dir}/${:name}-${:version}-pythonhome-pythonrun.c.patch 255 | ${:patches-dir}/${:name}-${:version}-linux-symlink.patch 256 | post-make-hook = ${options:hooks-dir}/posix.py:fix_sysconfigdata 257 | 258 | [python-environment] 259 | <= environment 260 | CFLAGS = ${environment:CFLAGS} -I${options:prefix}/include/gnutls -I${options:prefix}/include/graphviz -I${options:prefix}/include/libexslt -I${options:prefix}/include/libxml2 -I${options:prefix}/include/libxslt -I${options:prefix}/include/ncurses -I${options:prefix}/include/openssl -I${options:prefix}/include/readline -I${options:prefix}/include/sasl -I${options:prefix}/lib/libffi-${libffi:version}/include 261 | LDFLAGS = ${environment:LDFLAGS} -Wl,-rpath,\$$ORIGIN/../.. -L${options:prefix}/lib/engines -L${options:prefix}/lib/gettext -L${options:prefix}/lib/graphviz -L${options:prefix}/lib/libxslt-plugins -L${options:prefix}/lib/pkgconfig -L${options:prefix}/lib/sasl2 262 | 263 | [zeromq] 264 | <= options 265 | recipe = hexagonit.recipe.cmmi 266 | version = 3.2.3 267 | name = zeromq 268 | url = ${urls:source}/${:name}-${:version}.tar.gz 269 | configure-options = ${options:configure-options} --disable-dependency-tracking 270 | patches = ${:patches-dir}/${:name}-${:version}-newline.patch 271 | 272 | [graphviz] 273 | <= options 274 | recipe = hexagonit.recipe.cmmi 275 | version = 2.30.1 276 | name = graphviz 277 | url = ${urls:source}/${:name}-${:version}.tar.gz 278 | configure-options = ${options:configure-options} --disable-dependency-tracking --enable-swig=no --enable-sharp=no --enable-guile=no --enable-java=no --enable-lua=no --enable-ocaml=no --enable-perl=no --enable-php=no --enable-python=no --enable-r=no --enable-ruby=no --enable-tcl=no 279 | -------------------------------------------------------------------------------- /buildout-pack-aix.cfg: -------------------------------------------------------------------------------- 1 | [buildout] 2 | extends = buildout-pack.cfg 3 | 4 | [pack] 5 | include_list = 6 | dist/bin/python 7 | dist/bin/python-config 8 | dist/bin/python2.7 9 | dist/bin/python2.7.bin 10 | dist/bin/python2.7-config 11 | dist/include 12 | dist/share/info 13 | dist/share/terminfo 14 | dist/lib 15 | -------------------------------------------------------------------------------- /buildout-pack-windows.cfg: -------------------------------------------------------------------------------- 1 | 2 | [buildout] 3 | extends = buildout-pack.cfg 4 | 5 | [pack] 6 | include_list = 7 | dist\bin\Microsoft.VC90.CRT 8 | dist\bin\python.exe 9 | dist\bin\pythonw.exe 10 | dist\bin\python27.dll 11 | dist\bin\python2.7-config 12 | dist\include 13 | dist\share\info 14 | dist\share\terminfo 15 | dist\lib 16 | dist\libs 17 | dist\DLLs 18 | dist\Tools 19 | 20 | exclude_list = 21 | dist\lib\test 22 | 23 | -------------------------------------------------------------------------------- /buildout-pack.cfg: -------------------------------------------------------------------------------- 1 | 2 | [buildout] 3 | develop = . 4 | 5 | installed = .installed-pack.cfg 6 | 7 | parts = pack 8 | 9 | # location of the download cache is specified by the download-cache option 10 | download-cache = .cache 11 | 12 | log-level = DEBUG 13 | 14 | executable = dist/bin/python 15 | 16 | [pack] 17 | recipe = infi.recipe.python:pack 18 | 19 | include_list = 20 | dist/bin/python 21 | dist/bin/python-config 22 | dist/bin/python2.7 23 | dist/bin/python2.7-config 24 | dist/include 25 | dist/share/info 26 | dist/share/terminfo 27 | dist/lib 28 | 29 | exclude_list = 30 | dist/lib/python2.7/bsddb/test 31 | dist/lib/python2.7/ctypes/test 32 | dist/lib/python2.7/distutils/tests 33 | dist/lib/python2.7/email/test 34 | dist/lib/python2.7/idlelib/idle_test 35 | dist/lib/python2.7/json/tests 36 | dist/lib/python2.7/lib-tk/test 37 | dist/lib/python2.7/lib2to3/tests 38 | dist/lib/python2.7/sqlite3/test 39 | dist/lib/python2.7/test 40 | -------------------------------------------------------------------------------- /buildout.cfg: -------------------------------------------------------------------------------- 1 | 2 | [buildout] 3 | # this setup.py and all the git sub-repositories we use 4 | develop = . 5 | parts = scripts 6 | # location of the download cache is specified by the download-cache option 7 | download-cache = .cache 8 | log-level = DEBUG 9 | 10 | [scripts] 11 | recipe = zc.recipe.egg 12 | relative-paths = true 13 | # this will install the dependencies as defined in setup.py 14 | eggs = python 15 | # this will create the scripts from all dependencies 16 | dependent-scripts = false 17 | # implicit script generation 18 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | 2 | SETUP_INFO = dict( 3 | name = 'python', 4 | version = '0.1', 5 | author = 'Infinidat', 6 | description = 'builds python', 7 | long_description = (), 8 | classifiers = [], 9 | install_requires = ['setuptools', 'infi.execute'], 10 | extras_require = {}, 11 | 12 | packages = [], 13 | package_dir = {'': 'src'}, 14 | include_package_data = True, 15 | 16 | entry_points = dict( 17 | console_scripts = [ 18 | 'test = scripts:test', 19 | 'build = scripts:build', 20 | 'pack = scripts:pack', 21 | 'clean = scripts:clean', 22 | ], 23 | gui_scripts = []) 24 | 25 | ) 26 | 27 | def setup(): 28 | from setuptools import setup as _setup 29 | from setuptools import find_packages 30 | SETUP_INFO['packages'] = find_packages('src') 31 | _setup(**SETUP_INFO) 32 | 33 | if __name__ == '__main__': 34 | setup() 35 | 36 | -------------------------------------------------------------------------------- /sources: -------------------------------------------------------------------------------- 1 | bzip2-1.0.6.tar.gz http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz 2 | cyrus-sasl-2.1.23.tar.gz ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.23.tar.gz 3 | db-5.1.25.tar.gz http://ftp.stu.edu.tw/FreeBSD/distfiles/bdb/db-5.1.25.tar.gz 4 | db-5.3.21.tar.gz http://ftp.stu.edu.tw/FreeBSD/distfiles/bdb/db-5.3.21.tar.gz 5 | gdbm-1.8.3.tar.gz http://ftp.gnu.org/pub/gnu/gdbm/gdbm-1.8.3.tar.gz 6 | gettext-0.12.1.tar.gz http://ftp.gnu.org/pub/gnu/gettext/gettext-0.12.1.tar.gz 7 | gettext-0.14.6.tar.gz http://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.6.tar.gz 8 | gettext-0.18.1.1.tar.gz http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz 9 | gmp-6.1.0.tar.bz2 http://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.bz2 10 | gnutls-2.12.3.tar.bz2 http://ftp.gnu.org/gnu/gnutls/gnutls-2.12.3.tar.bz2 11 | gnutls-3.2.12.1.tar.bz2 http://repository.timesys.com/buildsources/g/gnutls/gnutls-3.2.12.1/gnutls-3.2.12.1.tar.bz2 12 | graphviz-2.30.1.tar.gz http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.30.1.tar.gz 13 | libev-4.15.tar.gz http://dist.schmorp.de/libev/libev-4.15.tar.gz 14 | libevent-1.4.13-stable.tar.gz https://github.com/downloads/libevent/libevent/libevent-1.4.13-stable.tar.gz 15 | libevent-2.0.17-stable.tar.gz https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz 16 | libffi-3.2.1.tar.gz ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz 17 | libgcrypt-1.5.0.tar.bz2 ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2 18 | libgcrypt-1.5.3.tar.bz2 ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.3.tar.bz2 19 | libgpg-error-1.10.tar.bz2 http://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2 20 | libiconv-1.11.1.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.1.tar.gz 21 | libiconv-1.13.1.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz 22 | libiconv-1.9.1.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz 23 | libtasn1-3.4.tar.gz http://ftp.gnu.org/gnu/libtasn1/libtasn1-3.4.tar.gz 24 | libxml2-2.7.8.tar.gz http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz 25 | libxslt-1.1.26.tar.gz http://xmlsoft.org/sources/libxslt-1.1.26.tar.gz 26 | ncurses-5.9.tar.gz http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz 27 | ncurses-6.0.tar.gz http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz 28 | nettle-2.7.1.tar.gz https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz 29 | openldap-stable-20100719.tgz http://www.openldap.org/software/download/OpenLDAP/openldap-stable/openldap-stable-20100719.tgz 30 | openssh-7.3p1.tar.gz http://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.tar.gz 31 | openssh-5.8p1.tar.gz http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz 32 | openssl-1.0.1j.tar.gz https://www.openssl.org/source/openssl-1.0.1j.tar.gz 33 | openssl-1.0.2h.tar.gz https://www.openssl.org/source/openssl-1.0.2h.tar.gz 34 | Python-2.7.8.tgz https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 35 | readline-6.3.tar.gz https://ftp.gnu.org/gnu/readline/readline-6.3.tar.gz 36 | sqlite-autoconf-3070602.tar.gz ftp://ftp.funet.fi/ftp/pub/NetBSD/packages/distfiles/sqlite-autoconf-3070602.tar.gz 37 | tcl8.5.15-src.tar.gz http://prdownloads.sourceforge.net/tcl/tcl8.5.15-src.tar.gz 38 | tk8.5.15-src.tar.gz http://prdownloads.sourceforge.net/tcl/tk8.5.15-src.tar.gz 39 | zeromq-3.2.3.tar.gz http://download.zeromq.org/zeromq-3.2.3.tar.gz 40 | zeromq-4.1.5.tar.gz https://github.com/zeromq/zeromq4-1/releases/download/v4.1.5/zeromq-4.1.5.tar.gz 41 | zlib-1.2.8.tar.gz http://zlib.net/zlib-1.2.8.tar.gz 42 | -------------------------------------------------------------------------------- /src/hooks/__init__.py: -------------------------------------------------------------------------------- 1 | __import__("pkg_resources").declare_namespace(__name__) 2 | -------------------------------------------------------------------------------- /src/hooks/aix.c: -------------------------------------------------------------------------------- 1 | /*! blibpath doesn't support relative paths, so we must fix LIBPATH and only then execve the original python !*/ 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #define MAX_PATH (4096) /*! using what's defined in linux/limits.h, on AIX there is no such definition !*/ 9 | #define WRAPPER_ERROR (133) /*! some distinctive error code.. !*/ 10 | 11 | /*! If you want proof that Unix is evil, here you go !*/ 12 | int get_from_path(char * name, char * output) { 13 | char * paths = strdup(getenv("PATH")); 14 | char * cur_path = paths; 15 | char * cur_sep = NULL; 16 | if (paths == NULL) { 17 | return 1; 18 | } 19 | do { 20 | cur_sep = strchr(cur_path, ':'); 21 | if (cur_sep != NULL) { 22 | cur_sep[0] = 0; 23 | } 24 | /*! append name to cur_path !*/ 25 | if (cur_path[strlen(cur_path)-1] == '/') { 26 | sprintf(output, "%s%s", cur_path, name); 27 | } 28 | else { 29 | sprintf(output, "%s/%s", cur_path, name); 30 | } 31 | /*! check if file exists and executable !*/ 32 | if (access(output, X_OK) != -1) { 33 | free(paths); 34 | return 0; 35 | } 36 | cur_path = cur_sep + 1; 37 | } while (cur_sep != NULL); 38 | 39 | free(paths); 40 | return 1; 41 | } 42 | 43 | int get_executable_path(char * argv_0, char * output) 44 | { 45 | char temp[MAX_PATH] = { 0 }; 46 | 47 | if (strchr(argv_0, '/') != NULL) { 48 | /*! '/' can be either in the beginning for absolute path or in the middle for relative path !*/ 49 | strcpy(temp, argv_0); 50 | } else { 51 | if (0 != get_from_path(argv_0, temp)) { 52 | return 1; 53 | } 54 | } 55 | if (NULL == realpath(temp, output)) { 56 | return 1; 57 | } 58 | return 0; 59 | } 60 | 61 | int main(int argc, char *argv[]) 62 | { 63 | char cur_executable_path[MAX_PATH] = { 0 }; 64 | char python_bin_path[MAX_PATH] = { 0 }; 65 | char python_lib_path[MAX_PATH] = { 0 }; 66 | char * last_sep = NULL; 67 | if (0 != get_executable_path(argv[0], cur_executable_path)) { 68 | return WRAPPER_ERROR; 69 | } 70 | last_sep = strrchr(cur_executable_path, '/'); 71 | if (last_sep == NULL) { 72 | return WRAPPER_ERROR; 73 | } 74 | *last_sep = 0; /*! make cur_executable_path hold dirname only !*/ 75 | sprintf(python_bin_path, "%s/python2.7.bin", cur_executable_path); 76 | sprintf(python_lib_path, "%s/../lib", cur_executable_path); 77 | setenv("LIBPATH", python_lib_path, TRUE); 78 | execve(python_bin_path, argv, environ); 79 | return WRAPPER_ERROR; 80 | } 81 | -------------------------------------------------------------------------------- /src/hooks/aix.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | TRICK = """ 4 | # isolated-python trick 5 | import sys 6 | prefix = sys.real_prefix if hasattr(sys, 'real_prefix') else sys.prefix # virtualenv 7 | old_prefix = build_time_vars.get("prefix", "_some_path_that_does_not_exist") 8 | 9 | for key, value in build_time_vars.items(): 10 | value = value.replace(old_prefix, prefix) if isinstance(value, basestring) else value 11 | build_time_vars[key] = value.replace("./Modules", prefix + "/lib/python2.7/config") if isinstance(value, basestring) else value 12 | """ 13 | 14 | def get_sysconfigdata_files(options): 15 | from glob import glob 16 | from os import path 17 | dist = options["prefix"] 18 | print 'dist = {0}'.format(dist) 19 | print 'sysconfig = {0!r}'.format(glob(path.join(dist, "*", "*", "_sysconfigdata.py"))) 20 | for _sysconfigdata in glob(path.join(dist, "*", "*", "_sysconfigdata.py")): 21 | yield _sysconfigdata 22 | 23 | def purge_sysconfigdata(path): 24 | with open(path, 'a') as fd: 25 | fd.write(TRICK) 26 | 27 | def create_blibpath_fix(options, buildout, environ): 28 | os.system("mv {0}/bin/python2.7 {0}/bin/python2.7.bin".format(options["prefix"])) 29 | os.system("gcc -s {}/aix.c -o {}/bin/python2.7".format(options["hooks-dir"], options["prefix"])) 30 | 31 | def fix_sysconfigdata(options, buildout, environ): 32 | for path in get_sysconfigdata_files(options): 33 | purge_sysconfigdata(path) 34 | 35 | def fix_large_files(options, buildout, environ): 36 | # _LARGE_FILES definition causes redefinition errors in external library compilation 37 | dist = options["prefix"] 38 | pyconfig_path = os.path.join(dist, "include", "python2.7", "pyconfig.h") 39 | with open(pyconfig_path, "r") as fd: 40 | data = fd.read() 41 | data = data.replace("#define _LARGE_FILES 1", "") 42 | with open(pyconfig_path, "w") as fd: 43 | fd.write(data) 44 | 45 | def fix_max_memory(options, buildout, environ): 46 | # allow 512MB memory allocation for the process. See README.AIX in Python's code 47 | os.system("ldedit -b maxdata:0x20000000 {0}/bin/python2.7".format(options["prefix"])) 48 | 49 | def python_post_make(options, buildout, environ): 50 | fix_max_memory(options, buildout, environ) 51 | create_blibpath_fix(options, buildout, environ) 52 | fix_sysconfigdata(options, buildout, environ) 53 | fix_large_files(options, buildout, environ) -------------------------------------------------------------------------------- /src/hooks/osx.py: -------------------------------------------------------------------------------- 1 | __import__("pkg_resources").declare_namespace(__name__) 2 | 3 | def _catch_and_print(func, *args, **kwargs): 4 | try: 5 | func(*args, **kwargs) 6 | except (OSError, IOError), e: 7 | print e 8 | 9 | def find_files(directory, pattern): 10 | import os 11 | import fnmatch 12 | for root, dirs, files in os.walk(directory): 13 | for basename in files: 14 | if fnmatch.fnmatch(basename, pattern): 15 | filename = os.path.join(root, basename) 16 | yield filename 17 | 18 | def change_install_name_in_file(filepath): 19 | from re import sub 20 | print "pre-configure-hook: changing install_name in %s" % filepath 21 | content = open(filepath).read() 22 | pattern = r'-install_name .*/(.*) ' 23 | repl = r'-install_name @rpath/\1 ' 24 | open(filepath, 'w').write(sub(pattern, repl, content)) 25 | 26 | def remove_rpath_in_file(filepath): 27 | print "pre-configure-hook: changing install_name in %s" % filepath 28 | content = open(filepath).read() 29 | content = content.replace(r'$rpath/$soname', r'@rpath/$soname') 30 | content = content.replace(r'\$rpath/\$soname', r'@rpath/\$soname') 31 | content = content.replace(r'\$rpath/\$soname', r'@rpath/\$soname') 32 | content = content.replace(r'${wl}-rpath ${wl}$libdir', '') 33 | content = content.replace(r'${wl}-rpath,$libdir', '') 34 | content = content.replace(r'-rpath $libdir', '') 35 | open(filepath, 'w').write(content) 36 | 37 | def change_install_name(options, buildout, version): 38 | from os import curdir 39 | from os.path import abspath 40 | for item in find_files(abspath(curdir), 'configure'): 41 | change_install_name_in_file(item) 42 | remove_rpath_in_file(item) 43 | for item in find_files(abspath(curdir), 'Makefile'): 44 | change_install_name_in_file(item) 45 | remove_rpath_in_file(item) 46 | for item in find_files(abspath(curdir), 'configure.in'): 47 | change_install_name_in_file(item) 48 | remove_rpath_in_file(item) 49 | for item in find_files(abspath(curdir), 'Makefile.in'): 50 | change_install_name_in_file(item) 51 | remove_rpath_in_file(item) 52 | for item in find_files(abspath(curdir), 'libtool'): 53 | change_install_name_in_file(item) 54 | remove_rpath_in_file(item) 55 | for item in find_files(abspath(curdir), 'aclocal.m4'): 56 | change_install_name_in_file(item) 57 | remove_rpath_in_file(item) 58 | 59 | def patch_ncurses(options, buildout, version): 60 | from os import curdir 61 | from os.path import abspath 62 | for item in find_files(abspath(curdir), 'Makefile'): 63 | print 'fixing files "%s"' % item 64 | filepath = item 65 | content = open(filepath).read() 66 | src = 'LIBRARIES\t= ../lib/libncurses.dylib' 67 | dst = 'LIBRARIES\t= ../lib/libncurses.${ABI_VERSION}.dylib' 68 | open(filepath, 'w').write(content.replace(src, dst).replace('-o$@', '-o $@')) 69 | 70 | def patch_openssl(options, buildout, version): 71 | from os import curdir 72 | from os.path import abspath 73 | for item in find_files(abspath(curdir), 'Makefile*'): 74 | print 'fixing files "%s"' % item 75 | filepath = item 76 | content = open(filepath).read() 77 | content = content.replace('-Wl,-rpath,$(LIBRPATH)', '') 78 | content = content.replace('-Wl,-rpath,$(LIBPATH)', '') 79 | content = content.replace('-rpath $(LIBRPATH)', '') 80 | content = content.replace("-install_name $(INSTALLTOP)/$(LIBDIR)", "-install_name @rpath") 81 | open(filepath, 'w').write(content) 82 | 83 | def patch_pdb(options, buildout, version): 84 | import pdb 85 | pdb.set_trace() 86 | 87 | def patch_cyrus_sasl(options, buildout, version): 88 | change_install_name(options, buildout, version) 89 | from os import curdir 90 | from os.path import abspath 91 | for item in find_files(abspath(curdir), 'ltconfig'): 92 | change_install_name_in_file(item) 93 | remove_rpath_in_file(item) 94 | 95 | def patch_python(options, buildout, version): 96 | from os.path import abspath 97 | change_install_name(options, buildout, version) 98 | for file in ['Makefile.pre.in', 'configure']: 99 | content = open(file).read() 100 | print abspath('./%s' % file) 101 | assert len(content) 102 | content = content.replace(r'-install_name,$(prefix)/lib', '-install_name,@rpath') 103 | content = content.replace(r'-install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)', '-install_name @rpath') 104 | content = content.replace(r'-install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)', '-install_name @rpath') 105 | assert '@rpath' in content 106 | open(file, 'w').write(content) 107 | 108 | def add_ld_library_path_to_python_makefile(options, buildout, version): 109 | # Inject LD_LIBRARY_PATH to setup.py's runtime (see comment in add_ld_library_path_to_configure) 110 | # without this, the dynamic modules will fail to load and be renamed to *_failed.so 111 | from os.path import join 112 | dist = options["prefix"] 113 | dist_lib = join(dist, "lib") 114 | filename = "Makefile" 115 | content = open(filename).read() 116 | content = content.replace('$(PYTHON_FOR_BUILD) $(srcdir)/setup.py', 'LD_LIBRARY_PATH={} $(PYTHON_FOR_BUILD) $(srcdir)/setup.py'.format(dist_lib)) 117 | open(filename, 'w').write(content) 118 | 119 | def patch_python_Makefile_after_configure(options, buildout, version): 120 | import re 121 | filename = "Makefile" 122 | content = open(filename).read() 123 | content = re.sub(r"LDFLAGS=", r"LDFLAGS=-Wl,-rpath,@loader_path/../lib ", content) 124 | open(filename, 'w').write(content) 125 | add_ld_library_path_to_python_makefile(options, buildout, version) 126 | 127 | 128 | def patch_libevent_configure_in(options, buildout, version): 129 | from os import curdir 130 | from os.path import abspath 131 | for item in find_files(abspath(curdir), 'configure.in*'): 132 | print 'fixing files "%s"' % item 133 | filepath = item 134 | content = open(filepath).read() 135 | content = content.replace('AM_CONFIG_HEADER', 'AC_CONFIG_HEADERS') 136 | open(filepath, 'w').write(content) 137 | 138 | def add_ld_library_path_to_configure(options, buildout, version): 139 | # The LD_LIBRARY_PATH (runtime search path) that is set by buildout is not passed to 140 | # the childrent processes due to SIP on El Capitan and newer. We set it manually inside the configure script 141 | from os import curdir 142 | from os.path import abspath, join 143 | filepath = join(abspath(curdir), 'configure') 144 | print 'fixing files "%s"' % filepath 145 | content = open(filepath).read() 146 | dist = options["prefix"] 147 | dist_lib = join(dist, "lib") 148 | content = "export LD_LIBRARY_PATH={}\n".format(dist_lib) + content 149 | open(filepath, 'w').write(content) 150 | 151 | def autogen(options, buildout, version): 152 | from subprocess import Popen 153 | patch_libevent_configure_in(options, buildout, version) 154 | process = Popen(['./autogen.sh']) 155 | assert process.wait() == 0 156 | change_install_name(options, buildout, version) 157 | 158 | def autoreconf(options, buildout, version): 159 | from subprocess import Popen 160 | patch_libevent_configure_in(options, buildout, version) 161 | process = Popen(['autoreconf']) 162 | assert process.wait() == 0 163 | change_install_name(options, buildout, version) 164 | -------------------------------------------------------------------------------- /src/hooks/posix.py: -------------------------------------------------------------------------------- 1 | TRICK = """ 2 | # isolated-python trick 3 | import sys 4 | prefix = sys.real_prefix if hasattr(sys, 'real_prefix') else sys.prefix # virtualenv 5 | old_prefix = build_time_vars.get("prefix", "_some_path_that_does_not_exist") 6 | 7 | for key, value in build_time_vars.items(): 8 | build_time_vars[key] = value.replace(old_prefix, prefix) if isinstance(value, basestring) else value 9 | """ 10 | 11 | def get_sysconfigdata_files(environ): 12 | from glob import glob 13 | from os import path 14 | dist = path.join(environ.get("PWD"), path.abspath(path.join('.', # Python-2.7.6 15 | path.pardir, # python__compile__, 16 | path.pardir, # parts, 17 | path.pardir, # python-build 18 | "dist"))) 19 | print 'dist = {0}'.format(dist) 20 | print 'sysconfig = {0!r}'.format(glob(path.join(dist, "*", "*", "_sysconfigdata.py"))) 21 | for _sysconfigdata in glob(path.join(dist, "*", "*", "_sysconfigdata.py")): 22 | yield _sysconfigdata 23 | 24 | 25 | def purge_sysconfigdata(path): 26 | with open(path, 'a') as fd: 27 | fd.write(TRICK) 28 | 29 | 30 | def fix_linker_rpath(path): 31 | # we want to link against the .so files in python/lib, but in Solaris 32 | # $ORIGIN may point to the package .so file location (instead of the python 33 | # binary location), and these files may be deep under site-packages 34 | # (e.g. python/lib/python2.7/site-packages/lxml-3.4.1-py2.7-linux-i686.egg/lxml) 35 | # so we add some $ORIGIN/../../../.... to rpath in linker options 36 | src_str = r"-Wl,-rpath,\\$ORIGIN/../.." 37 | rpaths = ''.join([",-rpath,\\$ORIGIN" + ("/.." * i) for i in range(3, 8)]) 38 | dst_str = src_str + rpaths 39 | with open(path, 'r') as fd: 40 | data = fd.read() 41 | data = data.replace(src_str, dst_str) 42 | with open(path, 'w') as fd: 43 | fd.write(data) 44 | 45 | 46 | def fix_sysconfigdata(options, buildout, environ): 47 | for path in get_sysconfigdata_files(environ): 48 | purge_sysconfigdata(path) 49 | fix_linker_rpath(path) 50 | -------------------------------------------------------------------------------- /src/hooks/sasl.py: -------------------------------------------------------------------------------- 1 | def make(options, buildout, version): 2 | from subprocess import Popen 3 | from os import name 4 | if name == 'nt': 5 | return 6 | process = Popen(['make']) 7 | process.wait() 8 | -------------------------------------------------------------------------------- /src/hooks/unix.py: -------------------------------------------------------------------------------- 1 | 2 | def chmod_configure(options, buildout, environ): 3 | from os import stat, chmod 4 | from stat import S_IEXEC 5 | 6 | CONFIGURE_FILENAME = './configure' 7 | cur_mode = stat(CONFIGURE_FILENAME).st_mode 8 | chmod(CONFIGURE_FILENAME, cur_mode | S_IEXEC) 9 | -------------------------------------------------------------------------------- /src/hooks/windows.py: -------------------------------------------------------------------------------- 1 | import os 2 | import subprocess 3 | from os import path 4 | import glob 5 | import shutil 6 | 7 | def _execute(cmd, env): 8 | process = subprocess.Popen(cmd.split(), env=env) 9 | return process.wait() 10 | 11 | def openssl_pre_make(options, buildout, environ): 12 | _execute(r'ms\do_ms.bat', environ) 13 | 14 | def openssl_pre_make64(options, buildout, environ): 15 | _execute(r'ms\do_win64a.bat', environ) 16 | 17 | def _db_post_make(platform_name, prefix): 18 | import os 19 | os.system('cp -fvr build_windows/*h %s/include' % prefix) 20 | os.system('cp -fvr build_windows/%s/Release/*lib %s/lib' % (platform_name, prefix)) 21 | os.system('cp -fvr build_windows/%s/Release/*exe %s/bin' % (platform_name, prefix)) 22 | 23 | def db_post_make(options, buildout, environ): 24 | prefix = environ['PREFIX'].replace(os.path.sep, '/') 25 | _db_post_make('Win32', prefix) 26 | 27 | def db_post_make64(options, buildout, environ): 28 | prefix = environ['PREFIX'].replace(os.path.sep, '/') 29 | _db_post_make('x64', prefix) 30 | 31 | class PythonPostMake(object): 32 | def __init__(self, environ): 33 | from os import curdir 34 | self.python_source_path = path.abspath(path.join(curdir, path.pardir)) 35 | self.pcbuild_path = path.join(self.python_source_path, 'PCbuild') 36 | self.prefix = environ['PREFIX'] 37 | self.environ = environ 38 | print self.python_source_path, self.pcbuild_path, self.prefix 39 | 40 | def make_install(self): 41 | self.move_libs() 42 | self.make_pyd() 43 | self.make_exe() 44 | self.make_dll() 45 | self.make_lib() 46 | self.make_ico() 47 | self.make_includes() 48 | self.make_libraries() 49 | self.move_dlls() 50 | self.copy_crt_assemblies() 51 | 52 | def move_dlls(self): 53 | dst = path.join(self.prefix, 'DLLs') 54 | src = glob.glob(path.join(self.prefix, 'bin', '*.dll')) 55 | _mk_path(dst) 56 | for item in src: 57 | if 'python27.dll' in item: 58 | continue 59 | cmd = 'mv %s %s' % (item, dst) 60 | _system(cmd) 61 | 62 | def move_libs(self): 63 | dst = path.join(self.prefix, 'libs') 64 | src = glob.glob(path.join(self.prefix, 'lib', '*.lib')) 65 | _mk_path(dst) 66 | for item in src: 67 | cmd = 'mv %s %s' % (item, dst) 68 | _system(cmd) 69 | 70 | def make_pyd(self): 71 | dst = path.join(self.prefix, 'DLLs') 72 | src = glob.glob(path.join(self.pcbuild_path, '*.pyd')) 73 | _copy_files(src, dst) 74 | 75 | def make_exe(self): 76 | dst = path.join(self.prefix, 'bin') 77 | src = glob.glob(path.join(self.pcbuild_path, '*.exe')) 78 | _copy_files(src, dst) 79 | 80 | def make_dll(self): 81 | dst = path.join(self.prefix, 'bin') 82 | src = glob.glob(path.join(self.pcbuild_path, '*.dll')) 83 | _copy_files(src, dst) 84 | 85 | def make_lib(self): 86 | dst = path.join(self.prefix, 'libs') 87 | src = glob.glob(path.join(self.pcbuild_path, '*.lib')) 88 | _copy_files(src, dst) 89 | 90 | def make_ico(self): 91 | dst = path.join(self.prefix, 'bin') 92 | src = glob.glob(path.join(self.pcbuild_path, '*.ico')) 93 | _copy_files(src, dst) 94 | 95 | def _copy_crt_assemblies(self, dst): 96 | os.makedirs(dst) 97 | src = glob.glob(path.join(self.environ['VC90CRT'], '*')) 98 | _copy_files(src, dst) 99 | 100 | def copy_crt_assemblies(self): 101 | dst = path.join(self.prefix, 'bin', 'Microsoft.VC90.CRT') 102 | self._copy_crt_assemblies(dst) 103 | dst = path.join(self.prefix, 'DLLs', 'Microsoft.VC90.CRT') 104 | self._copy_crt_assemblies(dst) 105 | 106 | def make_includes(self): 107 | import shutil 108 | cmd = "cp -fr %s %s" % (path.join(self.python_source_path, 'Include'), 109 | path.join(self.prefix)) 110 | _system(cmd) 111 | shutil.copy(path.join(self.python_source_path, 'PC', 'pyconfig.h'), 112 | path.join(self.prefix, 'Include')) 113 | 114 | def make_libraries(self): 115 | dst = path.join(self.prefix,) 116 | src = path.join(self.python_source_path, 'lib') 117 | _mk_path(dst) 118 | cmd = "cp -fr %s %s" % (src, dst) 119 | _system(cmd) 120 | 121 | def _mk_path(path): 122 | if os.path.exists(path): 123 | return 124 | os.makedirs(path) 125 | 126 | def _copy_files(src_glob, dst): 127 | _mk_path(dst) 128 | for item in src_glob: 129 | print 'cp %s %s' % (item, dst) 130 | shutil.copy(item, dst) 131 | 132 | def _system(cmd): 133 | print cmd 134 | os.system(cmd.replace(os.path.sep, '/')) 135 | 136 | def libevent_post_make(options, buildout, environ): 137 | import os 138 | prefix = environ['PREFIX'].replace(os.path.sep, '/') 139 | os.system('cp -fvr *lib %s/lib' % prefix) 140 | 141 | def python_post_make(options, buildout, environ): 142 | instance = PythonPostMake(environ) 143 | instance.make_install() 144 | 145 | def python_post_make64(options, buildout, environ): 146 | instance = PythonPostMake(environ) 147 | instance.make_install() 148 | -------------------------------------------------------------------------------- /src/patches/bzip2-1.0.6-redhat-lib64.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 7eb730a..883fb9d 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -71,7 +71,7 @@ test: bzip2 6 | 7 | install: bzip2 bzip2recover 8 | if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi 9 | - if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi 10 | + if ( test ! -d $(PREFIX)/lib64 ) ; then mkdir -p $(PREFIX)/lib64 ; fi 11 | if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi 12 | if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi 13 | if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi 14 | @@ -87,8 +87,8 @@ install: bzip2 bzip2recover 15 | chmod a+r $(PREFIX)/man/man1/bzip2.1 16 | cp -f bzlib.h $(PREFIX)/include 17 | chmod a+r $(PREFIX)/include/bzlib.h 18 | - cp -f libbz2.a $(PREFIX)/lib 19 | - chmod a+r $(PREFIX)/lib/libbz2.a 20 | + cp -f libbz2.a $(PREFIX)/lib64 21 | + chmod a+r $(PREFIX)/lib64/libbz2.a 22 | cp -f bzgrep $(PREFIX)/bin/bzgrep 23 | ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep 24 | ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep 25 | -------------------------------------------------------------------------------- /src/patches/bzip2-1.0.6-solaris-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 7eb730a..044b3bd 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -5,7 +5,7 @@ 6 | # bzip2/libbzip2 version 1.0.6 of 6 September 2010 7 | # Copyright (C) 1996-2010 Julian Seward 8 | # 9 | -# Please read the WARNING, DISCLAIMER and PATENTS sections in the 10 | +# Please read the WARNING, DISCLAIMER and PATENTS sections in the 11 | # README file. 12 | # 13 | # This program is released under the terms of the license contained 14 | @@ -61,7 +61,7 @@ test: bzip2 15 | ./bzip2 -d < sample1.bz2 > sample1.tst 16 | ./bzip2 -d < sample2.bz2 > sample2.tst 17 | ./bzip2 -ds < sample3.bz2 > sample3.tst 18 | - cmp sample1.bz2 sample1.rb2 19 | + cmp sample1.bz2 sample1.rb2 20 | cmp sample2.bz2 sample2.rb2 21 | cmp sample3.bz2 sample3.rb2 22 | cmp sample1.tst sample1.ref 23 | @@ -75,40 +75,27 @@ install: bzip2 bzip2recover 24 | if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi 25 | if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi 26 | if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi 27 | - cp -f bzip2 $(PREFIX)/bin/bzip2 28 | - cp -f bzip2 $(PREFIX)/bin/bunzip2 29 | - cp -f bzip2 $(PREFIX)/bin/bzcat 30 | - cp -f bzip2recover $(PREFIX)/bin/bzip2recover 31 | - chmod a+x $(PREFIX)/bin/bzip2 32 | - chmod a+x $(PREFIX)/bin/bunzip2 33 | - chmod a+x $(PREFIX)/bin/bzcat 34 | - chmod a+x $(PREFIX)/bin/bzip2recover 35 | - cp -f bzip2.1 $(PREFIX)/man/man1 36 | - chmod a+r $(PREFIX)/man/man1/bzip2.1 37 | - cp -f bzlib.h $(PREFIX)/include 38 | - chmod a+r $(PREFIX)/include/bzlib.h 39 | - cp -f libbz2.a $(PREFIX)/lib 40 | - chmod a+r $(PREFIX)/lib/libbz2.a 41 | - cp -f bzgrep $(PREFIX)/bin/bzgrep 42 | + ginstall bzip2 $(PREFIX)/bin/bzip2 43 | + ginstall bzip2 $(PREFIX)/bin/bunzip2 44 | + ginstall bzip2 $(PREFIX)/bin/bzcat 45 | + ginstall bzip2recover $(PREFIX)/bin/bzip2recover 46 | + ginstall bzip2.1 $(PREFIX)/man/man1 47 | + ginstall bzlib.h $(PREFIX)/include 48 | + ginstall libbz2.a $(PREFIX)/lib 49 | + ginstall bzgrep $(PREFIX)/bin/bzgrep 50 | ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep 51 | ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep 52 | - chmod a+x $(PREFIX)/bin/bzgrep 53 | - cp -f bzmore $(PREFIX)/bin/bzmore 54 | + ginstall bzmore $(PREFIX)/bin/bzmore 55 | ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless 56 | - chmod a+x $(PREFIX)/bin/bzmore 57 | - cp -f bzdiff $(PREFIX)/bin/bzdiff 58 | + ginstall bzdiff $(PREFIX)/bin/bzdiff 59 | ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp 60 | - chmod a+x $(PREFIX)/bin/bzdiff 61 | - cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 62 | - chmod a+r $(PREFIX)/man/man1/bzgrep.1 63 | - chmod a+r $(PREFIX)/man/man1/bzmore.1 64 | - chmod a+r $(PREFIX)/man/man1/bzdiff.1 65 | + ginstall bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 66 | echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1 67 | echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 68 | echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 69 | echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 70 | 71 | -clean: 72 | +clean: 73 | rm -f *.o libbz2.a bzip2 bzip2recover \ 74 | sample1.rb2 sample2.rb2 sample3.rb2 \ 75 | sample1.tst sample2.tst sample3.tst 76 | @@ -203,7 +190,7 @@ dist: check manual 77 | # For rebuilding the manual from sources on my SuSE 9.1 box 78 | 79 | MANUAL_SRCS= bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \ 80 | - entities.xml manual.xml 81 | + entities.xml manual.xml 82 | 83 | manual: manual.html manual.ps manual.pdf 84 | 85 | -------------------------------------------------------------------------------- /src/patches/bzip2-1.0.6-unix-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 9754ddf..7eb730a 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -21,7 +21,7 @@ RANLIB=ranlib 6 | LDFLAGS= 7 | 8 | BIGFILES=-D_FILE_OFFSET_BITS=64 9 | -CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) 10 | +CFLAGS=-fPIC -Wall -Winline -O2 -g $(BIGFILES) 11 | 12 | # Where you want it installed when you do 'make install' 13 | PREFIX=/usr/local 14 | -------------------------------------------------------------------------------- /src/patches/bzip2-1.0.6-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | Tue Apr 22 14:28:47 2014 +0300 2d2b7bf (HEAD, master) y  [Guy Rozendorn] 2 | diff --git a/makefile.msc b/makefile.msc 3 | index 799a18a..b03fbcb 100644 4 | --- a/makefile.msc 5 | +++ b/makefile.msc 6 | @@ -4,7 +4,7 @@ 7 | # Fixed up by JRS for bzip2-0.9.5d release. 8 | 9 | CC=cl 10 | -CFLAGS= -DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo 11 | +CFLAGS= -DWIN32 -MT -Ox -D_FILE_OFFSET_BITS=64 -nologo 12 | 13 | OBJS= blocksort.obj \ 14 | huffman.obj \ 15 | @@ -37,7 +37,7 @@ test: bzip2 16 | @echo is too clever for its own good. Disable this option. 17 | @echo The correct size for sample3.ref is 120,244. If it 18 | @echo is 150,251, WinZip has messed it up. 19 | - fc sample1.bz2 sample1.rb2 20 | + fc sample1.bz2 sample1.rb2 21 | fc sample2.bz2 sample2.rb2 22 | fc sample3.bz2 sample3.rb2 23 | fc sample1.tst sample1.ref 24 | @@ -46,18 +46,22 @@ test: bzip2 25 | 26 | 27 | 28 | -clean: 29 | +clean: 30 | del *.obj 31 | - del libbz2.lib 32 | + del libbz2.lib 33 | del bzip2.exe 34 | del bzip2recover.exe 35 | - del sample1.rb2 36 | - del sample2.rb2 37 | + del sample1.rb2 38 | + del sample2.rb2 39 | del sample3.rb2 40 | - del sample1.tst 41 | + del sample1.tst 42 | del sample2.tst 43 | del sample3.tst 44 | 45 | -.c.obj: 46 | +.c.obj: 47 | $(CC) $(CFLAGS) -c $*.c -o $*.obj 48 | 49 | +install: 50 | + -cp bzlib.h $(PREFIX)\include 51 | + -cp libbz2.lib $(PREFIX)\lib 52 | + 53 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-configure.patch: -------------------------------------------------------------------------------- 1 | diff --git a/configure b/configure 2 | index d6107e9..95d9f86 100755 3 | --- a/configure 4 | +++ b/configure 5 | @@ -15413,7 +15413,7 @@ rm -f conftest* 6 | 7 | 8 | 9 | -subdirs="$subdirs saslauthd" 10 | +subdirs="$subdirs" 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-digestmd5.patch: -------------------------------------------------------------------------------- 1 | diff --git a/plugins/digestmd5.c b/plugins/digestmd5.c 2 | index b6d0abd..c527e1c 100644 3 | --- a/plugins/digestmd5.c 4 | +++ b/plugins/digestmd5.c 5 | @@ -2715,7 +2715,7 @@ static sasl_server_plug_t digestmd5_server_plugins[] = 6 | "DIGEST-MD5", /* mech_name */ 7 | #ifdef WITH_RC4 8 | 128, /* max_ssf */ 9 | -#elif WITH_DES 10 | +#elif defined(WITH_DES) 11 | 112, 12 | #else 13 | 1, 14 | @@ -4034,7 +4034,7 @@ static sasl_client_plug_t digestmd5_client_plugins[] = 15 | "DIGEST-MD5", 16 | #ifdef WITH_RC4 /* mech_name */ 17 | 128, /* max ssf */ 18 | -#elif WITH_DES 19 | +#elif defined(WITH_DES) 20 | 112, 21 | #else 22 | 1, 23 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-ltconfig.patch: -------------------------------------------------------------------------------- 1 | diff --git a/config/ltconfig b/config/ltconfig 2 | index 5b61f70..f0f556c 100755 3 | --- a/config/ltconfig 4 | +++ b/config/ltconfig 5 | @@ -1374,7 +1374,7 @@ else 6 | 7 | darwin[15]* | rhapsody*) 8 | allow_undefined_flag='-undefined error' 9 | - archive_cmds='$CC $(test x$module = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)' 10 | + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $verstring' 11 | # We need to add '_' to the symbols in $export_symbols first 12 | #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib' 13 | hardcode_direct=yes 14 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-redhat-lib64.patch: -------------------------------------------------------------------------------- 1 | diff --git a/plugins/Makefile.am b/plugins/Makefile.am 2 | index ebb79d5..49d0c62 100644 3 | --- a/plugins/Makefile.am 4 | +++ b/plugins/Makefile.am 5 | @@ -75,7 +75,7 @@ plugindir = @plugindir@ 6 | 7 | common_sources = plugin_common.c plugin_common.h 8 | 9 | -sasldir = $(prefix)/lib/sasl2 10 | +sasldir = $(prefix)/lib64/sasl2 11 | sasl_LTLIBRARIES = @SASL_MECHS@ 12 | EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \ 13 | libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \ 14 | diff --git a/plugins/Makefile.in b/plugins/Makefile.in 15 | index cd52645..d97de69 100644 16 | --- a/plugins/Makefile.in 17 | +++ b/plugins/Makefile.in 18 | @@ -263,7 +263,7 @@ noinst_SCRIPTS = makeinit.sh 19 | 20 | common_sources = plugin_common.c plugin_common.h 21 | 22 | -sasldir = $(prefix)/lib/sasl2 23 | +sasldir = $(prefix)/lib64/sasl2 24 | sasl_LTLIBRARIES = @SASL_MECHS@ 25 | EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la libcrammd5.la \ 26 | libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la libotp.la \ 27 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/NTMakefile b/NTMakefile 2 | index d3aac8a..1ba823f 100644 3 | --- a/NTMakefile 4 | +++ b/NTMakefile 5 | @@ -44,8 +44,8 @@ 6 | 7 | !INCLUDE .\win32\common.mak 8 | 9 | -SUBDIRS=lib plugins utils sample 10 | -INCSUBDIRS=include sasldb win32\include 11 | +SUBDIRS=lib plugins 12 | +INCSUBDIRS=include win32\include 13 | DOCSUBDIRS=doc 14 | 15 | all-first: all 16 | -------------------------------------------------------------------------------- /src/patches/cyrus-sasl-2.1.23-windows-plugins-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/plugins/NTMakefile b/plugins/NTMakefile 2 | index 11f008e..f0c0c77 100644 3 | --- a/plugins/NTMakefile 4 | +++ b/plugins/NTMakefile 5 | @@ -41,7 +41,6 @@ PLUGINS=saslANONYMOUS.dll \ 6 | saslDIGESTMD5.dll \ 7 | saslLOGIN.dll \ 8 | $(PLUGINS_EXT) \ 9 | - saslSASLDB.dll 10 | 11 | generated_rc=saslANONYMOUS.rc saslPLAIN.rc saslCRAMMD5.rc saslDIGESTMD5.rc saslLOGIN.rc saslNTLM.rc saslGSSAPI.rc saslSRP.rc saslOTP.rc saslSASLDB.rc saslSQLITE.rc saslLDAPDB.rc 12 | 13 | -------------------------------------------------------------------------------- /src/patches/db-5.3.21-osx-atomic.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h 2 | index 096176a..561037a 100644 3 | --- a/src/dbinc/atomic.h 4 | +++ b/src/dbinc/atomic.h 5 | @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val; 6 | #define atomic_inc(env, p) __atomic_inc(p) 7 | #define atomic_dec(env, p) __atomic_dec(p) 8 | #define atomic_compare_exchange(env, p, o, n) \ 9 | - __atomic_compare_exchange((p), (o), (n)) 10 | + __atomic_compare_exchange_db((p), (o), (n)) 11 | static inline int __atomic_inc(db_atomic_t *p) 12 | { 13 | int temp; 14 | @@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p) 15 | * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html 16 | * which configure could be changed to use. 17 | */ 18 | -static inline int __atomic_compare_exchange( 19 | +static inline int __atomic_compare_exchange_db( 20 | db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval) 21 | { 22 | atomic_value_t was; 23 | -------------------------------------------------------------------------------- /src/patches/gdbm-1.8.3-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile.in b/Makefile.in 2 | index fec70bb..d80ed75 100644 3 | --- a/Makefile.in 4 | +++ b/Makefile.in 5 | @@ -15,8 +15,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ 6 | INSTALL_DATA = @INSTALL_DATA@ 7 | 8 | # File ownership and group 9 | -BINOWN = bin 10 | -BINGRP = bin 11 | 12 | MAKEINFO = makeinfo 13 | TEXI2DVI = texi2dvi 14 | @@ -131,11 +129,11 @@ install: libgdbm.la gdbm.h gdbm.info 15 | $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \ 16 | $(INSTALL_ROOT)$(infodir) 17 | $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la 18 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \ 19 | + $(INSTALL_DATA) gdbm.h \ 20 | $(INSTALL_ROOT)$(includedir)/gdbm.h 21 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \ 22 | + $(INSTALL_DATA) $(srcdir)/gdbm.3 \ 23 | $(INSTALL_ROOT)$(man3dir)/gdbm.3 24 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \ 25 | + $(INSTALL_DATA) $(srcdir)/gdbm.info \ 26 | $(INSTALL_ROOT)$(infodir)/gdbm.info 27 | 28 | install-compat: 29 | @@ -143,9 +141,9 @@ install-compat: 30 | $(INSTALL_ROOT)$(includedir) 31 | $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ 32 | $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la 33 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \ 34 | + $(INSTALL_DATA) $(srcdir)/dbm.h \ 35 | $(INSTALL_ROOT)$(includedir)/dbm.h 36 | - $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \ 37 | + $(INSTALL_DATA) $(srcdir)/ndbm.h \ 38 | $(INSTALL_ROOT)$(includedir)/ndbm.h 39 | 40 | #libgdbm.a: $(OBJS) gdbm.h 41 | -------------------------------------------------------------------------------- /src/patches/gettext-0.14.6-windows-localename.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gettext-runtime/intl/localename.c b/gettext-runtime/intl/localename.c 2 | index 1b8b99a..78dbfe8 100644 3 | --- a/gettext-runtime/intl/localename.c 4 | +++ b/gettext-runtime/intl/localename.c 5 | @@ -593,13 +593,13 @@ 6 | # define SUBLANG_PUNJABI_INDIA 0x00 7 | # endif 8 | # ifndef SUBLANG_PUNJABI_PAKISTAN 9 | -# define SUBLANG_PUNJABI_PAKISTAN 0x01 10 | +# define SUBLANG_PUNJABI_PAKISTAN 0x02 11 | # endif 12 | # ifndef SUBLANG_ROMANIAN_ROMANIA 13 | # define SUBLANG_ROMANIAN_ROMANIA 0x00 14 | # endif 15 | # ifndef SUBLANG_ROMANIAN_MOLDOVA 16 | -# define SUBLANG_ROMANIAN_MOLDOVA 0x01 17 | +# define SUBLANG_ROMANIAN_MOLDOVA 0x02 18 | # endif 19 | # ifndef SUBLANG_SERBIAN_LATIN 20 | # define SUBLANG_SERBIAN_LATIN 0x02 21 | -------------------------------------------------------------------------------- /src/patches/gettext-0.18.1.1-gets.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gettext-runtime/gnulib-lib/stdio.in.h b/gettext-runtime/gnulib-lib/stdio.in.h 2 | index c43848e..7300eb0 100644 3 | --- a/gettext-runtime/gnulib-lib/stdio.in.h 4 | +++ b/gettext-runtime/gnulib-lib/stdio.in.h 5 | @@ -141,7 +141,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " 6 | so any use of gets warrants an unconditional warning. Assume it is 7 | always declared, since it is required by C89. */ 8 | #undef gets 9 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 10 | 11 | #if @GNULIB_FOPEN@ 12 | # if @REPLACE_FOPEN@ 13 | -------------------------------------------------------------------------------- /src/patches/gettext-0.18.1.1-gets2.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gettext-tools/gnulib-lib/stdio.in.h b/gettext-tools/gnulib-lib/stdio.in.h 2 | index c43848e..7300eb0 100644 3 | --- a/gettext-tools/gnulib-lib/stdio.in.h 4 | +++ b/gettext-tools/gnulib-lib/stdio.in.h 5 | @@ -141,7 +141,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " 6 | so any use of gets warrants an unconditional warning. Assume it is 7 | always declared, since it is required by C89. */ 8 | #undef gets 9 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 10 | 11 | #if @GNULIB_FOPEN@ 12 | # if @REPLACE_FOPEN@ 13 | diff --git a/gettext-tools/libgettextpo/stdio.in.h b/gettext-tools/libgettextpo/stdio.in.h 14 | index c43848e..7300eb0 100644 15 | --- a/gettext-tools/libgettextpo/stdio.in.h 16 | +++ b/gettext-tools/libgettextpo/stdio.in.h 17 | @@ -141,7 +141,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " 18 | so any use of gets warrants an unconditional warning. Assume it is 19 | always declared, since it is required by C89. */ 20 | #undef gets 21 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 22 | 23 | #if @GNULIB_FOPEN@ 24 | # if @REPLACE_FOPEN@ 25 | -------------------------------------------------------------------------------- /src/patches/gettext-0.18.1.1-osx-gettext-tools-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gettext-tools/Makefile.in b/gettext-tools/Makefile.in 2 | index 48869d7..71cd355 100644 3 | --- a/gettext-tools/Makefile.in 4 | +++ b/gettext-tools/Makefile.in 5 | @@ -1248,7 +1248,7 @@ top_builddir = @top_builddir@ 6 | top_srcdir = @top_srcdir@ 7 | AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies 8 | ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 9 | -SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples 10 | +SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests 11 | 12 | # Allow users to use "gnulib-tool --update". 13 | 14 | -------------------------------------------------------------------------------- /src/patches/gettext-0.18.1.1-osx-gettext-tools.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gettext-tools/gnulib-lib/stpncpy.c b/gettext-tools/gnulib-lib/stpncpy.c 2 | index ca53ebb..3fe2c34 100644 3 | --- a/gettext-tools/gnulib-lib/stpncpy.c 4 | +++ b/gettext-tools/gnulib-lib/stpncpy.c 5 | @@ -25,7 +25,6 @@ 6 | #include 7 | 8 | #ifndef weak_alias 9 | -# define __stpncpy stpncpy 10 | #endif 11 | 12 | /* Copy no more than N bytes of SRC to DST, returning a pointer past the 13 | -------------------------------------------------------------------------------- /src/patches/gnutls-2.12.3-gets.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/gl/stdio.in.h b/lib/gl/stdio.in.h 2 | index 9091497..fa7e3fb 100644 3 | --- a/lib/gl/stdio.in.h 4 | +++ b/lib/gl/stdio.in.h 5 | @@ -162,7 +162,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " 6 | so any use of gets warrants an unconditional warning. Assume it is 7 | always declared, since it is required by C89. */ 8 | #undef gets 9 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 10 | 11 | #if @GNULIB_FOPEN@ 12 | # if @REPLACE_FOPEN@ 13 | -------------------------------------------------------------------------------- /src/patches/gnutls-2.12.3-gets2.patch: -------------------------------------------------------------------------------- 1 | commit 06ccd579813cc31ca797ed80ad2a9ca3829e84be 2 | Author: Jenkins CI 3 | Date: Thu Aug 15 17:10:12 2013 +0300 4 | 5 | y 6 | 7 | diff --git a/gl/stdio.in.h b/gl/stdio.in.h 8 | index b7f3b6f..039b0dc 100644 9 | --- a/gl/stdio.in.h 10 | +++ b/gl/stdio.in.h 11 | @@ -162,7 +162,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - " 12 | so any use of gets warrants an unconditional warning. Assume it is 13 | always declared, since it is required by C89. */ 14 | #undef gets 15 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 16 | 17 | #if @GNULIB_FOPEN@ 18 | # if @REPLACE_FOPEN@ 19 | -------------------------------------------------------------------------------- /src/patches/libgpg-error-1.10-src-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/Makefile.am b/src/Makefile.am 2 | index 518a4c0..5bace6c 100644 3 | --- a/src/Makefile.am 4 | +++ b/src/Makefile.am 5 | @@ -138,7 +138,7 @@ code-to-errno.h: Makefile mkerrnos.awk errnos.in 6 | # It is correct to use $(CPP). We want the host's idea of the error codes. 7 | mkerrcodes.h: Makefile mkerrcodes.awk $(gpg_extra_headers) 8 | $(AWK) -f $(srcdir)/mkerrcodes1.awk $(srcdir)/errnos.in >_$@ 9 | - $(CPP) $(extra_cppflags) _$@ | grep GPG_ERR_ | \ 10 | + $(CPP) $(extra_cppflags) -P _$@ | grep GPG_ERR_ | \ 11 | $(AWK) -f $(srcdir)/mkerrcodes.awk >$@ 12 | -rm _$@ 13 | 14 | -------------------------------------------------------------------------------- /src/patches/libiconv-1.11.1-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile.msvc b/Makefile.msvc 2 | index 352ea65..b61e6bf 100644 3 | --- a/Makefile.msvc 4 | +++ b/Makefile.msvc 5 | @@ -121,6 +121,7 @@ install : force 6 | -mkdir $(prefix) 7 | -mkdir $(includedir) 8 | $(INSTALL_DATA) include\iconv.h $(includedir)\iconv.h 9 | + $(INSTALL_DATA) windows\unistd.h $(includedir)\unistd.h 10 | 11 | installdirs : force 12 | cd libcharset 13 | -------------------------------------------------------------------------------- /src/patches/libxml2-2.7.8-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc 2 | index bd0eb9d..95a61b4 100644 3 | --- a/win32/Makefile.msvc 4 | +++ b/win32/Makefile.msvc 5 | @@ -71,9 +71,9 @@ LIBS = $(LIBS) wsock32.lib ws2_32.lib 6 | !if "$(WITH_ICONV)" == "1" 7 | LIBS = $(LIBS) iconv.lib 8 | !endif 9 | -+!if "$(WITH_ICU)" == "1" 10 | -+LIBS = $(LIBS) icu.lib 11 | -+!endif 12 | +!if "$(WITH_ICU)" == "1" 13 | +LIBS = $(LIBS) icu.lib 14 | +!endif 15 | !if "$(WITH_ZLIB)" == "1" 16 | LIBS = $(LIBS) zdll.lib 17 | !endif 18 | @@ -94,7 +94,7 @@ CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 19 | LDFLAGS = $(LDFLAGS) /DEBUG 20 | !else 21 | CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 22 | -LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 23 | +LDFLAGS = $(LDFLAGS) 24 | !endif 25 | 26 | # Libxml object files. 27 | -------------------------------------------------------------------------------- /src/patches/libxslt-1.1.26-configure.patch: -------------------------------------------------------------------------------- 1 | diff --git a/configure b/configure 2 | index ccfe05d..f9daf6f 100644 3 | --- a/configure 4 | +++ b/configure 5 | @@ -13402,7 +13402,7 @@ VERSION_SCRIPT_FLAGS= 6 | $(/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null) && \ 7 | VERSION_SCRIPT_FLAGS=-Wl,--version-script= 8 | test "`uname`" == "SunOS" && \ 9 | - VERSION_SCRIPT_FLAGS="-Wl,-M -Wl," 10 | + VERSION_SCRIPT_FLAGS= 11 | 12 | if test -n "$VERSION_SCRIPT_FLAGS"; then 13 | USE_VERSION_SCRIPT_TRUE= 14 | -------------------------------------------------------------------------------- /src/patches/libxslt-1.1.26-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc 2 | index 54e8e23..ebe754a 100644 3 | --- a/win32/Makefile.msvc 4 | +++ b/win32/Makefile.msvc 5 | @@ -71,7 +71,7 @@ CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 6 | LDFLAGS = $(LDFLAGS) /DEBUG 7 | !else 8 | CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 9 | -LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 10 | +LDFLAGS = $(LDFLAGS) 11 | !endif 12 | 13 | # Libxslt object files. 14 | -------------------------------------------------------------------------------- /src/patches/ncurses-5.9-configure.patch: -------------------------------------------------------------------------------- 1 | diff --git a/configure b/configure 2 | index 639b790..3f27c4d 100755 3 | --- a/configure 4 | +++ b/configure 5 | @@ -493,29 +493,6 @@ if test -n "$ac_prev"; then 6 | { (exit 1); exit 1; }; } 7 | fi 8 | 9 | -# Be sure to have absolute paths. 10 | -for ac_var in exec_prefix prefix 11 | -do 12 | - eval ac_val=$`echo $ac_var` 13 | - case $ac_val in 14 | - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; 15 | - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 16 | - { (exit 1); exit 1; }; };; 17 | - esac 18 | -done 19 | - 20 | -# Be sure to have absolute paths. 21 | -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ 22 | - localstatedir libdir includedir oldincludedir infodir mandir 23 | -do 24 | - eval ac_val=$`echo $ac_var` 25 | - case $ac_val in 26 | - [\\/$]* | ?:[\\/]* ) ;; 27 | - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 28 | - { (exit 1); exit 1; }; };; 29 | - esac 30 | -done 31 | - 32 | # There might be people who depend on the old broken behavior: `$host' 33 | # used to hold the argument of --host etc. 34 | build=$build_alias 35 | -------------------------------------------------------------------------------- /src/patches/openssh-5.8p1-makefile-mkdir.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile.in b/Makefile.in 2 | index 870a7f1..d329003 100644 3 | --- a/Makefile.in 4 | +++ b/Makefile.in 5 | @@ -257,7 +257,6 @@ install-files: 6 | $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)5 7 | $(srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/$(mansubdir)8 8 | $(srcdir)/mkinstalldirs $(DESTDIR)$(libexecdir) 9 | - (umask 022 ; $(srcdir)/mkinstalldirs $(DESTDIR)$(PRIVSEP_PATH)) 10 | $(INSTALL) -m 0755 $(STRIP_OPT) ssh$(EXEEXT) $(DESTDIR)$(bindir)/ssh$(EXEEXT) 11 | $(INSTALL) -m 0755 $(STRIP_OPT) scp$(EXEEXT) $(DESTDIR)$(bindir)/scp$(EXEEXT) 12 | $(INSTALL) -m 0755 $(STRIP_OPT) ssh-add$(EXEEXT) $(DESTDIR)$(bindir)/ssh-add$(EXEEXT) 13 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile.org b/Makefile.org 2 | index 76fdbdf..7d3072e 100644 3 | --- a/Makefile.org 4 | +++ b/Makefile.org 5 | @@ -536,9 +536,6 @@ install_sw: 6 | $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ 7 | $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ 8 | $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ 9 | - $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ 10 | - $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ 11 | - $(INSTALL_PREFIX)$(OPENSSLDIR)/private 12 | @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ 13 | do \ 14 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ 15 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-apps-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/apps/Makefile b/apps/Makefile 2 | index 8c3297e..f70e556 100644 3 | --- a/apps/Makefile 4 | +++ b/apps/Makefile 5 | @@ -15,8 +15,8 @@ KRB5_INCLUDES= 6 | LIBKRB5= 7 | 8 | PEX_LIBS= 9 | -EX_LIBS= 10 | -EXE_EXT= 11 | +EX_LIBS= 12 | +EXE_EXT= 13 | 14 | SHLIB_TARGET= 15 | 16 | @@ -91,7 +91,7 @@ req: sreq.o $(A_OBJ) $(DLIBCRYPTO) 17 | LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \ 18 | link_app.$${shlib_target} 19 | 20 | -sreq.o: req.c 21 | +sreq.o: req.c 22 | $(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c 23 | 24 | openssl-vms.cnf: openssl.cnf 25 | @@ -109,16 +109,6 @@ install: 26 | chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ 27 | mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ 28 | done; 29 | - @set -e; for i in $(SCRIPTS); \ 30 | - do \ 31 | - (echo installing $$i; \ 32 | - cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \ 33 | - chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \ 34 | - mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \ 35 | - done 36 | - @cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \ 37 | - chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \ 38 | - mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf 39 | 40 | tags: 41 | ctags $(SRC) 42 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-linux-ldflags.patch: -------------------------------------------------------------------------------- 1 | diff --git c/Makefile.shared w/Makefile.shared 2 | index e753f44..6297341 100644 3 | --- c/Makefile.shared 4 | +++ w/Makefile.shared 5 | @@ -151,9 +151,10 @@ DO_GNU_SO=$(CALC_VERSIONS); \ 6 | SHLIB_SUFFIX=; \ 7 | ALLSYMSFLAGS='-Wl,--whole-archive'; \ 8 | NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ 9 | - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" 10 | + SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \ 11 | + LDFLAGS="$(LDFLAGS) $(CFLAGS)" 12 | 13 | -DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)" 14 | +DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS)" 15 | 16 | #This is rather special. It's a special target with which one can link 17 | #applications without bothering with any features that have anything to 18 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-solaris-configure.patch: -------------------------------------------------------------------------------- 1 | diff --git i/Configure w/Configure 2 | index 93c4cc1..fa93c52 100755 3 | --- i/Configure 4 | +++ w/Configure 5 | @@ -240,12 +240,12 @@ my %table=( 6 | 7 | #### SPARC Solaris with GNU C setups 8 | "solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 9 | -"solaris-sparcv8-gcc","gcc:-mcpu=v8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 10 | +"solaris-sparcv8-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 11 | # -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc 12 | "solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 13 | "solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64", 14 | #### 15 | -"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mcpu=v8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 16 | +"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 17 | "debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 18 | 19 | #### SPARC Solaris with Sun C setups 20 | @@ -262,7 +262,7 @@ my %table=( 21 | 22 | #### SunOS configs, assuming sparc for the gcc one. 23 | #"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}::", 24 | -"sunos-gcc","gcc:-O3 -mcpu=v8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::", 25 | +"sunos-gcc","gcc:-O3 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::", 26 | 27 | #### IRIX 5.x configs 28 | # -mips2 flag is added by ./config when appropriate. 29 | @@ -390,7 +390,7 @@ my %table=( 30 | #### SPARC Linux setups 31 | # Ray Miller has patiently 32 | # assisted with debugging of following two configs. 33 | -"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 34 | +"linux-sparcv8","gcc:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 35 | # it's a real mess with -mcpu=ultrasparc option under Linux, but 36 | # -Wa,-Av8plus should do the trick no matter what. 37 | "linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 38 | @@ -424,7 +424,7 @@ my %table=( 39 | "BSD-x86", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 40 | "BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 41 | "debug-BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 42 | -"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mcpu=v8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 43 | +"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 44 | 45 | "BSD-generic64","gcc:-O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 46 | # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it 47 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-tools-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/tools/Makefile b/tools/Makefile 2 | index c1a2f6b..6e7c104 100644 3 | --- a/tools/Makefile 4 | +++ b/tools/Makefile 5 | @@ -26,12 +26,6 @@ install: 6 | chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ 7 | mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ 8 | done; 9 | - @for i in $(MISC_APPS) ; \ 10 | - do \ 11 | - (cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \ 12 | - chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \ 13 | - mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \ 14 | - done; 15 | 16 | files: 17 | $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO 18 | -------------------------------------------------------------------------------- /src/patches/openssl-1.0.2h-windows-batchfile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ms/do_ms.bat b/ms/do_ms.bat 2 | index 55014d3..2b37969 100755 3 | --- a/ms/do_ms.bat 4 | +++ b/ms/do_ms.bat 5 | @@ -1,11 +1,11 @@ 6 | 7 | -perl util\mkfiles.pl >MINFO 8 | -perl util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak 9 | -perl util\mk1mf.pl dll no-asm VC-WIN32 >ms\ntdll.mak 10 | +%PerlExe% util\mkfiles.pl >MINFO 11 | +%PerlExe% util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak 12 | +%PerlExe% util\mk1mf.pl dll no-asm VC-WIN32 >ms\ntdll.mak 13 | if x%OSVERSION% == x goto skipce 14 | -perl util\mk1mf.pl no-asm VC-CE >ms\ce.mak 15 | -perl util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak 16 | +%PerlExe% util\mk1mf.pl no-asm VC-CE >ms\ce.mak 17 | +%PerlExe% util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak 18 | :skipce 19 | 20 | -perl util\mkdef.pl 32 libeay > ms\libeay32.def 21 | -perl util\mkdef.pl 32 ssleay > ms\ssleay32.def 22 | +%PerlExe% util\mkdef.pl 32 libeay > ms\libeay32.def 23 | +%PerlExe% util\mkdef.pl 32 ssleay > ms\ssleay32.def 24 | diff --git a/ms/do_win64a.bat b/ms/do_win64a.bat 25 | index 8768dc6..5e6c031 100755 26 | --- a/ms/do_win64a.bat 27 | +++ b/ms/do_win64a.bat 28 | @@ -3,17 +3,17 @@ perl util\mkfiles.pl >MINFO 29 | cmd /c "nasm -f win64 -v" >NUL 2>&1 30 | if %errorlevel% neq 0 goto ml64 31 | 32 | -perl ms\uplink-x86_64.pl nasm > ms\uptable.asm 33 | +%PerlExe% ms\uplink-x86_64.pl nasm > ms\uptable.asm 34 | nasm -f win64 -o ms\uptable.obj ms\uptable.asm 35 | goto proceed 36 | 37 | :ml64 38 | -perl ms\uplink-x86_64.pl masm > ms\uptable.asm 39 | +%PerlExe% ms\uplink-x86_64.pl masm > ms\uptable.asm 40 | ml64 -c -Foms\uptable.obj ms\uptable.asm 41 | 42 | :proceed 43 | -perl util\mk1mf.pl VC-WIN64A >ms\nt.mak 44 | -perl util\mk1mf.pl dll VC-WIN64A >ms\ntdll.mak 45 | +%PerlExe% util\mk1mf.pl VC-WIN64A >ms\nt.mak 46 | +%PerlExe% util\mk1mf.pl dll VC-WIN64A >ms\ntdll.mak 47 | 48 | -perl util\mkdef.pl 32 libeay > ms\libeay32.def 49 | -perl util\mkdef.pl 32 ssleay > ms\ssleay32.def 50 | +%PerlExe% util\mkdef.pl 32 libeay > ms\libeay32.def 51 | +%PerlExe% util\mkdef.pl 32 ssleay > ms\ssleay32.def 52 | diff --git a/ms/do_win64i.bat b/ms/do_win64i.bat 53 | index 088f5e1..fd02f56 100755 54 | --- a/ms/do_win64i.bat 55 | +++ b/ms/do_win64i.bat 56 | @@ -1,9 +1,9 @@ 57 | 58 | -perl util\mkfiles.pl >MINFO 59 | -perl ms\uplink-ia64.pl > ms\uptable.asm 60 | +%PerlExe% util\mkfiles.pl >MINFO 61 | +%PerlExe% ms\uplink-ia64.pl > ms\uptable.asm 62 | ias -o ms\uptable.obj ms\uptable.asm 63 | -perl util\mk1mf.pl VC-WIN64I >ms\nt.mak 64 | -perl util\mk1mf.pl dll VC-WIN64I >ms\ntdll.mak 65 | +%PerlExe% util\mk1mf.pl VC-WIN64I >ms\nt.mak 66 | +%PerlExe% util\mk1mf.pl dll VC-WIN64I >ms\ntdll.mak 67 | 68 | -perl util\mkdef.pl 32 libeay > ms\libeay32.def 69 | -perl util\mkdef.pl 32 ssleay > ms\ssleay32.def 70 | +%PerlExe% util\mkdef.pl 32 libeay > ms\libeay32.def 71 | +%PerlExe% util\mkdef.pl 32 ssleay > ms\ssleay32.def 72 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-aix-fopen.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Objects/fileobject.c b/Objects/fileobject.c 2 | index 5594058..5beafb0 100644 3 | --- a/Objects/fileobject.c 4 | +++ b/Objects/fileobject.c 5 | @@ -319,6 +319,7 @@ static PyObject * 6 | open_the_file(PyFileObject *f, char *name, char *mode) 7 | { 8 | char *newmode; 9 | + int newmodelen; 10 | assert(f != NULL); 11 | assert(PyFile_Check(f)); 12 | #ifdef MS_WINDOWS 13 | @@ -331,7 +332,13 @@ open_the_file(PyFileObject *f, char *name, char *mode) 14 | assert(f->f_fp == NULL); 15 | 16 | /* probably need to replace 'U' by 'rb' */ 17 | - newmode = PyMem_MALLOC(strlen(mode) + 3); 18 | + newmodelen = strlen(mode) + 3; 19 | + newmode = PyMem_MALLOC(newmodelen); 20 | + /* Due to a bug, AIX looks after the NULL terminator in the mode string 21 | + * (it looks for '+' or 'x' in mode[2] regardless of mode's length). 22 | + * We must not have "junk" in the buffer. Zero out everything and 23 | + * especially the 3 extra bytes */ 24 | + memset(newmode, 0, newmodelen); 25 | if (!newmode) { 26 | PyErr_NoMemory(); 27 | return NULL; 28 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-aix-libpath.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c 2 | index 4d0c8fa..bf4648e 100644 3 | --- a/Modules/posixmodule.c 4 | +++ b/Modules/posixmodule.c 5 | @@ -2799,6 +2799,7 @@ posix_system(PyObject *self, PyObject *args) 6 | if (!PyArg_ParseTuple(args, "s:system", &command)) 7 | return NULL; 8 | Py_BEGIN_ALLOW_THREADS 9 | + unsetenv("LIBPATH"); 10 | sts = system(command); 11 | Py_END_ALLOW_THREADS 12 | return PyInt_FromLong(sts); 13 | @@ -3161,6 +3162,7 @@ posix_execv(PyObject *self, PyObject *args) 14 | } 15 | argvlist[argc] = NULL; 16 | 17 | + unsetenv("LIBPATH"); 18 | execv(path, argvlist); 19 | 20 | /* If we get here it's definitely an error */ 21 | @@ -3280,6 +3282,7 @@ posix_execve(PyObject *self, PyObject *args) 22 | /* Omit Pseudo-Env Vars that Would Confuse Programs if Passed On */ 23 | if (stricmp(k, "BEGINLIBPATH") != 0 && stricmp(k, "ENDLIBPATH") != 0) { 24 | #endif 25 | + if (strcmp(k, "LIBPATH") != 0) { 26 | len = PyString_Size(key) + PyString_Size(val) + 2; 27 | p = PyMem_NEW(char, len); 28 | if (p == NULL) { 29 | @@ -3288,6 +3291,7 @@ posix_execve(PyObject *self, PyObject *args) 30 | } 31 | PyOS_snprintf(p, len, "%s=%s", k, v); 32 | envlist[envc++] = p; 33 | + } 34 | #if defined(PYOS_OS2) 35 | } 36 | #endif 37 | @@ -3376,6 +3380,7 @@ posix_spawnv(PyObject *self, PyObject *args) 38 | } 39 | argvlist[argc] = NULL; 40 | 41 | + unsetenv("LIBPATH"); 42 | #if defined(PYOS_OS2) && defined(PYCC_GCC) 43 | Py_BEGIN_ALLOW_THREADS 44 | spawnval = spawnv(mode, path, argvlist); 45 | @@ -3510,6 +3515,7 @@ posix_spawnve(PyObject *self, PyObject *args) 46 | { 47 | goto fail_2; 48 | } 49 | + if (strcmp(k, "LIBPATH") != 0) { 50 | len = PyString_Size(key) + PyString_Size(val) + 2; 51 | p = PyMem_NEW(char, len); 52 | if (p == NULL) { 53 | @@ -3518,6 +3524,7 @@ posix_spawnve(PyObject *self, PyObject *args) 54 | } 55 | PyOS_snprintf(p, len, "%s=%s", k, v); 56 | envlist[envc++] = p; 57 | + } 58 | } 59 | envlist[envc] = 0; 60 | 61 | @@ -4546,6 +4553,7 @@ posix_popen(PyObject *self, PyObject *args) 62 | if (!PyArg_ParseTuple(args, "s|si:popen", &name, &mode, &bufsize)) 63 | return NULL; 64 | Py_BEGIN_ALLOW_THREADS 65 | + unsetenv("LIBPATH"); 66 | fp = popen(name, mode, (bufsize > 0) ? bufsize : 4096, &err); 67 | Py_END_ALLOW_THREADS 68 | if (fp == NULL) 69 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-disutils-sysconfig.py.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py 2 | index ba48173..64c2d5e 100644 3 | --- a/Lib/distutils/sysconfig.py 4 | +++ b/Lib/distutils/sysconfig.py 5 | @@ -432,7 +432,19 @@ def _init_posix(): 6 | 7 | global _config_vars 8 | _config_vars = g 9 | - 10 | + _fix_prefix(_config_vars) 11 | + 12 | +def _fix_prefix(config_vars): 13 | + import sys 14 | + if config_vars is None: 15 | + return 16 | + makefile_prefix = config_vars.get('prefix', None) 17 | + if not makefile_prefix: 18 | + return 19 | + for key, value in config_vars.items(): 20 | + if not isinstance(value, str): 21 | + continue 22 | + config_vars[key] = value.replace(makefile_prefix, sys.prefix) 23 | 24 | def _init_nt(): 25 | """Initialize the module as appropriate for NT""" 26 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-linux-symlink.patch: -------------------------------------------------------------------------------- 1 | diff --git i/Makefile.pre.in w/Makefile.pre.in 2 | index 9d55550..474fd86 100644 3 | --- i/Makefile.pre.in 4 | +++ w/Makefile.pre.in 5 | @@ -473,7 +473,7 @@ $(LIBRARY): $(LIBRARY_OBJS) 6 | libpython$(VERSION).so: $(LIBRARY_OBJS) 7 | if test $(INSTSONAME) != $(LDLIBRARY); then \ 8 | $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ 9 | - $(LN) -f $(INSTSONAME) $@; \ 10 | + $(LN) -fsn $(INSTSONAME) $@; \ 11 | else \ 12 | $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ 13 | fi 14 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-osx-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git i/Makefile.pre.in w/Makefile.pre.in 2 | index cf75650..dff314a 100644 3 | --- i/Makefile.pre.in 4 | +++ w/Makefile.pre.in 5 | @@ -459,7 +459,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt 6 | *\ -s*|s*) quiet="-q";; \ 7 | *) quiet="";; \ 8 | esac; \ 9 | - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ 10 | + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CONFIG_ARGS='$(CONFIG_ARGS)' OPT='$(OPT)' \ 11 | _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ 12 | $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build 13 | 14 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-osx-configure.patch: -------------------------------------------------------------------------------- 1 | diff --git i/configure w/configure 2 | index dc0dfd0..21cd84a 100755 3 | --- i/configure 4 | +++ w/configure 5 | @@ -719,7 +719,6 @@ PYTHONFRAMEWORK 6 | LIPO_32BIT_FLAGS 7 | ARCH_RUN_32BIT 8 | UNIVERSALSDK 9 | -CONFIG_ARGS 10 | SOVERSION 11 | VERSION 12 | PYTHON_FOR_BUILD 13 | @@ -2932,7 +2931,6 @@ define_xopen_source=yes 14 | 15 | # Arguments passed to configure. 16 | 17 | -CONFIG_ARGS="$ac_configure_args" 18 | 19 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-universalsdk" >&5 20 | $as_echo_n "checking for --enable-universalsdk... " >&6; } 21 | diff --git i/configure.ac w/configure.ac 22 | index 30f5bf4..351612b 100644 23 | --- i/configure.ac 24 | +++ w/configure.ac 25 | @@ -46,7 +46,7 @@ dnl can cause trouble. 26 | dnl Last slash shouldn't be stripped if prefix=/ 27 | if test "$prefix" != "/"; then 28 | prefix=`echo "$prefix" | sed -e 's/\/$//g'` 29 | -fi 30 | +fi 31 | 32 | dnl This is for stuff that absolutely must end up in pyconfig.h. 33 | dnl Please use pyport.h instead, if possible. 34 | @@ -102,8 +102,6 @@ AC_DEFINE(_DARWIN_C_SOURCE, 1, [Define on Darwin to activate all library feature 35 | define_xopen_source=yes 36 | 37 | # Arguments passed to configure. 38 | -AC_SUBST(CONFIG_ARGS) 39 | -CONFIG_ARGS="$ac_configure_args" 40 | 41 | AC_MSG_CHECKING([for --enable-universalsdk]) 42 | AC_ARG_ENABLE(universalsdk, 43 | @@ -131,7 +129,7 @@ AC_ARG_ENABLE(universalsdk, 44 | fi 45 | ;; 46 | esac 47 | - 48 | + 49 | ],[ 50 | UNIVERSALSDK= 51 | enable_universalsdk= 52 | @@ -188,7 +186,7 @@ AC_ARG_ENABLE(framework, 53 | AS_HELP_STRING([--enable-framework@<:@=INSTALLDIR@:>@], [Build (MacOSX|Darwin) framework]), 54 | [ 55 | case $enableval in 56 | - yes) 57 | + yes) 58 | enableval=/Library/Frameworks 59 | esac 60 | case $enableval in 61 | @@ -243,7 +241,7 @@ AC_ARG_ENABLE(framework, 62 | FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications" 63 | 64 | if test "${prefix}" = "NONE"; then 65 | - # User hasn't specified the 66 | + # User hasn't specified the 67 | # --prefix option, but wants to install 68 | # the framework in a non-default location, 69 | # ensure that the compatibility links get 70 | @@ -371,7 +369,7 @@ if test "$cross_compiling" = yes; then 71 | esac 72 | _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" 73 | fi 74 | - 75 | + 76 | # Some systems cannot stand _XOPEN_SOURCE being defined at all; they 77 | # disable features if it is defined, without any means to access these 78 | # features as extensions. For these systems, we skip the definition of 79 | @@ -388,7 +386,7 @@ case $ac_sys_system/$ac_sys_release in 80 | # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. 81 | # In addition, Stefan Krah confirms that issue #1244610 exists through 82 | # OpenBSD 4.6, but is fixed in 4.7. 83 | - OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.@<:@0123456@:>@) 84 | + OpenBSD/2.* | OpenBSD/3.* | OpenBSD/4.@<:@0123456@:>@) 85 | define_xopen_source=no 86 | # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is 87 | # also defined. This can be overridden by defining _BSD_SOURCE 88 | @@ -426,12 +424,12 @@ case $ac_sys_system/$ac_sys_release in 89 | # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them. 90 | FreeBSD/4.*) 91 | define_xopen_source=no;; 92 | - # On MacOS X 10.2, a bug in ncurses.h means that it craps out if 93 | + # On MacOS X 10.2, a bug in ncurses.h means that it craps out if 94 | # _XOPEN_EXTENDED_SOURCE is defined. Apparently, this is fixed in 10.3, which 95 | # identifies itself as Darwin/7.* 96 | # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE 97 | # disables platform specific features beyond repair. 98 | - # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE 99 | + # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE 100 | # has no effect, don't bother defining them 101 | Darwin/@<:@6789@:>@.*) 102 | define_xopen_source=no;; 103 | @@ -457,7 +455,7 @@ esac 104 | 105 | if test $define_xopen_source = yes 106 | then 107 | - AC_DEFINE(_XOPEN_SOURCE, 600, 108 | + AC_DEFINE(_XOPEN_SOURCE, 600, 109 | Define to the level of X/Open that your system supports) 110 | 111 | # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires 112 | @@ -468,7 +466,7 @@ then 113 | Define to activate Unix95-and-earlier features) 114 | 115 | AC_DEFINE(_POSIX_C_SOURCE, 200112L, Define to activate features from IEEE Stds 1003.1-2001) 116 | - 117 | + 118 | fi 119 | 120 | # 121 | @@ -496,11 +494,11 @@ AC_MSG_CHECKING(EXTRAPLATDIR) 122 | if test -z "$EXTRAPLATDIR" 123 | then 124 | case $MACHDEP in 125 | - darwin) 126 | + darwin) 127 | EXTRAPLATDIR="\$(PLATMACDIRS)" 128 | EXTRAMACHDEPPATH="\$(PLATMACPATH)" 129 | ;; 130 | - *) 131 | + *) 132 | EXTRAPLATDIR="" 133 | EXTRAMACHDEPPATH="" 134 | ;; 135 | @@ -622,7 +620,7 @@ AC_ARG_WITH(cxx_main, 136 | AS_HELP_STRING([--with-cxx-main=], 137 | [compile main() and link python executable with C++ compiler]), 138 | [ 139 | - 140 | + 141 | case $withval in 142 | no) with_cxx_main=no 143 | MAINCC='$(CC)';; 144 | @@ -749,7 +747,7 @@ AC_MSG_RESULT($LIBRARY) 145 | # systems without shared libraries, LDLIBRARY is the same as LIBRARY 146 | # (defined in the Makefiles). On Cygwin LDLIBRARY is the import library, 147 | # DLLLIBRARY is the shared (i.e., DLL) library. 148 | -# 149 | +# 150 | # RUNSHARED is used to run shared python without installed libraries 151 | # 152 | # INSTSONAME is the name of the shared library that will be use to install 153 | @@ -771,7 +769,7 @@ RUNSHARED='' 154 | # If CXX is set, and if it is needed to link a main function that was 155 | # compiled with CXX, LINKCC is CXX instead. Always using CXX is undesirable: 156 | # python might then depend on the C++ runtime 157 | -# This is altered for AIX in order to build the export list before 158 | +# This is altered for AIX in order to build the export list before 159 | # linking. 160 | AC_SUBST(LINKCC) 161 | AC_MSG_CHECKING(LINKCC) 162 | @@ -818,7 +816,7 @@ AC_ARG_ENABLE(shared, 163 | AS_HELP_STRING([--enable-shared], [disable/enable building shared python library])) 164 | 165 | if test -z "$enable_shared" 166 | -then 167 | +then 168 | case $ac_sys_system in 169 | CYGWIN* | atheos*) 170 | enable_shared="yes";; 171 | @@ -863,7 +861,7 @@ then 172 | BLDLIBRARY='' 173 | else 174 | BLDLIBRARY='$(LDLIBRARY)' 175 | -fi 176 | +fi 177 | 178 | # Other platforms follow 179 | if test $enable_shared = "yes"; then 180 | @@ -1014,14 +1012,14 @@ fi 181 | 182 | # Check for --with-pydebug 183 | AC_MSG_CHECKING(for --with-pydebug) 184 | -AC_ARG_WITH(pydebug, 185 | +AC_ARG_WITH(pydebug, 186 | AS_HELP_STRING([--with-pydebug], [build with Py_DEBUG defined]), 187 | [ 188 | if test "$withval" != no 189 | -then 190 | - AC_DEFINE(Py_DEBUG, 1, 191 | - [Define if you want to build an interpreter with many run-time checks.]) 192 | - AC_MSG_RESULT(yes); 193 | +then 194 | + AC_DEFINE(Py_DEBUG, 1, 195 | + [Define if you want to build an interpreter with many run-time checks.]) 196 | + AC_MSG_RESULT(yes); 197 | Py_DEBUG='true' 198 | else AC_MSG_RESULT(no); Py_DEBUG='false' 199 | fi], 200 | @@ -1136,7 +1134,7 @@ yes) 201 | AC_MSG_CHECKING(which compiler should be used) 202 | case "${UNIVERSALSDK}" in 203 | */MacOSX10.4u.sdk) 204 | - # Build using 10.4 SDK, force usage of gcc when the 205 | + # Build using 10.4 SDK, force usage of gcc when the 206 | # compiler is gcc, otherwise the user will get very 207 | # confusing error messages when building on OSX 10.6 208 | CC=gcc-4.0 209 | @@ -1153,9 +1151,9 @@ yes) 210 | cur_target=10.3 211 | if test ${enable_universalsdk}; then 212 | if test "${UNIVERSAL_ARCHS}" = "all"; then 213 | - # Ensure that the default platform for a 214 | - # 4-way universal build is OSX 10.5, 215 | - # that's the first OS release where 216 | + # Ensure that the default platform for a 217 | + # 4-way universal build is OSX 10.5, 218 | + # that's the first OS release where 219 | # 4-way builds make sense. 220 | cur_target='10.5' 221 | 222 | @@ -1178,8 +1176,8 @@ yes) 223 | fi 224 | fi 225 | CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}} 226 | - 227 | - # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the 228 | + 229 | + # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the 230 | # environment with a value that is the same as what we'll use 231 | # in the Makefile to ensure that we'll get the same compiler 232 | # environment during configure and build time. 233 | @@ -1221,7 +1219,7 @@ yes) 234 | 235 | 236 | CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}" 237 | - if test "${UNIVERSALSDK}" != "/" 238 | + if test "${UNIVERSALSDK}" != "/" 239 | then 240 | CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" 241 | LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" 242 | @@ -1368,7 +1366,7 @@ int main(){ 243 | AC_MSG_RESULT($ac_cv_pthread_is_default) 244 | 245 | 246 | -if test $ac_cv_pthread_is_default = yes 247 | +if test $ac_cv_pthread_is_default = yes 248 | then 249 | ac_cv_kpthread=no 250 | else 251 | @@ -1467,14 +1465,14 @@ ac_save_cxx="$CXX" 252 | 253 | if test "$ac_cv_kpthread" = "yes" 254 | then 255 | - CXX="$CXX -Kpthread" 256 | + CXX="$CXX -Kpthread" 257 | ac_cv_cxx_thread=yes 258 | elif test "$ac_cv_kthread" = "yes" 259 | then 260 | CXX="$CXX -Kthread" 261 | ac_cv_cxx_thread=yes 262 | elif test "$ac_cv_pthread" = "yes" 263 | -then 264 | +then 265 | CXX="$CXX -pthread" 266 | ac_cv_cxx_thread=yes 267 | fi 268 | @@ -1600,11 +1598,11 @@ if test "$use_lfs" = "yes"; then 269 | # These may affect some typedefs 270 | case $ac_sys_system/$ac_sys_release in 271 | AIX*) 272 | - AC_DEFINE(_LARGE_FILES, 1, 273 | + AC_DEFINE(_LARGE_FILES, 1, 274 | [This must be defined on AIX systems to enable large file support.]) 275 | ;; 276 | esac 277 | -AC_DEFINE(_LARGEFILE_SOURCE, 1, 278 | +AC_DEFINE(_LARGEFILE_SOURCE, 1, 279 | [This must be defined on some systems to enable large file support.]) 280 | AC_DEFINE(_FILE_OFFSET_BITS, 64, 281 | [This must be set to 64 on some systems to enable large file support.]) 282 | @@ -1666,7 +1664,7 @@ AC_CHECK_SIZEOF(pid_t, 4) 283 | AC_MSG_CHECKING(for long long support) 284 | have_long_long=no 285 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[long long x; x = (long long)0;]])],[ 286 | - AC_DEFINE(HAVE_LONG_LONG, 1, [Define this if you have the type long long.]) 287 | + AC_DEFINE(HAVE_LONG_LONG, 1, [Define this if you have the type long long.]) 288 | have_long_long=yes 289 | ],[]) 290 | AC_MSG_RESULT($have_long_long) 291 | @@ -1688,7 +1686,7 @@ fi 292 | AC_MSG_CHECKING(for _Bool support) 293 | have_c99_bool=no 294 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[_Bool x; x = (_Bool)0;]])],[ 295 | - AC_DEFINE(HAVE_C99_BOOL, 1, [Define this if you have the type _Bool.]) 296 | + AC_DEFINE(HAVE_C99_BOOL, 1, [Define this if you have the type _Bool.]) 297 | have_c99_bool=yes 298 | ],[]) 299 | AC_MSG_RESULT($have_c99_bool) 300 | @@ -1696,8 +1694,8 @@ if test "$have_c99_bool" = yes ; then 301 | AC_CHECK_SIZEOF(_Bool, 1) 302 | fi 303 | 304 | -AC_CHECK_TYPES(uintptr_t, 305 | - [AC_CHECK_SIZEOF(uintptr_t, 4)], 306 | +AC_CHECK_TYPES(uintptr_t, 307 | + [AC_CHECK_SIZEOF(uintptr_t, 4)], 308 | [], [#ifdef HAVE_STDINT_H 309 | #include 310 | #endif 311 | @@ -1716,7 +1714,7 @@ if test "$have_long_long" = yes 312 | then 313 | if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ 314 | "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then 315 | - AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, 316 | + AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, 317 | [Defined to enable large file support when an off_t is bigger than a long 318 | and long long is available and at least as big as an off_t. You may need 319 | to add some flags for configuration and compilation to enable this mode. 320 | @@ -1767,7 +1765,7 @@ AC_ARG_ENABLE(toolbox-glue, 321 | AS_HELP_STRING([--enable-toolbox-glue], [disable/enable MacOSX glue code for extensions])) 322 | 323 | if test -z "$enable_toolbox_glue" 324 | -then 325 | +then 326 | case $ac_sys_system/$ac_sys_release in 327 | Darwin/*) 328 | enable_toolbox_glue="yes";; 329 | @@ -1792,7 +1790,7 @@ AC_MSG_RESULT($enable_toolbox_glue) 330 | 331 | AC_SUBST(OTHER_LIBTOOL_OPT) 332 | case $ac_sys_system/$ac_sys_release in 333 | - Darwin/@<:@01567@:>@\..*) 334 | + Darwin/@<:@01567@:>@\..*) 335 | OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000" 336 | ;; 337 | Darwin/*) 338 | @@ -1804,7 +1802,7 @@ esac 339 | ARCH_RUN_32BIT="" 340 | AC_SUBST(LIBTOOL_CRUFT) 341 | case $ac_sys_system/$ac_sys_release in 342 | - Darwin/@<:@01567@:>@\..*) 343 | + Darwin/@<:@01567@:>@\..*) 344 | LIBTOOL_CRUFT="-framework System -lcc_dynamic" 345 | if test "${enable_universalsdk}"; then 346 | : 347 | @@ -1818,7 +1816,7 @@ case $ac_sys_system/$ac_sys_release in 348 | if test ${gcc_version} '<' 4.0 349 | then 350 | LIBTOOL_CRUFT="-lcc_dynamic" 351 | - else 352 | + else 353 | LIBTOOL_CRUFT="" 354 | fi 355 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ 356 | @@ -1832,14 +1830,14 @@ case $ac_sys_system/$ac_sys_release in 357 | } 358 | } 359 | ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) 360 | - 361 | + 362 | if test "${ac_osx_32bit}" = "yes"; then 363 | case `/usr/bin/arch` in 364 | - i386) 365 | - MACOSX_DEFAULT_ARCH="i386" 366 | + i386) 367 | + MACOSX_DEFAULT_ARCH="i386" 368 | ;; 369 | - ppc) 370 | - MACOSX_DEFAULT_ARCH="ppc" 371 | + ppc) 372 | + MACOSX_DEFAULT_ARCH="ppc" 373 | ;; 374 | *) 375 | AC_MSG_ERROR([Unexpected output of 'arch' on OSX]) 376 | @@ -1847,11 +1845,11 @@ case $ac_sys_system/$ac_sys_release in 377 | esac 378 | else 379 | case `/usr/bin/arch` in 380 | - i386) 381 | - MACOSX_DEFAULT_ARCH="x86_64" 382 | + i386) 383 | + MACOSX_DEFAULT_ARCH="x86_64" 384 | ;; 385 | - ppc) 386 | - MACOSX_DEFAULT_ARCH="ppc64" 387 | + ppc) 388 | + MACOSX_DEFAULT_ARCH="ppc64" 389 | ;; 390 | *) 391 | AC_MSG_ERROR([Unexpected output of 'arch' on OSX]) 392 | @@ -1870,9 +1868,9 @@ AC_MSG_CHECKING(for --enable-framework) 393 | if test "$enable_framework" 394 | then 395 | BASECFLAGS="$BASECFLAGS -fno-common -dynamic" 396 | - # -F. is needed to allow linking to the framework while 397 | + # -F. is needed to allow linking to the framework while 398 | # in the build location. 399 | - AC_DEFINE(WITH_NEXT_FRAMEWORK, 1, 400 | + AC_DEFINE(WITH_NEXT_FRAMEWORK, 1, 401 | [Define if you want to produce an OpenStep/Rhapsody framework 402 | (shared library plus accessory files).]) 403 | AC_MSG_RESULT(yes) 404 | @@ -1887,7 +1885,7 @@ fi 405 | AC_MSG_CHECKING(for dyld) 406 | case $ac_sys_system/$ac_sys_release in 407 | Darwin/*) 408 | - AC_DEFINE(WITH_DYLD, 1, 409 | + AC_DEFINE(WITH_DYLD, 1, 410 | [Define if you want to use the new-style (Openstep, Rhapsody, MacOS) 411 | dynamic linker (dyld) instead of the old-style (NextStep) dynamic 412 | linker (rld). Dyld is necessary to support frameworks.]) 413 | @@ -1953,7 +1951,7 @@ then 414 | ;; 415 | IRIX/5*) LDSHARED="ld -shared";; 416 | IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; 417 | - SunOS/5*) 418 | + SunOS/5*) 419 | if test "$GCC" = "yes" ; then 420 | LDSHARED='$(CC) -shared' 421 | LDCXXSHARED='$(CXX) -shared' 422 | @@ -2130,7 +2128,7 @@ then 423 | BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";; 424 | Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; 425 | # -u libsys_s pulls in all symbols in libsys 426 | - Darwin/*) 427 | + Darwin/*) 428 | # -u _PyMac_Error is needed to pull in the mac toolbox glue, 429 | # which is 430 | # not used by the core itself but which needs to be in the core so 431 | @@ -2148,7 +2146,7 @@ then 432 | OpenUNIX*|UnixWare*) LINKFORSHARED="-Wl,-Bexport";; 433 | SCO_SV*) LINKFORSHARED="-Wl,-Bexport";; 434 | ReliantUNIX*) LINKFORSHARED="-W1 -Blargedynsym";; 435 | - FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) 436 | + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) 437 | if [[ "`$CC -dM -E - ]], [[getpgrp(0);]])], 557 | [AC_DEFINE(GETPGRP_HAVE_ARG, 1, [Define if getpgrp() must be called as getpgrp(0).])], 558 | []) 559 | @@ -3152,7 +3150,7 @@ AC_CHECK_FUNCS(setpgrp, 560 | [AC_DEFINE(SETPGRP_HAVE_ARG, 1, [Define if setpgrp() must be called as setpgrp(0, 0).])], 561 | []) 562 | ) 563 | -AC_CHECK_FUNCS(gettimeofday, 564 | +AC_CHECK_FUNCS(gettimeofday, 565 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], 566 | [[gettimeofday((struct timeval*)0,(struct timezone*)0);]])], 567 | [], 568 | @@ -3182,7 +3180,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 569 | ]) 570 | 571 | # On OSF/1 V5.1, getaddrinfo is available, but a define 572 | -# for [no]getaddrinfo in netdb.h. 573 | +# for [no]getaddrinfo in netdb.h. 574 | AC_MSG_CHECKING(for getaddrinfo) 575 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 576 | #include 577 | @@ -3342,7 +3340,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 578 | ]], [[;]])],[ 579 | AC_DEFINE(SYS_SELECT_WITH_SYS_TIME, 1, 580 | [Define if you can safely include both and 581 | - (which you can't on SCO ODT 3.0).]) 582 | + (which you can't on SCO ODT 3.0).]) 583 | was_it_defined=yes 584 | ],[]) 585 | AC_MSG_RESULT($was_it_defined) 586 | @@ -3393,8 +3391,8 @@ AC_MSG_RESULT($works) 587 | have_prototypes=no 588 | AC_MSG_CHECKING(for prototypes) 589 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int foo(int x) { return 0; }]], [[return foo(10);]])], 590 | - [AC_DEFINE(HAVE_PROTOTYPES, 1, 591 | - [Define if your compiler supports function prototype]) 592 | + [AC_DEFINE(HAVE_PROTOTYPES, 1, 593 | + [Define if your compiler supports function prototype]) 594 | have_prototypes=yes], 595 | [] 596 | ) 597 | @@ -3415,7 +3413,7 @@ int foo(int x, ...) { 598 | ]], [[return foo(10, "", 3.14);]])],[ 599 | AC_DEFINE(HAVE_STDARG_PROTOTYPES, 1, 600 | [Define if your compiler supports variable length function prototypes 601 | - (e.g. void fprintf(FILE *, char *, ...);) *and* ]) 602 | + (e.g. void fprintf(FILE *, char *, ...);) *and* ]) 603 | works=yes 604 | ],[]) 605 | AC_MSG_RESULT($works) 606 | @@ -3450,7 +3448,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 607 | #include 608 | #endif 609 | ]], [[va_list list1, list2; list1 = list2;]])],[],[ 610 | - AC_DEFINE(VA_LIST_IS_ARRAY, 1, [Define if a va_list is an array of some kind]) 611 | + AC_DEFINE(VA_LIST_IS_ARRAY, 1, [Define if a va_list is an array of some kind]) 612 | va_list_is_array=yes 613 | ]) 614 | AC_MSG_RESULT($va_list_is_array) 615 | @@ -3545,9 +3543,9 @@ AC_ARG_WITH(fpectl, 616 | AS_HELP_STRING([--with-fpectl], [enable SIGFPE catching]), 617 | [ 618 | if test "$withval" != no 619 | -then 620 | +then 621 | AC_DEFINE(WANT_SIGFPE_HANDLER, 1, 622 | - [Define if you want SIGFPE handled (see Include/pyfpe.h).]) 623 | + [Define if you want SIGFPE handled (see Include/pyfpe.h).]) 624 | AC_MSG_RESULT(yes) 625 | else AC_MSG_RESULT(no) 626 | fi], 627 | @@ -3862,8 +3860,8 @@ AC_DEFINE_UNQUOTED(PYLONG_BITS_IN_DIGIT, $enable_big_digits, [Define as the pref 628 | 629 | # check for wchar.h 630 | AC_CHECK_HEADER(wchar.h, [ 631 | - AC_DEFINE(HAVE_WCHAR_H, 1, 632 | - [Define if the compiler provides a wchar.h header file.]) 633 | + AC_DEFINE(HAVE_WCHAR_H, 1, 634 | + [Define if the compiler provides a wchar.h header file.]) 635 | wchar_h="yes" 636 | ], 637 | wchar_h="no" 638 | @@ -3906,10 +3904,10 @@ then 639 | [ac_cv_wchar_t_signed=yes])]) 640 | AC_MSG_RESULT($ac_cv_wchar_t_signed) 641 | fi 642 | - 643 | + 644 | AC_MSG_CHECKING(what type to use for unicode) 645 | dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output 646 | -AC_ARG_ENABLE(unicode, 647 | +AC_ARG_ENABLE(unicode, 648 | AS_HELP_STRING([--enable-unicode@<:@=ucs@<:@24@:>@@:>@], [Enable Unicode strings (default is ucs2)]), 649 | [], 650 | [enable_unicode=yes]) 651 | @@ -4153,7 +4151,7 @@ then 652 | [Define if poll() sets errno on invalid file descriptors.]) 653 | fi 654 | 655 | -# Before we can test tzset, we need to check if struct tm has a tm_zone 656 | +# Before we can test tzset, we need to check if struct tm has a tm_zone 657 | # (which is not required by ISO C or UNIX spec) and/or if we support 658 | # tzname[] 659 | AC_STRUCT_TIMEZONE 660 | @@ -4179,7 +4177,7 @@ int main() 661 | tm->tm_zone does not exist since it is the alternative way 662 | of getting timezone info. 663 | 664 | - Red Hat 6.2 doesn't understand the southern hemisphere 665 | + Red Hat 6.2 doesn't understand the southern hemisphere 666 | after New Year's Day. 667 | */ 668 | 669 | @@ -4192,7 +4190,7 @@ int main() 670 | exit(1); 671 | #if HAVE_TZNAME 672 | /* For UTC, tzname[1] is sometimes "", sometimes " " */ 673 | - if (strcmp(tzname[0], "UTC") || 674 | + if (strcmp(tzname[0], "UTC") || 675 | (tzname[1][0] != 0 && tzname[1][0] != ' ')) 676 | exit(1); 677 | #endif 678 | @@ -4297,7 +4295,7 @@ AC_MSG_RESULT($ac_cv_window_has_flags) 679 | 680 | if test "$ac_cv_window_has_flags" = yes 681 | then 682 | - AC_DEFINE(WINDOW_HAS_FLAGS, 1, 683 | + AC_DEFINE(WINDOW_HAS_FLAGS, 1, 684 | [Define if WINDOW in curses.h offers a field _flags.]) 685 | fi 686 | 687 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-pythonhome-pythonrun.c.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Python/pythonrun.c b/Python/pythonrun.c 2 | index bfb7fca..45fb0bf 100644 3 | --- a/Python/pythonrun.c 4 | +++ b/Python/pythonrun.c 5 | @@ -681,8 +681,7 @@ char * 6 | Py_GetPythonHome(void) 7 | { 8 | char *home = default_home; 9 | - if (home == NULL && !Py_IgnoreEnvironmentFlag) 10 | - home = Py_GETENV("PYTHONHOME"); 11 | + // PYTHONHOME is evil, we do not use it 12 | return home; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-redhat-lib64.patch: -------------------------------------------------------------------------------- 1 | diff --git i/Lib/distutils/command/install.py w/Lib/distutils/command/install.py 2 | index b9f1c6c..138144b 100644 3 | --- i/Lib/distutils/command/install.py 4 | +++ w/Lib/distutils/command/install.py 5 | @@ -41,15 +41,15 @@ else: 6 | 7 | INSTALL_SCHEMES = { 8 | 'unix_prefix': { 9 | - 'purelib': '$base/lib/python$py_version_short/site-packages', 10 | - 'platlib': '$platbase/lib/python$py_version_short/site-packages', 11 | + 'purelib': '$base/lib64/python$py_version_short/site-packages', 12 | + 'platlib': '$platbase/lib64/python$py_version_short/site-packages', 13 | 'headers': '$base/include/python$py_version_short/$dist_name', 14 | 'scripts': '$base/bin', 15 | 'data' : '$base', 16 | }, 17 | 'unix_home': { 18 | - 'purelib': '$base/lib/python', 19 | - 'platlib': '$base/lib/python', 20 | + 'purelib': '$base/lib64/python', 21 | + 'platlib': '$base/lib64/python', 22 | 'headers': '$base/include/python/$dist_name', 23 | 'scripts': '$base/bin', 24 | 'data' : '$base', 25 | diff --git i/Lib/distutils/sysconfig.py w/Lib/distutils/sysconfig.py 26 | index 0c726d9..bf17c0f 100644 27 | --- i/Lib/distutils/sysconfig.py 28 | +++ w/Lib/distutils/sysconfig.py 29 | @@ -120,7 +120,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): 30 | 31 | if os.name == "posix": 32 | libpython = os.path.join(prefix, 33 | - "lib", "python" + get_python_version()) 34 | + "lib64", "python" + get_python_version()) 35 | if standard_lib: 36 | return libpython 37 | else: 38 | diff --git i/Lib/site.py w/Lib/site.py 39 | index f1b0ae8..2edfa17 100644 40 | --- i/Lib/site.py 41 | +++ w/Lib/site.py 42 | @@ -288,6 +288,9 @@ def getsitepackages(): 43 | if sys.platform in ('os2emx', 'riscos'): 44 | sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) 45 | elif os.sep == '/': 46 | + sitepackages.append(os.path.join(prefix, "lib64", 47 | + "python" + sys.version[:3], 48 | + "site-packages")) 49 | sitepackages.append(os.path.join(prefix, "lib", 50 | "python" + sys.version[:3], 51 | "site-packages")) 52 | diff --git i/Lib/sysconfig.py w/Lib/sysconfig.py 53 | index aa69351..4717da9 100644 54 | --- i/Lib/sysconfig.py 55 | +++ w/Lib/sysconfig.py 56 | @@ -7,20 +7,20 @@ from os.path import pardir, realpath 57 | 58 | _INSTALL_SCHEMES = { 59 | 'posix_prefix': { 60 | - 'stdlib': '{base}/lib/python{py_version_short}', 61 | - 'platstdlib': '{platbase}/lib/python{py_version_short}', 62 | - 'purelib': '{base}/lib/python{py_version_short}/site-packages', 63 | - 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', 64 | + 'stdlib': '{base}/lib64/python{py_version_short}', 65 | + 'platstdlib': '{platbase}/lib64/python{py_version_short}', 66 | + 'purelib': '{base}/lib64/python{py_version_short}/site-packages', 67 | + 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', 68 | 'include': '{base}/include/python{py_version_short}', 69 | 'platinclude': '{platbase}/include/python{py_version_short}', 70 | 'scripts': '{base}/bin', 71 | 'data': '{base}', 72 | }, 73 | 'posix_home': { 74 | - 'stdlib': '{base}/lib/python', 75 | - 'platstdlib': '{base}/lib/python', 76 | - 'purelib': '{base}/lib/python', 77 | - 'platlib': '{base}/lib/python', 78 | + 'stdlib': '{base}/lib64/python', 79 | + 'platstdlib': '{base}/lib64/python', 80 | + 'purelib': '{base}/lib64/python', 81 | + 'platlib': '{base}/lib64/python', 82 | 'include': '{base}/include/python', 83 | 'platinclude': '{base}/include/python', 84 | 'scripts': '{base}/bin', 85 | @@ -47,10 +47,10 @@ _INSTALL_SCHEMES = { 86 | 'data' : '{base}', 87 | }, 88 | 'os2_home': { 89 | - 'stdlib': '{userbase}/lib/python{py_version_short}', 90 | - 'platstdlib': '{userbase}/lib/python{py_version_short}', 91 | - 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', 92 | - 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', 93 | + 'stdlib': '{userbase}/lib64/python{py_version_short}', 94 | + 'platstdlib': '{userbase}/lib64/python{py_version_short}', 95 | + 'purelib': '{userbase}/lib64/python{py_version_short}/site-packages', 96 | + 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', 97 | 'include': '{userbase}/include/python{py_version_short}', 98 | 'scripts': '{userbase}/bin', 99 | 'data' : '{userbase}', 100 | @@ -65,19 +65,19 @@ _INSTALL_SCHEMES = { 101 | 'data' : '{userbase}', 102 | }, 103 | 'posix_user': { 104 | - 'stdlib': '{userbase}/lib/python{py_version_short}', 105 | - 'platstdlib': '{userbase}/lib/python{py_version_short}', 106 | - 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', 107 | - 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', 108 | + 'stdlib': '{userbase}/lib64/python{py_version_short}', 109 | + 'platstdlib': '{userbase}/lib64/python{py_version_short}', 110 | + 'purelib': '{userbase}/lib64/python{py_version_short}/site-packages', 111 | + 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', 112 | 'include': '{userbase}/include/python{py_version_short}', 113 | 'scripts': '{userbase}/bin', 114 | 'data' : '{userbase}', 115 | }, 116 | 'osx_framework_user': { 117 | - 'stdlib': '{userbase}/lib/python', 118 | - 'platstdlib': '{userbase}/lib/python', 119 | - 'purelib': '{userbase}/lib/python/site-packages', 120 | - 'platlib': '{userbase}/lib/python/site-packages', 121 | + 'stdlib': '{userbase}/lib64/python', 122 | + 'platstdlib': '{userbase}/lib64/python', 123 | + 'purelib': '{userbase}/lib64/python/site-packages', 124 | + 'platlib': '{userbase}/lib64/python/site-packages', 125 | 'include': '{userbase}/include', 126 | 'scripts': '{userbase}/bin', 127 | 'data' : '{userbase}', 128 | diff --git i/Lib/test/test_site.py w/Lib/test/test_site.py 129 | index f4b5fc6..c4dee8f 100644 130 | --- i/Lib/test/test_site.py 131 | +++ w/Lib/test/test_site.py 132 | @@ -241,18 +241,23 @@ class HelperFunctionsTests(unittest.TestCase): 133 | self.assertEqual(dirs[2], wanted) 134 | elif os.sep == '/': 135 | # OS X non-framwework builds, Linux, FreeBSD, etc 136 | - self.assertEqual(len(dirs), 2) 137 | wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], 138 | + 'site-packages') 139 | + self.assertEquals(len(dirs), 3) 140 | + wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], 141 | 'site-packages') 142 | - self.assertEqual(dirs[0], wanted) 143 | + self.assertEquals(dirs[1], wanted) 144 | + wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], 145 | + 'site-packages') 146 | + self.assertEqual(dirs[2], wanted) 147 | wanted = os.path.join('xoxo', 'lib', 'site-python') 148 | - self.assertEqual(dirs[1], wanted) 149 | + self.assertEqual(dirs[3], wanted) 150 | else: 151 | # other platforms 152 | - self.assertEqual(len(dirs), 2) 153 | - self.assertEqual(dirs[0], 'xoxo') 154 | - wanted = os.path.join('xoxo', 'lib', 'site-packages') 155 | - self.assertEqual(dirs[1], wanted) 156 | + self.assertEquals(len(dirs), 2) 157 | + self.assertEquals(dirs[0], 'xoxo') 158 | + wanted = os.path.join('xoxo', 'lib64', 'site-packages') 159 | + self.assertEquals(dirs[1], wanted) 160 | 161 | class PthFile(object): 162 | """Helper class for handling testing of .pth files""" 163 | diff --git i/Makefile.pre.in w/Makefile.pre.in 164 | index 9d55550..12195d0 100644 165 | --- i/Makefile.pre.in 166 | +++ w/Makefile.pre.in 167 | @@ -106,7 +106,7 @@ LIBDIR= @libdir@ 168 | MANDIR= @mandir@ 169 | INCLUDEDIR= @includedir@ 170 | CONFINCLUDEDIR= $(exec_prefix)/include 171 | -SCRIPTDIR= $(prefix)/lib 172 | +SCRIPTDIR= $(prefix)/lib64 173 | 174 | # Detailed destination directories 175 | BINLIBDEST= $(LIBDIR)/python$(VERSION) 176 | diff --git i/Modules/Setup.dist w/Modules/Setup.dist 177 | index 2ad1aa3..3874e27 100644 178 | --- i/Modules/Setup.dist 179 | +++ w/Modules/Setup.dist 180 | @@ -418,7 +418,7 @@ GLHACK=-Dclear=__GLclear 181 | #DB=/usr/local/BerkeleyDB.4.0 182 | #DBLIBVER=4.0 183 | #DBINC=$(DB)/include 184 | -#DBLIB=$(DB)/lib 185 | +DBLIB=$(DB)/lib 186 | #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) 187 | 188 | # Historical Berkeley DB 1.85 189 | @@ -464,7 +464,7 @@ GLHACK=-Dclear=__GLclear 190 | # Andrew Kuchling's zlib module. 191 | # This require zlib 1.1.3 (or later). 192 | # See http://www.gzip.org/zlib/ 193 | -#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 194 | +zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz 195 | 196 | # Interface to the Expat XML parser 197 | # 198 | diff --git i/Modules/getpath.c w/Modules/getpath.c 199 | index de96d47..6a36378 100644 200 | --- i/Modules/getpath.c 201 | +++ w/Modules/getpath.c 202 | @@ -51,8 +51,8 @@ 203 | * Modules/Setup. If the landmark is found, we're done. 204 | * 205 | * For the remaining steps, the prefix landmark will always be 206 | - * lib/python$VERSION/os.py and the exec_prefix will always be 207 | - * lib/python$VERSION/lib-dynload, where $VERSION is Python's version 208 | + * lib64/python$VERSION/os.py and the exec_prefix will always be 209 | + * lib64/python$VERSION/lib-dynload, where $VERSION is Python's version 210 | * number as supplied by the Makefile. Note that this means that no more 211 | * build directory checking is performed; if the first step did not find 212 | * the landmarks, the assumption is that python is running from an 213 | @@ -82,7 +82,7 @@ 214 | * containing the shared library modules is appended. The environment 215 | * variable $PYTHONPATH is inserted in front of it all. Finally, the 216 | * prefix and exec_prefix globals are tweaked so they reflect the values 217 | - * expected by other code, by stripping the "lib/python$VERSION/..." stuff 218 | + * expected by other code, by stripping the "lib64/python$VERSION/..." stuff 219 | * off. If either points to the build directory, the globals are reset to 220 | * the corresponding preprocessor variables (so sys.prefix will reflect the 221 | * installation location, even though sys.path points into the build 222 | @@ -117,8 +117,8 @@ 223 | #endif 224 | 225 | #ifndef PYTHONPATH 226 | -#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ 227 | - EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" 228 | +#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ 229 | + EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" 230 | #endif 231 | 232 | #ifndef LANDMARK 233 | @@ -129,7 +129,7 @@ static char prefix[MAXPATHLEN+1]; 234 | static char exec_prefix[MAXPATHLEN+1]; 235 | static char progpath[MAXPATHLEN+1]; 236 | static char *module_search_path = NULL; 237 | -static char lib_python[] = "lib/python" VERSION; 238 | +static char lib_python[] = "lib64/python" VERSION; 239 | 240 | static void 241 | reduce(char *dir) 242 | @@ -543,7 +543,7 @@ calculate_path(void) 243 | } 244 | else 245 | strncpy(zip_path, PREFIX, MAXPATHLEN); 246 | - joinpath(zip_path, "lib/python00.zip"); 247 | + joinpath(zip_path, "lib64/python00.zip"); 248 | bufsz = strlen(zip_path); /* Replace "00" with version */ 249 | zip_path[bufsz - 6] = VERSION[0]; 250 | zip_path[bufsz - 5] = VERSION[2]; 251 | @@ -553,7 +553,7 @@ calculate_path(void) 252 | fprintf(stderr, 253 | "Could not find platform dependent libraries \n"); 254 | strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN); 255 | - joinpath(exec_prefix, "lib/lib-dynload"); 256 | + joinpath(exec_prefix, "lib64/lib-dynload"); 257 | } 258 | /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ 259 | 260 | @@ -645,7 +645,7 @@ calculate_path(void) 261 | } 262 | 263 | /* Reduce prefix and exec_prefix to their essence, 264 | - * e.g. /usr/local/lib/python1.5 is reduced to /usr/local. 265 | + * e.g. /usr/local/lib64/python1.5 is reduced to /usr/local. 266 | * If we're loading relative to the build directory, 267 | * return the compiled-in defaults instead. 268 | */ 269 | diff --git i/setup.py w/setup.py 270 | index 40ad843..4650b82 100644 271 | --- i/setup.py 272 | +++ w/setup.py 273 | @@ -438,7 +438,7 @@ class PyBuildExt(build_ext): 274 | def detect_modules(self): 275 | # Ensure that /usr/local is always used 276 | if not cross_compiling: 277 | - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') 278 | + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') 279 | add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') 280 | if cross_compiling: 281 | self.add_gcc_paths() 282 | @@ -758,11 +758,11 @@ class PyBuildExt(build_ext): 283 | elif curses_library: 284 | readline_libs.append(curses_library) 285 | elif self.compiler.find_library_file(lib_dirs + 286 | - ['/usr/lib/termcap'], 287 | + ['/usr/lib64/termcap'], 288 | 'termcap'): 289 | readline_libs.append('termcap') 290 | exts.append( Extension('readline', ['readline.c'], 291 | - library_dirs=['/usr/lib/termcap'], 292 | + library_dirs=['/usr/lib64/termcap'], 293 | extra_link_args=readline_extra_link_args, 294 | libraries=readline_libs) ) 295 | else: 296 | @@ -797,8 +797,8 @@ class PyBuildExt(build_ext): 297 | if krb5_h: 298 | ssl_incs += krb5_h 299 | ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, 300 | - ['/usr/local/ssl/lib', 301 | - '/usr/contrib/ssl/lib/' 302 | + ['/usr/local/ssl/lib64', 303 | + '/usr/contrib/ssl/lib64/' 304 | ] ) 305 | 306 | if (ssl_incs is not None and 307 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-redhat-segfault-workaround.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Include/objimpl.h b/Include/objimpl.h 2 | --- a/Include/objimpl.h 3 | +++ b/Include/objimpl.h 4 | @@ -248,6 +248,20 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); 5 | /* for source compatibility with 2.2 */ 6 | #define _PyObject_GC_Del PyObject_GC_Del 7 | 8 | +/* 9 | + * Former over-aligned definition of PyGC_Head, used to compute the size of the 10 | + * padding for the new version below. 11 | + */ 12 | +union _gc_head; 13 | +union _gc_head_old { 14 | + struct { 15 | + union _gc_head_old *gc_next; 16 | + union _gc_head_old *gc_prev; 17 | + Py_ssize_t gc_refs; 18 | + } gc; 19 | + long double dummy; 20 | +}; 21 | + 22 | /* GC information is stored BEFORE the object structure. */ 23 | typedef union _gc_head { 24 | struct { 25 | @@ -255,7 +269,8 @@ typedef union _gc_head { 26 | union _gc_head *gc_prev; 27 | Py_ssize_t gc_refs; 28 | } gc; 29 | - long double dummy; /* force worst-case alignment */ 30 | + double dummy; /* Force at least 8-byte alignment. */ 31 | + char dummy_padding[sizeof(union _gc_head_old)]; 32 | } PyGC_Head; 33 | 34 | extern PyGC_Head *_PyGC_generation0; 35 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-solaris-elf.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py 2 | index fe0ed0a..20fb225 100644 3 | --- a/Lib/ctypes/util.py 4 | +++ b/Lib/ctypes/util.py 5 | @@ -193,7 +193,7 @@ elif os.name == "posix": 6 | 7 | for line in os.popen(cmd).readlines(): 8 | line = line.strip() 9 | - if line.startswith('Default Library Path (ELF):'): 10 | + if line.startswith('Default Library Path'): 11 | paths = line.split()[4] 12 | 13 | if not paths: -------------------------------------------------------------------------------- /src/patches/python-2.7.8-sysconfig.py.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py 2 | index 33b2791..0619cbe 100644 3 | --- a/Lib/sysconfig.py 4 | +++ b/Lib/sysconfig.py 5 | @@ -317,6 +317,9 @@ def _init_posix(vars): 6 | # the scripts are in another directory. 7 | if _PYTHON_BUILD: 8 | vars['LDSHARED'] = vars['BLDSHARED'] 9 | + global _CONFIG_VARS 10 | + from distutils.sysconfig import _fix_prefix 11 | + _fix_prefix(_CONFIG_VARS) 12 | 13 | def _init_non_posix(vars): 14 | """Initialize the module as appropriate for NT""" 15 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-ubuntu-platform.patch: -------------------------------------------------------------------------------- 1 | # DP: Use /etc/lsb-release to identify the platform. 2 | 3 | --- a/Lib/platform.py 4 | +++ b/Lib/platform.py 5 | @@ -288,6 +288,10 @@ 6 | id = l[1] 7 | return '', version, id 8 | 9 | +_distributor_id_file_re = re.compile("(?:DISTRIB_ID\s*=)\s*(.*)", re.I) 10 | +_release_file_re = re.compile("(?:DISTRIB_RELEASE\s*=)\s*(.*)", re.I) 11 | +_codename_file_re = re.compile("(?:DISTRIB_CODENAME\s*=)\s*(.*)", re.I) 12 | + 13 | def linux_distribution(distname='', version='', id='', 14 | 15 | supported_dists=_supported_dists, 16 | @@ -312,6 +316,25 @@ 17 | args given as parameters. 18 | 19 | """ 20 | + # check for the Debian/Ubuntu /etc/lsb-release file first, needed so 21 | + # that the distribution doesn't get identified as Debian. 22 | + try: 23 | + etclsbrel = open("/etc/lsb-release", "rU") 24 | + for line in etclsbrel: 25 | + m = _distributor_id_file_re.search(line) 26 | + if m: 27 | + _u_distname = m.group(1).strip() 28 | + m = _release_file_re.search(line) 29 | + if m: 30 | + _u_version = m.group(1).strip() 31 | + m = _codename_file_re.search(line) 32 | + if m: 33 | + _u_id = m.group(1).strip() 34 | + if _u_distname and _u_version: 35 | + return (_u_distname, _u_version, _u_id) 36 | + except (EnvironmentError, UnboundLocalError): 37 | + pass 38 | + 39 | try: 40 | etc = os.listdir('/etc') 41 | except os.error: 42 | -------------------------------------------------------------------------------- /src/patches/python-2.7.8-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git i/PCbuild/_bsddb.vcproj w/PCbuild/_bsddb.vcproj 2 | index d9886c6..48ba888 100644 3 | --- i/PCbuild/_bsddb.vcproj 4 | +++ w/PCbuild/_bsddb.vcproj 5 | @@ -42,7 +42,7 @@ 6 | /> 7 | 13 | 16 | 22 | 25 | 31 | 34 | 40 | 43 | 49 | 52 | 58 | 61 | 67 | 70 | 76 | 79 | 85 | 88 | 94 | 97 | 103 | 106 | 112 | 115 | 121 | @@ -785,7 +784,7 @@ 122 | > 123 | 124 | 128 | 129 | 132 | 133 | 137 | 138 | 141 | 142 | 145 | - 146 | - 149 | - 150 | - 153 | - 154 | - 157 | 158 | diff --git i/PCbuild/_hashlib.vcproj w/PCbuild/_hashlib.vcproj 159 | index 50d40d1..d78f965 100644 160 | --- i/PCbuild/_hashlib.vcproj 161 | +++ w/PCbuild/_hashlib.vcproj 162 | @@ -153,7 +153,7 @@ 163 | > 164 | 169 | 173 | 178 | 182 | 187 | 191 | 196 | 200 | 205 | 213 | 218 | 222 | 227 | 231 | 236 | 240 | 245 | 249 | 254 | 258 | 263 | 267 | 272 | 276 | 281 | 285 | 290 | 294 | 299 | 303 | 309 | 312 | 317 | 321 | 327 | 334 | 340 | 343 | 348 | 351 | 357 | 360 | 365 | 368 | 369 | 373 | 377 | 378 | 382 | 437 | 443 | 447 | + 451 | + 456 | 460 | 465 | 470 | 475 | 483 | 502 | 7 | #include "patchlevel.h" 8 | +#include "windows.h" 9 | + 10 | /* 11 | * This program prints out an include file containing fields required to build 12 | * the version info resource of pythonxx.dll because the resource compiler 13 | @@ -36,3 +38,9 @@ int main(int argc, char **argv) 14 | printf("#endif\n"); 15 | return 0; 16 | } 17 | + 18 | + 19 | +int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpCmd, int nShow) { 20 | + return main(__argc, __argv); 21 | +} 22 | + 23 | -------------------------------------------------------------------------------- /src/patches/sqlite3-autoconf-3070602-windows-makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git i/tea/win/makefile.vc w/tea/win/makefile.vc 2 | index a1d7f95..a57ea86 100644 3 | --- i/tea/win/makefile.vc 4 | +++ w/tea/win/makefile.vc 5 | @@ -2,7 +2,7 @@ 6 | # 7 | # Microsoft Visual C++ makefile for use with nmake.exe v1.62+ (VC++ 5.0+) 8 | # 9 | -# This makefile is based upon the Tcl 8.4 Makefile.vc and modified to 10 | +# This makefile is based upon the Tcl 8.4 Makefile.vc and modified to 11 | # make it suitable as a general package makefile. Look for the word EDIT 12 | # which marks sections that may need modification. As a minumum you will 13 | # need to change the PROJECT, DOTVERSION and DLLOBJS variables to values 14 | @@ -10,7 +10,7 @@ 15 | # 16 | # See the file "license.terms" for information on usage and redistribution 17 | # of this file, and for a DISCLAIMER OF ALL WARRANTIES. 18 | -# 19 | +# 20 | # Copyright (c) 1995-1996 Sun Microsystems, Inc. 21 | # Copyright (c) 1998-2000 Ajuba Solutions. 22 | # Copyright (c) 2001 ActiveState Corporation. 23 | @@ -21,7 +21,7 @@ 24 | # RCS: @(#)$Id: makefile.vc,v 1.4 2004/07/26 08:22:05 patthoyts Exp $ 25 | #------------------------------------------------------------------------- 26 | 27 | -!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCToolkitInstallDir) 28 | +!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCINSTALLDIR) && !defined(MSSDK) && !defined(WINDOWSSDKDIR) 29 | MSG = ^ 30 | You will need to run vcvars32.bat from Developer Studio, first, to setup^ 31 | the environment. Jump to this line to read the new instructions. 32 | @@ -97,7 +97,7 @@ the environment. Jump to this line to read the new instructions. 33 | # TMP_DIR= 34 | # OUT_DIR= 35 | # Hooks to allow the intermediate and output directories to be 36 | -# changed. $(OUT_DIR) is assumed to be 37 | +# changed. $(OUT_DIR) is assumed to be 38 | # $(BINROOT)\(Release|Debug) based on if symbols are requested. 39 | # $(TMP_DIR) will de $(OUT_DIR)\ by default. 40 | # 41 | @@ -153,16 +153,26 @@ Please `cd` to its location first. 42 | # 43 | #------------------------------------------------------------------------- 44 | 45 | -PROJECT = sample 46 | +PROJECT = sqlite3 47 | !include "rules.vc" 48 | 49 | -DOTVERSION = 0.5 50 | +# nmakehelp -V will search the file for tag, skips until a 51 | +# number and returns all character until a character not in [0-9.ab] 52 | +# is read. 53 | + 54 | +!if [echo REM = This file is generated from Makefile.vc > versions.vc] 55 | +!endif 56 | +# get project version from row "AC_INIT([sqlite], [3.7.14])" 57 | +!if [echo DOTVERSION = \>> versions.vc] \ 58 | + && [nmakehlp -V ..\configure.in AC_INIT >> versions.vc] 59 | +!endif 60 | +!include "versions.vc" 61 | + 62 | VERSION = $(DOTVERSION:.=) 63 | STUBPREFIX = $(PROJECT)stub 64 | 65 | DLLOBJS = \ 66 | - $(TMP_DIR)\tclsample.obj \ 67 | - $(TMP_DIR)\sample.obj 68 | + $(TMP_DIR)\tclsqlite3.obj 69 | 70 | #------------------------------------------------------------------------- 71 | # Target names and paths ( shouldn't need changing ) 72 | @@ -170,6 +180,7 @@ DLLOBJS = \ 73 | 74 | BINROOT = . 75 | ROOT = .. 76 | +ROOT_PARENT = ..\.. 77 | 78 | PRJIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib 79 | PRJLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT) 80 | @@ -179,18 +190,19 @@ PRJSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib 81 | PRJSTUBLIB = $(OUT_DIR)\$(PRJSTUBLIBNAME) 82 | 83 | ### Make sure we use backslash only. 84 | -PRJ_INSTALL_DIR = $(_INSTALLDIR)\$(PROJECT)$(DOTVERSION) 85 | -LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR) 86 | -BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR) 87 | -DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR) 88 | -SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR) 89 | -INCLUDE_INSTALL_DIR = $(_TCLDIR)\include 90 | +PRJ_INSTALL_DIR = $(_INSTALLDIR) 91 | +LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR)\..\lib 92 | +BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR)\bin 93 | +DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR)\doc 94 | +SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR)\bin 95 | +INCLUDE_INSTALL_DIR = $(PRJ_INSTALL_DIR)\..\include 96 | 97 | ### The following paths CANNOT have spaces in them. 98 | GENERICDIR = $(ROOT)\generic 99 | WINDIR = $(ROOT)\win 100 | LIBDIR = $(ROOT)\library 101 | -DOCDIR = $(ROOT)\doc 102 | +DOCDIR = $(ROOT)\doc 103 | +INCLUDEDIR = $(ROOT_PARENT) 104 | TOOLSDIR = $(ROOT)\tools 105 | COMPATDIR = $(ROOT)\compat 106 | 107 | @@ -215,14 +227,6 @@ cdebug = -Z7 -WX -Od -GZ 108 | ### Declarations common to all compiler options 109 | cflags = -nologo -c -W3 -YX -Fp$(TMP_DIR)^\ 110 | 111 | -!if $(PENT_0F_ERRATA) 112 | -cflags = $(cflags) -QI0f 113 | -!endif 114 | - 115 | -!if $(ITAN_B_ERRATA) 116 | -cflags = $(cflags) -QIA64_Bx 117 | -!endif 118 | - 119 | !if $(MSVCRT) 120 | !if $(DEBUG) 121 | crt = -MDd 122 | @@ -237,11 +241,15 @@ crt = -MT 123 | !endif 124 | !endif 125 | 126 | -INCLUDES = $(TCL_INCLUDES) -I"$(WINDIR)" -I"$(GENERICDIR)" 127 | -BASE_CLFAGS = $(cflags) $(cdebug) $(crt) $(INCLUDES) 128 | -CON_CFLAGS = $(cflags) $(cdebug) $(crt) -DCONSOLE 129 | -TCL_CFLAGS = -DUSE_TCL_STUBS -DPACKAGE_VERSION="\"$(DOTVERSION)\"" \ 130 | - $(BASE_CLFAGS) $(OPTDEFINES) 131 | +INCLUDES = $(TCL_INCLUDES) -I"$(WINDIR)" -I"$(GENERICDIR)" \ 132 | + -I"$(ROOT)\.." 133 | +BASE_CLFAGS = $(cflags) $(cdebug) $(crt) $(INCLUDES) \ 134 | + -DSQLITE_3_SUFFIX_ONLY=1 -DSQLITE_ENABLE_RTREE=1 \ 135 | + -DSQLITE_ENABLE_FTS3=1 136 | +CON_CFLAGS = $(cflags) $(cdebug) $(crt) -DCONSOLE -DSQLITE_ENABLE_FTS3=1 137 | +TCL_CFLAGS = -DBUILD_sqlite -DUSE_TCL_STUBS \ 138 | + -DPACKAGE_VERSION="\"$(DOTVERSION)\"" $(BASE_CLFAGS) \ 139 | + $(OPTDEFINES) 140 | 141 | #--------------------------------------------------------------------- 142 | # Link flags 143 | @@ -272,7 +280,6 @@ lflags = $(lflags) -align:4096 144 | lflags = $(lflags) -ws:aggressive 145 | !endif 146 | 147 | -dlllflags = $(lflags) -dll 148 | conlflags = $(lflags) -subsystem:console 149 | guilflags = $(lflags) -subsystem:windows 150 | baselibs = $(TCLSTUBLIB) 151 | @@ -291,7 +298,7 @@ TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT) 152 | 153 | all: setup $(PROJECT) 154 | $(PROJECT): setup $(PRJLIB) 155 | -install: install-binaries install-libraries install-docs 156 | +install: install-libraries install-headers 157 | 158 | # Tests need to ensure we load the right dll file we 159 | # have to handle the output differently on Win9x. 160 | @@ -323,14 +330,11 @@ setup: 161 | @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) 162 | 163 | $(PRJLIB): $(DLLOBJS) 164 | - $(link32) $(dlllflags) -out:$@ $(baselibs) @<< 165 | + $(lib32) -out:$@ $(baselibs) @<< 166 | $** 167 | << 168 | -@del $*.exp 169 | 170 | -$(PRJSTUBLIB): $(PRJSTUBOBJS) 171 | - $(lib32) -nologo -out:$@ $(PRJSTUBOBJS) 172 | - 173 | #--------------------------------------------------------------------- 174 | # Implicit rules 175 | #--------------------------------------------------------------------- 176 | @@ -374,35 +378,14 @@ $< 177 | # 178 | #--------------------------------------------------------------------- 179 | 180 | -install-binaries: 181 | - @echo Installing binaries to '$(SCRIPT_INSTALL_DIR)' 182 | - @if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)" 183 | - @$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL 184 | - 185 | -### Automatic creation of pkgIndex 186 | -#install-libraries: 187 | -# @echo Installing library files to '$(SCRIPT_INSTALL_DIR)' 188 | -# @if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)" 189 | -# @echo cd "$(SCRIPT_INSTALL_DIR:\=/)" ; pkg_mkIndex . | $(TCLSH) 190 | - 191 | -### Manual creation of pkgIndex 192 | -### Normally the ifneeded command would be: 193 | -### package ifneeded $(PROJECT) $(DOTVERSION) \ 194 | -### [list load [file join $$dir $(PROJECT)$(VERSION).$(EXT)]] 195 | -### but this project has been named oddly. It has Sample_Init but provides 196 | -### the Tclsha1 package. 197 | + 198 | install-libraries: 199 | - @echo Installing libraries to '$(SCRIPT_INSTALL_DIR)' 200 | - @if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)" 201 | - @echo Installing package index in '$(SCRIPT_INSTALL_DIR)' 202 | - @type << >"$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" 203 | -# Hand-crafted pkgIndex.tcl 204 | -package ifneeded Tclsha1 $(DOTVERSION) [list load [file join $$dir $(PROJECT)$(VERSION).$(EXT)] Sample] 205 | -<< 206 | + @echo Installing libraries to '$(LIB_INSTALL_DIR)' 207 | + @if exist $(OUT_DIR) $(CPY) $(OUT_DIR)\*.lib "$(LIB_INSTALL_DIR)" 208 | 209 | -install-docs: 210 | - @echo Installing documentation files to '$(DOC_INSTALL_DIR)' 211 | - @if exist $(DOCDIR) $(CPY) $(DOCDIR)\*.n "$(DOC_INSTALL_DIR)" 212 | +install-headers: 213 | + @echo Installing header files to '$(INCLUDE_INSTALL_DIR)' 214 | + @if exist $(INCLUDEDIR) $(CPY) $(INCLUDEDIR)\*.h "$(INCLUDE_INSTALL_DIR)" 215 | 216 | #--------------------------------------------------------------------- 217 | # Clean up 218 | -------------------------------------------------------------------------------- /src/patches/zeromq-3.2.3-newline.patch: -------------------------------------------------------------------------------- 1 | diff --git a/tests/test_connect_delay.cpp b/tests/test_connect_delay.cpp 2 | index e7e21bb..eebd139 100644 3 | --- a/tests/test_connect_delay.cpp 4 | +++ b/tests/test_connect_delay.cpp 5 | @@ -257,4 +257,5 @@ int main (void) 6 | 7 | rc = zmq_ctx_destroy(context2); 8 | assert (rc == 0); 9 | -} 10 | \ No newline at end of file 11 | +} 12 | + 13 | -------------------------------------------------------------------------------- /src/patches/zeromq-3.2.3-osx-libtool.patch: -------------------------------------------------------------------------------- 1 | diff --git i/config/libtool.m4 w/config/libtool.m4 2 | index 828104c..4adcf73 100644 3 | --- i/config/libtool.m4 4 | +++ w/config/libtool.m4 5 | @@ -1052,7 +1052,7 @@ _LT_EOF 6 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 7 | 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 8 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 9 | - 10.[[012]]*) 10 | + 10.[[012]][[,.]]*) 11 | _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 12 | 10.*) 13 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 14 | @@ -2684,18 +2684,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) 15 | dynamic_linker='GNU/Linux ld.so' 16 | ;; 17 | 18 | -netbsdelf*-gnu) 19 | - version_type=linux 20 | - need_lib_prefix=no 21 | - need_version=no 22 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 23 | - soname_spec='${libname}${release}${shared_ext}$major' 24 | - shlibpath_var=LD_LIBRARY_PATH 25 | - shlibpath_overrides_runpath=no 26 | - hardcode_into_libs=yes 27 | - dynamic_linker='NetBSD ld.elf_so' 28 | - ;; 29 | - 30 | netbsd*) 31 | version_type=sunos 32 | need_lib_prefix=no 33 | @@ -3301,7 +3289,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu) 34 | lt_cv_deplibs_check_method=pass_all 35 | ;; 36 | 37 | -netbsd* | netbsdelf*-gnu) 38 | +netbsd*) 39 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 40 | lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 41 | else 42 | @@ -4113,7 +4101,7 @@ m4_if([$1], [CXX], [ 43 | ;; 44 | esac 45 | ;; 46 | - netbsd* | netbsdelf*-gnu) 47 | + netbsd*) 48 | ;; 49 | *qnx* | *nto*) 50 | # QNX uses GNU C++, but need to define -shared option too, otherwise 51 | @@ -4590,9 +4578,6 @@ m4_if([$1], [CXX], [ 52 | ;; 53 | esac 54 | ;; 55 | - linux* | k*bsd*-gnu | gnu*) 56 | - _LT_TAGVAR(link_all_deplibs, $1)=no 57 | - ;; 58 | *) 59 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 60 | ;; 61 | @@ -4655,9 +4640,6 @@ dnl Note also adjust exclude_expsyms for C++ above. 62 | openbsd*) 63 | with_gnu_ld=no 64 | ;; 65 | - linux* | k*bsd*-gnu | gnu*) 66 | - _LT_TAGVAR(link_all_deplibs, $1)=no 67 | - ;; 68 | esac 69 | 70 | _LT_TAGVAR(ld_shlibs, $1)=yes 71 | @@ -4879,7 +4861,7 @@ _LT_EOF 72 | fi 73 | ;; 74 | 75 | - netbsd* | netbsdelf*-gnu) 76 | + netbsd*) 77 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 78 | _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 79 | wlarc= 80 | @@ -5056,7 +5038,6 @@ _LT_EOF 81 | if test "$aix_use_runtimelinking" = yes; then 82 | shared_flag="$shared_flag "'${wl}-G' 83 | fi 84 | - _LT_TAGVAR(link_all_deplibs, $1)=no 85 | else 86 | # not using gcc 87 | if test "$host_cpu" = ia64; then 88 | @@ -5361,7 +5342,7 @@ _LT_EOF 89 | _LT_TAGVAR(link_all_deplibs, $1)=yes 90 | ;; 91 | 92 | - netbsd* | netbsdelf*-gnu) 93 | + netbsd*) 94 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 95 | _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 96 | else 97 | diff --git i/config/ltmain.sh w/config/ltmain.sh 98 | index c2852d8..9ae038c 100644 99 | --- i/config/ltmain.sh 100 | +++ w/config/ltmain.sh 101 | @@ -70,7 +70,7 @@ 102 | # compiler: $LTCC 103 | # compiler flags: $LTCFLAGS 104 | # linker: $LD (gnu? $with_gnu_ld) 105 | -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1 106 | +# $progname: (GNU libtool) 2.4.2 107 | # automake: $automake_version 108 | # autoconf: $autoconf_version 109 | # 110 | @@ -80,7 +80,7 @@ 111 | 112 | PROGRAM=libtool 113 | PACKAGE=libtool 114 | -VERSION="2.4.2 Debian-2.4.2-1ubuntu1" 115 | +VERSION=2.4.2 116 | TIMESTAMP="" 117 | package_revision=1.3337 118 | 119 | @@ -5851,9 +5851,10 @@ func_mode_link () 120 | # -tp=* Portland pgcc target processor selection 121 | # --sysroot=* for sysroot support 122 | # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization 123 | + # -stdlib=* select c++ std lib with clang 124 | -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ 125 | -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ 126 | - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) 127 | + -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-stdlib=*) 128 | func_quote_for_eval "$arg" 129 | arg="$func_quote_for_eval_result" 130 | func_append compile_command " $arg" 131 | @@ -6124,10 +6125,7 @@ func_mode_link () 132 | case $pass in 133 | dlopen) libs="$dlfiles" ;; 134 | dlpreopen) libs="$dlprefiles" ;; 135 | - link) 136 | - libs="$deplibs %DEPLIBS%" 137 | - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" 138 | - ;; 139 | + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; 140 | esac 141 | fi 142 | if test "$linkmode,$pass" = "lib,dlpreopen"; then 143 | @@ -6447,19 +6445,19 @@ func_mode_link () 144 | # It is a libtool convenience library, so add in its objects. 145 | func_append convenience " $ladir/$objdir/$old_library" 146 | func_append old_convenience " $ladir/$objdir/$old_library" 147 | - tmp_libs= 148 | - for deplib in $dependency_libs; do 149 | - deplibs="$deplib $deplibs" 150 | - if $opt_preserve_dup_deps ; then 151 | - case "$tmp_libs " in 152 | - *" $deplib "*) func_append specialdeplibs " $deplib" ;; 153 | - esac 154 | - fi 155 | - func_append tmp_libs " $deplib" 156 | - done 157 | elif test "$linkmode" != prog && test "$linkmode" != lib; then 158 | func_fatal_error "\`$lib' is not a convenience library" 159 | fi 160 | + tmp_libs= 161 | + for deplib in $dependency_libs; do 162 | + deplibs="$deplib $deplibs" 163 | + if $opt_preserve_dup_deps ; then 164 | + case "$tmp_libs " in 165 | + *" $deplib "*) func_append specialdeplibs " $deplib" ;; 166 | + esac 167 | + fi 168 | + func_append tmp_libs " $deplib" 169 | + done 170 | continue 171 | fi # $pass = conv 172 | 173 | @@ -7352,9 +7350,6 @@ func_mode_link () 174 | revision="$number_minor" 175 | lt_irix_increment=no 176 | ;; 177 | - *) 178 | - func_fatal_configuration "$modename: unknown library version type \`$version_type'" 179 | - ;; 180 | esac 181 | ;; 182 | no) 183 | diff --git i/configure w/configure 184 | index 14bee48..193b4cb 100755 185 | --- i/configure 186 | +++ w/configure 187 | @@ -8850,7 +8850,7 @@ $as_echo "$lt_cv_ld_force_load" >&6; } 188 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 189 | 10.0,*86*-darwin8*|10.0,*-darwin[91]*) 190 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 191 | - 10.[012]*) 192 | + 10.[012][,.]*) 193 | _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 194 | 10.*) 195 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 196 | -------------------------------------------------------------------------------- /src/patches/zeromq-3.2.3-test_disconnect_inproc.cpp.patch: -------------------------------------------------------------------------------- 1 | diff --git a/tests/test_disconnect_inproc.cpp b/tests/test_disconnect_inproc.cpp 2 | index 7875083..993d337 100644 3 | --- a/tests/test_disconnect_inproc.cpp 4 | +++ b/tests/test_disconnect_inproc.cpp 5 | @@ -20,36 +20,36 @@ int main(int argc, char** argv) { 6 | (pubSocket = zmq_socket(context, ZMQ_XPUB)) || printf("zmq_socket: %s\n", zmq_strerror(errno)); 7 | (subSocket = zmq_socket(context, ZMQ_SUB)) || printf("zmq_socket: %s\n", zmq_strerror(errno)); 8 | zmq_setsockopt(subSocket, ZMQ_SUBSCRIBE, "foo", 3) && printf("zmq_setsockopt: %s\n",zmq_strerror(errno)); 9 | - 10 | + 11 | zmq_bind(pubSocket, "inproc://someInProcDescriptor") && printf("zmq_bind: %s\n", zmq_strerror(errno)); 12 | //zmq_bind(pubSocket, "tcp://*:30010") && printf("zmq_bind: %s\n", zmq_strerror(errno)); 13 | - 14 | + 15 | int32_t more; 16 | size_t more_size = sizeof(more); 17 | int iteration = 0; 18 | - 19 | + 20 | while(1) { 21 | zmq_pollitem_t items [] = { 22 | { subSocket, 0, ZMQ_POLLIN, 0 }, // read publications 23 | { pubSocket, 0, ZMQ_POLLIN, 0 }, // read subscriptions 24 | }; 25 | zmq_poll(items, 2, 500); 26 | - 27 | + 28 | if (items[1].revents & ZMQ_POLLIN) { 29 | while (1) { 30 | zmq_msg_t msg; 31 | zmq_msg_init (&msg); 32 | zmq_msg_recv (&msg, pubSocket, 0); 33 | - int msgSize = zmq_msg_size(&msg); 34 | + //int msgSize = zmq_msg_size(&msg); 35 | char* buffer = (char*)zmq_msg_data(&msg); 36 | 37 | if (buffer[0] == 0) { 38 | assert(isSubscribed); 39 | - printf("unsubscribing from '%s'\n", strndup(buffer + 1, msgSize - 1)); 40 | + //printf("unsubscribing from '%s'\n", strndup(buffer + 1, msgSize - 1)); 41 | isSubscribed = false; 42 | } else { 43 | assert(!isSubscribed); 44 | - printf("subscribing on '%s'\n", strndup(buffer + 1, msgSize - 1)); 45 | + //printf("subscribing on '%s'\n", strndup(buffer + 1, msgSize - 1)); 46 | isSubscribed = true; 47 | } 48 | 49 | @@ -66,14 +66,14 @@ int main(int argc, char** argv) { 50 | zmq_msg_t msg; 51 | zmq_msg_init (&msg); 52 | zmq_msg_recv (&msg, subSocket, 0); 53 | - int msgSize = zmq_msg_size(&msg); 54 | - char* buffer = (char*)zmq_msg_data(&msg); 55 | - 56 | - printf("received on subscriber '%s'\n", strndup(buffer, msgSize)); 57 | - 58 | + //int msgSize = zmq_msg_size(&msg); 59 | + //char* buffer = (char*)zmq_msg_data(&msg); 60 | + 61 | + //printf("received on subscriber '%s'\n", strndup(buffer, msgSize)); 62 | + 63 | zmq_getsockopt (subSocket, ZMQ_RCVMORE, &more, &more_size); 64 | zmq_msg_close (&msg); 65 | - 66 | + 67 | if (!more) { 68 | publicationsReceived++; 69 | break; // Last message part 70 | @@ -85,16 +85,16 @@ int main(int argc, char** argv) { 71 | zmq_connect(subSocket, "inproc://someInProcDescriptor") && printf("zmq_connect: %s\n", zmq_strerror(errno)); 72 | //zmq_connect(subSocket, "tcp://127.0.0.1:30010") && printf("zmq_connect: %s\n", zmq_strerror(errno)); 73 | } 74 | - 75 | + 76 | if (iteration == 4) { 77 | zmq_disconnect(subSocket, "inproc://someInProcDescriptor") && printf("zmq_disconnect(%d): %s\n", errno, zmq_strerror(errno)); 78 | //zmq_disconnect(subSocket, "tcp://127.0.0.1:30010") && printf("zmq_disconnect: %s\n", zmq_strerror(errno)); 79 | } 80 | - 81 | + 82 | if (iteration == 10) { 83 | break; 84 | } 85 | - 86 | + 87 | zmq_msg_t channelEnvlp; 88 | ZMQ_PREPARE_STRING(channelEnvlp, "foo", 3); 89 | zmq_sendmsg(pubSocket, &channelEnvlp, ZMQ_SNDMORE) >= 0 || printf("zmq_sendmsg: %s\n",zmq_strerror(errno)); 90 | @@ -107,13 +107,13 @@ int main(int argc, char** argv) { 91 | 92 | iteration++; 93 | } 94 | - 95 | + 96 | assert(publicationsReceived == 3); 97 | assert(!isSubscribed); 98 | 99 | zmq_close(pubSocket) && printf("zmq_close: %s", zmq_strerror(errno)); 100 | zmq_close(subSocket) && printf("zmq_close: %s", zmq_strerror(errno)); 101 | - 102 | + 103 | zmq_ctx_destroy(context); 104 | return 0; 105 | } 106 | -------------------------------------------------------------------------------- /src/patches/zlib-1.2.8-windows-Makefile.patch: -------------------------------------------------------------------------------- 1 | diff --git i/win32/Makefile.msc w/win32/Makefile.msc 2 | index a731c0c..d374ba4 100644 3 | --- i/win32/Makefile.msc 4 | +++ w/win32/Makefile.msc 5 | @@ -21,7 +21,7 @@ AS = ml 6 | LD = link 7 | AR = lib 8 | RC = rc 9 | -CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC) 10 | +CFLAGS = -nologo -MT -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC) 11 | WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE 12 | ASFLAGS = -coff -Zi 13 | LDFLAGS = -nologo -debug -incremental:no -opt:ref 14 | @@ -137,3 +137,11 @@ clean: 15 | -del *.pdb 16 | -del *.manifest 17 | -del foo.gz 18 | + 19 | +install: 20 | + -cp zlib.h $(PREFIX)\include 21 | + -cp zlibdefs.h $(PREFIX)\include 22 | + -cp zconf.h $(PREFIX)\include 23 | + -cp *.lib $(PREFIX)\lib 24 | + -cp *.dll $(PREFIX)\lib 25 | + 26 | -------------------------------------------------------------------------------- /src/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | __import__("pkg_resources").declare_namespace(__name__) 2 | 3 | from subprocess import Popen 4 | from platform import system 5 | from infi.execute import execute_assert_success 6 | 7 | 8 | def test(): 9 | from logging import basicConfig, getLogger, DEBUG 10 | from subprocess import Popen 11 | from os import path, name 12 | from glob import glob 13 | basicConfig(level=DEBUG) 14 | python = path.join('dist', 'bin', 'python%s' % ('.exe' if name == 'nt' else '')) 15 | getLogger(__name__).info("testing %s" % python) 16 | test_files = glob(path.join("tests", "test_*.py")) 17 | for test_file in test_files: 18 | assert Popen([python, test_file]).wait() == 0 19 | 20 | 21 | def execte_buildout(buildout_file, env=None): 22 | import sys 23 | argv = ' '.join(sys.argv[1:]) 24 | command = "./bin/buildout -c {0} {1}".format(buildout_file, argv) 25 | print 'executing "%s"' % command 26 | process = Popen(command.split(), env=env) 27 | stdout, stderr = process.communicate() 28 | sys.exit(process.returncode) 29 | 30 | 31 | def build(): 32 | from sys import maxsize 33 | from os import environ 34 | from platform import version 35 | environ = environ.copy() 36 | buildout_file = 'buildout-build.cfg' 37 | if system() == 'Linux': 38 | from distro import linux_distribution 39 | dist_name, version, distid = linux_distribution(full_distribution_name=False) 40 | dist_name = dist_name.replace('rhel', 'redhat').replace('sles', 'suse').replace('enterpriseenterpriseserver', 'oracle') 41 | if dist_name == 'ubuntu': 42 | if version >= '16.04': 43 | buildout_file = 'buildout-build-ubuntu-16.04.cfg' 44 | else: 45 | buildout_file = 'buildout-build-ubuntu.cfg' 46 | if dist_name in ['redhat', 'centos']: 47 | arch = execute_assert_success(["uname", "-i"]).get_stdout().lower() 48 | if 'ppc64le' in arch: 49 | buildout_file = 'buildout-build-redhat-ppc64le.cfg' 50 | elif 'ppc64' in arch: 51 | buildout_file = 'buildout-build-redhat-ppc64.cfg' 52 | elif 'i386' in arch: 53 | buildout_file = 'buildout-build-redhat-32bit.cfg' 54 | else: 55 | if version.startswith('8'): 56 | buildout_file = 'buildout-build-redhat-8-64bit.cfg' 57 | else: 58 | buildout_file = 'buildout-build-redhat-64bit.cfg' 59 | if dist_name in ['suse']: 60 | arch = execute_assert_success(["uname", "-i"]).get_stdout().lower() 61 | if 'ppc64le' in arch: 62 | buildout_file = 'buildout-build-suse-ppc64le.cfg' 63 | elif 'ppc64' in arch: 64 | buildout_file = 'buildout-build-suse-ppc64.cfg' 65 | elif version.startswith("15"): 66 | buildout_file = 'buildout-build-suse-15.cfg' 67 | elif system() == 'Darwin': 68 | from platform import mac_ver 69 | environ["MACOSX_DEPLOYMENT_TARGET"] = '.'.join(mac_ver()[0].split('.', 2)[:2]) 70 | gcc_version = execute_assert_success(["gcc", "--version"]).get_stdout() 71 | if 'version 5.' in gcc_version: 72 | buildout_file = 'buildout-build-osx-xcode-5.cfg' 73 | elif 'version 6.' in gcc_version: 74 | buildout_file = 'buildout-build-osx-xcode-6.cfg' 75 | elif 'version 7.' in gcc_version: 76 | buildout_file = 'buildout-build-osx-xcode-7.cfg' 77 | elif 'version 8.' in gcc_version: 78 | buildout_file = 'buildout-build-osx-xcode-8.cfg' 79 | elif 'version 9.' in gcc_version: 80 | buildout_file = 'buildout-build-osx-xcode-8.cfg' 81 | elif 'version 10.' in gcc_version: 82 | buildout_file = 'buildout-build-osx-xcode-8.cfg' 83 | else: 84 | buildout_file = 'buildout-build-osx.cfg' 85 | elif system() == 'Windows': 86 | if maxsize > 2**32: 87 | buildout_file = 'buildout-build-windows-64bit.cfg' 88 | else: 89 | buildout_file = 'buildout-build-windows.cfg' 90 | elif system() == "SunOS": 91 | if 'sparc' in execute_assert_success(["isainfo"]).get_stdout().lower(): 92 | buildout_file = 'buildout-build-solaris-sparc.cfg' 93 | if '11.4' in version(): 94 | buildout_file = 'buildout-build-solaris-11.4-sparc.cfg' 95 | elif '64' in execute_assert_success(["isainfo", "-b"]).get_stdout(): 96 | buildout_file = 'buildout-build-solaris-64bit.cfg' 97 | if '11.4' in version(): 98 | buildout_file = 'buildout-build-solaris-11.4-64bit.cfg' 99 | else: 100 | pass # TODO support 32 bit 101 | elif system() == "AIX": 102 | from os import uname 103 | aix_version = "{0[3]}.{0[2]}".format(uname()) 104 | if aix_version == "7.1": 105 | buildout_file = 'buildout-build-aix.cfg' 106 | elif aix_version == "7.2": 107 | buildout_file = 'buildout-build-aix-7.2.cfg' 108 | execte_buildout(buildout_file, environ) 109 | 110 | def pack(): 111 | buildout_file = 'buildout-pack.cfg' 112 | if system() == 'Windows': 113 | buildout_file = 'buildout-pack-windows.cfg' 114 | elif system() == "AIX": 115 | buildout_file = 'buildout-pack-aix.cfg' 116 | execte_buildout(buildout_file) 117 | 118 | def clean(): 119 | from os.path import abspath, pardir, exists 120 | from os import mkdir, remove, path 121 | from glob import glob 122 | from shutil import rmtree, move 123 | 124 | sep = '/' 125 | filepath = __file__.replace(path.sep, '/') 126 | base = abspath(sep.join([filepath, pardir, pardir, pardir])) 127 | dist = sep.join([base, 'dist']) 128 | parts = sep.join([base, 'parts']) 129 | installed_file = sep.join([base, '.installed-build.cfg']) 130 | 131 | print "base = %s" % repr(base) 132 | 133 | for tar_gz in glob(sep.join([base, '*tar.gz'])): 134 | print "rm %s" % tar_gz 135 | remove(tar_gz) 136 | 137 | print "rm -rf %s" % repr(dist) 138 | _catch_and_print(rmtree, *[dist]) 139 | 140 | src = sep.join([parts, 'buildout']) 141 | dst = sep.join([base, 'buildout']) 142 | 143 | print "mv %s %s" % (repr(src), repr(dst)) 144 | _catch_and_print(move, *[src, dst]) 145 | 146 | print "rm %s" % repr(installed_file) 147 | if exists(installed_file): 148 | remove(installed_file) 149 | 150 | print "rm -rf %s" % repr(parts) 151 | _catch_and_print(rmtree, *[parts]) 152 | 153 | print "mkdir %s" % repr(parts) 154 | _catch_and_print(mkdir, *[parts]) 155 | 156 | dst = sep.join([parts, 'buildout']) 157 | src = sep.join([base, 'buildout']) 158 | print "mv %s %s" % (repr(src), repr(dst)) 159 | _catch_and_print(move, *[src, dst]) 160 | 161 | 162 | def _catch_and_print(func, *args, **kwargs): 163 | try: 164 | func(*args, **kwargs) 165 | except (OSError, IOError), e: 166 | print e 167 | 168 | -------------------------------------------------------------------------------- /tests/test_ctypes.py: -------------------------------------------------------------------------------- 1 | 2 | def main(): 3 | import ctypes 4 | 5 | 6 | if __name__ == "__main__": 7 | main() 8 | -------------------------------------------------------------------------------- /tests/test_readline.py: -------------------------------------------------------------------------------- 1 | 2 | def main(): 3 | import os 4 | if os.name == 'nt': 5 | return 6 | 7 | import readline 8 | 9 | 10 | if __name__ == "__main__": 11 | main() 12 | -------------------------------------------------------------------------------- /tests/test_ssl.py: -------------------------------------------------------------------------------- 1 | 2 | def main(): 3 | # hopefully, even the oldest ca-certificates will verify google.com 4 | import urllib 5 | urllib.urlretrieve("https://google.com") 6 | 7 | 8 | if __name__ == "__main__": 9 | main() 10 | --------------------------------------------------------------------------------