summaryrefslogtreecommitdiff
path: root/java/eclipse/scripts/pre-patch
diff options
context:
space:
mode:
Diffstat (limited to 'java/eclipse/scripts/pre-patch')
-rw-r--r--java/eclipse/scripts/pre-patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/java/eclipse/scripts/pre-patch b/java/eclipse/scripts/pre-patch
new file mode 100644
index 000000000000..3444009f5048
--- /dev/null
+++ b/java/eclipse/scripts/pre-patch
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+set -x
+
+# Copy the Linux 'native' code for the FreeBSD versions
+# At this point, just make sure the directory and file names are "freebsd"
+# These files will be patched in the do-patch step.
+
+check_freebsd_mak ()
+{
+ local d
+ d=`dirname "$1"`
+ [ -e "${d}/make_freebsd.mak" ] && return
+ cp -p "$1" "${d}/make_freebsd.mak"
+}
+
+for d in ${WRKSRC}/eclipse.platform.resources/bundles/org.eclipse.core.filesystem.linux.x* \
+ ${WRKSRC}/eclipse.platform.team/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x* \
+ ${WRKSRC}/eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.x* \
+ ${WRKSRC}/eclipse.platform.resources/bundles/org.eclipse.core.filesystem/natives/unix/linux \
+ ${WRKSRC}/eclipse.platform.team/bundles/org.eclipse.core.net/natives/unix/linux \
+ ${WRKSRC}/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.linux.x* \
+ ${WRKSRC}/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/x* \
+ ${WRKSRC}/rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.x* \
+ ${WRKSRC}/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/bin/gtk/linux/x*
+do
+ mkdir -p `echo $d | sed -e 's/linux/freebsd/'`
+ [ -d $d ] && ( cd $d; tar cf - . ) | ( cd `echo $d | sed -e 's/linux/freebsd/'`; tar xf - )
+done
+
+for d in `find ${WRKSRC} -type d -name \*freebsd\*`
+do
+ for f in `find $d -name \*linux\*`
+ do
+ mv $f `echo $f | sed -e 's/linux/freebsd/'`
+ done
+ find $d -type f \( -name \*.so -o -name eclipse -o -name launcher \) -delete
+done
+
+find ${WRKSRC} -type f -name make_linux.mak | while read file; do check_freebsd_mak "$file"; done