aboutsummaryrefslogtreecommitdiffstats
path: root/java/eclipse/Makefile
diff options
context:
space:
mode:
authorolgeni <olgeni@FreeBSD.org>2003-07-15 05:17:22 +0800
committerolgeni <olgeni@FreeBSD.org>2003-07-15 05:17:22 +0800
commit5c97bb291a33d721922aca1fd91ea49ee4e0bbaa (patch)
treeaf4cee7f6ba19320e94f4cecb6de58303cb1f83f /java/eclipse/Makefile
parent4f62dbd133e526143f192f3869ca9863022805bb (diff)
downloadfreebsd-ports-gnome-5c97bb291a33d721922aca1fd91ea49ee4e0bbaa.tar.gz
freebsd-ports-gnome-5c97bb291a33d721922aca1fd91ea49ee4e0bbaa.tar.zst
freebsd-ports-gnome-5c97bb291a33d721922aca1fd91ea49ee4e0bbaa.zip
The refactor/rename option would not work when building from sources, as
stated in Eclipse PR 37846. https://bugs.eclipse.org/bugs/show_bug.cgi?id=37846 The REINPLACE_CMD-powered "refactoring" is somewhat brutal, but it is better than 50+ patchfiles or a single large diff.
Diffstat (limited to 'java/eclipse/Makefile')
-rw-r--r--java/eclipse/Makefile17
1 files changed, 16 insertions, 1 deletions
diff --git a/java/eclipse/Makefile b/java/eclipse/Makefile
index 9d1da442aa85..c79fcf38db94 100644
--- a/java/eclipse/Makefile
+++ b/java/eclipse/Makefile
@@ -7,7 +7,7 @@
PORTNAME= eclipse
PORTVERSION= 2.1.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= java devel
MASTER_SITES= ${MASTER_SITE_ECLIPSE}
MASTER_SITE_SUBDIR= R-2.1.1-200306271545
@@ -38,8 +38,23 @@ ECLIPSE_BUILD= 2135
ECLIPSE_OS= freebsd
ECLIPSE_WS= gtk
ECLIPSE_ARCH= x86
+
+# Here we must work around a bug that pops up when building from sources. A
+# certain "run" method must be made visible in the whole class hierarchy by
+# changing making it public, as documented here:
+#
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=37846
+#
+# This access change has roots in patch-SelectionDispatchAction.java.
post-patch:
@${FIND} ${WRKSRC} -name build.xml | ${XARGS} ${REINPLACE_CMD} 's@verbose="true"@verbose="false"@g'
+ # "refactoring" begins here
+ @${LN} -sf "ui refactoring" ${WRKSRC}/plugins/org.eclipse.jdt.ui/ui_refactoring
+ @for FILE in $$(${FIND} -L ${WRKSRC} -print0 | ${XARGS} -0 ${GREP} -l -E "extends (SelectionDispatchAction|ReorgDestinationAction)" | grep -v " "); do \
+ ${REINPLACE_CMD} -e "s@protected void run(@public void run(@" \
+ -e "s@protected final void run(@public final void run(@" $$FILE; \
+ done
+
.include <bsd.port.mk>