move pyconfig.h and %{__libdir}/python/config from libpython27 to python27 [release 2.7.3-9mamba;Sat Feb 15 2014]
This commit is contained in:
parent
ce69088a7c
commit
3a570de24d
301
Python-2.6.5-xcompile.patch
Normal file
301
Python-2.6.5-xcompile.patch
Normal file
@ -0,0 +1,301 @@
|
||||
diff -uN Python-2.6.2/configure Python-2.6.2POld/configure
|
||||
--- Python-2.6.2/configure 2009-03-31 03:56:14.000000000 +1000
|
||||
|
||||
@@ -24326,14 +24326,14 @@
|
||||
|
||||
{ echo "$as_me:$LINENO: checking for %zd printf() format support" >&5
|
||||
echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6; }
|
||||
-if test "$cross_compiling" = yes; then
|
||||
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
|
||||
-See \`config.log' for more details." >&5
|
||||
-echo "$as_me: error: cannot run test program while cross compiling
|
||||
-See \`config.log' for more details." >&2;}
|
||||
- { (exit 1); exit 1; }; }
|
||||
-else
|
||||
- cat >conftest.$ac_ext <<_ACEOF
|
||||
+#if test "$cross_compiling" = yes; then
|
||||
+# { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
|
||||
+#See \`config.log' for more details." >&5
|
||||
+#echo "$as_me: error: cannot run test program while cross compiling
|
||||
+#See \`config.log' for more details." >&2;}
|
||||
+# { (exit 1); exit 1; }; }
|
||||
+#else
|
||||
+cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
@@ -24411,7 +24411,7 @@
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
|
||||
-fi
|
||||
+#fi
|
||||
|
||||
|
||||
|
||||
diff -uN Python-2.6.2/configure.in Python-2.6.2POld/configure.in
|
||||
--- Python-2.6.2/configure.in 2009-03-31 03:56:14.000000000 +1000
|
||||
+++ Python-2.6.2POld/configure.in 2009-08-17 12:19:15.000000000 +1000
|
||||
@@ -3656,48 +3656,48 @@
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
-AC_MSG_CHECKING(for %zd printf() format support)
|
||||
-AC_TRY_RUN([#include <stdio.h>
|
||||
-#include <stddef.h>
|
||||
-#include <string.h>
|
||||
-
|
||||
-#ifdef HAVE_SYS_TYPES_H
|
||||
-#include <sys/types.h>
|
||||
-#endif
|
||||
-
|
||||
-#ifdef HAVE_SSIZE_T
|
||||
-typedef ssize_t Py_ssize_t;
|
||||
-#elif SIZEOF_VOID_P == SIZEOF_LONG
|
||||
-typedef long Py_ssize_t;
|
||||
-#else
|
||||
-typedef int Py_ssize_t;
|
||||
-#endif
|
||||
-
|
||||
-int main()
|
||||
-{
|
||||
- char buffer[256];
|
||||
-
|
||||
- if(sprintf(buffer, "%zd", (size_t)123) < 0)
|
||||
- return 1;
|
||||
-
|
||||
- if (strcmp(buffer, "123"))
|
||||
- return 1;
|
||||
-
|
||||
- if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
|
||||
- return 1;
|
||||
-
|
||||
- if (strcmp(buffer, "-123"))
|
||||
- return 1;
|
||||
-
|
||||
- return 0;
|
||||
-}],
|
||||
-[AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
|
||||
- AC_MSG_RESULT(no))
|
||||
+#AC_MSG_CHECKING(for %zd printf() format support)
|
||||
+#AC_TRY_RUN([#include <stdio.h>
|
||||
+##include <stddef.h>
|
||||
+##include <string.h>
|
||||
+
|
||||
+##ifdef HAVE_SYS_TYPES_H
|
||||
+##include <sys/types.h>
|
||||
+##endif
|
||||
+
|
||||
+##ifdef HAVE_SSIZE_T
|
||||
+#typedef ssize_t Py_ssize_t;
|
||||
+##elif SIZEOF_VOID_P == SIZEOF_LONG
|
||||
+#typedef long Py_ssize_t;
|
||||
+##else
|
||||
+#typedef int Py_ssize_t;
|
||||
+##endif
|
||||
+#
|
||||
+#int main()
|
||||
+#{
|
||||
+# char buffer[256];
|
||||
+#
|
||||
+# if(sprintf(buffer, "%zd", (size_t)123) < 0)
|
||||
+# return 1;#
|
||||
+#
|
||||
+# if (strcmp(buffer, "123"))
|
||||
+# return 1;
|
||||
+#
|
||||
+# if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
|
||||
+# return 1;
|
||||
+#
|
||||
+# if (strcmp(buffer, "-123"))
|
||||
+# return 1;
|
||||
+#
|
||||
+# return 0;
|
||||
+#}],
|
||||
+#[AC_MSG_RESULT(yes)
|
||||
+# AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
|
||||
+# AC_MSG_RESULT(no))
|
||||
|
||||
AC_CHECK_TYPE(socklen_t,,
|
||||
AC_DEFINE(socklen_t,int,
|
||||
- Define to `int' if <sys/socket.h> does not define.),[
|
||||
+ Define to 'int' if <sys/socket.h> does not define.),[
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
diff -uN Python-2.6.2/Makefile.pre.in Python-2.6.2POld/Makefile.pre.in
|
||||
--- Python-2.6.2/Makefile.pre.in 2009-02-24 21:07:44.000000000 +1000
|
||||
+++ Python-2.6.2POld/Makefile.pre.in 2009-08-17 12:19:15.000000000 +1000
|
||||
@@ -175,6 +175,7 @@
|
||||
|
||||
PYTHON= python$(EXE)
|
||||
BUILDPYTHON= python$(BUILDEXE)
|
||||
+HOSTPYTHON= ./$(BUILDPYTHON)
|
||||
|
||||
# The task to run while instrument when building the profile-opt target
|
||||
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
|
||||
@@ -206,6 +207,8 @@
|
||||
# Parser
|
||||
PGEN= Parser/pgen$(EXE)
|
||||
|
||||
+HOSTPGEN= $(PGEN)
|
||||
+
|
||||
POBJS= \
|
||||
Parser/acceler.o \
|
||||
Parser/grammar1.o \
|
||||
@@ -394,8 +397,8 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
|
||||
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
# Build static library
|
||||
@@ -517,7 +520,7 @@
|
||||
|
||||
$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
|
||||
-@$(INSTALL) -d Include
|
||||
- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
|
||||
$(PGEN): $(PGENOBJS)
|
||||
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
|
||||
@@ -886,24 +889,24 @@
|
||||
done; \
|
||||
done
|
||||
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
|
||||
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
|
||||
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
+ $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||
+ $(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||
|
||||
# Create the PLATDIR source directory, if one wasn't distributed..
|
||||
$(srcdir)/Lib/$(PLATDIR):
|
||||
@@ -1001,7 +1004,8 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall:
|
||||
- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
|
||||
+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILE='$(CROSS_COMPILE)' \
|
||||
+ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
diff -uN Python-2.6.2/setup.py Python-2.6.2POld/setup.py
|
||||
--- Python-2.6.2/setup.py 2009-04-01 04:20:48.000000000 +1000
|
||||
+++ Python-2.6.2POld/setup.py 2009-08-17 12:19:15.000000000 +1000
|
||||
@@ -17,7 +17,7 @@
|
||||
from distutils.command.install_lib import install_lib
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
-disabled_module_list = []
|
||||
+disabled_module_list = ['_ctypes']
|
||||
|
||||
def add_dir_to_list(dirlist, dir):
|
||||
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
|
||||
@@ -267,33 +267,40 @@
|
||||
self.announce('WARNING: skipping import check for Cygwin-based "%s"'
|
||||
% ext.name)
|
||||
return
|
||||
+ if os.environ.get('CROSS_COMPILE_TARGET') == 'yes':
|
||||
+ return
|
||||
+
|
||||
ext_filename = os.path.join(
|
||||
self.build_lib,
|
||||
self.get_ext_filename(self.get_ext_fullname(ext.name)))
|
||||
try:
|
||||
imp.load_dynamic(ext.name, ext_filename)
|
||||
except ImportError, why:
|
||||
- self.failed.append(ext.name)
|
||||
- self.announce('*** WARNING: renaming "%s" since importing it'
|
||||
- ' failed: %s' % (ext.name, why), level=3)
|
||||
- assert not self.inplace
|
||||
- basename, tail = os.path.splitext(ext_filename)
|
||||
- newname = basename + "_failed" + tail
|
||||
- if os.path.exists(newname):
|
||||
- os.remove(newname)
|
||||
- os.rename(ext_filename, newname)
|
||||
-
|
||||
- # XXX -- This relies on a Vile HACK in
|
||||
- # distutils.command.build_ext.build_extension(). The
|
||||
- # _built_objects attribute is stored there strictly for
|
||||
- # use here.
|
||||
- # If there is a failure, _built_objects may not be there,
|
||||
- # so catch the AttributeError and move on.
|
||||
- try:
|
||||
- for filename in self._built_objects:
|
||||
- os.remove(filename)
|
||||
- except AttributeError:
|
||||
- self.announce('unable to remove files (ignored)')
|
||||
+ if os.environ.get('CROSS_COMPILE_TARGET') != "yes":
|
||||
+ self.announce('*** WARNING: renaming "%s" since importing it'
|
||||
+ ' failed: %s' % (ext.name, why), level=3)
|
||||
+ assert not self.inplace
|
||||
+ basename, tail = os.path.splitext(ext_filename)
|
||||
+ newname = basename + "_failed" + tail
|
||||
+ if os.path.exists(newname):
|
||||
+ os.remove(newname)
|
||||
+ os.rename(ext_filename, newname)
|
||||
+
|
||||
+ # XXX -- This relies on a Vile HACK in
|
||||
+ # distutils.command.build_ext.build_extension(). The
|
||||
+ # _built_objects attribute is stored there strictly for
|
||||
+ # use here.
|
||||
+ # If there is a failure, _built_objects may not be there,
|
||||
+ # so catch the AttributeError and move on.
|
||||
+ try:
|
||||
+ for filename in self._built_objects:
|
||||
+ os.remove(filename)
|
||||
+ except AttributeError:
|
||||
+ self.announce('unable to remove files (ignored)')
|
||||
+ else:
|
||||
+ self.announce('WARNING: "%s" failed importing, but we leave it '
|
||||
+ 'because we are cross-compiling' %
|
||||
+ ext.name)
|
||||
except:
|
||||
exc_type, why, tb = sys.exc_info()
|
||||
self.announce('*** WARNING: importing extension "%s" '
|
||||
@@ -665,7 +672,7 @@
|
||||
|
||||
if (ssl_incs is not None and
|
||||
ssl_libs is not None and
|
||||
- openssl_ver >= 0x00907000):
|
||||
+ openssl_ver >= 0x00907000 and False):
|
||||
# The _hashlib module wraps optimized implementations
|
||||
# of hash functions from the OpenSSL library.
|
||||
exts.append( Extension('_hashlib', ['_hashopenssl.c'],
|
||||
@@ -685,7 +692,7 @@
|
||||
depends = ['md5.h']) )
|
||||
missing.append('_hashlib')
|
||||
|
||||
- if (openssl_ver < 0x00908000):
|
||||
+ if (True or openssl_ver < 0x00908000):
|
||||
# OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
|
||||
exts.append( Extension('_sha256', ['sha256module.c']) )
|
||||
exts.append( Extension('_sha512', ['sha512module.c']) )
|
||||
|
@ -1,2 +1,11 @@
|
||||
# python27
|
||||
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
|
65
python-2.6.7-pkgconfig.patch
Normal file
65
python-2.6.7-pkgconfig.patch
Normal file
@ -0,0 +1,65 @@
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
--- configure.in (revision 65790)
|
||||
+++ configure.in (working copy)
|
||||
@@ -3693,7 +3693,7 @@
|
||||
AC_MSG_RESULT(done)
|
||||
|
||||
# generate output files
|
||||
-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config)
|
||||
+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python-2.6.pc)
|
||||
AC_OUTPUT
|
||||
|
||||
echo "creating Modules/Setup"
|
||||
Index: Makefile.pre.in
|
||||
===================================================================
|
||||
--- Makefile.pre.in (revision 65790)
|
||||
+++ Makefile.pre.in (working copy)
|
||||
@@ -755,6 +755,8 @@
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
|
||||
-rm -f $(DESTDIR)$(BINDIR)/python-config
|
||||
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
|
||||
+ -rm -f $(DESTDIR)$(LIBPC)/python.pc
|
||||
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python.pc)
|
||||
|
||||
# Install the interpreter with $(VERSION) affixed
|
||||
# This goes into $(exec_prefix)
|
||||
@@ -928,8 +930,12 @@
|
||||
# Install the library and miscellaneous stuff needed for extending/embedding
|
||||
# This goes into $(exec_prefix)
|
||||
LIBPL= $(LIBP)/config
|
||||
+
|
||||
+# pkgconfig diretory
|
||||
+LIBPC= $(LIBDIR)/pkgconfig
|
||||
+
|
||||
libainstall: all
|
||||
- @for i in $(LIBDIR) $(LIBP) $(LIBPL); \
|
||||
+ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
|
||||
do \
|
||||
if test ! -d $(DESTDIR)$$i; then \
|
||||
echo "Creating directory $$i"; \
|
||||
@@ -956,6 +962,7 @@
|
||||
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
|
||||
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
|
||||
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
|
||||
+ $(INSTALL_DATA) Misc/python-2.6.pc $(DESTDIR)$(LIBPC)/python-2.6.pc
|
||||
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
|
||||
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
|
||||
# Substitution happens here, as the completely-expanded BINDIR
|
||||
Index: Misc/python-2.6.pc.in
|
||||
===================================================================
|
||||
--- Misc/python-2.6.pc.in (revision 0)
|
||||
+++ Misc/python-2.6.pc.in (revision 0)
|
||||
@@ -0,0 +1,12 @@
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+
|
||||
+Name: Python
|
||||
+Description: Python library
|
||||
+Requires:
|
||||
+Version: @VERSION@
|
||||
+Libs: -L${libdir} -lpython@VERSION@
|
||||
+Cflags: -I${includedir}/python@VERSION@
|
||||
+
|
26
python-2.7-macros.python
Normal file
26
python-2.7-macros.python
Normal file
@ -0,0 +1,26 @@
|
||||
%__python27 /usr/bin/python2.7
|
||||
#------------------------------------------------------------------------
|
||||
# python(...) configuration.
|
||||
#
|
||||
# Path to scripts to autogenerate python package dependencies,
|
||||
#
|
||||
# Note: Used iff _use_internal_dependency_generator is non-zero. The
|
||||
# helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
|
||||
%__python27_provides %{_usrlibrpm}/pythondeps27.sh --provides
|
||||
%__python27_requires %{_usrlibrpm}/pythondeps27.sh --requires
|
||||
|
||||
# Useful macros for building *.rpm python packages (for python > 1.6).
|
||||
#
|
||||
%python27_sitearch %(%{__python27} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
|
||||
%python27_sitelib %(%{__python27} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
|
||||
%python27_version %(%{__python27} -c "import sys; print(sys.version[0:3])")
|
||||
|
||||
%py27_compile(O) \
|
||||
find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \
|
||||
%{__python27} %{?O:-O} -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
|
||||
|
||||
%py27_requires(d) \
|
||||
%define maxver %(%{__python27} -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \
|
||||
BuildRequires: python27, libpython27-devel \
|
||||
PreReq: python27 >= %{python27_version}, python27 < %{maxver}
|
||||
|
14
python-2.7.3-use_system_Sphinx.patch
Normal file
14
python-2.7.3-use_system_Sphinx.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- Python-2.7.3/Doc/Makefile.orig 2013-12-07 12:55:35.922434354 +0000
|
||||
+++ Python-2.7.3/Doc/Makefile 2013-12-07 12:56:03.566148691 +0000
|
||||
@@ -57,9 +57,9 @@
|
||||
|
||||
update: clean checkout
|
||||
|
||||
-build: checkout
|
||||
+build:
|
||||
mkdir -p build/$(BUILDER) build/doctrees
|
||||
- $(PYTHON) tools/sphinx-build.py $(ALLSPHINXOPTS)
|
||||
+ sphinx-build $(ALLSPHINXOPTS)
|
||||
@echo
|
||||
|
||||
html: BUILDER = html
|
26
python-macros.python
Normal file
26
python-macros.python
Normal file
@ -0,0 +1,26 @@
|
||||
%__python /usr/bin/python2.7
|
||||
#------------------------------------------------------------------------
|
||||
# python(...) configuration.
|
||||
#
|
||||
# Path to scripts to autogenerate python package dependencies,
|
||||
#
|
||||
# Note: Used iff _use_internal_dependency_generator is non-zero. The
|
||||
# helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
|
||||
%__python_provides %{_usrlibrpm}/pythondeps.sh --provides
|
||||
%__python_requires %{_usrlibrpm}/pythondeps.sh --requires
|
||||
|
||||
# Useful macros for building *.rpm python packages (for python > 1.6).
|
||||
#
|
||||
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
|
||||
%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
|
||||
%python_version %(%{__python} -c "import sys; print(sys.version[0:3])")
|
||||
|
||||
%py_compile(O) \
|
||||
find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \
|
||||
%{__python} %{?O:-O} -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \
|
||||
|
||||
%py_requires(d) \
|
||||
%define maxver %(%{__python} -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \
|
||||
BuildRequires: python27, libpython27-devel \
|
||||
PreReq: python27 >= %{python_version}, python < %{maxver}
|
||||
|
8
python27-2.7.3-cgi.patch
Normal file
8
python27-2.7.3-cgi.patch
Normal file
@ -0,0 +1,8 @@
|
||||
--- Python-2.4.2/Lib/cgi.py.orig 2006-02-27 11:22:07.000000000 +0100
|
||||
+++ Python-2.4.2/Lib/cgi.py 2006-02-27 11:22:39.000000000 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-#! /usr/local/bin/python
|
||||
+#! /usr/bin/python
|
||||
|
||||
# NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is
|
||||
# intentionally NOT "/usr/bin/env python". On many systems
|
62
python27-2.7.3-gcc-4.8.patch
Normal file
62
python27-2.7.3-gcc-4.8.patch
Normal file
@ -0,0 +1,62 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Benjamin Peterson <benjamin@python.org>
|
||||
# Date 1368295205 18000
|
||||
# Node ID 94a7475d3a5f84d940121d059d145d504b4d996a
|
||||
# Parent 0f8022ac88ad5a11ca9120d356615940d24a341d
|
||||
-Wformat is needed by gcc 4.8 (closes #17547)
|
||||
|
||||
diff --git a/Misc/NEWS b/Misc/NEWS
|
||||
--- a/Misc/NEWS
|
||||
+++ b/Misc/NEWS
|
||||
@@ -223,6 +223,12 @@ Documentation
|
||||
- Issue #6696: add documentation for the Profile objects, and improve
|
||||
profile/cProfile docs. Patch by Tom Pinckney.
|
||||
|
||||
+Build
|
||||
+-----
|
||||
+
|
||||
+- Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC
|
||||
+ 4.8.
|
||||
+
|
||||
|
||||
What's New in Python 3.3.1?
|
||||
===========================
|
||||
diff --git a/configure b/configure
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6525,7 +6525,7 @@ then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc supports ParseTuple __format__" >&5
|
||||
$as_echo_n "checking whether gcc supports ParseTuple __format__... " >&6; }
|
||||
save_CFLAGS=$CFLAGS
|
||||
- CFLAGS="$CFLAGS -Werror"
|
||||
+ CFLAGS="$CFLAGS -Werror -Wformat"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -1331,7 +1331,7 @@ if test "$GCC" = "yes"
|
||||
then
|
||||
AC_MSG_CHECKING(whether gcc supports ParseTuple __format__)
|
||||
save_CFLAGS=$CFLAGS
|
||||
- CFLAGS="$CFLAGS -Werror"
|
||||
+ CFLAGS="$CFLAGS -Werror -Wformat"
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[void f(char*,...)__attribute((format(PyArg_ParseTuple, 1, 2)));]], [[]])
|
||||
],[
|
||||
diff --git a/pyconfig.h.in b/pyconfig.h.in
|
||||
--- a/pyconfig.h.in
|
||||
+++ b/pyconfig.h.in
|
||||
@@ -1187,9 +1187,6 @@
|
||||
/* Define if setpgrp() must be called as setpgrp(0, 0). */
|
||||
#undef SETPGRP_HAVE_ARG
|
||||
|
||||
-/* Define this to be extension of shared libraries (including the dot!). */
|
||||
-#undef SHLIB_EXT
|
||||
-
|
||||
/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */
|
||||
#undef SIGNED_RIGHT_SHIFT_ZERO_FILLS
|
||||
|
||||
|
167
python27-2.7.3-lib64.patch
Normal file
167
python27-2.7.3-lib64.patch
Normal file
@ -0,0 +1,167 @@
|
||||
diff -up Python-2.6.8/Lib/distutils/command/install.py.lib64 Python-2.6.8/Lib/distutils/command/install.py
|
||||
--- Python-2.6.8/Lib/distutils/command/install.py.lib64 2012-04-10 11:32:04.000000000 -0400
|
||||
+++ Python-2.6.8/Lib/distutils/command/install.py 2012-04-12 13:23:24.929428232 -0400
|
||||
@@ -42,14 +42,14 @@ else:
|
||||
INSTALL_SCHEMES = {
|
||||
'unix_prefix': {
|
||||
'purelib': '$base/lib/python$py_version_short/site-packages',
|
||||
- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
|
||||
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
|
||||
'headers': '$base/include/python$py_version_short/$dist_name',
|
||||
'scripts': '$base/bin',
|
||||
'data' : '$base',
|
||||
},
|
||||
'unix_home': {
|
||||
'purelib': '$base/lib/python',
|
||||
- 'platlib': '$base/lib/python',
|
||||
+ 'platlib': '$base/lib64/python',
|
||||
'headers': '$base/include/python/$dist_name',
|
||||
'scripts': '$base/bin',
|
||||
'data' : '$base',
|
||||
diff -up Python-2.6.8/Lib/distutils/sysconfig.py.lib64 Python-2.6.8/Lib/distutils/sysconfig.py
|
||||
--- Python-2.6.8/Lib/distutils/sysconfig.py.lib64 2012-04-10 11:32:04.000000000 -0400
|
||||
+++ Python-2.6.8/Lib/distutils/sysconfig.py 2012-04-12 13:23:24.930428219 -0400
|
||||
@@ -119,8 +119,12 @@ def get_python_lib(plat_specific=0, stan
|
||||
prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
|
||||
if os.name == "posix":
|
||||
+ if plat_specific or standard_lib:
|
||||
+ lib = "lib64"
|
||||
+ else:
|
||||
+ lib = "lib"
|
||||
libpython = os.path.join(prefix,
|
||||
- "lib", "python" + get_python_version())
|
||||
+ lib, "python" + get_python_version())
|
||||
if standard_lib:
|
||||
return libpython
|
||||
else:
|
||||
diff -up Python-2.6.8/Lib/site.py.lib64 Python-2.6.8/Lib/site.py
|
||||
--- Python-2.6.8/Lib/site.py.lib64 2012-04-10 11:32:06.000000000 -0400
|
||||
+++ Python-2.6.8/Lib/site.py 2012-04-12 13:23:24.931428206 -0400
|
||||
@@ -300,12 +300,16 @@ def getsitepackages():
|
||||
if sys.platform in ('os2emx', 'riscos'):
|
||||
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
|
||||
elif os.sep == '/':
|
||||
+ sitepackages.append(os.path.join(prefix, "lib64",
|
||||
+ "python" + sys.version[:3],
|
||||
+ "site-packages"))
|
||||
sitepackages.append(os.path.join(prefix, "lib",
|
||||
"python" + sys.version[:3],
|
||||
"site-packages"))
|
||||
sitepackages.append(os.path.join(prefix, "lib", "site-python"))
|
||||
else:
|
||||
sitepackages.append(prefix)
|
||||
+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
|
||||
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
|
||||
if sys.platform == "darwin":
|
||||
# for framework builds *only* we add the standard Apple
|
||||
diff -up Python-2.6.8/Makefile.pre.in.lib64 Python-2.6.8/Makefile.pre.in
|
||||
--- Python-2.6.8/Makefile.pre.in.lib64 2012-04-12 13:23:24.000000000 -0400
|
||||
+++ Python-2.6.8/Makefile.pre.in 2012-04-12 13:24:31.619594491 -0400
|
||||
@@ -91,7 +91,7 @@ LIBDIR= @libdir@
|
||||
MANDIR= @mandir@
|
||||
INCLUDEDIR= @includedir@
|
||||
CONFINCLUDEDIR= $(exec_prefix)/include
|
||||
-SCRIPTDIR= $(prefix)/lib
|
||||
+SCRIPTDIR= $(prefix)/lib64
|
||||
|
||||
# Detailed destination directories
|
||||
BINLIBDEST= $(LIBDIR)/python$(VERSION)
|
||||
diff -up Python-2.6.8/Modules/getpath.c.lib64 Python-2.6.8/Modules/getpath.c
|
||||
--- Python-2.6.8/Modules/getpath.c.lib64 2012-04-10 11:32:09.000000000 -0400
|
||||
+++ Python-2.6.8/Modules/getpath.c 2012-04-12 13:24:52.443334157 -0400
|
||||
@@ -117,8 +117,8 @@
|
||||
#endif
|
||||
|
||||
#ifndef PYTHONPATH
|
||||
-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
|
||||
- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
|
||||
+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \
|
||||
+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload"
|
||||
#endif
|
||||
|
||||
#ifndef LANDMARK
|
||||
@@ -129,7 +129,7 @@ static char prefix[MAXPATHLEN+1];
|
||||
static char exec_prefix[MAXPATHLEN+1];
|
||||
static char progpath[MAXPATHLEN+1];
|
||||
static char *module_search_path = NULL;
|
||||
-static char lib_python[] = "lib/python" VERSION;
|
||||
+static char lib_python[] = "lib64/python" VERSION;
|
||||
|
||||
static void
|
||||
reduce(char *dir)
|
||||
@@ -524,7 +524,7 @@ calculate_path(void)
|
||||
}
|
||||
else
|
||||
strncpy(zip_path, PREFIX, MAXPATHLEN);
|
||||
- joinpath(zip_path, "lib/python00.zip");
|
||||
+ joinpath(zip_path, "lib64/python00.zip");
|
||||
bufsz = strlen(zip_path); /* Replace "00" with version */
|
||||
zip_path[bufsz - 6] = VERSION[0];
|
||||
zip_path[bufsz - 5] = VERSION[2];
|
||||
@@ -534,7 +534,7 @@ calculate_path(void)
|
||||
fprintf(stderr,
|
||||
"Could not find platform dependent libraries <exec_prefix>\n");
|
||||
strncpy(exec_prefix, EXEC_PREFIX, MAXPATHLEN);
|
||||
- joinpath(exec_prefix, "lib/lib-dynload");
|
||||
+ joinpath(exec_prefix, "lib64/lib-dynload");
|
||||
}
|
||||
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
|
||||
|
||||
--- Python-2.7.3/Modules/Setup.dist.lib64 2012-08-31 14:26:12.000000000 -0700
|
||||
+++ Python-2.7.3/Modules/Setup.dist 2012-08-31 14:28:58.000000000 -0700
|
||||
@@ -414,7 +414,7 @@
|
||||
#DB=/usr/local/BerkeleyDB.4.0
|
||||
#DBLIBVER=4.0
|
||||
#DBINC=$(DB)/include
|
||||
-#DBLIB=$(DB)/lib
|
||||
+#DBLIB=$(DB)/lib64
|
||||
#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER)
|
||||
|
||||
# Historical Berkeley DB 1.85
|
||||
@@ -460,7 +460,7 @@ GLHACK=-Dclear=__GLclear
|
||||
# Andrew Kuchling's zlib module.
|
||||
# This require zlib 1.1.3 (or later).
|
||||
# See http://www.gzip.org/zlib/
|
||||
-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
|
||||
+#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz
|
||||
|
||||
# Interface to the Expat XML parser
|
||||
#
|
||||
diff -up Python-2.6.8/setup.py.lib64 Python-2.6.8/setup.py
|
||||
--- Python-2.6.8/setup.py.lib64 2012-04-12 13:23:24.657431631 -0400
|
||||
+++ Python-2.6.8/setup.py 2012-04-12 13:23:24.935428157 -0400
|
||||
@@ -356,7 +356,7 @@ class PyBuildExt(build_ext):
|
||||
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
@@ -677,11 +677,11 @@ class PyBuildExt(build_ext):
|
||||
elif curses_library:
|
||||
readline_libs.append(curses_library)
|
||||
elif self.compiler.find_library_file(lib_dirs +
|
||||
- ['/usr/lib/termcap'],
|
||||
+ ['/usr/lib64/termcap'],
|
||||
'termcap'):
|
||||
readline_libs.append('termcap')
|
||||
exts.append( Extension('readline', ['readline.c'],
|
||||
- library_dirs=['/usr/lib/termcap'],
|
||||
+ library_dirs=['/usr/lib64/termcap'],
|
||||
extra_link_args=readline_extra_link_args,
|
||||
libraries=readline_libs) )
|
||||
else:
|
||||
@@ -703,8 +703,8 @@ class PyBuildExt(build_ext):
|
||||
if krb5_h:
|
||||
ssl_incs += krb5_h
|
||||
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
|
||||
- ['/usr/local/ssl/lib',
|
||||
- '/usr/contrib/ssl/lib/'
|
||||
+ ['/usr/local/ssl/lib64',
|
||||
+ '/usr/contrib/ssl/lib64/'
|
||||
] )
|
||||
|
||||
if (ssl_incs is not None and
|
11
python27-2.7.3-platform_add_openmamba_distro.patch
Normal file
11
python27-2.7.3-platform_add_openmamba_distro.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- Python-2.6.4/Lib/platform.py.orig 2010-01-08 22:35:26.000000000 +0100
|
||||
+++ Python-2.6.4/Lib/platform.py 2010-01-08 22:36:02.000000000 +0100
|
||||
@@ -243,7 +243,7 @@
|
||||
_supported_dists = (
|
||||
'SuSE', 'debian', 'fedora', 'redhat', 'centos',
|
||||
'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo',
|
||||
- 'UnitedLinux', 'turbolinux')
|
||||
+ 'UnitedLinux', 'turbolinux', 'openmamba')
|
||||
|
||||
def _parse_release_file(firstline):
|
||||
|
485
python27.spec
Normal file
485
python27.spec
Normal file
@ -0,0 +1,485 @@
|
||||
# majversion define needed when upgrading from 2.x to 2.(x+1) releases
|
||||
%define majversion %(echo %version | cut -d. -f 1-2)
|
||||
%define libname libpython27
|
||||
%define _Rpatchdir /usr/src/RPM/SPECS
|
||||
# FIXME: x86_64: install also platform dependent stuff in /usr/lib or it does not work
|
||||
#% define __libdir %{_prefix}/lib
|
||||
%define __libdir %{_libdir}
|
||||
Name: python27
|
||||
Version: 2.7.3
|
||||
Release: 9mamba
|
||||
Summary: An interpreted, interactive, object-oriented programming language
|
||||
Group: Applications/Development
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: http://www.python.org
|
||||
Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2
|
||||
Source1: python-2.7-macros.python
|
||||
Source2: python-macros.python
|
||||
Patch1: %{name}-2.7.3-cgi.patch
|
||||
Patch2: %{name}-2.7.3-platform_add_openmamba_distro.patch
|
||||
# Cross-compile patches available from:
|
||||
# http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html
|
||||
Patch5: Python-2.6.5-xcompile.patch
|
||||
Patch6: python-2.6.7-pkgconfig.patch
|
||||
Patch7: python27-2.7.3-gcc-4.8.patch
|
||||
Patch8: python-2.7.3-use_system_Sphinx.patch
|
||||
Patch9: python27-2.7.3-lib64.patch
|
||||
License: GPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libbzip2-devel
|
||||
BuildRequires: libdb47-devel
|
||||
BuildRequires: libgdbm-devel
|
||||
BuildRequires: libncurses-devel >= 5.4
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libreadline-devel
|
||||
BuildRequires: libsqlite-devel
|
||||
BuildRequires: libtcl-devel
|
||||
%if "%{stage1}" != "1"
|
||||
BuildRequires: libtk-devel
|
||||
BuildRequires: libX11-devel
|
||||
%endif
|
||||
BuildRequires: libz-devel
|
||||
## AUTOBUILDREQ-END
|
||||
%if "%{stage1}" != "1"
|
||||
BuildRequires: latex2html >= 2002
|
||||
BuildRequires: tetex >= 3.0
|
||||
BuildRequires: libtk >= 8.4.11
|
||||
BuildRequires: libbluez-devel >= 2.21
|
||||
BuildRequires: python-Sphinx
|
||||
BuildRequires: python-Jinja2
|
||||
%endif
|
||||
Requires: %{libname} = %{?epoch:epoch:}%{version}-%{release}
|
||||
Provides: python-abi = %{majversion}
|
||||
Provides: python(abi) = %{majversion}
|
||||
Provides: /usr/bin/python
|
||||
Provides: python
|
||||
Obsoletes: python
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
%package -n %{libname}
|
||||
Group: System/Libraries/Python
|
||||
Summary: Libraries for Python
|
||||
Provides: libpython
|
||||
Obsoletes: libpython
|
||||
|
||||
%description -n %{libname}
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
This package contains the libraries for Python.
|
||||
|
||||
%package -n %{libname}-devel
|
||||
Group: Development/Libraries/Python
|
||||
Summary: Devel package for Python
|
||||
Requires: %{libname} = %{?epoch:epoch:}%{version}-%{release}
|
||||
Provides: %{name}-devel = %{version}
|
||||
Obsoletes: %{name}-devel
|
||||
Provides: libpython-devel
|
||||
Obsoletes: libpython-devel
|
||||
Provides: python-devel
|
||||
Obsoletes: python-devel
|
||||
|
||||
%description -n %{libname}-devel
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
This package contains the development files for Python.
|
||||
|
||||
%package doc
|
||||
Group: Documentation
|
||||
Summary: Documentation package for Python
|
||||
Requires: %{name} = %{?epoch:epoch:}%{version}-%{release}
|
||||
Provides: python-doc
|
||||
Obsoletes: python-doc
|
||||
|
||||
%description doc
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
This package contains the documentation files for Python in HTML format.
|
||||
|
||||
%package tk
|
||||
Group: System/Libraries/Python
|
||||
Summary: Tk library for Python
|
||||
Requires: %{name} = %{?epoch:epoch:}%{version}-%{release}
|
||||
Provides: python-tk
|
||||
Obsoletes: python-tk
|
||||
|
||||
%description tk
|
||||
Python is an interpreted, interactive, object-oriented programming language.
|
||||
It is often compared to Tcl, Perl, Scheme or Java.
|
||||
Python combines remarkable power with very clear syntax.
|
||||
It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.
|
||||
There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC).
|
||||
New built-in modules are easily written in C or C++.
|
||||
Python is also usable as an extension language for applications that need a programmable interface.
|
||||
The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga...
|
||||
|
||||
This package contains the tk library for Python.
|
||||
|
||||
%prep
|
||||
%setup -q -n Python-%{version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%if "%{_host}" != "%{_build}"
|
||||
%patch5 -p1
|
||||
%endif
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%ifarch x86_64
|
||||
%patch9 -p1
|
||||
%endif
|
||||
|
||||
TMPFILE=`mktemp --tmpdir=/dev/shm`
|
||||
[ -e $TMPFILE ] || {
|
||||
echo "ERROR: sanity check for /dev/shm failed; aborting."
|
||||
exit 1
|
||||
}
|
||||
rm -f $TMPFILE
|
||||
|
||||
%build
|
||||
autoreconf
|
||||
#%if "%{_host}" != "%{_build}"
|
||||
#
|
||||
#%configure --disable-shared
|
||||
#make CC=%{_build}-gcc python Parser/pgen
|
||||
#mv python hostpython
|
||||
#mv Parser/pgen Parser/hostpgen
|
||||
#make distclean
|
||||
#%configure \
|
||||
# --enable-shared
|
||||
#%make \
|
||||
# HOSTPYTHON=./hostpython \
|
||||
# HOSTPGEN=./Parser/hostpgen \
|
||||
# BLDSHARED="%{_host}-gcc -shared" \
|
||||
# CROSS_COMPILE="%{_host}-" \
|
||||
# CROSS_COMPILE_TARGET=yes
|
||||
#
|
||||
#%else
|
||||
%configure \
|
||||
--libdir=%{__libdir} \
|
||||
--enable-shared \
|
||||
%if "%{_host}" == "%{_build}"
|
||||
--enable-ipv6 \
|
||||
%else
|
||||
--disable-ipv6 \
|
||||
CROSS_COMPILE="%{_host}-" \
|
||||
CROSS_COMPILE_TARGET=yes
|
||||
%endif
|
||||
|
||||
%make
|
||||
#%endif
|
||||
|
||||
# create DLFCN.py
|
||||
cd Tools/scripts
|
||||
./h2py.py %{_includedir}/dlfcn.h
|
||||
cd ../..
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
%if "%{_host}" != "%{_build}"
|
||||
%makeinstall \
|
||||
HOSTPYTHON=./hostpython \
|
||||
BLDSHARED="%{_host}-gcc -shared" \
|
||||
CROSS_COMPILE="%{_host}-" \
|
||||
CROSS_COMPILE_TARGET=yes
|
||||
%else
|
||||
%makeinstall
|
||||
%endif
|
||||
|
||||
#install -d %{buildroot}%{__libdir}/python/site-packages
|
||||
#ln -s python%{majversion} %{buildroot}%{__libdir}/python
|
||||
ln -s python%{majversion} %{buildroot}%{_includedir}/python
|
||||
|
||||
# fix library permission
|
||||
chmod 755 %{buildroot}%{__libdir}/libpython%{majversion}.so.*
|
||||
|
||||
%if "%{stage1}" != "1"
|
||||
# build the HTML documentation
|
||||
cd Doc
|
||||
|
||||
###sed -i s@/usr/bin/env@/bin/env@ tools/mkhowto
|
||||
PATH=$PATH:%{_builddir}/Python-%{version}/Doc/tools
|
||||
make html
|
||||
|
||||
install -d %{buildroot}%{_defaultdocdir}/%{name}-%{version}
|
||||
cp -R build/html build/doctrees %{buildroot}%{_defaultdocdir}/%{name}-%{version}
|
||||
rm -f 'find %{buildroot}%{_defaultdocdir}/%{name}-%{version}/html/.cvsignore'
|
||||
|
||||
cd ..
|
||||
#make PAPER=a4 pdf
|
||||
%endif
|
||||
install -D -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.python%{majversion}
|
||||
install -D -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/rpm/macros.python
|
||||
|
||||
# install i18n tools for development
|
||||
install -D -m0755 Tools/i18n/msgfmt.py %{buildroot}%{_bindir}/msgfmt%{majversion}.py
|
||||
install -D -m0755 Tools/i18n/pygettext.py %{buildroot}%{_bindir}/pygettext%{majversion}.py
|
||||
|
||||
# install DLFCN.py
|
||||
install -D -m0755 Tools/scripts/DLFCN.py %{buildroot}%{__libdir}/python%{majversion}/DLFCN.py
|
||||
|
||||
rm -f %{buildroot}%{_bindir}/python
|
||||
#rm -f %{buildroot}%{__libdir}/pkgconfig/python.pc
|
||||
#rm -f %{buildroot}%{_bindir}/2to3
|
||||
#rm -f %{buildroot}%{_bindir}/python-config
|
||||
#rm -f %{buildroot}%{_includedir}/python
|
||||
#
|
||||
ln -s idle %{buildroot}%{_bindir}/idle%{majversion}
|
||||
ln -s pydoc %{buildroot}%{_bindir}/pydoc%{majversion}
|
||||
ln -s smtpd.py %{buildroot}%{_bindir}/smtpd%{majversion}.py
|
||||
|
||||
%ifarch x86_64
|
||||
# FIXME: workaround
|
||||
install -d -m0755 %{buildroot}%{_prefix}/lib/python%{majversion}
|
||||
ln -sf ../../lib64/python%{majversion}/config %{buildroot}%{_prefix}/lib/python%{majversion}/config
|
||||
%endif
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%post
|
||||
/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 75
|
||||
/usr/sbin/update-alternatives --auto python
|
||||
exit 0
|
||||
|
||||
%preun
|
||||
if [ $1 -eq 0 ]; then
|
||||
/usr/sbin/update-alternatives --remove python %{_bindir}/python%{majversion}
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%posttrans
|
||||
[ -e %{_bindir}/python ] || \
|
||||
/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 75
|
||||
exit 0
|
||||
|
||||
%ifarch x86_64
|
||||
%pre -n %{libname}
|
||||
[ -d %{_prefix}/lib/python%{majversion}/config ] &&
|
||||
mv %{_prefix}/lib/python%{majversion}/config %{_prefix}/lib/python%{majversion}/config.old.`date +%s`
|
||||
:
|
||||
%endif
|
||||
|
||||
%post -n %{libname} -p /sbin/ldconfig
|
||||
%postun -n %{libname} -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/2to3
|
||||
%{_bindir}/idle
|
||||
%{_bindir}/idle%{majversion}
|
||||
%{_bindir}/pydoc
|
||||
%{_bindir}/pydoc%{majversion}
|
||||
%{_bindir}/python2
|
||||
%{_bindir}/python%{majversion}
|
||||
%{_bindir}/smtpd.py
|
||||
%{_bindir}/smtpd%{majversion}.py
|
||||
%dir %{_includedir}/python%{majversion}
|
||||
%{_includedir}/python%{majversion}/pyconfig.h
|
||||
%ifarch x86_64
|
||||
%{_prefix}/lib/python%{majversion}/config
|
||||
%endif
|
||||
%dir %{__libdir}/python%{majversion}/config
|
||||
%{__libdir}/python%{majversion}/config/*
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%files -n %{libname}
|
||||
%defattr(-,root,root)
|
||||
%dir %{__libdir}/python%{majversion}
|
||||
%exclude %{__libdir}/python%{majversion}/config
|
||||
%{__libdir}/python%{majversion}/*
|
||||
%{_libdir}/libpython%{majversion}.so.*
|
||||
%{_libdir}/libpython%{majversion}.so
|
||||
%if "%{stage1}" != "1"
|
||||
#%exclude %{__libdir}/python%{majversion}/lib-tk
|
||||
%exclude %{__libdir}/python%{majversion}/lib-dynload/_tkinter.so
|
||||
%endif
|
||||
|
||||
%files -n %{libname}-devel
|
||||
%defattr(-,root,root)
|
||||
%{_sysconfdir}/rpm/macros.python%{majversion}
|
||||
%{_sysconfdir}/rpm/macros.python
|
||||
%{_bindir}/msgfmt%{majversion}.py
|
||||
%{_bindir}/pygettext%{majversion}.py
|
||||
%{_bindir}/python*-config
|
||||
%{_includedir}/python
|
||||
%dir %{_includedir}/python%{majversion}
|
||||
%{_includedir}/python%{majversion}/*.h
|
||||
%exclude %{_includedir}/python%{majversion}/pyconfig.h
|
||||
%{_libdir}/pkgconfig/python-%{majversion}.pc
|
||||
%{_libdir}/pkgconfig/python2.pc
|
||||
%{_libdir}/pkgconfig/python.pc
|
||||
|
||||
%if "%{stage1}" != "1"
|
||||
%files tk
|
||||
%defattr(-,root,root)
|
||||
#%{__libdir}/python%{majversion}/lib-tk
|
||||
%{__libdir}/python%{majversion}/lib-dynload/_tkinter.so
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root)
|
||||
%dir %{_defaultdocdir}/%{name}-%{version}/html/
|
||||
%{_defaultdocdir}/%{name}-%{version}/html/*
|
||||
%{_defaultdocdir}/%{name}-%{version}/html/.buildinfo
|
||||
%dir %{_defaultdocdir}/%{name}-%{version}/doctrees
|
||||
%{_defaultdocdir}/%{name}-%{version}/doctrees/*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Feb 15 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-9mamba
|
||||
- move pyconfig.h and %{__libdir}/python/config from libpython27 to python27
|
||||
|
||||
* Mon Jan 20 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-8mamba
|
||||
- x86_64: build with lib64 patch to install under /usr/lib64
|
||||
|
||||
* Thu Dec 05 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-7mamba
|
||||
- rebuilt with /dev/shm working in x86_64 chroot environment to enable semaphores support
|
||||
- patch to use system Sphinx
|
||||
|
||||
* Mon May 27 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-6mamba
|
||||
- added upstream patch to fix error: ‘PyArg_ParseTuple’ is an unrecognized format function type
|
||||
(see http://bugs.python.org/issue17547)
|
||||
|
||||
* Thu May 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-5mamba
|
||||
- libpython-devel: also provide/obsolete python-devel
|
||||
|
||||
* Wed May 15 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-4mamba
|
||||
- make it the default python version
|
||||
|
||||
* Tue Mar 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-3mamba
|
||||
- don't remove %{_bindir}/python2.7-config
|
||||
|
||||
* Wed Mar 06 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-2mamba
|
||||
- %{_includedir}/python2.7/pyconfig.h is needed by python runtime, moved
|
||||
- fixed an error in %py27_version in rmp macros file
|
||||
|
||||
* Sat Dec 22 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.3-1mamba
|
||||
- update to 2.7.3
|
||||
|
||||
* Fri May 04 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.8-1mamba
|
||||
- update to 2.6.8
|
||||
- create and install DLFCN.py (see http://forums.bodhilinux.com/index.php?/topic/4228-python-qt4-designer-pyuic4-no-module-named-dlfcn-solution-found/)
|
||||
|
||||
* Tue Apr 10 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.7-1mamba
|
||||
- update to 2.6.7
|
||||
- added pkgconfig support files
|
||||
|
||||
* Tue Apr 26 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.6-2mamba
|
||||
- libpython-devel: install pygettext.py and msgfmt.py files for i18n development
|
||||
|
||||
* Thu Nov 11 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.6-1mamba
|
||||
- update to 2.6.6
|
||||
|
||||
* Mon Apr 12 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.5-1mamba
|
||||
- update to 2.6.5
|
||||
|
||||
* Fri Jan 08 2010 Davide Madrisan <davide.madrisan@gmail.com> 2.6.4-3mamba
|
||||
- Lib/platform.py: include openmamba in the list of supported Linux distributions
|
||||
|
||||
* Sat Jan 02 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.4-2mamba
|
||||
- moved libpython2.6.so to main package to fix problem with system-config-printer-kde.py (see http://www.kdedevelopers.org/node/3841)
|
||||
- added requirement for python-Sphinx and python-Jinja2
|
||||
|
||||
* Thu Dec 03 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6.4-1mamba
|
||||
- update to 2.6.4
|
||||
|
||||
* Sun Jan 25 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-4mamba
|
||||
- raise alternative priority to overcome python 2.4 and make the default
|
||||
|
||||
* Thu Oct 23 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-3mamba
|
||||
- python-devel: install rpm's macros.python file
|
||||
|
||||
* Thu Oct 16 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.6-2mamba
|
||||
- removed /usr/lib/site-packages directory
|
||||
- fixed maintainer email
|
||||
|
||||
* Thu Oct 02 2008 gil <puntogil@libero.it> 2.6-1mamba
|
||||
- update to 2.6
|
||||
|
||||
* Wed Jun 28 2008 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 2.5.2-1mamba
|
||||
- update to 2.5.2.
|
||||
|
||||
* Sat Jun 25 2008 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 2.4.4-1mamba
|
||||
- renamed to legacy python24 - changed doc to pdf due to a problem with latex2html
|
||||
|
||||
* Fri Mar 30 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.4-1mamba
|
||||
- update to version 2.4.4 by autospec
|
||||
|
||||
* Fri Mar 31 2006 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.3-1qilnx
|
||||
- update to version 2.4.3 by autospec
|
||||
|
||||
* Mon Feb 27 2006 Stefano Cotta Ramusino <stefano.cotta@qilinux.it> 2.4.2-3qilnx
|
||||
- added cgi script patch
|
||||
|
||||
* Mon Jan 09 2006 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.2-2qilnx
|
||||
- provides python-abi, python(abi)
|
||||
|
||||
* Fri Sep 30 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.4.2-1qilnx
|
||||
- update to version 2.4.2 by autospec
|
||||
- also fix the security issues CAN-2005-1849 and CAN-2005-2096
|
||||
- patch to build python documentation with TeX3 updated
|
||||
|
||||
* Tue Aug 09 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.1-2qilnx
|
||||
- remove %%pre script
|
||||
|
||||
* Thu Jul 21 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.1-1qilnx
|
||||
- new version build
|
||||
|
||||
* Thu Apr 07 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.5-2qilnx
|
||||
- remove Xorg-libs dependency by adding subpackage python-tk
|
||||
|
||||
* Thu Feb 10 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.5-1qilnx
|
||||
- update to version 2.3.5 by autospec
|
||||
- also fix the security issue QSA-2005-013 (CAN-2005-0089)
|
||||
|
||||
* Wed Feb 02 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.5-1qilnx
|
||||
- rebuilt with shared libraries
|
||||
|
||||
* Thu May 27 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.4-1qilnx
|
||||
- new version rebuild (bugfix release)
|
||||
- added the doc package with the Python documentation in HTML format
|
||||
|
||||
* Tue Dec 24 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.3-2qilnx
|
||||
- renamed lib and includes destdir to /usr/include/python
|
||||
|
||||
* Tue Dec 23 2003 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.3-1qilnx
|
||||
- rebuild with Python 2.3.3
|
||||
|
||||
* Mon Oct 27 2003 Davide Madrisan <davide.madrisan@qilinux.it> 2.3.2-1qilnx
|
||||
- rebuild with Python 2.3.2
|
||||
|
||||
* Tue Jul 01 2003 Silvan Calarco <silvan.calarco@qinet.it> 2.2.3-1qilnx
|
||||
- first build
|
Loading…
Reference in New Issue
Block a user