]> git.pld-linux.org Git - packages/python3.git/blob - python3-lib64.patch
- install section fixes for python 3.2
[packages/python3.git] / python3-lib64.patch
1 diff -Nur Python-2.5b2.orig/configure.in Python-2.5b2/configure.in
2 --- Python-2.5b2.orig/configure.in      2006-07-06 11:13:35.000000000 +0100
3 +++ Python-2.5b2/configure.in   2006-07-12 17:42:51.000000000 +0100
4 @@ -503,6 +503,41 @@
5      ;;
6  esac
7  
8 +AC_SUBST(ARCH)
9 +AC_MSG_CHECKING(ARCH)
10 +ARCH=`uname -m`
11 +case $ARCH in
12 +i?86) ARCH=i386;;
13 +esac
14 +AC_MSG_RESULT($ARCH)
15 +
16 +AC_SUBST(LIB)
17 +AC_MSG_CHECKING(LIB)
18 +case $ac_sys_system in
19 +Linux*)
20 +  # Test if the compiler is 64bit
21 +  echo 'int i;' > conftest.$ac_ext
22 +  python_cv_cc_64bit_output=no
23 +  if AC_TRY_EVAL(ac_compile); then
24 +    case `/usr/bin/file conftest.$ac_objext` in
25 +    *"ELF 64"*)
26 +      python_cv_cc_64bit_output=yes
27 +      ;;
28 +    esac
29 +  fi
30 +  rm -rf conftest*
31 +  ;;
32 +esac
33 +
34 +case $ARCH:$python_cv_cc_64bit_output in
35 +powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
36 +  LIB="lib64"
37 +  ;;
38 +*:*)
39 +  LIB="lib"
40 +  ;;
41 +esac
42 +AC_MSG_RESULT($LIB)
43  
44  AC_SUBST(LIBRARY)
45  AC_MSG_CHECKING(LIBRARY)
46 diff -Nur Python-2.5b2.orig/Include/pythonrun.h Python-2.5b2/Include/pythonrun.h
47 --- Python-2.5b2.orig/Include/pythonrun.h       2006-04-03 07:26:32.000000000 +0100
48 +++ Python-2.5b2/Include/pythonrun.h    2006-07-12 17:42:51.000000000 +0100
49 @@ -107,6 +107,8 @@
50  /* In their own files */
51  PyAPI_FUNC(const char *) Py_GetVersion(void);
52  PyAPI_FUNC(const char *) Py_GetPlatform(void);
53 +PyAPI_FUNC(const char *) Py_GetArch(void);
54 +PyAPI_FUNC(const char *) Py_GetLib(void);
55  PyAPI_FUNC(const char *) Py_GetCopyright(void);
56  PyAPI_FUNC(const char *) Py_GetCompiler(void);
57  PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
58 diff -Nur Python-2.5b2.orig/Lib/distutils/command/install.py Python-2.5b2/Lib/distutils/command/install.py
59 --- Python-2.5b2.orig/Lib/distutils/command/install.py  2006-03-27 22:55:21.000000000 +0100
60 +++ Python-2.5b2/Lib/distutils/command/install.py       2006-07-12 17:42:51.000000000 +0100
61 @@ -19,6 +19,8 @@
62  from distutils.errors import DistutilsOptionError
63  from glob import glob
64  
65 +libname = sys.lib
66 +
67  if sys.version < "2.2":
68      WINDOWS_SCHEME = {
69          'purelib': '$base',
70 @@ -39,14 +41,14 @@
71  INSTALL_SCHEMES = {
72      'unix_prefix': {
73          'purelib': '$base/lib/python$py_version_short/site-packages',
74 -        'platlib': '$platbase/lib/python$py_version_short/site-packages',
75 +        'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
76          'headers': '$base/include/python$py_version_short/$dist_name',
77          'scripts': '$base/bin',
78          'data'   : '$base',
79          },
80      'unix_home': {
81          'purelib': '$base/lib/python',
82 -        'platlib': '$base/lib/python',
83 +        'platlib': '$base/'+libname+'/python',
84          'headers': '$base/include/python/$dist_name',
85          'scripts': '$base/bin',
86          'data'   : '$base',
87 diff -Nur Python-2.5b2.orig/Lib/distutils/sysconfig.py Python-2.5b2/Lib/distutils/sysconfig.py
88 --- Python-2.5b2.orig/Lib/distutils/sysconfig.py        2006-06-27 11:08:25.000000000 +0100
89 +++ Python-2.5b2/Lib/distutils/sysconfig.py     2006-07-12 17:42:51.000000000 +0100
90 @@ -99,8 +99,12 @@
91          prefix = plat_specific and EXEC_PREFIX or PREFIX
92  
93      if os.name == "posix":
94 +        if plat_specific:
95 +            lib = sys.lib
96 +        else:
97 +            lib = 'lib'
98          libpython = os.path.join(prefix,
99 -                                 "lib", "python" + get_python_version())
100 +                                 lib, "python" + get_python_version())
101          if standard_lib:
102              return libpython
103          else:
104 diff -Nur Python-2.5b2.orig/Lib/distutils/tests/test_install.py Python-2.5b2/Lib/distutils/tests/test_install.py
105 --- Python-2.5b2.orig/Lib/distutils/tests/test_install.py       2004-06-26 00:02:59.000000000 +0100
106 +++ Python-2.5b2/Lib/distutils/tests/test_install.py    2006-07-12 17:42:51.000000000 +0100
107 @@ -39,8 +39,9 @@
108              self.assertEqual(got, expected)
109  
110          libdir = os.path.join(destination, "lib", "python")
111 +        platlibdir =  os.path.join(destination, sys.lib, "python")
112          check_path(cmd.install_lib, libdir)
113 -        check_path(cmd.install_platlib, libdir)
114 +        check_path(cmd.install_platlib, platlibdir)
115          check_path(cmd.install_purelib, libdir)
116          check_path(cmd.install_headers,
117                     os.path.join(destination, "include", "python", "foopkg"))
118 diff -Nur Python-2.5b2.orig/Lib/site.py Python-2.5b2/Lib/site.py
119 --- Python-2.5b2.orig/Lib/site.py       2006-06-12 09:23:02.000000000 +0100
120 +++ Python-2.5b2/Lib/site.py    2006-07-12 17:42:51.000000000 +0100
121 @@ -258,13 +258,19 @@
122          if sys.platform in ('os2emx', 'riscos'):
123              sitedirs.append(os.path.join(prefix, "Lib", "site-packages"))
124          elif os.sep == '/':
125 -            sitedirs.append(os.path.join(prefix, "lib",
126 +            sitedirs.append(os.path.join(prefix, sys.lib,
127                                          "python" + sys.version[:3],
128                                          "site-packages"))
129 -            sitedirs.append(os.path.join(prefix, "lib", "site-python"))
130 +            sitedirs.append(os.path.join(prefix, sys.lib, "site-python"))
131 +            if sys.lib != 'lib':
132 +                sitedirs.append(os.path.join(prefix, 'lib',
133 +                                            "python" + sys.version[:3],
134 +                                            "site-packages"))
135 +                sitedirs.append(os.path.join(prefix, 'lib', "site-python"))
136 +               
137          else:
138              sitedirs.append(prefix)
139 -            sitedirs.append(os.path.join(prefix, "lib", "site-packages"))
140 +            sitedirs.append(os.path.join(prefix, sys.lib, "site-packages"))
141  
142          if sys.platform == "darwin":
143              # for framework builds *only* we add the standard Apple
144 diff -Nur Python-2.5b2.orig/Makefile.pre.in Python-2.5b2/Makefile.pre.in
145 --- Python-2.5b2.orig/Makefile.pre.in   2006-06-27 16:45:32.000000000 +0100
146 +++ Python-2.5b2/Makefile.pre.in        2006-07-12 17:42:51.000000000 +0100
147 @@ -75,6 +75,8 @@
148  
149  # Machine-dependent subdirectories
150  MACHDEP=       @MACHDEP@
151 +LIB=           @LIB@
152 +ARCH=          @ARCH@
153  
154  # Install prefix for architecture-independent files
155  prefix=                @prefix@
156 @@ -84,11 +86,11 @@
157  
158  # Expanded directories
159  BINDIR=                $(exec_prefix)/bin
160 -LIBDIR=                $(exec_prefix)/lib
161 +LIBDIR=                $(exec_prefix)/$(LIB)
162  MANDIR=                @mandir@
163  INCLUDEDIR=    @includedir@
164  CONFINCLUDEDIR=        $(exec_prefix)/include
165 -SCRIPTDIR=     $(prefix)/lib
166 +SCRIPTDIR=     $(prefix)/$(LIB)
167  
168  # Detailed destination directories
169  BINLIBDEST=    $(LIBDIR)/python$(VERSION)
170 @@ -489,7 +491,7 @@
171  Python/compile.o Python/symtable.o: $(GRAMMAR_H) $(AST_H)
172  
173  Python/getplatform.o: $(srcdir)/Python/getplatform.c
174 -               $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
175 +               $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DARCH='"$(ARCH)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
176  
177  Python/importdl.o: $(srcdir)/Python/importdl.c
178                 $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
179 diff -Nur Python-2.5b2.orig/Modules/getpath.c Python-2.5b2/Modules/getpath.c
180 --- Python-2.5b2.orig/Modules/getpath.c 2006-07-10 02:18:57.000000000 +0100
181 +++ Python-2.5b2/Modules/getpath.c      2006-07-12 17:42:51.000000000 +0100
182 @@ -116,9 +116,17 @@
183  #define EXEC_PREFIX PREFIX
184  #endif
185  
186 +#ifndef LIB_PYTHON
187 +#if defined(__x86_64__) || (defined(__sparc__) && defined(__arch64__)) || defined(__powerpc64__) || defined(__s390x__)
188 +#define LIB_PYTHON L"lib64/python"
189 +#else
190 +#define LIB_PYTHON L"lib/python"
191 +#endif
192 +#endif
193 +
194  #ifndef PYTHONPATH
195 -#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
196 -              EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
197 +#define PYTHONPATH PREFIX "/" LIB_PYTHON VERSION ":" \
198 +              EXEC_PREFIX "/" LIB_PYTHON VERSION "/lib-dynload:"
199  #endif
200  
201  #ifndef LANDMARK
202 @@ -137,7 +137,7 @@
203  static wchar_t exec_prefix[MAXPATHLEN+1];
204  static wchar_t progpath[MAXPATHLEN+1];
205  static wchar_t *module_search_path = NULL;
206 -static wchar_t lib_python[] = L"lib/python" VERSION;
207 +static wchar_t lib_python[] = LIB_PYTHON VERSION;
208  
209  /* In principle, this should use HAVE__WSTAT, and _wstat
210     should be detected by autoconf. However, no current
211 diff -Nur Python-2.5b2.orig/Python/getplatform.c Python-2.5b2/Python/getplatform.c
212 --- Python-2.5b2.orig/Python/getplatform.c      2000-09-02 00:29:29.000000000 +0100
213 +++ Python-2.5b2/Python/getplatform.c   2006-07-12 17:42:51.000000000 +0100
214 @@ -10,3 +10,23 @@
215  {
216         return PLATFORM;
217  }
218 +
219 +#ifndef ARCH
220 +#define ARCH "unknown"
221 +#endif
222 +
223 +const char *
224 +Py_GetArch(void)
225 +{
226 +       return ARCH;
227 +}
228 +
229 +#ifndef LIB
230 +#define LIB "lib"
231 +#endif
232 +
233 +const char *
234 +Py_GetLib(void)
235 +{
236 +       return LIB;
237 +}
238 diff -Nur Python-2.5b2.orig/Python/sysmodule.c Python-2.5b2/Python/sysmodule.c
239 --- Python-2.5b2.orig/Python/sysmodule.c        2006-07-10 22:08:24.000000000 +0100
240 +++ Python-2.5b2/Python/sysmodule.c     2006-07-12 17:42:51.000000000 +0100
241 @@ -1080,6 +1080,10 @@
242                             PyUnicode_FromString(Py_GetCopyright()));
243         SET_SYS_FROM_STRING("platform",
244                             PyUnicode_FromString(Py_GetPlatform()));
245 +       SET_SYS_FROM_STRING("arch",
246 +                           PyUnicode_FromString(Py_GetArch()));
247 +       SET_SYS_FROM_STRING("lib",
248 +                           PyUnicode_FromString(Py_GetLib()));
249         SET_SYS_FROM_STRING("executable",
250                             PyUnicode_FromString(Py_GetProgramFullPath()));
251         SET_SYS_FROM_STRING("prefix",
252 diff -Nur Python-2.5b2.orig/setup.py Python-2.5b2/setup.py
253 --- Python-2.5b2.orig/setup.py  2006-06-30 07:18:39.000000000 +0100
254 +++ Python-2.5b2/setup.py       2006-07-12 17:45:14.000000000 +0100
255 @@ -290,12 +290,12 @@
256          except NameError:
257              have_unicode = 0
258  
259 +        libname = sys.lib
260          # lib_dirs and inc_dirs are used to search for files;
261          # if a file is found in one of those directories, it can
262          # be assumed that no additional -I,-L directives are needed.
263          lib_dirs = self.compiler.library_dirs + [
264 -            '/lib64', '/usr/lib64',
265 -            '/lib', '/usr/lib',
266 +            libname, '/usr/'+libname
267              ]
268          inc_dirs = self.compiler.include_dirs + ['/usr/include']
269          exts = []
270 @@ -496,11 +496,11 @@
271              elif self.compiler.find_library_file(lib_dirs, 'curses'):
272                  readline_libs.append('curses')
273              elif self.compiler.find_library_file(lib_dirs +
274 -                                               ['/usr/lib/termcap'],
275 +                                               ['/usr' + libname + '/termcap'],
276                                                 'termcap'):
277                  readline_libs.append('termcap')
278              exts.append( Extension('readline', ['readline.c'],
279 -                                   library_dirs=['/usr/lib/termcap'],
280 +                                   library_dirs=['/usr' + libname + 'termcap'],
281                                     extra_link_args=readline_extra_link_args,
282                                     libraries=readline_libs) )
283          if platform not in ['mac']:
This page took 0.074542 seconds and 3 git commands to generate.