[106224] trunk/dports
jmr at macports.org
jmr at macports.org
Sun May 19 13:30:53 PDT 2013
Revision: 106224
https://trac.macports.org/changeset/106224
Author: jmr at macports.org
Date: 2013-05-19 13:30:53 -0700 (Sun, 19 May 2013)
Log Message:
-----------
python27: update to 2.7.5 (#38737), fix bsddb module to use the db46 port and not the system version, remove unused files
Modified Paths:
--------------
trunk/dports/lang/python27/Portfile
trunk/dports/lang/python27/files/patch-Makefile.pre.in.diff
trunk/dports/lang/python27/files/patch-libedit.diff
trunk/dports/lang/python27/files/patch-setup.py-disabled_modules.diff
trunk/dports/lang/python27/files/patch-setup.py.diff
trunk/dports/python/py-gdbm/Portfile
trunk/dports/python/py-tkinter/Portfile
Added Paths:
-----------
trunk/dports/lang/python27/files/patch-configure-universal.diff
Removed Paths:
-------------
trunk/dports/lang/python27/files/patch-Lib-distutils-util.py.diff
trunk/dports/lang/python27/files/patch-Lib-sysconfig.py.diff
trunk/dports/lang/python27/files/patch-readlinefix.diff
trunk/dports/lang/python27/files/posixmodule.c.ed
trunk/dports/lang/python27/files/pyconfig.ed
Modified: trunk/dports/lang/python27/Portfile
===================================================================
--- trunk/dports/lang/python27/Portfile 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/Portfile 2013-05-19 20:30:53 UTC (rev 106224)
@@ -7,8 +7,7 @@
name python27
epoch 2
# Remember to keep py27-tkinter and py27-gdbm's versions sync'd with this
-version 2.7.3
-revision 1
+version 2.7.5
set major [lindex [split $version .] 0]
set branch [join [lrange [split ${version} .] 0 1] .]
@@ -28,11 +27,10 @@
distname Python-${version}
use_xz yes
-checksums rmd160 a51bb3ed518c897d1cf3c3d237929d385409d9f7 \
- sha256 61d36be58e9e9c733c49d7b76858d5c08e2c63a84f2066b29d35d3521057c985
+checksums md5 5eea8462f69ab1369d32f9c4cd6272ab \
+ rmd160 baa7ad7d82cb4dc0a70b6a7aded43b7b78b0067e \
+ sha256 f33c4cab167dc69e10962e1cebf1c0768e2d0e8575648130c20e6bda84551db1
-# patch-readlinefix.diff comes from
-# <http://bugs.python.org/issue5833>
patchfiles patch-Makefile.pre.in.diff \
patch-setup.py.diff \
patch-setup.py-disabled_modules.diff \
@@ -40,7 +38,6 @@
patch-Lib-ctypes-macholib-dyld.py.diff \
patch-configure.diff \
patch-libedit.diff
-# patch-readlinefix.diff
depends_lib port:gettext \
port:zlib \
@@ -55,6 +52,9 @@
configure.args --enable-framework=${frameworks_dir} \
--enable-ipv6
+configure.cppflags-append -I${prefix}/include/db46
+configure.ldflags-append -L${prefix}/lib/db46
+
configure.ccache no
# signed integer overflow is normally undefined as per the C spec, but python
@@ -68,14 +68,9 @@
reinplace "s|@@APPLICATIONS_DIR@@|${applications_dir}|" \
${worksrcpath}/configure
- # See http://trac.macports.org/changeset/37861
+ # See https://trac.macports.org/changeset/37861
reinplace "s|xargs -0 rm -r|/usr/bin/xargs -0 /bin/rm -r|g" \
${worksrcpath}/Mac/PythonLauncher/Makefile.in
-
- if {${os.platform} == "darwin" && ${os.major} > 9} {
- # http://trac.macports.org/ticket/21559
- system -W ${worksrcpath} "ed - Modules/posixmodule.c < ${filespath}/posixmodule.c.ed"
- }
}
build.target all
@@ -119,7 +114,7 @@
reinplace {s|^\(LINKFORSHARED=.*\)$(PYTHONFRAMEWORKDIR).*$|\1 $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)|} \
${destroot}${framewdir}/lib/python${branch}/config/Makefile
- foreach unversionedFile {2to3 idle pydoc python python-config pythonw smtpd.py} {
+ foreach unversionedFile {2to3 2to3-2 idle idle2 pydoc pydoc2 python python2 python-config python2-config pythonw pythonw2 smtpd.py smtpd2.py} {
delete ${destroot}${prefix}/bin/${unversionedFile}
}
@@ -129,10 +124,6 @@
}
platform darwin {
- post-configure {
- # See http://trac.macports.org/ticket/18376
- system -W ${worksrcpath} "ed - pyconfig.h < ${filespath}/pyconfig.ed"
- }
post-patch {
if {![file exists /usr/lib/libSystemStubs.a]} {
reinplace s/-lSystemStubs//g ${worksrcpath}/configure
@@ -141,23 +132,11 @@
}
variant universal {
+ patchfiles-append patch-configure-universal.diff
post-patch {
- set universal_arch_flags {}
- set arch_run_32bit {}
- foreach arch ${universal_archs} {
- lappend universal_arch_flags -arch ${arch}
- if { ${arch}=="i386" || ${arch}=="ppc" } {
- lappend arch_run_32bit -${arch}
- }
- }
reinplace \
- "s|UNIVERSAL_ARCH_FLAGS=\".*\"|UNIVERSAL_ARCH_FLAGS=\"${universal_arch_flags}\"|" \
+ "s|__UNIVERSAL_ARCHFLAGS__|${configure.universal_cflags}|" \
${worksrcpath}/configure
- if {${os.major} >= 9} {
- reinplace \
- "s|ARCH_RUN_32BIT=\".*\"|ARCH_RUN_32BIT=\"arch ${arch_run_32bit}\"|" \
- ${worksrcpath}/configure
- }
}
if {${configure.sdkroot} != ""} {
configure.args-append --enable-universalsdk=${configure.sdkroot}
Deleted: trunk/dports/lang/python27/files/patch-Lib-distutils-util.py.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-Lib-distutils-util.py.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-Lib-distutils-util.py.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,11 +0,0 @@
---- Lib/distutils/util.py 2010-07-06 20:17:15.000000000 +0300
-+++ Lib/distutils/util.py 2010-07-06 20:17:57.000000000 +0300
-@@ -145,7 +145,7 @@
-
- archs = re.findall('-arch\s+(\S+)', cflags)
- archs.sort()
-- archs = tuple(archs)
-+ archs = tuple(sorted(list(set(archs))))
-
- if len(archs) == 1:
- machine = archs[0]
Deleted: trunk/dports/lang/python27/files/patch-Lib-sysconfig.py.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-Lib-sysconfig.py.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-Lib-sysconfig.py.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,11 +0,0 @@
---- Lib/sysconfig.py 2010-07-06 19:56:06.000000000 +0300
-+++ Lib/sysconfig.py 2010-07-06 19:56:45.000000000 +0300
-@@ -646,7 +646,7 @@
-
- archs = re.findall('-arch\s+(\S+)', cflags)
- archs.sort()
-- archs = tuple(archs)
-+ archs = tuple(sorted(list(set(archs))))
-
- if len(archs) == 1:
- machine = archs[0]
Modified: trunk/dports/lang/python27/files/patch-Makefile.pre.in.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-Makefile.pre.in.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-Makefile.pre.in.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,31 +1,29 @@
---- Makefile.pre.in.orig 2010-10-14 15:37:30.000000000 +0400
-+++ Makefile.pre.in 2010-12-07 12:21:35.000000000 +0300
-@@ -404,8 +404,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)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q --no-user-cfg build;; \
-+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py --no-user-cfg build;; \
- esac
+--- Makefile.pre.in.orig 2013-05-12 13:32:49.000000000 +1000
++++ Makefile.pre.in 2013-05-20 03:10:14.000000000 +1000
+@@ -456,7 +456,7 @@
+ *) quiet="";; \
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet --no-user-cfg build
# Build static library
-@@ -1044,7 +1044,7 @@
+ # avoid long command lines, same as LIBRARY_OBJS
+@@ -1133,7 +1133,7 @@
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
-- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
-+ $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py --no-user-cfg install \
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py --no-user-cfg install \
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
-@@ -1117,7 +1117,7 @@
+@@ -1207,7 +1207,7 @@
# This installs a few of the useful scripts in Tools/scripts
scriptsinstall:
SRCDIR=$(srcdir) $(RUNSHARED) \
-- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
-+ ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py --no-user-cfg install \
+- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
++ $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py --no-user-cfg install \
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--root=$(DESTDIR)/
Added: trunk/dports/lang/python27/files/patch-configure-universal.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-configure-universal.diff (rev 0)
+++ trunk/dports/lang/python27/files/patch-configure-universal.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -0,0 +1,42 @@
+--- configure.orig 2013-05-20 04:46:39.000000000 +1000
++++ configure 2013-05-20 04:50:42.000000000 +1000
+@@ -6078,36 +6078,9 @@
+ EXPORT_MACOSX_DEPLOYMENT_TARGET=''
+
+ if test "${enable_universalsdk}"; then
+- UNIVERSAL_ARCH_FLAGS=""
+- if test "$UNIVERSAL_ARCHS" = "32-bit" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386"
+- ARCH_RUN_32BIT=""
+- LIPO_32BIT_FLAGS=""
+-
+- elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64"
+- LIPO_32BIT_FLAGS=""
+- ARCH_RUN_32BIT="true"
+-
+- elif test "$UNIVERSAL_ARCHS" = "all" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
+- LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386"
+- ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
+-
+- elif test "$UNIVERSAL_ARCHS" = "intel" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64"
+- LIPO_32BIT_FLAGS="-extract i386"
+- ARCH_RUN_32BIT="/usr/bin/arch -i386"
+-
+- elif test "$UNIVERSAL_ARCHS" = "3-way" ; then
+- UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64"
+- LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386"
+- ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc"
+-
+- else
+- as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5
+-
+- fi
++ UNIVERSAL_ARCH_FLAGS="__UNIVERSAL_ARCHFLAGS__"
++ ARCH_RUN_32BIT=""
++ LIPO_32BIT_FLAGS=""
+
+
+ CFLAGS="${UNIVERSAL_ARCH_FLAGS} ${CFLAGS}"
Modified: trunk/dports/lang/python27/files/patch-libedit.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-libedit.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-libedit.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,6 +1,6 @@
---- configure.orig 2012-04-12 13:22:40.000000000 +0300
-+++ configure 2012-04-13 09:43:22.000000000 +0300
-@@ -12879,9 +12879,9 @@
+--- configure.orig 2013-05-20 03:42:25.000000000 +1000
++++ configure 2013-05-20 03:49:42.000000000 +1000
+@@ -13447,9 +13447,9 @@
$as_echo_n "checking how to link readline libs... " >&6; }
for py_libtermcap in "" ncursesw ncurses curses termcap; do
if test -z "$py_libtermcap"; then
@@ -12,7 +12,7 @@
fi
LIBS="$READLINE_LIBS $LIBS_no_readline"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -12925,13 +12925,13 @@
+@@ -13493,13 +13493,13 @@
fi
# check for readline 2.1
@@ -20,7 +20,7 @@
-$as_echo_n "checking for rl_callback_handler_install in -lreadline... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_callback_handler_install in -ledit" >&5
+$as_echo_n "checking for rl_callback_handler_install in -ledit... " >&6; }
- if test "${ac_cv_lib_readline_rl_callback_handler_install+set}" = set; then :
+ if ${ac_cv_lib_readline_rl_callback_handler_install+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -29,7 +29,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -12971,7 +12971,7 @@
+@@ -13539,7 +13539,7 @@
# check for readline 2.2
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -38,7 +38,7 @@
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
have_readline=yes
-@@ -12984,7 +12984,7 @@
+@@ -13552,7 +13552,7 @@
then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -47,7 +47,7 @@
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-@@ -12997,7 +12997,7 @@
+@@ -13565,7 +13565,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -56,7 +56,7 @@
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-@@ -13011,13 +13011,13 @@
+@@ -13579,13 +13579,13 @@
fi
# check for readline 4.0
@@ -64,7 +64,7 @@
-$as_echo_n "checking for rl_pre_input_hook in -lreadline... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_pre_input_hook in -ledit" >&5
+$as_echo_n "checking for rl_pre_input_hook in -ledit... " >&6; }
- if test "${ac_cv_lib_readline_rl_pre_input_hook+set}" = set; then :
+ if ${ac_cv_lib_readline_rl_pre_input_hook+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -73,7 +73,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -13055,13 +13055,13 @@
+@@ -13623,13 +13623,13 @@
# also in 4.0
@@ -81,7 +81,7 @@
-$as_echo_n "checking for rl_completion_display_matches_hook in -lreadline... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_display_matches_hook in -ledit" >&5
+$as_echo_n "checking for rl_completion_display_matches_hook in -ledit... " >&6; }
- if test "${ac_cv_lib_readline_rl_completion_display_matches_hook+set}" = set; then :
+ if ${ac_cv_lib_readline_rl_completion_display_matches_hook+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -90,7 +90,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -13099,13 +13099,13 @@
+@@ -13667,13 +13667,13 @@
# check for readline 4.2
@@ -98,7 +98,7 @@
-$as_echo_n "checking for rl_completion_matches in -lreadline... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -ledit" >&5
+$as_echo_n "checking for rl_completion_matches in -ledit... " >&6; }
- if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then :
+ if ${ac_cv_lib_readline_rl_completion_matches+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -107,7 +107,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -13145,7 +13145,7 @@
+@@ -13713,7 +13713,7 @@
# also in readline 4.2
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -116,7 +116,7 @@
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
have_readline=yes
-@@ -13158,7 +13158,7 @@
+@@ -13726,7 +13726,7 @@
then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -125,9 +125,9 @@
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
---- setup.py.orig 2011-10-31 14:58:43.000000000 +1100
-+++ setup.py 2011-10-31 15:03:30.000000000 +1100
-@@ -620,7 +620,7 @@
+--- setup.py.orig 2013-05-20 03:42:24.000000000 +1000
++++ setup.py 2013-05-20 03:52:00.000000000 +1000
+@@ -696,7 +696,7 @@
missing.extend(['imageop'])
# readline
@@ -136,7 +136,7 @@
readline_termcap_library = ""
curses_library = ""
# Determine if readline is already linked against curses or tinfo.
-@@ -671,7 +671,7 @@
+@@ -747,7 +747,7 @@
else:
readline_extra_link_args = ()
@@ -145,8 +145,8 @@
if readline_termcap_library:
pass # Issue 7384: Already linked against curses or tinfo.
elif curses_library:
---- Modules/readline.c.orig 2011-06-12 01:46:27.000000000 +1000
-+++ Modules/readline.c 2011-10-31 15:07:35.000000000 +1100
+--- Modules/readline.c.orig 2013-05-12 13:32:51.000000000 +1000
++++ Modules/readline.c 2013-05-20 03:59:17.000000000 +1000
@@ -28,8 +28,7 @@
/* GNU readline definitions */
@@ -157,7 +157,7 @@
#ifdef HAVE_RL_COMPLETION_MATCHES
#define completion_matches(x, y) \
-@@ -550,14 +549,13 @@ get_history_item(PyObject *self, PyObjec
+@@ -562,14 +561,13 @@ get_history_item(PyObject *self, PyObjec
* difference.
*/
int length = _py_get_history_length();
@@ -173,15 +173,7 @@
Py_RETURN_NONE;
}
}
-@@ -976,7 +974,6 @@ readline_until_enter_or_signal(char *pro
- PyEval_SaveThread();
- #endif
- if (s < 0) {
-- rl_free_line_state();
- rl_cleanup_after_signal();
- rl_callback_handler_remove();
- *signal = 1;
-@@ -1075,15 +1072,6 @@ call_readline(FILE *sys_stdin, FILE *sys
+@@ -1088,15 +1086,6 @@ call_readline(FILE *sys_stdin, FILE *sys
const char *line;
int length = _py_get_history_length();
if (length > 0)
Deleted: trunk/dports/lang/python27/files/patch-readlinefix.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-readlinefix.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-readlinefix.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,162 +0,0 @@
---- Modules/readline.c 2008-11-04 12:43:31.000000000 -0800
-+++ Modules/readline.c 2009-04-22 15:50:49.000000000 -0700
-@@ -759,6 +759,10 @@
- static char **
- flex_complete(char *text, int start, int end)
- {
-+#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
-+ rl_completion_append_character ='\0';
-+ rl_completion_suppress_append = 0;
-+#endif
- Py_XDECREF(begidx);
- Py_XDECREF(endidx);
- begidx = PyInt_FromLong((long) start);
-@@ -799,11 +803,8 @@
- rl_attempted_completion_function = (CPPFunction *)flex_complete;
- /* Set Python word break characters */
- rl_completer_word_break_characters =
-- strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");
-+ strdup(" \t\n`!@#%^&*()=+[{]}\\|;:,<>?");
- /* All nonalphanums except '.' */
--#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
-- rl_completion_append_character ='\0';
--#endif
-
- begidx = PyInt_FromLong(0L);
- endidx = PyInt_FromLong(0L);
---- Lib/rlcompleter.py 2009-04-22 15:42:38.000000000 -0700
-+++ Lib/rlcompleter.py 2009-04-22 15:43:00.000000000 -0700
-@@ -1,9 +1,10 @@
- """Word completion for GNU readline 2.0.
-
- This requires the latest extension to the readline module. The completer
--completes keywords, built-ins and globals in a selectable namespace (which
--defaults to __main__); when completing NAME.NAME..., it evaluates (!) the
--expression up to the last dot and completes its attributes.
-+completes keywords, built-ins, globals, and file names in a selectable
-+namespace (which defaults to __main__); when completing NAME.NAME...,
-+it evaluates (!) the expression up to the last dot and completes its
-+attributes.
-
- It's very cool to do "import sys" type "sys.", hit the
- completion key (twice), and see the list of names defined by the
-@@ -72,24 +73,34 @@
- self.use_main_ns = 0
- self.namespace = namespace
-
-+ # The cache of matches for a particular text fragment.
-+ self.matches = []
-+
- def complete(self, text, state):
- """Return the next possible completion for 'text'.
-
- This is called successively with state == 0, 1, 2, ... until it
-- returns None. The completion should begin with 'text'.
-+ returns None. The completion should begin with 'text'. Any text
-+ with a period (.) will match as an attribute. Any text that begins
-+ with a single or double quote will match using file name expansion.
-
- """
- if self.use_main_ns:
- self.namespace = __main__.__dict__
-
-+ # For the first call with this set of text, compute all possible
-+ # matches and store them in a member variable. Subsequent calls
-+ # will then iterate through this set of matches.
- if state == 0:
-- if "." in text:
-+ if ('"' in text) or ("'" in text):
-+ self.matches = self.file_matches(text)
-+ elif "." in text:
- self.matches = self.attr_matches(text)
- else:
- self.matches = self.global_matches(text)
-- try:
-+ if state < len(self.matches):
- return self.matches[state]
-- except IndexError:
-+ else:
- return None
-
- def _callable_postfix(self, val, word):
-@@ -129,9 +140,14 @@
-
- """
- import re
-+ import types
-+
-+ # Setup the regular expression for attributes
- m = re.match(r"(\w+(\.\w+)*)\.(\w*)", text)
- if not m:
- return []
-+
-+ # Group 1 is the class name, group 3 is the attribute text
- expr, attr = m.group(1, 3)
- try:
- thisobject = eval(expr, self.namespace)
-@@ -143,9 +159,18 @@
- if "__builtins__" in words:
- words.remove("__builtins__")
-
-- if hasattr(thisobject, '__class__'):
-- words.append('__class__')
-- words.extend(get_class_members(thisobject.__class__))
-+ # If this type is a class instance, use the __class__ member to
-+ # get the dictionary of attributes
-+ if type(thisobject) == types.InstanceType:
-+ if hasattr(thisobject, '__class__'):
-+ words.append('__class__')
-+ words.extend(get_class_members(thisobject.__class__))
-+ elif type(thisobject) == types.ClassType:
-+ words.extend(get_class_members(thisobject))
-+ else:
-+ words.extend(dir(thisobject))
-+
-+ # Build the full matching text from class.attribute matches
- matches = []
- n = len(attr)
- for word in words:
-@@ -155,6 +180,43 @@
- matches.append(word)
- return matches
-
-+ def file_matches(self, text):
-+ """Compute matches when text is a file name.
-+
-+ Expects a leading single or double quote character in the text.
-+ Will expand a leading ~ or ~user to a valid home directory.
-+ Will expand a leading $VAR to an environment variable name."""
-+ import glob
-+ import os
-+
-+ # save the leading quote character so we can re-add it later
-+ quote = text[0]
-+ # strip the leading quote character
-+ path = text[1:]
-+
-+ # expand a tilde (~) or a leading environment variable in the text
-+ path = os.path.expanduser( path )
-+ path = os.path.expandvars( path )
-+
-+ # append the any match character to send to the glob routine
-+ path = path + "*"
-+
-+ # use the glob module to get all of the matches
-+ rawMatches = glob.glob( path )
-+
-+ # re-prefix the text with the quoting character and append the correct
-+ # terminating character depending on the type of match that was found.
-+ # Directories are terminated with '/' and files with an ending quote.
-+ matches = []
-+ for entry in rawMatches:
-+ if os.path.isdir( entry ):
-+ matches.append( quote + entry + os.sep )
-+ elif os.path.isfile( entry ):
-+ matches.append( quote + entry + quote )
-+ else:
-+ matches.append( quote + entry )
-+ return matches
-+
- def get_class_members(klass):
- ret = dir(klass)
- if hasattr(klass,'__bases__'):
Modified: trunk/dports/lang/python27/files/patch-setup.py-disabled_modules.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-setup.py-disabled_modules.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-setup.py-disabled_modules.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,11 +1,11 @@
---- setup.py.orig 2010-12-23 09:49:57.000000000 -0500
-+++ setup.py 2010-12-23 09:50:13.000000000 -0500
-@@ -21,7 +21,7 @@
- COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
+--- setup.py.orig 2013-05-20 03:35:48.000000000 +1000
++++ setup.py 2013-05-20 03:37:54.000000000 +1000
+@@ -33,7 +33,7 @@
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
-+disabled_module_list = ["_tkinter", "gdbm"]
++disabled_module_list = ['_tkinter', 'gdbm']
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
Modified: trunk/dports/lang/python27/files/patch-setup.py.diff
===================================================================
--- trunk/dports/lang/python27/files/patch-setup.py.diff 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/patch-setup.py.diff 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,30 +1,113 @@
---- setup.py.orig 2009-04-01 05:20:48.000000000 +1100
-+++ setup.py 2009-09-03 10:20:32.000000000 +1000
-@@ -1637,7 +1637,7 @@
+--- setup.py.orig 2013-05-12 13:32:54.000000000 +1000
++++ setup.py 2013-05-20 03:33:30.000000000 +1000
+@@ -436,9 +436,6 @@
+ 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_gcc_paths()
+ self.add_multiarch_paths()
+
+@@ -782,10 +779,7 @@
+ depends=['socketmodule.h'],
+ libraries=math_libs) )
+ # Detect SSL support for the socket module (via _ssl)
+- search_for_ssl_incs_in = [
+- '/usr/local/ssl/include',
+- '/usr/contrib/ssl/include/'
+- ]
++ search_for_ssl_incs_in = []
+ ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+ search_for_ssl_incs_in
+ )
+@@ -795,9 +789,7 @@
+ 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/'
+- ] )
++ [] )
+
+ if (ssl_incs is not None and
+ ssl_libs is not None):
+@@ -918,34 +910,7 @@
+
+ # 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',
+- ]
+- # 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)
++ db_inc_paths = []
+
+ if cross_compiling:
+ db_inc_paths = []
+@@ -1091,13 +1056,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 = []
+ if cross_compiling:
+ sqlite_inc_paths = []
+ MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
+@@ -1769,7 +1728,6 @@
# For 8.4a2, the X11 headers are not included. Rather than include a
# complicated search, this is a hard-coded path. It could bail out
# if X11 libs are not found...
- include_dirs.append('/usr/X11R6/include')
-+ #include_dirs.append('/usr/X11R6/include')
frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
# All existing framework builds of Tcl/Tk don't support 64-bit
-@@ -1677,13 +1677,7 @@
+@@ -1807,13 +1765,6 @@
def detect_tkinter(self, inc_dirs, lib_dirs):
# The _tkinter module.
- # Rather than complicate the code below, detecting and building
- # 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
+- if (host_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
-@@ -1731,17 +1727,17 @@
- if platform == 'sunos5':
+ # dots on Windows, for detection by cygwin.
+@@ -1862,17 +1813,6 @@
+ if host_platform == 'sunos5':
include_dirs.append('/usr/openwin/include')
added_lib_dirs.append('/usr/openwin/lib')
- elif os.path.exists('/usr/X11R6/include'):
@@ -35,19 +118,9 @@
- include_dirs.append('/usr/X11R5/include')
- added_lib_dirs.append('/usr/X11R5/lib')
- else:
-+ #elif os.path.exists('/usr/X11R6/include'):
-+ # include_dirs.append('/usr/X11R6/include')
-+ # added_lib_dirs.append('/usr/X11R6/lib64')
-+ # added_lib_dirs.append('/usr/X11R6/lib')
-+ #elif os.path.exists('/usr/X11R5/include'):
-+ # include_dirs.append('/usr/X11R5/include')
-+ # added_lib_dirs.append('/usr/X11R5/lib')
-+ #else:
- # Assume default location for X11
+- # Assume default location for X11
- include_dirs.append('/usr/X11/include')
- added_lib_dirs.append('/usr/X11/lib')
-+ # include_dirs.append('/usr/X11/include')
-+ # added_lib_dirs.append('/usr/X11/lib')
# If Cygwin, then verify that X is installed before proceeding
- if platform == 'cygwin':
+ if host_platform == 'cygwin':
Deleted: trunk/dports/lang/python27/files/posixmodule.c.ed
===================================================================
--- trunk/dports/lang/python27/files/posixmodule.c.ed 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/posixmodule.c.ed 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,47 +0,0 @@
-g/^posix_setuid *(//^[ ]*uid_t/s/uid_t/int/
-g/^posix_seteuid *(//^[ ]*uid_t/s/uid_t/int/
-g/^posix_setegid *(//^[ ]*gid_t/s/gid_t/int/
-g/^posix_setreuid *(//^[ ]*uid_t/s/uid_t/int/
-g/^posix_setregid *(//^[ ]*gid_t/s/gid_t/int/
-g/^posix_setgid *(//^[ ]*gid_t/s/gid_t/int/
-/PyInt_FromLong((long)st->st_uid)/s//PyInt_FromLong((long)(int)st->st_uid)/
-/PyInt_FromLong((long)st->st_gid)/s//PyInt_FromLong((long)(int)st->st_gid)/
-/^posix_chown/a
-.
-/long uid, gid;/s//int uid, gid;/
-/"etll:chown"/s//"etii:chown"/
-/return PyInt_FromLong((long)getegid());/s//return PyInt_FromLong((long)(int)getegid());/
-/return PyInt_FromLong((long)geteuid());/s//return PyInt_FromLong((long)(int)geteuid());/
-/return PyInt_FromLong((long)getgid());/s//return PyInt_FromLong((long)(int)getgid());/
-/PyInt_FromLong((long)alt_grouplist\[i\]);/s//PyInt_FromLong((long)(int)alt_grouplist[i]);/
-/return PyInt_FromLong((long)getuid());/s//return PyInt_FromLong((long)(int)getuid());/
-/^posix_setgroups/a
-.
-/gid_t grouplist\[MAX_GROUPS\];/s//gid_t *grouplist;/
-/if (len > MAX_GROUPS) {/a
-.
-.,/^[ ]*}/c
- if ((grouplist = (gid_t *)malloc(len * sizeof(gid_t))) == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
-.
-/if (grouplist\[i\] != x) {/s//if ((int)grouplist[i] != x) {/
-/if (grouplist\[i\] != x) {/s//if ((int)grouplist[i] != x) {/
-/Py_INCREF(Py_None);/i
- free(grouplist);
-.
-/^static struct constdef posix_constants_confstr/a
-.
-/^};/i
-#ifdef _CS_DARWIN_USER_DIR
- {"CS_DARWIN_USER_DIR", _CS_DARWIN_USER_DIR},
-#endif
-#ifdef _CS_DARWIN_USER_TEMP_DIR
- {"CS_DARWIN_USER_TEMP_DIR", _CS_DARWIN_USER_TEMP_DIR},
-#endif
-#ifdef _CS_DARWIN_USER_CACHE_DIR
- {"CS_DARWIN_USER_CACHE_DIR", _CS_DARWIN_USER_CACHE_DIR},
-#endif
-.
-w
Deleted: trunk/dports/lang/python27/files/pyconfig.ed
===================================================================
--- trunk/dports/lang/python27/files/pyconfig.ed 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/lang/python27/files/pyconfig.ed 2013-05-19 20:30:53 UTC (rev 106224)
@@ -1,2 +0,0 @@
-g,.*\(HAVE_POLL[_A-Z]*\).*,s,,/* #undef \1 */,
-w
Modified: trunk/dports/python/py-gdbm/Portfile
===================================================================
--- trunk/dports/python/py-gdbm/Portfile 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/python/py-gdbm/Portfile 2013-05-19 20:30:53 UTC (rev 106224)
@@ -45,10 +45,11 @@
}
subport py27-gdbm {
maintainers jwa openmaintainer
- version 2.7.3
+ version 2.7.5
use_xz yes
- checksums rmd160 a51bb3ed518c897d1cf3c3d237929d385409d9f7 \
- sha256 61d36be58e9e9c733c49d7b76858d5c08e2c63a84f2066b29d35d3521057c985
+ checksums md5 5eea8462f69ab1369d32f9c4cd6272ab \
+ rmd160 baa7ad7d82cb4dc0a70b6a7aded43b7b78b0067e \
+ sha256 f33c4cab167dc69e10962e1cebf1c0768e2d0e8575648130c20e6bda84551db1
livecheck.regex Python (2.7.\[0-9\]+)
}
subport py31-gdbm {
Modified: trunk/dports/python/py-tkinter/Portfile
===================================================================
--- trunk/dports/python/py-tkinter/Portfile 2013-05-19 18:09:26 UTC (rev 106223)
+++ trunk/dports/python/py-tkinter/Portfile 2013-05-19 20:30:53 UTC (rev 106224)
@@ -48,11 +48,13 @@
use_xz yes
}
subport py27-tkinter {
- maintainers jwa singingwolfboy openmaintainer
- version 2.7.3
+ maintainers jwa openmaintainer
+ version 2.7.5
+ revision 0
homepage http://docs.python.org/release/${version}/library/tkinter.html
- checksums rmd160 a51bb3ed518c897d1cf3c3d237929d385409d9f7 \
- sha256 61d36be58e9e9c733c49d7b76858d5c08e2c63a84f2066b29d35d3521057c985
+ checksums md5 5eea8462f69ab1369d32f9c4cd6272ab \
+ rmd160 baa7ad7d82cb4dc0a70b6a7aded43b7b78b0067e \
+ sha256 f33c4cab167dc69e10962e1cebf1c0768e2d0e8575648130c20e6bda84551db1
use_xz yes
append extract_files " Modules/tkinter.h"
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130519/03931fea/attachment-0001.html>
More information about the macports-changes
mailing list