Index: Portfile
===================================================================
--- Portfile	(revision 125596)
+++ Portfile	(working copy)
@@ -4,8 +4,7 @@
 PortSystem      1.0
 
 name            geany
-version         1.22
-revision        2
+version         1.24.1
 license         GPL-2+
 categories      devel
 platforms       darwin
@@ -24,8 +23,8 @@
 master_sites    http://download.geany.org/
 use_bzip2       yes
 
-checksums           rmd160  d0296f2930aa6e6b4dd7a95061c58645d9c4c1ba \
-                    sha256  901a35a7395ef10a80fb10b3ab63bae3871693a4e82d56388e9521a27877577e
+checksums       rmd160  f5fd46ed83451147a95516812628a1a6b459a98c \
+                sha256  7fb505d9b01fe6874890525f837644a6a38c23a372bb068c65ef3673108a8c33
 
 depends_build \
     port:pkgconfig \
@@ -35,8 +34,6 @@
     port:gtk2 \
     port:vte-gtk2-compat
 
-patchfiles          patch-no-export-dynamic.diff
-
 # update m4/intltool.m4 and autoreconf
 
 pre-configure {
@@ -46,8 +43,23 @@
 use_autoreconf      yes
 autoreconf.args     -fvi
 
-configure.args      --disable-silent-rules
+configure.args      --disable-silent-rules \
+                    --enable-vte
 
 platform darwin {
     patchfiles-append vte-sonames.diff
+
+    post-patch {
+        reinplace "s|@@MP_PREFIX@@|${prefix}|" ${worksrcpath}/src/vte.c
+    }
 }
+
+variant gtk3 description {Enable experimental gtk3 support} {
+    depends_lib-replace port:gtk2 port:gtk3
+    depends_lib-replace port:vte-gtk2-compat port:vte
+    configure.args-append --enable-gtk3
+}
+
+livecheck.type  regex
+livecheck.url   ${master_sites}
+livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
Index: files/patch-no-export-dynamic.diff
===================================================================
--- files/patch-no-export-dynamic.diff	(revision 125596)
+++ files/patch-no-export-dynamic.diff	(working copy)
@@ -1,22 +0,0 @@
-https://github.com/geany/geany/commit/d11f9a51b939bf39c3c1676ab823147d460ede75
---- wscript.orig	2012-06-17 17:24:32.000000000 -0500
-+++ wscript	2012-10-24 21:28:41.000000000 -0500
-@@ -309,7 +309,6 @@
-         source          = geany_sources,
-         includes        = ['.', 'scintilla/include/', 'tagmanager/include/'],
-         defines         = ['G_LOG_DOMAIN="Geany"', 'GEANY_PRIVATE'],
--        linkflags       = [] if is_win32 else ['-Wl,--export-dynamic'],
-         uselib          = ['GTK', 'GLIB', 'GMODULE', 'GIO', 'GTHREAD', 'WIN32', 'SUNOS_SOCKET'],
-         use             = ['scintilla', 'tagmanager', 'mio'])
- 
---- src/Makefile.am.orig	2014-07-17 21:00:18.000000000 -0700
-+++ src/Makefile.am	2014-07-17 21:01:10.000000000 -0700
-@@ -126,7 +126,7 @@
- 			-DGTK \
- 			-DG_LOG_DOMAIN=\""Geany"\"
- 
--geany_LDFLAGS = -Wl,--export-dynamic
-+geany_LDFLAGS =
- 
- clean-local:
- 
Index: files/vte-sonames.diff
===================================================================
--- files/vte-sonames.diff	(revision 125596)
+++ files/vte-sonames.diff	(working copy)
@@ -1,17 +1,18 @@
---- src/vte.c.orig	2012-06-17 17:47:13.000000000 -0500
-+++ src/vte.c	2012-10-24 21:28:41.000000000 -0500
-@@ -199,8 +199,8 @@
- 	if (module == NULL)
- 	{
+--- src/vte.c.orig	2014-04-16 08:20:13.000000000 -0700
++++ src/vte.c	2014-09-22 09:04:22.000000000 -0700
+@@ -203,9 +203,9 @@
  		gint i;
--		const gchar *sonames[] = {  "libvte.so", "libvte.so.4",
--									"libvte.so.8", "libvte.so.9", NULL };
-+		const gchar *sonames[] = {  "libvte.dylib", "libvte.4.dylib",
-+									"libvte.8.dylib", "libvte.9.dylib", NULL };
- 
- 		for (i = 0; sonames[i] != NULL && module == NULL; i++)
- 		{
-@@ -211,7 +211,7 @@
+ 		const gchar *sonames[] = {
+ #if GTK_CHECK_VERSION(3, 0, 0)
+-			"libvte2_90.so", "libvte2_90.so.9",
++			"@@MP_PREFIX@@/lib/libvte2_90.dylib",
+ #else
+-			"libvte.so", "libvte.so.4", "libvte.so.8", "libvte.so.9",
++			"@@MP_PREFIX@@/lib/libvte.dylib",
+ #endif
+ 			NULL
+ 		};
+@@ -219,7 +219,7 @@
  	if (module == NULL)
  	{
  		vte_info.have_vte = FALSE;
@@ -20,9 +21,9 @@
  		return;
  	}
  	else
---- src/main.c.orig	2012-06-17 17:44:36.000000000 -0500
-+++ src/main.c	2012-10-24 21:28:41.000000000 -0500
-@@ -139,7 +139,7 @@
+--- src/main.c.orig	2014-04-16 08:20:13.000000000 -0700
++++ src/main.c	2014-09-22 09:08:22.000000000 -0700
+@@ -140,7 +140,7 @@
  	{ "no-session", 's', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &cl_options.load_session, N_("Don't load the previous session's files"), NULL },
  #ifdef HAVE_VTE
  	{ "no-terminal", 't', 0, G_OPTION_ARG_NONE, &no_vte, N_("Don't load terminal support"), NULL },
