Update of /cvsroot/fink/experimental/danielj
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv2307
Added Files:
python27.info python27.patch python31.info python31.patch
Log Message:
Release candidate python 2.7.1 and 3.1.3.
--- NEW FILE: python31.info ---
Info2: <<
Package: python%type_pkg[python]
Version: 3.1.3
Revision: 0.rc1.1
Type: python 3.1
Maintainer: Daniel Johnson <[email protected]>
Depends: <<
%N-shlibs (= %v-%r),
blt-shlibs,
bzip2-shlibs,
gdbm3-shlibs,
libgettext8-shlibs,
libncursesw5-shlibs,
readline5-shlibs,
sqlite3-shlibs (>= 3.2.8-1001),
tcltk (>= 8.4.1-1),
x11
<<
BuildConflicts: libquicktime0
BuildDepends: <<
blt-dev (>= 2.4z-15),
bzip2-dev,
fink (>= 0.24.12-1),
gdbm3,
gettext-bin,
gettext-tools,
libgettext8-dev,
libncursesw5,
readline5,
sqlite3-dev (>= 3.2.8-1001),
system-openssl-dev,
tcltk-dev (>= 8.4.1-1),
x11-dev
<<
Source: http://python.org/ftp/python/%v/Python-%{v}rc1.tar.bz2
Source-MD5: f573bfd65dd7aeb97b74f641a44b1d2c
# Only available in final release.
#Source2: http://www.python.org/ftp/python/doc/%v/python-%v-docs-html.tar.bz2
#Source2-MD5: c9ccf8e9fc4d046c168af313706f159b
PatchFile: %n.patch
PatchFile-MD5: 6c1017b353048040e6fb0185372ffc42
PatchScript: sed 's|@PREFIX@|%p|g' < %{PatchFile} | patch -p1
SetLDFLAGS: -L%p/lib/system-openssl/lib
ConfigureParams: --enable-shared
CompileScript: <<
#!/bin/sh -ex
if [ "%m" = "x86_64" ]; then
#perl -pi.bak -e 's|num_missing != 2:|num_missing != 2:|g'
./setup.py
# Architecture:x86_64 has tcltk-8.5.x, other arch have 8.4.x
perl -pi.bak -e "s/8.4\'/8.5\'/" ./setup.py
fi
%{default_script}
<<
# test_io seems to hang.
#InfoTest: TestScript: ./runtests.sh || exit 2
InstallScript: <<
#!/bin/sh -ex
make install DESTDIR=%d
# don't propagate our hackery
perl -pi -e 's|-L%p/lib/system-openssl/lib||'
%i/lib/python%type_raw[python]/config/Makefile
# fix all main things to be python-versioned filenames with
# unversioned symlinks to them
pushd %i/bin
for f in 2to3 idle3 pydoc3; do
mv ${f} ${f}-%type_raw[python]
ln -s ${f}-%type_raw[python] %i/bin/${f}
done
#Remove this for now to avoid conflicting with 'python' package.
rm 2to3
popd
ln -s python%type_raw[python].1 %i/share/man/man1/python3.1
# install some docs and other useful tidbits
rm -rf Misc/RPM
/bin/cp -R Misc Tools %i/lib/python%type_raw[python]
mkdir -p %i/share/doc/%n
/bin/cp -R Demo Doc %i/share/doc/%n
# Only available in final release.
# mkdir -p %i/share/doc/%n/html
# /bin/cp -R ../python-%v-docs-html/ %i/share/doc/%n/html
<<
SplitOff: <<
Package: %N-shlibs
Depends: libgettext8-shlibs
Files: lib/python%type_raw[python]/config/libpython%type_raw[python].dylib
Shlibs: %p/lib/python3.1/config/libpython3.1.dylib 3.1.0 %n (>= 3.1-1)
DocFiles: README LICENSE
<<
SplitOff2: <<
Package: python3
Depends: %N (>= %v-%r)
Files: <<
bin/idle3
bin/pydoc3
bin/python3
bin/python3-config
lib/pkgconfig/python3.pc
share/man/man1/python3.1
<<
DocFiles: README LICENSE
Description: Generic "python3" command that invokes python%type_pkg[python]
<<
DocFiles: README LICENSE
Description: Interpreted, object-oriented language
DescDetail: <<
Python is often compared to Tcl, Perl, Scheme or Java.
This package installs unix python - not the OSX Framework version.
Builds a two-level namespace dynamic libpython (needed for koffice).
The interpretter is installed as "python%type_raw[python]", and all associated
commands are similarly named with the python-version in them. To get
the simple "python3" command, install the fink package "python3" (note:
the "python3" command there is not guaranteed to be python%type_raw[python]!).
<<
DescUsage: <<
python%type_raw[python] changes the compiler options used to compile
third-party python modules. Please do not add %type_raw[python] variants
to them without actually testing that they build cleanly.
<<
DescPackaging: <<
Patch a lot of things to impliment shared-lib support for
non-Framework build on Darwin.
Static libpython is installed in lib/pythonX.X/config/ but
shared goes in %p/lib by default. Fink's packaging has always
placed manually-built shared lib in config/ along side static,
This gives consistency regardless of -search_paths_first.
Continue this practice so that -pyXX varianted packages don't
need special-casing for certain variants.
Make sure all compiled modules link against libpython%type_raw[python]
(and
propagate this to third-party compiled modules) to ensure that
all symbols resolved at compile-time to avoid packager
mistakes and user runtime surprises.
Should use --with-pth (fink's pth package)?
Play lots of games to make sure we get expected support
libraries. Also make sure -L/sw/lib/system-openssl is passed
before -L/sw (build system seems to confuse standard meanings
and uses of CFLAGS vs CPPFLAGS vs LDFLAGS) but avoid
propagating into modules that compile using distutils.
Adjust "python3" unversioned link to be a symlink not a hard link.
Shared lib is buried next to static one instead of being in
%p/lib because that's where it's always been in the fink
package series. Why would they be in different places? Patch
-config script to continue this tradition (bug in previous
versions accidentally did the Right Thing here).
<<
DescPort: <<
libpython needs to link to CF because that lib has the parent
thread that load modules that need to have CF available. See:
http://bugs.python.org/issue7085
bsddb is gone so drop db* patch and dep.
Patch setup.py to find ncursesw headers and drop libncurses5 dep.
Ensure $(LDFLAGS) is used linking libpython or else it can't find
libintl.
<<
License: OSI-Approved
Homepage: http://www.python.org
<<
--- NEW FILE: python31.patch ---
diff -ru Python-3.1.3rc1.orig/Makefile.pre.in Python-3.1.3rc1/Makefile.pre.in
--- Python-3.1.3rc1.orig/Makefile.pre.in 2010-10-14 07:35:17.000000000
-0400
+++ Python-3.1.3rc1/Makefile.pre.in 2010-11-14 17:16:22.000000000 -0500
@@ -442,8 +442,7 @@
fi
libpython$(VERSION).dylib: $(LIBRARY_OBJS)
- $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined
dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib
-Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@
$(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-
+ $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) @LIBTOOL_CRUFT@ -o $@
$(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LDLAST)
libpython$(VERSION).sl: $(LIBRARY_OBJS)
$(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS)
$(LIBC) $(LIBM) $(LDLAST)
@@ -784,7 +783,7 @@
# Install the interpreter with $(VERSION) affixed
# This goes into $(exec_prefix)
altbininstall: $(BUILDPYTHON)
- @for i in $(BINDIR) $(LIBDIR); \
+ @for i in $(BINDIR) $(LIBDIR) $(LIBPL); \
do \
if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \
@@ -797,9 +796,9 @@
if test -n "$(DLLLIBRARY)" ; then \
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
else \
- $(INSTALL_SHARED) $(LDLIBRARY)
$(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
+ $(INSTALL_SHARED) $(LDLIBRARY)
$(DESTDIR)$(LIBPL)/$(INSTSONAME); \
if test $(LDLIBRARY) != $(INSTSONAME); then \
- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf
$(INSTSONAME) $(LDLIBRARY)) \
+ (cd $(DESTDIR)$(LIBPL); $(LN) -sf $(INSTSONAME)
$(LDLIBRARY)) \
fi \
fi; \
else true; \
@@ -810,7 +809,7 @@
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON)3$(EXE); \
else true; \
fi
- (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)3$(EXE))
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE)
$(PYTHON)3$(EXE))
-rm -f $(DESTDIR)$(BINDIR)/python3-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config
python3-config)
-rm -f $(DESTDIR)$(LIBPC)/python3.pc
diff -ru Python-3.1.3rc1.orig/Misc/python-config.in
Python-3.1.3rc1/Misc/python-config.in
--- Python-3.1.3rc1.orig/Misc/python-config.in 2007-09-01 03:27:37.000000000
-0400
+++ Python-3.1.3rc1/Misc/python-config.in 2010-11-14 17:16:22.000000000
-0500
@@ -45,9 +45,9 @@
elif opt in ('--libs', '--ldflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
libs.append('-lpython'+pyver)
- # add the prefix/lib/pythonX.Y/config dir, but only if there is no
- # shared library in prefix/lib/.
- if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
+ # add the prefix/lib/pythonX.Y/config dir (fink keeps shared
+ # library there too)
+ if opt == '--ldflags':
libs.insert(0, '-L' + getvar('LIBPL'))
print(' '.join(libs))
diff -ru Python-3.1.3rc1.orig/Misc/python.pc.in
Python-3.1.3rc1/Misc/python.pc.in
--- Python-3.1.3rc1.orig/Misc/python.pc.in 2009-05-24 16:39:11.000000000
-0400
+++ Python-3.1.3rc1/Misc/python.pc.in 2010-11-14 17:16:22.000000000 -0500
@@ -1,6 +1,6 @@
pref...@prefix@
exec_pref...@exec_prefix@
-libd...@libdir@
+libd...@libdir@/pyt...@version@/config
included...@includedir@
Name: Python
diff -ru Python-3.1.3rc1.orig/Modules/posixmodule.c
Python-3.1.3rc1/Modules/posixmodule.c
--- Python-3.1.3rc1.orig/Modules/posixmodule.c 2010-09-04 13:26:01.000000000
-0400
+++ Python-3.1.3rc1/Modules/posixmodule.c 2010-11-14 17:21:00.000000000
-0500
@@ -443,7 +443,7 @@
#endif
/* Return a dictionary corresponding to the POSIX environment table */
-#ifdef WITH_NEXT_FRAMEWORK
+#ifdef __APPLE__
/* On Darwin/MacOSX a shared library or framework has no access to
** environ directly, we must obtain it with _NSGetEnviron().
*/
@@ -470,7 +470,7 @@
d = PyDict_New();
if (d == NULL)
return NULL;
-#ifdef WITH_NEXT_FRAMEWORK
+#ifdef __APPLE__
if (environ == NULL)
environ = *_NSGetEnviron();
#endif
diff -ru Python-3.1.3rc1.orig/configure Python-3.1.3rc1/configure
--- Python-3.1.3rc1.orig/configure 2010-10-31 12:55:05.000000000 -0400
+++ Python-3.1.3rc1/configure 2010-11-14 17:16:23.000000000 -0500
@@ -4867,7 +4867,7 @@
;;
Darwin*)
LDLIBRARY='libpython$(VERSION).dylib'
- BLDLIBRARY='-L. -lpython$(VERSION)'
+ BLDLIBRARY="$LDLIBRARY"
RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}'
;;
AIX*)
@@ -7385,8 +7385,8 @@
#ARCH_RUN_32BIT="true"
fi
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only
${MACOSX_DEFAULT_ARCH}"
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name
$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+ LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs"
+ LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name
$(BINLIBDEST)/config/$(INSTSONAME)'
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION)
-current_version $(VERSION)';;
esac
@@ -7520,14 +7520,6 @@
# Use -undefined dynamic_lookup whenever possible (10.3 and
later).
# This allows an extension to be used in any Python
- if test ${MACOSX_DEPLOYMENT_TARGET} '>' 10.2
- then
- if test "${enable_universalsdk}"; then
- LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot
${UNIVERSALSDK} ${LDFLAGS}"
- fi
- LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined
dynamic_lookup'
- BLDSHARED="$LDSHARED"
- else
LDSHARED='$(CC) $(LDFLAGS) -bundle'
if test "$enable_framework" ; then
# Link against the framework. All externals
should be defined.
@@ -7535,10 +7527,9 @@
LDSHARED="$LDSHARED
"'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as
bundle-loader
- BLDSHARED="$LDSHARED "'-bundle_loader
$(BUILDPYTHON)'
- LDSHARED="$LDSHARED "'-bundle_loader
$(BINDIR)/python$(VERSION)$(EXE)'
+ BLDSHARED="$LDSHARED "'$(BLDLIBRARY)'
+ LDSHARED="$LDSHARED "'-L$(BINLIBDEST)/config
-lpython$(VERSION)'
fi
- fi
;;
Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared';;
BSD/OS*/4*) LDSHARED="gcc -shared";;
@@ -13362,7 +13353,7 @@
if test $ac_sys_system = Darwin
then
- LIBS="$LIBS -framework CoreFoundation"
+ LIBS="$LIBS -Wl,-framework,CoreFoundation"
fi
diff -ru Python-3.1.3rc1.orig/setup.py Python-3.1.3rc1/setup.py
--- Python-3.1.3rc1.orig/setup.py 2010-10-20 09:40:38.000000000 -0400
+++ Python-3.1.3rc1/setup.py 2010-11-14 17:30:01.000000000 -0500
@@ -238,13 +238,17 @@
longest, g))
if missing:
+ num_missing=len(missing)
print()
print("Python build finished, but the necessary bits to build "
"these modules were not found:")
print_three_column(missing)
print("To find the necessary bits, look in setup.py in"
" detect_modules() for the module's name.")
+ print ("(Fink package build should have 2 missing)")
print()
+ if num_missing != 2:
+ sys.exit(1)
if self.failed:
failed = self.failed[:]
@@ -252,6 +256,7 @@
print("Failed to build these modules:")
print_three_column(failed)
print()
+ sys.exit(1)
def build_extension(self, ext):
@@ -340,9 +345,8 @@
return sys.platform
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.include_dirs, '/usr/local/include')
+ add_dir_to_list(self.compiler.library_dirs, '@PREFIX@/lib')
+ add_dir_to_list(self.compiler.include_dirs, '@PREFIX@/include')
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -639,10 +643,9 @@
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
search_for_ssl_incs_in = [
- '/usr/local/ssl/include',
- '/usr/contrib/ssl/include/'
+ '@PREFIX@/lib/system-openssl/include'
]
- ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+ ssl_incs = find_file('openssl/ssl.h', [],
search_for_ssl_incs_in
)
if ssl_incs is not None:
@@ -650,9 +653,8 @@
['/usr/kerberos/include'])
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/'
+ ssl_libs = find_library_file(self.compiler, 'ssl', [],
+ ['@PREFIX@/lib/system-openssl/lib'
] )
if (ssl_incs is not None and
@@ -672,7 +674,7 @@
# look for the openssl version header on the compiler search path.
opensslv_h = find_file('openssl/opensslv.h', [],
- inc_dirs + search_for_ssl_incs_in)
+ search_for_ssl_incs_in)
if opensslv_h:
name = os.path.join(opensslv_h[0], 'openssl/opensslv.h')
if sys.platform == 'darwin' and is_macosx_sdk_path(name):
@@ -915,12 +917,7 @@
# We hunt for #define SQLITE_VERSION "n.n.n"
# We need to find >= sqlite version 3.0.8
sqlite_incdir = sqlite_libdir = None
- sqlite_inc_paths = [ '/usr/include',
- '/usr/include/sqlite',
- '/usr/include/sqlite3',
- '/usr/local/include',
- '/usr/local/include/sqlite',
- '/usr/local/include/sqlite3',
+ sqlite_inc_paths = [ '@PREFIX@/include'
]
MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
MIN_SQLITE_VERSION = ".".join([str(x)
@@ -932,7 +929,7 @@
if sys.platform == 'darwin':
sysroot = macosx_sdk_root()
- for d in inc_dirs + sqlite_inc_paths:
+ for d in sqlite_inc_paths:
f = os.path.join(d, "sqlite3.h")
if sys.platform == 'darwin' and is_macosx_sdk_path(d):
@@ -964,11 +961,9 @@
sqlite_dirs_to_check = [
os.path.join(sqlite_incdir, '..', 'lib64'),
os.path.join(sqlite_incdir, '..', 'lib'),
- os.path.join(sqlite_incdir, '..', '..', 'lib64'),
- os.path.join(sqlite_incdir, '..', '..', 'lib'),
]
sqlite_libfile = self.compiler.find_library_file(
- sqlite_dirs_to_check + lib_dirs, 'sqlite3')
+ sqlite_dirs_to_check, 'sqlite3')
if sqlite_libfile:
sqlite_libdir =
[os.path.abspath(os.path.dirname(sqlite_libfile))]
@@ -1122,6 +1117,7 @@
panel_library = 'panelw'
curses_libs = [curses_library]
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ include_dirs=["@PREFIX@/include/ncursesw"],
libraries = curses_libs) )
elif curses_library == 'curses' and platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
@@ -1142,6 +1138,7 @@
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
+ include_dirs=["@PREFIX@/include/ncursesw"],
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
@@ -1447,16 +1444,12 @@
# AquaTk is a separate method. Only one Tkinter will be built on
# Darwin - either AquaTk, if it is found, or X11 based Tk.
platform = self.get_platform()
- if (platform == 'darwin' and
- self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
- return
# Assume we haven't found any of the libraries or include files
# The versions with dots are used on Unix, and the versions without
# dots on Windows, for detection by cygwin.
tcllib = tklib = tcl_includes = tk_includes = None
- for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83',
- '8.2', '82', '8.1', '81', '8.0', '80']:
+ for version in ['8.4']:
tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version)
tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version)
if tklib and tcllib:
--- NEW FILE: python27.info ---
Info2: <<
Package: python%type_pkg[python]
Version: 2.7.1
Revision: 0.rc1.2
Epoch: 1
Type: python 2.7
Maintainer: Daniel Johnson <[email protected]>
Depends: <<
%N-shlibs (= %e:%v-%r),
blt-shlibs,
bzip2-shlibs,
db51-aes-shlibs | db51-shlibs,
gdbm3-shlibs,
libgettext8-shlibs,
libncursesw5-shlibs,
readline5-shlibs,
sqlite3-shlibs (>= 3.2.8-1001),
tcltk (>= 8.4.1-1),
x11
<<
BuildConflicts: libquicktime0
BuildDepends: <<
blt-dev (>= 2.4z-15),
bzip2-dev,
db51-aes | db51,
fink (>= 0.24.12-1),
gdbm3,
gettext-bin,
gettext-tools,
libgettext8-dev,
libncursesw5,
readline5,
sqlite3-dev (>= 3.2.8-1001),
system-openssl-dev,
tcltk-dev (>= 8.4.1-1),
x11-dev
<<
Provides: argparse-py%type_pkg[python]
Source: http://python.org/ftp/python/%v/Python-%{v}rc1.tar.bz2
Source-MD5: 7078a09432b86f889816611f5a12d96c
# Only available in final release.
#Source2: http://www.python.org/ftp/python/doc/%v/python-%v-docs-html.tar.bz2
#Source2-MD5: 16b736789e923bbefe74e7a2219031c6
PatchFile: %n.patch
PatchFile-MD5: 8a01494c54d7008fb2a433b308cd9d39
PatchScript: sed 's|@PREFIX@|%p|g' < %{PatchFile} | patch -p1
SetLDFLAGS: -L%p/lib/system-openssl/lib
ConfigureParams: --enable-shared
CompileScript: <<
#!/bin/sh -ex
if [ "%m" = "x86_64" ]; then
perl -pi.bak -e 's|num_missing != 5:|num_missing != 7:|g;
s|have 5 missing|have 7 missing|' ./setup.py
# Architecture:x86_64 has tcltk-8.5.x, other arch have 8.4.x
perl -pi.bak -e "s/8.4\'/8.5\'/" ./setup.py
# Architecture:x86_64 can't build with toolbox-glue
./configure %c --disable-toolbox-glue
else
./configure %c
fi
make
<<
InstallScript: <<
#!/bin/sh -ex
make install DESTDIR=%d
# don't propagate our hackery
perl -pi -e 's|-L%p/lib/system-openssl/lib||'
%i/lib/python%type_raw[python]/config/Makefile
# fix all main things to be python-versioned filenames with
# unversioned symlinks to them
pushd %i/bin
for f in 2to3 idle pydoc smtpd.py; do
mv ${f} ${f}%type_raw[python]
ln -s ${f}%type_raw[python] %i/bin/${f}
done
popd
ln -s python%type_raw[python].1 %i/share/man/man1/python.1
ln -s python%type_raw[python].1
%i/share/man/man1/python%type_pkg[python].1
# install some docs and other useful tidbits
rm -rf Misc/RPM
/bin/cp -R Misc Tools %i/lib/python%type_raw[python]
mkdir -p %i/share/doc/%n
/bin/cp -R Demo Doc %i/share/doc/%n
# Only available in final release.
# mkdir -p %i/share/doc/%n/html
# /bin/cp -R ../python-%v-docs-html/ %i/share/doc/%n/html
<<
SplitOff: <<
Package: %N-shlibs
Files: lib/python%type_raw[python]/config/libpython%type_raw[python].dylib
Shlibs: %p/lib/python2.7/config/libpython2.7.dylib 2.7.0 %n (>= 1:2.7-1)
DocFiles: README LICENSE
<<
SplitOff2: <<
Package: python
Depends: %N (>= %e:%v-%r)
Conflicts: python-nox
Replaces: python-nox, python25 (<< 1:2.5.1-3)
Files: <<
bin/2to3
bin/idle
bin/pydoc
bin/python
bin/python-config
bin/smtpd.py
lib/pkgconfig/python.pc
share/man/man1/python.1
<<
DocFiles: README LICENSE
Description: Generic "python" command that invokes python%type_pkg[python]
<<
DocFiles: README LICENSE
Description: Interpreted, object-oriented language
DescDetail: <<
Python is often compared to Tcl, Perl, Scheme or Java.
This package installs unix python - not the OSX Framework version.
Builds a two-level namespace dynamic libpython (needed for koffice).
The interpretter is installed as "python%type_raw[python]", and all associated
commands are similarly named with the python-version in them. To get
the simple "python" command, install the fink package "python" (note:
the "python" command there is not guaranteed to be python%type_raw[python]!).
<<
DescUsage: <<
python%type_raw[python] changes the compiler options used to compile
third-party python modules. Please do not add %type_raw[python] variants
to them without actually testing that they build cleanly.
<<
DescPackaging: <<
Patch a lot of things to impliment shared-lib support for
non-Framework build on Darwin.
Static libpython is installed in lib/pythonX.X/config/ but
shared goes in %p/lib by default. Fink's packaging has always
placed manually-built shared lib in config/ along side static,
This gives consistency regardless of -search_paths_first.
Continue this practice so that -pyXX varianted packages don't
need special-casing for certain variants.
Make sure all compiled modules link against libpython%type_raw[python]
(and
propagate this to third-party compiled modules) to ensure that
all symbols resolved at compile-time to avoid packager
mistakes and user runtime surprises.
Should use --with-pth (fink's pth package)?
Play lots of games to make sure we get expected support
libraries. Also make sure -L/sw/lib/system-openssl is passed
before -L/sw (build system seems to confuse standard meanings
and uses of CFLAGS vs CPPFLAGS vs LDFLAGS) but avoid
propagating into modules that compile using distutils.
Adjust "python" unversioned link to be a symlink not a hard link.
Must remain Epoch'ed so that this "python" pkg to be newer
than the one from lower %v pkgs.
Shared lib is buried next to static one instead of being in
%p/lib because that's where it's always been in the fink
package series. Why would they be in different places? Patch
-config script to continue this tradition (bug in previous
versions accidentally did the Right Thing here).
<<
DescPort: <<
Patch setup.py to find ncursesw headers and drop libncurses5 dep.
platform.mac_ver now works on 64 bit, but leave our posix.uname
fallback in just in case.
<<
License: OSI-Approved
Homepage: http://www.python.org
<<
--- NEW FILE: python27.patch ---
diff -ru Python-2.7.1rc1.orig/Lib/platform.py Python-2.7.1rc1/Lib/platform.py
--- Python-2.7.1rc1.orig/Lib/platform.py 2010-08-03 03:44:35.000000000
-0400
+++ Python-2.7.1rc1/Lib/platform.py 2010-11-14 16:40:42.000000000 -0500
@@ -810,6 +810,15 @@
if info is not None:
return info
+ # If that doesn't work fall back to posix.uname
+ import posix
+ major,minor,patch=string.split(posix.uname()[2],'.')
+ release = '%s.%s.%s' %('10',int(major)-4, minor)
+ if posix.uname()[4]=='Power Macintosh':
+ machine='PowerPC'
+ else:
+ machine='i386'
+
# If that also doesn't work return the default values
return release,versioninfo,machine
diff -ru Python-2.7.1rc1.orig/Makefile.pre.in Python-2.7.1rc1/Makefile.pre.in
--- Python-2.7.1rc1.orig/Makefile.pre.in 2010-10-14 07:37:30.000000000
-0400
+++ Python-2.7.1rc1/Makefile.pre.in 2010-11-14 16:37:41.000000000 -0500
@@ -429,8 +429,7 @@
fi
libpython$(VERSION).dylib: $(LIBRARY_OBJS)
- $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined
dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib
-Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@
$(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-
+ $(CC) -dynamiclib -Wl,-single_module @LIBTOOL_CRUFT@ -o $@
$(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LDLAST)
libpython$(VERSION).sl: $(LIBRARY_OBJS)
$(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM)
$(LDLAST)
@@ -787,7 +786,7 @@
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
else true; \
fi
- (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) $(PYTHON))
-rm -f $(DESTDIR)$(BINDIR)/python-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
-test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE)
$(DESTDIR)$(LIBPC)
@@ -797,7 +796,7 @@
# Install the interpreter with $(VERSION) affixed
# This goes into $(exec_prefix)
altbininstall: $(BUILDPYTHON)
- @for i in $(BINDIR) $(LIBDIR); \
+ @for i in $(BINDIR) $(LIBDIR) $(LIBPL); \
do \
if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \
@@ -810,9 +809,9 @@
if test -n "$(DLLLIBRARY)" ; then \
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
else \
- $(INSTALL_SHARED) $(LDLIBRARY)
$(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
+ $(INSTALL_SHARED) $(LDLIBRARY)
$(DESTDIR)$(LIBPL)/$(INSTSONAME); \
if test $(LDLIBRARY) != $(INSTSONAME); then \
- (cd $(DESTDIR)$(LIBDIR); $(LN) -sf
$(INSTSONAME) $(LDLIBRARY)) \
+ (cd $(DESTDIR)$(LIBPL); $(LN) -sf $(INSTSONAME)
$(LDLIBRARY)) \
fi \
fi; \
else true; \
diff -ru Python-2.7.1rc1.orig/Misc/python-config.in
Python-2.7.1rc1/Misc/python-config.in
--- Python-2.7.1rc1.orig/Misc/python-config.in 2010-03-18 20:08:44.000000000
-0400
+++ Python-2.7.1rc1/Misc/python-config.in 2010-11-14 16:37:41.000000000
-0500
@@ -46,11 +46,10 @@
elif opt in ('--libs', '--ldflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
libs.append('-lpython'+pyver)
- # add the prefix/lib/pythonX.Y/config dir, but only if there is no
- # shared library in prefix/lib/.
+ # add the prefix/lib/pythonX.Y/config dir (fink keeps shared
+ # library there too)
if opt == '--ldflags':
- if not getvar('Py_ENABLE_SHARED'):
- libs.insert(0, '-L' + getvar('LIBPL'))
+ libs.insert(0, '-L' + getvar('LIBPL'))
libs.extend(getvar('LINKFORSHARED').split())
print ' '.join(libs)
diff -ru Python-2.7.1rc1.orig/Misc/python.pc.in
Python-2.7.1rc1/Misc/python.pc.in
--- Python-2.7.1rc1.orig/Misc/python.pc.in 2009-05-24 16:23:57.000000000
-0400
+++ Python-2.7.1rc1/Misc/python.pc.in 2010-11-14 16:37:41.000000000 -0500
@@ -1,6 +1,6 @@
pref...@prefix@
exec_pref...@exec_prefix@
-libd...@libdir@
+libd...@libdir@/pyt...@version@/config
included...@includedir@
Name: Python
diff -ru Python-2.7.1rc1.orig/Modules/_bsddb.c Python-2.7.1rc1/Modules/_bsddb.c
--- Python-2.7.1rc1.orig/Modules/_bsddb.c 2010-11-08 07:57:59.000000000
-0500
+++ Python-2.7.1rc1/Modules/_bsddb.c 2010-11-14 16:37:41.000000000 -0500
@@ -9766,7 +9766,13 @@
ADD_INT(d, DB_REP_PERMANENT);
#if (DBVER >= 44)
+#if (DBVER >= 50)
+ ADD_INT(d, DB_REP_CONF_AUTOINIT);
+#else
ADD_INT(d, DB_REP_CONF_NOAUTOINIT);
+#endif /* 5.0 */
+#endif /* 4.4 */
+#if (DBVER >= 44)
ADD_INT(d, DB_REP_CONF_DELAYCLIENT);
ADD_INT(d, DB_REP_CONF_BULK);
ADD_INT(d, DB_REP_CONF_NOWAIT);
diff -ru Python-2.7.1rc1.orig/Modules/posixmodule.c
Python-2.7.1rc1/Modules/posixmodule.c
--- Python-2.7.1rc1.orig/Modules/posixmodule.c 2010-10-06 05:28:45.000000000
-0400
+++ Python-2.7.1rc1/Modules/posixmodule.c 2010-11-14 16:37:41.000000000
-0500
@@ -455,7 +455,7 @@
#endif
/* Return a dictionary corresponding to the POSIX environment table */
-#ifdef WITH_NEXT_FRAMEWORK
+#ifdef __APPLE__
/* On Darwin/MacOSX a shared library or framework has no access to
** environ directly, we must obtain it with _NSGetEnviron().
*/
@@ -477,7 +477,7 @@
d = PyDict_New();
if (d == NULL)
return NULL;
-#ifdef WITH_NEXT_FRAMEWORK
+#ifdef __APPLE__
if (environ == NULL)
environ = *_NSGetEnviron();
#endif
diff -ru Python-2.7.1rc1.orig/configure Python-2.7.1rc1/configure
--- Python-2.7.1rc1.orig/configure 2010-10-31 21:47:19.000000000 -0400
+++ Python-2.7.1rc1/configure 2010-11-14 16:37:41.000000000 -0500
@@ -4947,7 +4947,7 @@
;;
Darwin*)
LDLIBRARY='libpython$(VERSION).dylib'
- BLDLIBRARY='-L. -lpython$(VERSION)'
+ BLDLIBRARY="$LDLIBRARY"
RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}'
;;
AIX*)
@@ -7443,8 +7443,8 @@
#ARCH_RUN_32BIT="true"
fi
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only
${MACOSX_DEFAULT_ARCH}"
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name
$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+ LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs"
+ LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name
$(BINLIBDEST)/config/$(INSTSONAME)'
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION)
-current_version $(VERSION)';;
esac
@@ -7591,18 +7591,6 @@
LDCXXSHARED="$LDCXXSHARED "'-bundle_loader
$(BINDIR)/python$(VERSION)$(EXE)'
fi ;;
Darwin/*)
- # Use -undefined dynamic_lookup whenever possible (10.3 and
later).
- # This allows an extension to be used in any Python
-
- if test ${MACOSX_DEPLOYMENT_TARGET} '>' 10.2
- then
- if test "${enable_universalsdk}"; then
- LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot
${UNIVERSALSDK} ${LDFLAGS}"
- fi
- LDSHARED='$(CC) $(LDFLAGS) -bundle -undefined
dynamic_lookup'
- LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle -undefined
dynamic_lookup'
- BLDSHARED="$LDSHARED"
- else
LDSHARED='$(CC) $(LDFLAGS) -bundle'
LDCXXSHARED='$(CXX) $(LDFLAGS) -bundle'
if test "$enable_framework" ; then
@@ -7612,11 +7600,10 @@
LDCXXSHARED="$LDCXXSHARED
"'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as
bundle-loader
- BLDSHARED="$LDSHARED "'-bundle_loader
$(BUILDPYTHON)'
- LDSHARED="$LDSHARED "'-bundle_loader
$(BINDIR)/python$(VERSION)$(EXE)'
- LDCXXSHARED="$LDCXXSHARED "'-bundle_loader
$(BINDIR)/python$(VERSION)$(EXE)'
+ BLDSHARED="$LDSHARED "'$(BLDLIBRARY)'
+ LDSHARED="$LDSHARED "'-L$(BINLIBDEST)/config
-lpython$(VERSION)'
+ LDCXXSHARED="$LDCXXSHARED
"'-L$(BINLIBDEST)/config -lpython$(VERSION)'
fi
- fi
;;
Linux*|GNU*|QNX*)
LDSHARED='$(CC) -shared'
@@ -13658,7 +13645,7 @@
if test $ac_sys_system = Darwin
then
- LIBS="$LIBS -framework CoreFoundation"
+ LIBS="$LIBS -Wl,-framework,CoreFoundation"
fi
diff -ru Python-2.7.1rc1.orig/setup.py Python-2.7.1rc1/setup.py
--- Python-2.7.1rc1.orig/setup.py 2010-10-31 12:40:21.000000000 -0400
+++ Python-2.7.1rc1/setup.py 2010-11-14 16:37:41.000000000 -0500
@@ -250,13 +250,17 @@
longest, g)
if missing:
+ num_missing=len(missing)
print
print ("Python build finished, but the necessary bits to build "
"these modules were not found:")
print_three_column(missing)
print ("To find the necessary bits, look in setup.py in"
" detect_modules() for the module's name.")
+ print ("(Fink package build should have 5 missing)")
print
+ if num_missing != 5:
+ sys.exit(1)
if self.failed:
failed = self.failed[:]
@@ -264,6 +268,7 @@
print "Failed to build these modules:"
print_three_column(failed)
print
+ sys.exit(1)
def build_extension(self, ext):
@@ -346,9 +351,8 @@
return sys.platform
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.include_dirs, '/usr/local/include')
+ add_dir_to_list(self.compiler.library_dirs, '@PREFIX@/lib')
+ add_dir_to_list(self.compiler.include_dirs, '@PREFIX@/include')
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -680,10 +684,9 @@
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
search_for_ssl_incs_in = [
- '/usr/local/ssl/include',
- '/usr/contrib/ssl/include/'
+ '@PREFIX@/lib/system-openssl/include'
]
- ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+ ssl_incs = find_file('openssl/ssl.h', [],
search_for_ssl_incs_in
)
if ssl_incs is not None:
@@ -691,9 +694,8 @@
['/usr/kerberos/include'])
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/'
+ ssl_libs = find_library_file(self.compiler, 'ssl',[],
+ ['@PREFIX@/lib/system-openssl/lib'
] )
if (ssl_incs is not None and
@@ -713,7 +715,7 @@
# look for the openssl version header on the compiler search path.
opensslv_h = find_file('openssl/opensslv.h', [],
- inc_dirs + search_for_ssl_incs_in)
+ search_for_ssl_incs_in)
if opensslv_h:
name = os.path.join(opensslv_h[0], 'openssl/opensslv.h')
if sys.platform == 'darwin' and is_macosx_sdk_path(name):
@@ -776,7 +778,7 @@
# a release. Most open source OSes come with one or more
# versions of BerkeleyDB already installed.
- max_db_ver = (4, 8)
+ max_db_ver = (5, 1)
min_db_ver = (4, 1)
db_setup_debug = False # verbose debug prints from this script?
@@ -812,50 +814,8 @@
# construct a list of paths to look for the header file in on
# top of the normal inc_dirs.
db_inc_paths = [
- '/usr/include/db4',
- '/usr/local/include/db4',
- '/opt/sfw/include/db4',
- '/usr/include/db3',
- '/usr/local/include/db3',
- '/opt/sfw/include/db3',
- # Fink defaults (http://fink.sourceforge.net/)
- '/sw/include/db4',
- '/sw/include/db3',
+ '@PREFIX@/include/db4'
]
- # 4.x minor number specific paths
- for x in gen_db_minor_ver_nums(4):
- db_inc_paths.append('/usr/include/db4%d' % x)
- db_inc_paths.append('/usr/include/db4.%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db4%d' % x)
- db_inc_paths.append('/pkg/db-4.%d/include' % x)
- db_inc_paths.append('/opt/db-4.%d/include' % x)
- # MacPorts default (http://www.macports.org/)
- db_inc_paths.append('/opt/local/include/db4%d' % x)
- # 3.x minor number specific paths
- for x in gen_db_minor_ver_nums(3):
- db_inc_paths.append('/usr/include/db3%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db3%d' % x)
- db_inc_paths.append('/pkg/db-3.%d/include' % x)
- db_inc_paths.append('/opt/db-3.%d/include' % x)
-
- # Add some common subdirectories for Sleepycat DB to the list,
- # based on the standard include directories. This way DB3/4 gets
- # picked up when it is installed in a non-standard prefix and
- # the user has added that prefix into inc_dirs.
- std_variants = []
- for dn in inc_dirs:
- std_variants.append(os.path.join(dn, 'db3'))
- std_variants.append(os.path.join(dn, 'db4'))
- for x in gen_db_minor_ver_nums(4):
- std_variants.append(os.path.join(dn, "db4%d"%x))
- std_variants.append(os.path.join(dn, "db4.%d"%x))
- for x in gen_db_minor_ver_nums(3):
- std_variants.append(os.path.join(dn, "db3%d"%x))
- std_variants.append(os.path.join(dn, "db3.%d"%x))
-
- db_inc_paths = std_variants + db_inc_paths
db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
db_ver_inc_map = {}
@@ -981,12 +941,7 @@
# We hunt for #define SQLITE_VERSION "n.n.n"
# We need to find >= sqlite version 3.0.8
sqlite_incdir = sqlite_libdir = None
- sqlite_inc_paths = [ '/usr/include',
- '/usr/include/sqlite',
- '/usr/include/sqlite3',
- '/usr/local/include',
- '/usr/local/include/sqlite',
- '/usr/local/include/sqlite3',
+ sqlite_inc_paths = [ '@PREFIX@/include'
]
MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
MIN_SQLITE_VERSION = ".".join([str(x)
@@ -998,7 +953,7 @@
if sys.platform == 'darwin':
sysroot = macosx_sdk_root()
- for d in inc_dirs + sqlite_inc_paths:
+ for d in sqlite_inc_paths:
f = os.path.join(d, "sqlite3.h")
if sys.platform == 'darwin' and is_macosx_sdk_path(d):
@@ -1030,11 +985,9 @@
sqlite_dirs_to_check = [
os.path.join(sqlite_incdir, '..', 'lib64'),
os.path.join(sqlite_incdir, '..', 'lib'),
- os.path.join(sqlite_incdir, '..', '..', 'lib64'),
- os.path.join(sqlite_incdir, '..', '..', 'lib'),
]
sqlite_libfile = self.compiler.find_library_file(
- sqlite_dirs_to_check + lib_dirs, 'sqlite3')
+ sqlite_dirs_to_check, 'sqlite3')
if sqlite_libfile:
sqlite_libdir =
[os.path.abspath(os.path.dirname(sqlite_libfile))]
@@ -1229,6 +1182,7 @@
panel_library = 'panelw'
curses_libs = [curses_library]
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ include_dirs=["@PREFIX@/include/ncursesw"],
libraries = curses_libs) )
elif curses_library == 'curses' and platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
@@ -1249,6 +1203,7 @@
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
+ include_dirs=["@PREFIX@/include/ncursesw"],
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
@@ -1679,16 +1634,12 @@
# AquaTk is a separate method. Only one Tkinter will be built on
# Darwin - either AquaTk, if it is found, or X11 based Tk.
platform = self.get_platform()
- if (platform == 'darwin' and
- self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
- return
# Assume we haven't found any of the libraries or include files
# The versions with dots are used on Unix, and the versions without
# dots on Windows, for detection by cygwin.
tcllib = tklib = tcl_includes = tk_includes = None
- for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83',
- '8.2', '82', '8.1', '81', '8.0', '80']:
+ for version in ['8.4']:
tklib = self.compiler.find_library_file(lib_dirs,
'tk' + version)
tcllib = self.compiler.find_library_file(lib_dirs,
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Fink-commits mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.cvs