[112161] trunk/dports
mojca at macports.org
mojca at macports.org
Mon Oct 14 05:45:57 PDT 2013
Revision: 112161
https://trac.macports.org/changeset/112161
Author: mojca at macports.org
Date: 2013-10-14 05:45:56 -0700 (Mon, 14 Oct 2013)
Log Message:
-----------
wxWidgets-3.0, wxPython-3.0, py-wxpython-3.0: upgrade to 3.0.0-rc1 & 2.9.5.0 (#40727, #40743)
* wxWidgets-3.0: upgrade from 2.9.5 to 3.0.0-rc1
* wxPython-3.0, py27-wxpython-3.0: upgrade from 2.9.4.0 to 2.9.5.0
* enable AUI by default (remove the +aui variant)
* wxPython includes an upstream patch for #38850
Modified Paths:
--------------
trunk/dports/_resources/port1.0/group/wxWidgets-1.0.tcl
trunk/dports/graphics/wxWidgets-3.0/Portfile
trunk/dports/graphics/wxWidgets-3.0/files/patch-configure.diff
trunk/dports/graphics/wxWidgets-3.0/files/patch-sdl.diff
trunk/dports/python/py-wxpython-3.0/Portfile
Added Paths:
-----------
trunk/dports/graphics/wxWidgets-3.0/files/patch-configure295.diff
trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-src-osx-cocoa-window.mm.diff
Removed Paths:
-------------
trunk/dports/graphics/wxWidgets-3.0/files/patch-include-wx-math.h.diff
trunk/dports/graphics/wxWidgets-3.0/files/patch-src-osx-cocoa-window.mm.diff
trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-psn.diff
Modified: trunk/dports/_resources/port1.0/group/wxWidgets-1.0.tcl
===================================================================
--- trunk/dports/_resources/port1.0/group/wxWidgets-1.0.tcl 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/_resources/port1.0/group/wxWidgets-1.0.tcl 2013-10-14 12:45:56 UTC (rev 112161)
@@ -87,11 +87,11 @@
wxWidgets.port "wxgtk-2.8"
} elseif {${args} == "wxGTK-3.0"} {
wxWidgets.name "wxGTK"
- wxWidgets.version "2.9"
+ wxWidgets.version "3.0"
wxWidgets.port "wxgtk-3.0"
} elseif {${args} == "wxWidgets-3.0"} {
wxWidgets.name "wxWidgets"
- wxWidgets.version "2.9"
+ wxWidgets.version "3.0"
wxWidgets.port "wxWidgets-3.0"
if {${os.major} < 9} {
pre-fetch {
Modified: trunk/dports/graphics/wxWidgets-3.0/Portfile
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/Portfile 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/Portfile 2013-10-14 12:45:56 UTC (rev 112161)
@@ -9,8 +9,8 @@
name wxWidgets-3.0
subport wxPython-3.0 {}
subport wxgtk-3.0 {}
-version 2.9.5
-revision 1
+version 3.0.0
+set version_rc ${version}-rc1
set installname wxWidgets
set wxtype osx_cocoa
@@ -19,7 +19,8 @@
wxWidgets.use wxWidgets-3.0
} elseif {$subport == "wxPython-3.0"} {
wxWidgets.use wxPython-3.0
- version 2.9.4
+ version 2.9.5
+ set version_rc ${version}
} elseif {$subport == "wxgtk-3.0"} {
# with satisfactory Cocoa support there is no real need for GTK-based wxWidgets any more
# wxgtk-3.0 is here mainly for testing purposes
@@ -43,18 +44,20 @@
homepage http://www.wxwidgets.org/
distname wxWidgets
-master_sites sourceforge:project/wxwindows/${version} \
- http://biolpc22.york.ac.uk/pub/${version}/ \
+master_sites sourceforge:project/wxwindows/${version_rc} \
+ http://biolpc22.york.ac.uk/pub/${version_rc}/ \
http://trac.macports.org/raw-attachment/ticket/19190/:trac
use_bzip2 yes
-distfiles ${distname}-${version}${extract.suffix}
+distfiles ${distname}-${version_rc}${extract.suffix}
dist_subdir ${distname}/${version}
-checksums rmd160 f5c91099b2cf3e39eadbcf99df0dd9a97017d47f \
- sha256 b74ba96ca537cc5d049d21ec9ab5eb2670406a4aa9f1ea4845ea84a9955a6e02
+checksums ${distname}-${version_rc}${extract.suffix} \
+ rmd160 ff4140476d9fce142b2b53a20ba6c6362dd92c6b \
+ sha256 4b54bf4c4635f936a3c4dcb2bfccf6bf10df80f993c0dce5ec0318c46a22a25a
+
depends_lib port:jpeg \
port:tiff \
port:libpng \
@@ -67,12 +70,10 @@
select.group wxWidgets
select.file ${filespath}/${subport}
-worksrcdir ${distname}-${version}/build
+worksrcdir ${distname}-${version_rc}/build
patch.dir ${worksrcpath}/..
-# without (the second part of) this patch wxrc-2.9 ends up linking to libraries in workdir
-# http://trac.wxwidgets.org/ticket/15452
patchfiles-append patch-configure.diff
post-patch {
@@ -89,6 +90,7 @@
--with-opengl \
--with-cocoa \
--without-sdl \
+ --enable-aui \
--disable-sdltest \
--enable-unicode \
--enable-display \
@@ -98,26 +100,25 @@
--with-macosx-version-min=no
if {$subport == "wxPython-3.0"} {
- set wxpythonsubset wxPython-2.9.4.0-MacPorts-subset
+ set wxpythonsubset wxPython-2.9.5.0-MacPorts-subset
distfiles-append ${wxpythonsubset}${extract.suffix}:trac
- # patch-src-osx-cocoa-window.mm.diff: http://trac.wxwidgets.org/changeset/72195 (only needed for 2.9.4)
- # patch-include-wx-math.h.diff: http://trac.wxwidgets.org/changeset/74456 (only needed for 2.9.4)
- patchfiles-append patch-src-osx-cocoa-window.mm.diff \
- patch-include-wx-math.h.diff
-
description wxWidgets ${branch} for the wxPython distribution
long_description The port installs wxWidgets ${branch} for wxPython \
to guarantee compatibility even when the upstream versions \
of wxWidgets and wxPython differ.
checksums ${distname}-${version}${extract.suffix} \
- rmd160 62301f8ce39a8aa96e65318f9d1e947c9dc09c50 \
- sha256 6c530c35f40c3b1a5f9a4577c3ee8a9982e745081f23e3fbb9951d6d17514d12 \
+ rmd160 f5c91099b2cf3e39eadbcf99df0dd9a97017d47f \
+ sha256 b74ba96ca537cc5d049d21ec9ab5eb2670406a4aa9f1ea4845ea84a9955a6e02 \
${wxpythonsubset}${extract.suffix} \
- rmd160 7831cee8185c521d8b565b56555b3005dee1d53d \
- sha256 971b644768d4010b38acf7232deb8cf3c91921ca8b09dec82c1616b93c751f4c
+ rmd160 936858d5856adde043d107164b1b53d3209eb76d \
+ sha256 c892f257b151726a70886c7cffda51554b48b8e9cc7cfcc962d6988c5fe81856
+ patchfiles-delete patch-configure.diff
+ patchfiles-append patch-configure295.diff \
+ patch-upstream-src-osx-cocoa-window.mm.diff
+
post-destroot {
# copy a subset of wxPython to wxWidgets to prevent a conflict
# between py2X-wxpython-3.0 and py2Y-wxpython-3.0
@@ -127,12 +128,9 @@
livecheck.type none
} elseif {$subport == "wxgtk-3.0"} {
# both patches could be added to wxWidgets-3.0, but they are not needed for Cocoa
- # and might need changes for wxWidgets 2.9.4
#
# patch-sdl.diff: the patch allows using --wxth-sdl
- # patch-upstream-psn.diff: http://trac.wxwidgets.org/changeset/74703
- patchfiles-append patch-sdl.diff \
- patch-upstream-psn.diff
+ patchfiles-append patch-sdl.diff
depends_build-append path:bin/pkg-config:pkgconfig
depends_lib-append path:lib/pkgconfig/cairo.pc:cairo \
@@ -214,10 +212,6 @@
--enable-std_string_conv_in_wxstring
}
-variant aui description {add support for AUI docking library} {
- configure.args-append --enable-aui
-}
-
livecheck.type regex
livecheck.url ${homepage}/downloads/
livecheck.regex Release.*(\[23\]\\.\[0-9\]\\.\[0-9\]+)
Modified: trunk/dports/graphics/wxWidgets-3.0/files/patch-configure.diff
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-configure.diff 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-configure.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -1,8 +1,7 @@
-The first part is for GTK and makes sure that the port finds the right OpenGL library
-The second part makes sure that install_name_tool doesn't break library names and links (http://trac.wxwidgets.org/ticket/15452)
+This patch is needed for GTK to make sure that the port finds the right OpenGL library
--- configure.orig
+++ configure
-@@ -22038,48 +22038,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+@@ -21900,48 +21900,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
@@ -52,28 +51,3 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libraries directories" >&5
$as_echo_n "checking for libraries directories... " >&6; }
-@@ -29402,24 +29361,6 @@ rm -f core conftest.err conftest.$ac_objext \
- ;;
-
- *-*-darwin* )
-- install_name_tool=`which ${HOST_PREFIX}install_name_tool`
-- if test "$install_name_tool" -a -x "$install_name_tool"; then
-- DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@"
-- cat <<EOF >change-install-names
--#!/bin/sh
--libnames=\`cd \${2} ; ls -1 | grep '\.[0-9][0-9]*\.dylib\$'\`
--for i in \${libnames} ; do
-- ${HOST_PREFIX}install_name_tool -id \${3}/\${i} \${1}/\${i}
-- for dep in \${libnames} ; do
-- ${HOST_PREFIX}install_name_tool -change \${2}/\${dep} \${3}/\${dep} \${1}/\${i}
-- done
--done
--EOF
-- chmod +x change-install-names
-- DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${DESTDIR}\${libdir} \$(wx_top_builddir)/lib \${libdir}"
-- fi
--
-- HEADER_PAD_OPTION="-headerpad_max_install_names"
- ;;
-
- *-*-cygwin* | *-*-mingw32* )
Copied: trunk/dports/graphics/wxWidgets-3.0/files/patch-configure295.diff (from rev 112085, trunk/dports/graphics/wxWidgets-3.0/files/patch-configure.diff)
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-configure295.diff (rev 0)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-configure295.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -0,0 +1,79 @@
+The first part is for GTK and makes sure that the port finds the right OpenGL library
+The second part makes sure that install_name_tool doesn't break library names and links (http://trac.wxwidgets.org/ticket/15452)
+--- configure.orig
++++ configure
+@@ -22038,48 +22038,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+-SEARCH_INCLUDE="\
+- /usr/local/include \
+- /usr/local/X11/include \
+- /usr/local/include/X11 \
+- /usr/local/X11R7/include \
+- /usr/local/X11R6/include \
+- /usr/local/include/X11R7 \
+- /usr/local/include/X11R6 \
+- \
+- /usr/Motif-2.1/include \
+- /usr/Motif-1.2/include \
+- /usr/include/Motif1.2 \
+- \
+- /usr/dt/include \
+- /usr/openwin/include \
+- \
+- /usr/include/Xm \
+- \
+- /usr/X11R7/include \
+- /usr/X11R6/include \
+- /usr/X11R6.4/include \
+- \
+- /usr/include/X11R7 \
+- /usr/include/X11R6 \
+- \
+- /usr/X11/include \
+- /usr/include/X11 \
+- \
+- /usr/XFree86/include/X11 \
+- /usr/pkg/include \
+- \
+- /usr/local/X1R5/include \
+- /usr/local/include/X11R5 \
+- /usr/X11R5/include \
+- /usr/include/X11R5 \
+- \
+- /usr/local/X11R4/include \
+- /usr/local/include/X11R4 \
+- /usr/X11R4/include \
+- /usr/include/X11R4 \
+- \
+- /usr/openwin/share/include"
++SEARCH_INCLUDE="@@PREFIX@@/include"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libraries directories" >&5
+ $as_echo_n "checking for libraries directories... " >&6; }
+@@ -29402,24 +29361,6 @@ rm -f core conftest.err conftest.$ac_objext \
+ ;;
+
+ *-*-darwin* )
+- install_name_tool=`which ${HOST_PREFIX}install_name_tool`
+- if test "$install_name_tool" -a -x "$install_name_tool"; then
+- DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@"
+- cat <<EOF >change-install-names
+-#!/bin/sh
+-libnames=\`cd \${2} ; ls -1 | grep '\.[0-9][0-9]*\.dylib\$'\`
+-for i in \${libnames} ; do
+- ${HOST_PREFIX}install_name_tool -id \${3}/\${i} \${1}/\${i}
+- for dep in \${libnames} ; do
+- ${HOST_PREFIX}install_name_tool -change \${2}/\${dep} \${3}/\${dep} \${1}/\${i}
+- done
+-done
+-EOF
+- chmod +x change-install-names
+- DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${DESTDIR}\${libdir} \$(wx_top_builddir)/lib \${libdir}"
+- fi
+-
+- HEADER_PAD_OPTION="-headerpad_max_install_names"
+ ;;
+
+ *-*-cygwin* | *-*-mingw32* )
Deleted: trunk/dports/graphics/wxWidgets-3.0/files/patch-include-wx-math.h.diff
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-include-wx-math.h.diff 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-include-wx-math.h.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -1,17 +0,0 @@
-Upstream: http://trac.wxwidgets.org/changeset/74456
---- include/wx/math.h (revision 73280)
-+++ include/wx/math.h (revision 74456)
-@@ -62,7 +62,12 @@
- add more compilers with C99 support here: using C99 isfinite() is
- preferable to using BSD-ish finite()
- */
-- #define wxFinite(x) isfinite(x)
-+ #if defined(_GLIBCXX_CMATH) || defined(_LIBCPP_CMATH)
-+ // these <cmath> headers #undef isfinite
-+ #define wxFinite(x) std::isfinite(x)
-+ #else
-+ #define wxFinite(x) isfinite(x)
-+ #endif
- #elif ( defined(__GNUG__)||defined(__GNUWIN32__)||defined(__DJGPP__)|| \
- defined(__SGI_CC__)||defined(__SUNCC__)||defined(__XLC__)|| \
- defined(__HPUX__) ) && ( !defined(wxOSX_USE_IPHONE) || wxOSX_USE_IPHONE == 0 )
Modified: trunk/dports/graphics/wxWidgets-3.0/files/patch-sdl.diff
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-sdl.diff 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-sdl.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -2,7 +2,7 @@
http://trac.wxwidgets.org/ticket/15453
--- Makefile.in.orig
+++ Makefile.in
-@@ -6719,8 +6719,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_1 = \
+@@ -6725,8 +6725,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_1 = \
@COND_TOOLKIT_MSW at __WEBVIEW_SRC_PLATFORM_OBJECTS = monodll_webview_ie.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2 at __AUI_GTK_SRC_OBJECTS \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monodll_tabartgtk.o
@@ -13,7 +13,7 @@
@COND_PLATFORM_WIN32_1 at __monodll___win32rc = monodll_version_rc.o
@COND_USE_STC_1 at __wxscintilla_library_link_DEP = $(__wxscintilla___depname)
@COND_USE_STC_1 at __wxscintilla_library_link_LIBR = -L$(LIBDIRNAME)
-@@ -8970,8 +8970,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_3 = \
+@@ -8975,8 +8975,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_3 = \
@COND_TOOLKIT_MSW at __WEBVIEW_SRC_PLATFORM_OBJECTS_1 = monolib_webview_ie.o
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2 at __AUI_GTK_SRC_OBJECTS_1 \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monolib_tabartgtk.o
@@ -24,7 +24,7 @@
COND_MONOLITHIC_0_SHARED_1___basedll___depname = \
$(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
@COND_MONOLITHIC_0_SHARED_1 at __basedll___depname = $(COND_MONOLITHIC_0_SHARED_1___basedll___depname)
-@@ -13111,8 +13111,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_5 = \
+@@ -13114,8 +13114,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_5 = \
@COND_TOOLKIT_MSW at __ADVANCED_UNIV_SRC_OBJECTS_2 = advdll_animateg.o
@COND_TOOLKIT_WINCE at __ADVANCED_UNIV_SRC_OBJECTS_2 = advdll_animateg.o
@COND_TOOLKIT_X11 at __ADVANCED_UNIV_SRC_OBJECTS_2 = advdll_animateg.o
@@ -35,7 +35,7 @@
COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname = \
$(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT)
@COND_MONOLITHIC_0_SHARED_0_USE_GUI_1 at __advlib___depname = $(COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname)
-@@ -13424,8 +13424,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_7 = \
+@@ -13427,8 +13427,8 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_7 = \
@COND_TOOLKIT_MSW at __ADVANCED_UNIV_SRC_OBJECTS_3 = advlib_animateg.o
@COND_TOOLKIT_WINCE at __ADVANCED_UNIV_SRC_OBJECTS_3 = advlib_animateg.o
@COND_TOOLKIT_X11 at __ADVANCED_UNIV_SRC_OBJECTS_3 = advlib_animateg.o
Deleted: trunk/dports/graphics/wxWidgets-3.0/files/patch-src-osx-cocoa-window.mm.diff
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-src-osx-cocoa-window.mm.diff 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-src-osx-cocoa-window.mm.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -1,64 +0,0 @@
-Upstream: http://trac.wxwidgets.org/changeset/72195
---- src/osx/cocoa/window.mm (revision 72169)
-+++ src/osx/cocoa/window.mm (revision 72195)
-@@ -456,4 +456,9 @@
- - (CGFloat)deviceDeltaX;
- - (CGFloat)deviceDeltaY;
-+
-+// 10.7+
-+- (BOOL)hasPreciseScrollingDeltas;
-+- (CGFloat)scrollingDeltaX;
-+- (CGFloat)scrollingDeltaY;
- @end
-
-@@ -610,21 +615,37 @@
- wxevent.SetEventType( wxEVT_MOUSEWHEEL ) ;
-
-- // see http://developer.apple.com/qa/qa2005/qa1453.html
-- // for more details on why we have to look for the exact type
--
-- const EventRef cEvent = (EventRef) [nsEvent eventRef];
-- bool isMouseScrollEvent = false;
-- if ( cEvent )
-- isMouseScrollEvent = ::GetEventKind(cEvent) == kEventMouseScroll;
--
-- if ( isMouseScrollEvent )
-+ if ( UMAGetSystemVersion() >= 0x1070 )
- {
-- deltaX = [nsEvent deviceDeltaX];
-- deltaY = [nsEvent deviceDeltaY];
-+ if ( [nsEvent hasPreciseScrollingDeltas] )
-+ {
-+ deltaX = [nsEvent scrollingDeltaX];
-+ deltaY = [nsEvent scrollingDeltaY];
-+ }
-+ else
-+ {
-+ deltaX = [nsEvent scrollingDeltaX] * 10;
-+ deltaY = [nsEvent scrollingDeltaY] * 10;
-+ }
- }
- else
- {
-- deltaX = ([nsEvent deltaX] * 10);
-- deltaY = ([nsEvent deltaY] * 10);
-+ const EventRef cEvent = (EventRef) [nsEvent eventRef];
-+ // see http://developer.apple.com/qa/qa2005/qa1453.html
-+ // for more details on why we have to look for the exact type
-+
-+ bool isMouseScrollEvent = false;
-+ if ( cEvent )
-+ isMouseScrollEvent = ::GetEventKind(cEvent) == kEventMouseScroll;
-+
-+ if ( isMouseScrollEvent )
-+ {
-+ deltaX = [nsEvent deviceDeltaX];
-+ deltaY = [nsEvent deviceDeltaY];
-+ }
-+ else
-+ {
-+ deltaX = ([nsEvent deltaX] * 10);
-+ deltaY = ([nsEvent deltaY] * 10);
-+ }
- }
-
Deleted: trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-psn.diff
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-psn.diff 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-psn.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -1,55 +0,0 @@
-Upstream: http://trac.wxwidgets.org/changeset/74703
---- src/common/appcmn.cpp.orig
-+++ src/common/appcmn.cpp
-@@ -84,6 +84,27 @@ wxAppBase::wxAppBase()
-
- bool wxAppBase::Initialize(int& argcOrig, wxChar **argvOrig)
- {
-+#ifdef __WXOSX__
-+ // Mac OS X passes a process serial number command line argument when
-+ // the application is launched from the Finder. This argument must be
-+ // removed from the command line arguments before being handled by the
-+ // application (otherwise applications would need to handle it)
-+ //
-+ // Notice that this has to be done for all ports that can be used under OS
-+ // X (e.g. wxGTK) and not just wxOSX itself, hence this code is here and
-+ // not in a port-specific file.
-+ if ( argcOrig > 1 )
-+ {
-+ static const wxChar *ARG_PSN = wxT("-psn_");
-+ if ( wxStrncmp(argvOrig[1], ARG_PSN, wxStrlen(ARG_PSN)) == 0 )
-+ {
-+ // remove this argument
-+ --argcOrig;
-+ memmove(argvOrig + 1, argvOrig + 2, argcOrig * sizeof(wxChar*));
-+ }
-+ }
-+#endif // __WXOSX__
-+
- if ( !wxAppConsole::Initialize(argcOrig, argvOrig) )
- return false;
-
---- src/osx/carbon/app.cpp.orig
-+++ src/osx/carbon/app.cpp
-@@ -795,21 +795,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
- InstallDebugAssertOutputHandler( NewDebugAssertOutputHandlerUPP( wxMacAssertOutputHandler ) );
- #endif
-
-- // Mac OS X passes a process serial number command line argument when
-- // the application is launched from the Finder. This argument must be
-- // removed from the command line arguments before being handled by the
-- // application (otherwise applications would need to handle it)
-- if ( argc > 1 )
-- {
-- static const wxChar *ARG_PSN = wxT("-psn_");
-- if ( wxStrncmp(argv[1], ARG_PSN, wxStrlen(ARG_PSN)) == 0 )
-- {
-- // remove this argument
-- --argc;
-- memmove(argv + 1, argv + 2, argc * sizeof(wxChar*));
-- }
-- }
--
- /*
- Cocoa supports -Key value options which set the user defaults key "Key"
- to the value "value" Some of them are very handy for debugging like
Copied: trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-src-osx-cocoa-window.mm.diff (from rev 112085, trunk/dports/graphics/wxWidgets-3.0/files/patch-src-osx-cocoa-window.mm.diff)
===================================================================
--- trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-src-osx-cocoa-window.mm.diff (rev 0)
+++ trunk/dports/graphics/wxWidgets-3.0/files/patch-upstream-src-osx-cocoa-window.mm.diff 2013-10-14 12:45:56 UTC (rev 112161)
@@ -0,0 +1,280 @@
+http://trac.wxwidgets.org/ticket/15345
+http://trac.wxwidgets.org/changeset/74613
+http://trac.wxwidgets.org/changeset/74945
+
+--- include/wx/osx/cocoa/private.h.orig
++++ include/wx/osx/cocoa/private.h
+@@ -161,6 +161,7 @@ public :
+ virtual void cursorUpdate(WX_NSEvent event, WXWidget slf, void* _cmd);
+ virtual void keyEvent(WX_NSEvent event, WXWidget slf, void* _cmd);
+ virtual void insertText(NSString* text, WXWidget slf, void* _cmd);
++ virtual void doCommandBySelector(void* sel, WXWidget slf, void* _cmd);
+ virtual bool performKeyEquivalent(WX_NSEvent event, WXWidget slf, void* _cmd);
+ virtual bool acceptsFirstResponder(WXWidget slf, void* _cmd);
+ virtual bool becomeFirstResponder(WXWidget slf, void* _cmd);
+--- src/osx/cocoa/window.mm.orig
++++ src/osx/cocoa/window.mm
+@@ -110,6 +110,22 @@ NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const
+
+ @end // wxNSView
+
++ at interface wxNSView(TextInput) <NSTextInputClient>
++
++- (void)insertText:(id)aString replacementRange:(NSRange)replacementRange;
++- (void)doCommandBySelector:(SEL)aSelector;
++- (void)setMarkedText:(id)aString selectedRange:(NSRange)selectedRange replacementRange:(NSRange)replacementRange;
++- (void)unmarkText;
++- (NSRange)selectedRange;
++- (NSRange)markedRange;
++- (BOOL)hasMarkedText;
++- (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange;
++- (NSArray*)validAttributesForMarkedText;
++- (NSRect)firstRectForCharacterRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange;
++- (NSUInteger)characterIndexForPoint:(NSPoint)aPoint;
++
++ at end
++
+ @interface NSView(PossibleMethods)
+ - (void)setTitle:(NSString *)aString;
+ - (void)setStringValue:(NSString *)aString;
+@@ -837,6 +853,73 @@ void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEve
+
+ @end // wxNSView
+
++// We need to adopt NSTextInputClient protocol in order to interpretKeyEvents: to work.
++// Currently, only insertText:(replacementRange:) is
++// implemented here, and the rest of the methods are stubs.
++// It is hoped that someday IME-related functionality is implemented in
++// wxWidgets and the methods of this protocol are fully working.
++
++ at implementation wxNSView(TextInput)
++
++void wxOSX_insertText(NSView* self, SEL _cmd, NSString* text);
++
++- (void)insertText:(id)aString replacementRange:(NSRange)replacementRange
++{
++ wxOSX_insertText(self, @selector(insertText:), aString);
++}
++
++- (void)doCommandBySelector:(SEL)aSelector
++{
++ wxWidgetCocoaImpl* impl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( self );
++ if (impl)
++ impl->doCommandBySelector(aSelector, self, _cmd);
++}
++
++- (void)setMarkedText:(id)aString selectedRange:(NSRange)selectedRange replacementRange:(NSRange)replacementRange
++{
++}
++
++- (void)unmarkText
++{
++}
++
++- (NSRange)selectedRange
++{
++ return NSMakeRange(NSNotFound, 0);
++}
++
++- (NSRange)markedRange
++{
++ return NSMakeRange(NSNotFound, 0);
++}
++
++- (BOOL)hasMarkedText
++{
++ return NO;
++}
++
++- (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange
++{
++ return nil;
++}
++
++- (NSArray*)validAttributesForMarkedText
++{
++ return nil;
++}
++
++- (NSRect)firstRectForCharacterRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange
++{
++ return NSMakeRect(0, 0, 0, 0);
++}
++- (NSUInteger)characterIndexForPoint:(NSPoint)aPoint
++{
++ return NSNotFound;
++}
++
++ at end // wxNSView(TextInput)
++
++
+ //
+ // event handlers
+ //
+@@ -1286,13 +1369,80 @@ void wxWidgetCocoaImpl::keyEvent(WX_NSEvent event, WXWidget slf, void *_cmd)
+
+ void wxWidgetCocoaImpl::insertText(NSString* text, WXWidget slf, void *_cmd)
+ {
+- if ( m_lastKeyDownEvent==NULL || m_hasEditor || !DoHandleCharEvent(m_lastKeyDownEvent, text) )
++ bool result = false;
++ if ( IsUserPane() && !m_hasEditor && [text length] > 0)
++ {
++ if ( m_lastKeyDownEvent!=NULL && [text isEqualToString:[m_lastKeyDownEvent characters]])
++ {
++ // If we have a corresponding key event, send wxEVT_KEY_DOWN now.
++ // (see also: wxWidgetCocoaImpl::DoHandleKeyEvent)
++ {
++ wxKeyEvent wxevent(wxEVT_KEY_DOWN);
++ SetupKeyEvent( wxevent, m_lastKeyDownEvent );
++ result = GetWXPeer()->OSXHandleKeyEvent(wxevent);
++ }
++
++ // ...and wxEVT_CHAR.
++ result = result || DoHandleCharEvent(m_lastKeyDownEvent, text);
++ }
++ else
++ {
++ // If we don't have a corresponding key event (e.g. IME-composed
++ // characters), send wxEVT_CHAR without sending wxEVT_KEY_DOWN.
++ for (NSUInteger i = 0; i < [text length]; ++i)
++ {
++ wxKeyEvent wxevent(wxEVT_CHAR);
++ wxevent.m_shiftDown = wxevent.m_controlDown = wxevent.m_altDown = wxevent.m_metaDown = false;
++ wxevent.m_rawCode = 0;
++ wxevent.m_rawFlags = 0;
++ wxevent.SetTimestamp();
++ unichar aunichar = [text characterAtIndex:i];
++ wxevent.m_uniChar = aunichar;
++ wxevent.m_keyCode = aunichar < 0x80 ? aunichar : WXK_NONE;
++ wxWindowMac* peer = GetWXPeer();
++ if ( peer )
++ {
++ wxevent.SetEventObject(peer);
++ wxevent.SetId(peer->GetId());
++ }
++ result = GetWXPeer()->OSXHandleKeyEvent(wxevent) || result;
++ }
++ }
++ }
++ if ( !result )
+ {
+ wxOSX_TextEventHandlerPtr superimpl = (wxOSX_TextEventHandlerPtr) [[slf superclass] instanceMethodForSelector:(SEL)_cmd];
+ superimpl(slf, (SEL)_cmd, text);
+ }
+ }
+
++void wxWidgetCocoaImpl::doCommandBySelector(void* sel, WXWidget slf, void* _cmd)
++{
++ if ( m_lastKeyDownEvent!=NULL )
++ {
++ // If we have a corresponding key event, send wxEVT_KEY_DOWN now.
++ // (see also: wxWidgetCocoaImpl::DoHandleKeyEvent)
++ wxKeyEvent wxevent(wxEVT_KEY_DOWN);
++ SetupKeyEvent( wxevent, m_lastKeyDownEvent );
++ bool result = GetWXPeer()->OSXHandleKeyEvent(wxevent);
++
++ if (!result)
++ {
++ // Generate wxEVT_CHAR if wxEVT_KEY_DOWN is not handled.
++
++ long keycode = wxOSXTranslateCocoaKey( m_lastKeyDownEvent, wxEVT_CHAR );
++
++ wxKeyEvent wxevent2(wxevent) ;
++ wxevent2.SetEventType(wxEVT_CHAR);
++ SetupKeyEvent( wxevent2, m_lastKeyDownEvent );
++ if ( (keycode > 0 && keycode < WXK_SPACE) || keycode == WXK_DELETE || keycode >= WXK_START )
++ {
++ wxevent2.m_keyCode = keycode;
++ }
++ GetWXPeer()->OSXHandleKeyEvent(wxevent2);
++ }
++ }
++}
+
+ bool wxWidgetCocoaImpl::performKeyEquivalent(WX_NSEvent event, WXWidget slf, void *_cmd)
+ {
+@@ -2555,10 +2705,18 @@ void wxWidgetCocoaImpl::InstallEventHandler( WXWidget control )
+
+ bool wxWidgetCocoaImpl::DoHandleCharEvent(NSEvent *event, NSString *text)
+ {
+- wxKeyEvent wxevent(wxEVT_CHAR);
+- SetupKeyEvent( wxevent, event, text );
++ bool result = false;
++
++ for (NSUInteger i = 0; i < [text length]; ++i)
++ {
++ wxKeyEvent wxevent(wxEVT_CHAR);
++ unichar c = [text characterAtIndex:i];
++ SetupKeyEvent( wxevent, event, [NSString stringWithCharacters:&c length:1]);
+
+- return GetWXPeer()->OSXHandleKeyEvent(wxevent);
++ result = GetWXPeer()->OSXHandleKeyEvent(wxevent) || result;
++ }
++
++ return result;
+ }
+
+ bool wxWidgetCocoaImpl::DoHandleKeyEvent(NSEvent *event)
+@@ -2577,48 +2735,23 @@ bool wxWidgetCocoaImpl::DoHandleKeyEvent(NSEvent *event)
+ return true;
+ }
+
+- bool result = GetWXPeer()->OSXHandleKeyEvent(wxevent);
+-
+- // this will fire higher level events, like insertText, to help
+- // us handle EVT_CHAR, etc.
++ if ( IsUserPane() && [event type] == NSKeyDown)
++ {
++ // Don't fire wxEVT_KEY_DOWN here in order to allow IME to intercept
++ // some key events. If the event is not handled by IME, either
++ // insertText: or doCommandBySelector: is called, so we send
++ // wxEVT_KEY_DOWN and wxEVT_CHAR there.
+
+- if ( !result )
++ if ( [m_osxView isKindOfClass:[NSScrollView class] ] )
++ [[(NSScrollView*)m_osxView documentView] interpretKeyEvents:[NSArray arrayWithObject:event]];
++ else
++ [m_osxView interpretKeyEvents:[NSArray arrayWithObject:event]];
++ return true;
++ }
++ else
+ {
+- if ( [event type] == NSKeyDown)
+- {
+- long keycode = wxOSXTranslateCocoaKey( event, wxEVT_CHAR );
+-
+- if ( (keycode > 0 && keycode < WXK_SPACE) || keycode == WXK_DELETE || keycode >= WXK_START )
+- {
+- // eventually we could setup a doCommandBySelector catcher and retransform this into the wx key chars
+- wxKeyEvent wxevent2(wxevent) ;
+- wxevent2.SetEventType(wxEVT_CHAR);
+- SetupKeyEvent( wxevent2, event );
+- wxevent2.m_keyCode = keycode;
+- result = GetWXPeer()->OSXHandleKeyEvent(wxevent2);
+- }
+- else if (wxevent.CmdDown())
+- {
+- wxKeyEvent wxevent2(wxevent) ;
+- wxevent2.SetEventType(wxEVT_CHAR);
+- SetupKeyEvent( wxevent2, event );
+- result = GetWXPeer()->OSXHandleKeyEvent(wxevent2);
+- }
+- else
+- {
+- if ( IsUserPane() && !wxevent.CmdDown() )
+- {
+- if ( [m_osxView isKindOfClass:[NSScrollView class] ] )
+- [[(NSScrollView*)m_osxView documentView] interpretKeyEvents:[NSArray arrayWithObject:event]];
+- else
+- [m_osxView interpretKeyEvents:[NSArray arrayWithObject:event]];
+- result = true;
+- }
+- }
+- }
++ return GetWXPeer()->OSXHandleKeyEvent(wxevent);
+ }
+-
+- return result;
+ }
+
+ bool wxWidgetCocoaImpl::DoHandleMouseEvent(NSEvent *event)
Modified: trunk/dports/python/py-wxpython-3.0/Portfile
===================================================================
--- trunk/dports/python/py-wxpython-3.0/Portfile 2013-10-14 11:11:15 UTC (rev 112160)
+++ trunk/dports/python/py-wxpython-3.0/Portfile 2013-10-14 12:45:56 UTC (rev 112161)
@@ -6,7 +6,8 @@
PortGroup wxWidgets 1.0
name py-wxpython-3.0
-version 2.9.4.0
+version 2.9.5.0
+set wx_version [join [lrange [split ${version} .] 0 2] .]
set branch [join [lrange [split ${version} .] 0 1] .]
categories-append graphics devel
license wxwidgets-3.1
@@ -27,21 +28,24 @@
distname wxPython
use_bzip2 yes
-checksums rmd160 35e823d9161dc99083f3025383567000680e012f \
- sha256 78c35c19e85a17cb9c730b86b49d6a479198d76d19e0b13e86db0b55707004be
+checksums rmd160 4d54edc5437fbe14e552bfc6feeeb4fb74d10cd0 \
+ sha256 1a5b7e771eff467538d0834136188e8a7506a4fe6e85d0a46c40158cdbd4c48c
python.versions 27
python.default_version 27
distfiles ${distname}-src-${version}${extract.suffix}
-dist_subdir ${distname}/${version}
worksrcdir ${distname}-src-${version}/wxPython
+dist_subdir wxWidgets/${wx_version}
# extract just the docs and wxPython subdir
extract.post_args "| tar -xf - ${worksrcdir} ${distname}-src-${version}/docs"
if {$subport != $name} {
conflicts py${python.version}-wxpython-2.8
+ # As long as wxPython and wxWidgets are at the same version,
+ # this port could also depend on wxWidgets-3.0.
+ # A separate port is there just because wxPython usually lags behind.
wxWidgets.use wxPython-3.0
depends_lib-append port:${wxWidgets.port}
@@ -52,7 +56,11 @@
destroot.cmd ${python.bin} setup.py WX_CONFIG="${wxWidgets.wxconfig}"
post-destroot {
- # this has already been added by wxWidgets
+ # When a new release of wxPython comes out, the contents of
+ # ${destroot}${wxWidgets.prefix}/Versions/wxPython/${branch}/include/wx-${branch}/wx/wxPython
+ # should be stored separately into wxPython-${version}-MacPorts-subset.tar.bz2
+ # to be extracted/installed by wxPython-3.0 rather than this port.
+ # This allows parallel installation of several versions of py**-wxpython-3.0.
delete ${destroot}${wxWidgets.prefix}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20131014/ece51abc/attachment-0001.html>
More information about the macports-changes
mailing list