Update of /cvsroot/fink/dists/10.7/stable/main/finkinfo/languages In directory vz-cvs-3.sog:/tmp/cvs-serv3678
Added Files: python31.info python31.patch python32.info python32.patch Log Message: Move to 10.7. --- NEW FILE: python31.info --- Info2: << Package: python%type_pkg[python] Version: 3.1.4 Revision: 2 Type: python 3.1 Maintainer: Daniel Johnson <dan...@daniel-johnson.org> Depends: << %N-shlibs (= %v-%r), blt-shlibs, bzip2-shlibs, gdbm3-shlibs, libgettext8-shlibs, libncursesw5-shlibs, readline5-shlibs, sqlite3-shlibs (>= 3.7.2-2), 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.7.2-2), system-openssl-dev, tcltk-dev (>= 8.4.1-1), x11-dev << Source: http://python.org/ftp/python/%v/Python-%v.tar.bz2 Source-MD5: 09ed98eace4c403b475846702708675e Source2: http://www.python.org/ftp/python/doc/%v/python-%v-docs-html.tar.bz2 Source2-MD5: 0a4a56361005966cc38d1068dfd52a54 PatchFile: %n.patch PatchFile-MD5: c5cb925836eca9f48750e1800c04d196 PatchScript: sed 's|@PREFIX@|%p|g' < %{PatchFile} | patch -p1 UseMaxBuildJobs: true SetLDFLAGS: -L%p/lib/system-openssl/lib ConfigureParams: --enable-shared --with-dbmliborder=gdbm CompileScript: << #!/bin/sh -ex darwin_vers=`uname -r | cut -d. -f1` if [ "$darwin_vers" = 11 ]; then perl -pi -e 's/ -lSystemStubs//' ./configure perl -pi -e 's/-O3/-fwrapv -O3/' ./configure fi if [ "%m" = "x86_64" ]; then #perl -pi -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 -e "s/8.4\'/8.5\'/" ./setup.py # Test assumes that little endian Macs always return i386. perl -pi -e "s/i386/x86_64/" Lib/test/test_platform.py fi %{default_script} << InfoTest: TestScript: LANG=en_US.UTF-8 make -k test EXTRATESTOPTS='-w -x test_distutils test_cmd_line test_argparse test_httpservers' || exit 2 InstallScript: << #!/bin/sh -ex # install fails with -j great than 1 export MAKEFLAGS=-j1 make install DESTDIR=%d # don't propagate our hackery perl -pi -e 's|-L%p/lib/system-openssl/lib||; s|-lintl ||' %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 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. Fink's gdbm3 installs %p/include/ndbm.h but python expects %p/include/gdbm/ndbm.h so python ends up using /usr/include/ndbm.h but the lib from gdbm3 which is, shall we say, bad. Force it to find %p/include/ndbm.h instead. test_ctypes fails with clang unless _ctypes/_ctypes_test.c is built with -O0 so force that in setup.py. << License: OSI-Approved Homepage: http://www.python.org << --- NEW FILE: python31.patch --- diff -ru Python-3.1.4.orig/Makefile.pre.in Python-3.1.4/Makefile.pre.in --- Python-3.1.4.orig/Makefile.pre.in 2011-06-11 11:48:51.000000000 -0400 +++ Python-3.1.4/Makefile.pre.in 2011-07-12 13:14:42.000000000 -0400 @@ -445,8 +445,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) @@ -789,7 +788,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"; \ @@ -802,9 +801,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; \ @@ -815,7 +814,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.4.orig/Misc/python-config.in Python-3.1.4/Misc/python-config.in --- Python-3.1.4.orig/Misc/python-config.in 2011-06-11 11:48:51.000000000 -0400 +++ Python-3.1.4/Misc/python-config.in 2011-07-12 13:14:42.000000000 -0400 @@ -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.4.orig/Misc/python.pc.in Python-3.1.4/Misc/python.pc.in --- Python-3.1.4.orig/Misc/python.pc.in 2011-06-11 11:48:51.000000000 -0400 +++ Python-3.1.4/Misc/python.pc.in 2011-07-12 13:14:42.000000000 -0400 @@ -1,6 +1,6 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ -libdir=@libdir@ +libdir=@libdir@/python@VERSION@/config includedir=@includedir@ Name: Python diff -ru Python-3.1.4.orig/Modules/_dbmmodule.c Python-3.1.4/Modules/_dbmmodule.c --- Python-3.1.4.orig/Modules/_dbmmodule.c 2011-06-11 11:48:51.000000000 -0400 +++ Python-3.1.4/Modules/_dbmmodule.c 2011-07-12 13:14:42.000000000 -0400 @@ -20,7 +20,7 @@ static char *which_dbm = "GNU gdbm"; /* EMX port of GDBM */ #endif #elif defined(HAVE_GDBM_NDBM_H) -#include <gdbm/ndbm.h> +#include <ndbm.h> static char *which_dbm = "GNU gdbm"; #elif defined(HAVE_GDBM_DASH_NDBM_H) #include <gdbm-ndbm.h> diff -ru Python-3.1.4.orig/Modules/posixmodule.c Python-3.1.4/Modules/posixmodule.c --- Python-3.1.4.orig/Modules/posixmodule.c 2011-06-11 11:48:52.000000000 -0400 +++ Python-3.1.4/Modules/posixmodule.c 2011-07-12 13:14:42.000000000 -0400 @@ -445,7 +445,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(). */ @@ -472,7 +472,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.4.orig/configure Python-3.1.4/configure --- Python-3.1.4.orig/configure 2011-06-11 11:48:52.000000000 -0400 +++ Python-3.1.4/configure 2011-07-12 13:14:42.000000000 -0400 @@ -4883,7 +4883,7 @@ ;; Darwin*) LDLIBRARY='libpython$(VERSION).dylib' - BLDLIBRARY='-L. -lpython$(VERSION)' + BLDLIBRARY="$LDLIBRARY" RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}' ;; AIX*) @@ -7451,8 +7451,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 @@ -7586,14 +7586,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. @@ -7601,10 +7593,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";; @@ -13443,7 +13434,7 @@ if test $ac_sys_system = Darwin then - LIBS="$LIBS -framework CoreFoundation" + LIBS="$LIBS -Wl,-framework,CoreFoundation" fi diff -ru Python-3.1.4.orig/setup.py Python-3.1.4/setup.py --- Python-3.1.4.orig/setup.py 2011-06-11 11:48:52.000000000 -0400 +++ Python-3.1.4/setup.py 2011-07-12 13:15:43.000000000 -0400 @@ -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): @@ -362,10 +367,8 @@ os.unlink(tmpfile) 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') - self.add_multiarch_paths() + 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. @@ -662,10 +665,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: @@ -673,9 +675,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 @@ -695,7 +696,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): @@ -938,12 +939,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) @@ -955,7 +951,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): @@ -987,11 +983,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))] @@ -1067,7 +1061,7 @@ gdbm_libs = ['gdbm'] if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'): gdbm_libs.append('gdbm_compat') - if find_file("gdbm/ndbm.h", inc_dirs, []) is not None: + if find_file("ndbm.h", inc_dirs, []) is not None: print("building dbm using gdbm") dbmext = Extension( '_dbm', ['_dbmmodule.c'], @@ -1145,6 +1139,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 @@ -1165,6 +1160,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') @@ -1470,16 +1466,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: @@ -1701,7 +1693,8 @@ sources=sources, depends=depends) ext_test = Extension('_ctypes_test', - sources=['_ctypes/_ctypes_test.c']) + sources=['_ctypes/_ctypes_test.c'], + extra_compile_args=['-O0']) self.extensions.extend([ext, ext_test]) if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"): --- NEW FILE: python32.info --- Info2: << Package: python%type_pkg[python] Version: 3.2.1 Revision: 1 Type: python 3.2 Maintainer: Daniel Johnson <dan...@daniel-johnson.org> Depends: << %N-shlibs (= %v-%r), blt-shlibs, bzip2-shlibs, gdbm3-shlibs, libgettext8-shlibs, libncursesw5-shlibs, readline5-shlibs, sqlite3-shlibs (>= 3.7.2-2), 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.7.2-2), system-openssl-dev, tcltk-dev (>= 8.4.1-1), x11-dev << Provides: argparse-py%type_pkg[python], futures-py%type_pkg[python] Source: http://python.org/ftp/python/%v/Python-%v.tar.bz2 Source-MD5: f0869ba3f3797aacb1f954ef24c256f3 Source2: http://www.python.org/ftp/python/doc/%v/python-%v-docs-html.tar.bz2 Source2-MD5: 1d6c21614e6957040b9fe6cd93af13f2 PatchFile: %n.patch PatchFile-MD5: c545d3975a69d0f1cbcaca4cf3a70257 PatchScript: sed 's|@PREFIX@|%p|g' < %{PatchFile} | patch -p1 UseMaxBuildJobs: true SetLDFLAGS: -L%p/lib/system-openssl/lib ConfigureParams: --enable-shared --with-dbmliborder=gdbm --enable-loadable-sqlite-extensions CompileScript: << #!/bin/sh -ex darwin_vers=`uname -r | cut -d. -f1` if [ "$darwin_vers" = 11 ]; then perl -pi -e 's/ -lSystemStubs//' ./configure perl -pi -e 's/-O3/-fwrapv -O3/' ./configure fi 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} << InfoTest: << TestScript: << #!/bin/bash -ev if [ `uname -m` = 'x86_64' ]; then # Test assumes that little endian machines always return a # 'i386' machine type but on a 64 bit kernel they always return # 'x86_64' instead. perl -pi -e 's/i386/x86_64/' Lib/test/test_platform.py fi LANG=en_US.UTF-8 make -k test EXTRATESTOPTS='-w -x test_distutils test_argparse test_httpservers test_import' || exit 2 << << InstallScript: << #!/bin/sh -ex # install fails with -j greater than 1 export MAKEFLAGS=-j1 make install DESTDIR=%d # don't propagate our hackery perl -pi -e 's|-L%p/lib/system-openssl/lib||; s|-lintl ||' %i/lib/python%type_raw[python]/config-%type_raw[python]m/Makefile # fix all main things to be python-versioned filenames with # unversioned symlinks to them pushd %i/bin for f in 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/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-%type_raw[python]m/libpython%type_raw[python]m.dylib Shlibs: %p/lib/python3.2/config-%type_raw[python]m/libpython3.2m.dylib 3.2.0 %n (>= 3.2-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-%type_raw[python]m/ 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. 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). New in 3.2, .pyc files are saved in the __pycache__ directory at the same level as the matching .py file. Any packages that expect the .pyc file to be next to the .py file will need adjustment. The .pyc and .so files also include the python version in the name. << 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. test_ctypes fails with clang unless _ctypes/_ctypes_test.c is built with -O0 so force that in setup.py. << License: OSI-Approved Homepage: http://www.python.org << --- NEW FILE: python32.patch --- diff -ru Python-3.2.1.orig/Makefile.pre.in Python-3.2.1/Makefile.pre.in --- Python-3.2.1.orig/Makefile.pre.in 2011-07-09 02:58:52.000000000 -0400 +++ Python-3.2.1/Makefile.pre.in 2011-07-12 12:16:01.000000000 -0400 @@ -463,8 +463,7 @@ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^ libpython$(LDVERSION).dylib: $(LIBRARY_OBJS) - $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).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) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST) @@ -837,7 +836,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"; \ @@ -850,15 +849,15 @@ if test -f $(DESTDIR)$(BINDIR)/$(PYTHON)$(VERSION)$(EXE) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON)$(VERSION)$(EXE); \ then rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \ fi; \ - (cd $(DESTDIR)$(BINDIR); $(LN) python$(LDVERSION)$(EXE) python$(VERSION)$(EXE)); \ + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)$(EXE) python$(VERSION)$(EXE)); \ fi if test -f $(LDLIBRARY); then \ 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; \ if test -n "$(PY3LIBRARY)"; then \ @@ -872,7 +871,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)) -if test "$(VERSION)" != "$(LDVERSION)"; then \ rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \ diff -ru Python-3.2.1.orig/Misc/python-config.in Python-3.2.1/Misc/python-config.in --- Python-3.2.1.orig/Misc/python-config.in 2011-07-09 02:58:52.000000000 -0400 +++ Python-3.2.1/Misc/python-config.in 2011-07-12 12:16:01.000000000 -0400 @@ -47,12 +47,10 @@ elif opt in ('--libs', '--ldflags'): libs = getvar('LIBS').split() + getvar('SYSLIBS').split() libs.append('-lpython' + pyver + sys.abiflags) - # 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.extend(getvar('LINKFORSHARED').split()) + libs.insert(0, '-L' + getvar('LIBPL')) print(' '.join(libs)) elif opt == '--extension-suffix': diff -ru Python-3.2.1.orig/Misc/python.pc.in Python-3.2.1/Misc/python.pc.in --- Python-3.2.1.orig/Misc/python.pc.in 2011-07-09 02:58:52.000000000 -0400 +++ Python-3.2.1/Misc/python.pc.in 2011-07-12 12:16:01.000000000 -0400 @@ -1,7 +1,7 @@ # See: man pkg-config prefix=@prefix@ exec_prefix=@exec_prefix@ -libdir=@libdir@ +libdir=@libdir@/python@VERSION@/config-@VERSION@@ABIFLAGS@ includedir=@includedir@ Name: Python diff -ru Python-3.2.1.orig/Modules/_dbmmodule.c Python-3.2.1/Modules/_dbmmodule.c --- Python-3.2.1.orig/Modules/_dbmmodule.c 2011-07-09 02:58:53.000000000 -0400 +++ Python-3.2.1/Modules/_dbmmodule.c 2011-07-12 12:16:01.000000000 -0400 @@ -20,7 +20,7 @@ static char *which_dbm = "GNU gdbm"; /* EMX port of GDBM */ #endif #elif defined(HAVE_GDBM_NDBM_H) -#include <gdbm/ndbm.h> +#include <ndbm.h> static char *which_dbm = "GNU gdbm"; #elif defined(HAVE_GDBM_DASH_NDBM_H) #include <gdbm-ndbm.h> diff -ru Python-3.2.1.orig/Modules/posixmodule.c Python-3.2.1/Modules/posixmodule.c --- Python-3.2.1.orig/Modules/posixmodule.c 2011-07-09 02:58:54.000000000 -0400 +++ Python-3.2.1/Modules/posixmodule.c 2011-07-12 12:16:01.000000000 -0400 @@ -503,7 +503,7 @@ #endif /* MS_WINDOWS */ /* 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(). */ @@ -530,7 +530,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.2.1.orig/configure Python-3.2.1/configure --- Python-3.2.1.orig/configure 2011-07-09 02:58:56.000000000 -0400 +++ Python-3.2.1/configure 2011-07-12 12:16:01.000000000 -0400 @@ -4992,7 +4992,7 @@ ;; Darwin*) LDLIBRARY='libpython$(LDVERSION).dylib' - BLDLIBRARY='-L. -lpython$(LDVERSION)' + BLDLIBRARY="`pwd`/$LDLIBRARY" RUNSHARED='DYLD_LIBRARY_PATH=`pwd`:${DYLD_LIBRARY_PATH}' ;; AIX*) @@ -7509,8 +7509,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-$(LDVERSION)/$(INSTSONAME)' LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; esac @@ -7626,15 +7626,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) -bundle -undefined dynamic_lookup' - LDCXXSHARED='$(CXX) -bundle -undefined dynamic_lookup' - BLDSHARED="$LDSHARED" - else LDSHARED='$(CC) -bundle' LDCXXSHARED='$(CXX) -bundle' if test "$enable_framework" ; then @@ -7644,11 +7635,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-$(LDVERSION) -lpython$(LDVERSION)' + LDCXXSHARED="$LDCXXSHARED "'-L$(BINLIBDEST)/config-$(LDVERSION) -lpython$(LDVERSION)' fi - fi ;; Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared' @@ -7757,7 +7747,7 @@ Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys Darwin/*) - LINKFORSHARED="$extra_undefs -framework CoreFoundation" + LINKFORSHARED="$extra_undefs -Wl,-framework,CoreFoundation" if test "$enable_framework" then LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' @@ -13689,7 +13679,7 @@ if test $ac_sys_system = Darwin then - LIBS="$LIBS -framework CoreFoundation" + LIBS="$LIBS -Wl,-framework,CoreFoundation" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for %zd printf() format support" >&5 diff -ru Python-3.2.1.orig/setup.py Python-3.2.1/setup.py --- Python-3.2.1.orig/setup.py 2011-07-09 02:58:56.000000000 -0400 +++ Python-3.2.1/setup.py 2011-07-12 12:44:09.000000000 -0400 @@ -269,13 +269,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[:] @@ -283,6 +287,7 @@ print("Failed to build these modules:") print_three_column(failed) print() + sys.exit(1) def build_extension(self, ext): @@ -396,9 +401,8 @@ # Ensure that /usr/local is always used, but the local build # directories (i.e. '.' and 'Include') must be first. See issue # 10520. - add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') - self.add_multiarch_paths() + 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. @@ -672,10 +676,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: @@ -683,9 +686,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 @@ -705,7 +707,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): @@ -957,12 +959,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) @@ -974,7 +971,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): @@ -1007,11 +1004,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))] @@ -1093,7 +1088,7 @@ if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'): gdbm_libs.append('gdbm_compat') - if find_file("gdbm/ndbm.h", inc_dirs, []) is not None: + if find_file("ndbm.h", inc_dirs, []) is not None: print("building dbm using gdbm") dbmext = Extension( '_dbm', ['_dbmmodule.c'], @@ -1168,6 +1163,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 @@ -1188,6 +1184,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') @@ -1501,16 +1498,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, @@ -1735,7 +1728,8 @@ sources=sources, depends=depends) ext_test = Extension('_ctypes_test', - sources=['_ctypes/_ctypes_test.c']) + sources=['_ctypes/_ctypes_test.c'], + extra_compile_args=['-O0']) self.extensions.extend([ext, ext_test]) if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"): ------------------------------------------------------------------------------ Storage Efficiency Calculator This modeling tool is based on patent-pending intellectual property that has been used successfully in hundreds of IBM storage optimization engage- ments, worldwide. Store less, Store more with what you own, Move data to the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/ _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.cvs