mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-01 05:45:45 +00:00
04d4d420b6
PR: 139807 Submitted by: Johannes 5 Joemann <joemann@beefree.free.de> (maintainer)
117 lines
2.5 KiB
Bash
117 lines
2.5 KiB
Bash
--- config/install.sh.orig Tue May 22 18:48:30 2007
|
|
+++ config/install.sh Sun Sep 16 02:56:22 2007
|
|
@@ -18,6 +18,8 @@
|
|
nolib=false
|
|
fi
|
|
|
|
+[ -n "$RECOMPILEDIR" ] && echo "RECOMPILEDIR=$RECOMPILEDIR"
|
|
+
|
|
if [ x${INSTALL_QUIETLY} = xtrue ] ; then
|
|
export CM_VERBOSE
|
|
CM_VERBOSE=false
|
|
@@ -38,6 +40,28 @@
|
|
exit 1
|
|
}
|
|
|
|
+#
|
|
+# do_patch patch-file
|
|
+# apply a patch file
|
|
+do_patch() {
|
|
+ patchfile=$FILESDIR/$1
|
|
+
|
|
+ if [ ! -r $patchfile ]; then
|
|
+ echo "$this: !!! patch file $patchfile not found."
|
|
+ exit 1;
|
|
+ fi
|
|
+
|
|
+ if [ ! -f $CONFIGDIR/.patch_$1 ]; then
|
|
+ $PATCH $PATCH_ARGS < $patchfile || {\
|
|
+ echo "$this: !!! patch file $patchfile failed to patch."
|
|
+ exit 1;
|
|
+ }
|
|
+ echo > $CONFIGDIR/.patch_$1
|
|
+ else
|
|
+ echo "$this: patch $patchfile already installed."
|
|
+ fi
|
|
+}
|
|
+
|
|
this=$0
|
|
|
|
|
|
@@ -308,7 +332,12 @@
|
|
# the name of the bin files directory
|
|
#
|
|
BOOT_ARCHIVE=boot.$ARCH-unix
|
|
-BOOT_FILES=sml.$BOOT_ARCHIVE
|
|
+if [ -z "$RECOMPILEDIR" ]
|
|
+then
|
|
+ BOOT_FILES=sml.$BOOT_ARCHIVE
|
|
+else
|
|
+ BOOT_FILES=$RECOMPILEDIR/sml.$BOOT_ARCHIVE
|
|
+fi
|
|
|
|
#
|
|
# build the run-time system
|
|
@@ -317,6 +346,11 @@
|
|
vsay $this: Run-time system already exists.
|
|
else
|
|
"$CONFIGDIR"/unpack "$ROOT" runtime
|
|
+ [ -n "$MLRUNTIMEPATCHES" ] && \
|
|
+ for p in $MLRUNTIMEPATCHES
|
|
+ do
|
|
+ do_patch $p
|
|
+ done
|
|
cd "$BASEDIR"/runtime/objs
|
|
echo $this: Compiling the run-time system.
|
|
$MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS
|
|
@@ -331,7 +365,7 @@
|
|
if [ -f run.$ARCH-$OPSYS.a ]; then
|
|
mv run.$ARCH-$OPSYS.a "$RUNDIR"
|
|
fi
|
|
- $MAKE MAKE=$MAKE clean
|
|
+ [ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean
|
|
else
|
|
complain "$this: !!! Run-time system build failed for some reason."
|
|
fi
|
|
@@ -357,7 +391,7 @@
|
|
complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
|
|
fi
|
|
else
|
|
- "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE"
|
|
+ [ -n "$RECOMPILEDIR" ] || "$CONFIGDIR"/unpack "$ROOT" "$BOOT_ARCHIVE"
|
|
|
|
fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
|
|
|
|
@@ -415,6 +449,18 @@
|
|
|
|
cd "$ROOT"
|
|
|
|
+# apply source patches for standard targets
|
|
+[ -n "$MLSTANDARDPATCHDIRS" ] && \
|
|
+for d in $MLSTANDARDPATCHDIRS
|
|
+do
|
|
+ "$CONFIGDIR"/unpack "$ROOT" "$d"
|
|
+done
|
|
+[ -n "$MLSTANDARDPATCHES" ] && \
|
|
+for p in $MLSTANDARDPATCHES
|
|
+do
|
|
+ do_patch $p
|
|
+done
|
|
+
|
|
#
|
|
# Now do all the rest using the precompiled installer:
|
|
#
|
|
@@ -430,5 +476,12 @@
|
|
complain "$this: !!! Installation of libraries and programs failed."
|
|
fi
|
|
fi
|
|
+
|
|
+# apply all source patches
|
|
+[ -n "$MLSOURCEPATCHES" ] && \
|
|
+for p in $MLSOURCEPATCHES
|
|
+do
|
|
+ do_patch $p
|
|
+done
|
|
|
|
exit 0
|