diff -r e988d44e04d7 -r 0088e0805b10 Admin/Release/makebundle --- a/Admin/Release/makebundle Wed Jan 09 17:04:59 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -#!/usr/bin/env bash -# -# makebundle -- re-package with add-on components - -## diagnostics - -PRG=$(basename "$0") - -function usage() -{ - echo - echo "Usage: $PRG ARCHIVE PLATFORM" - echo - echo " Re-package Isabelle source distribution with add-on components" - echo " and heap images" - echo - exit 1 -} - -function fail() -{ - echo "$1" >&2 - exit 2 -} - - -## implicit and explicit arguments - -TMP="/var/tmp/isabelle-makebundle$$" -mkdir "$TMP" || fail "Cannot create directory $TMP" - -[ "$#" -ne 2 ] && usage - -ARCHIVE="$1"; shift -PLATFORM="$1"; shift - -[ -f "$ARCHIVE" ] || fail "Bad source archive: $ARCHIVE" - - -## main - -ARCHIVE_DIR="$(cd $(dirname "$ARCHIVE"); echo "$PWD")" -ISABELLE_NAME="$(basename "$ARCHIVE" .tar.gz)" -ISABELLE_HOME="$TMP/$ISABELLE_NAME" - -tar -C "$TMP" -x -z -f "$ARCHIVE" - - -echo "#bundled components" >> "$ISABELLE_HOME/etc/components" - -for CONTRIB in "$ARCHIVE_DIR/contrib/"*.tar.gz "$ARCHIVE_DIR/contrib/$PLATFORM"/*.tar.gz -do - if [ -f "$CONTRIB" ]; then - tar -C "$ISABELLE_HOME/contrib" -x -z -f "$CONTRIB" - NAME="$(basename "$CONTRIB" .tar.gz)" - [ -d "$ISABELLE_HOME/contrib/$NAME" ] || fail "Bad archive content $CONTRIB" - - if [ -e "$ISABELLE_HOME/contrib/$NAME/etc/settings" ]; then - echo "component $NAME" - if [ "$PLATFORM" != x86-cygwin -a "$NAME" = ProofGeneral-3.7.1.1 ]; then - echo "#contrib/$NAME" >> "$ISABELLE_HOME/etc/components" - elif [ "$PLATFORM" = x86-cygwin -a "$NAME" = ProofGeneral-4.1 ]; then - echo "#contrib/$NAME" >> "$ISABELLE_HOME/etc/components" - else - echo "contrib/$NAME" >> "$ISABELLE_HOME/etc/components" - fi - else - echo "package $NAME" - fi - fi -done - -if [ "$PLATFORM" = x86-cygwin ]; then - TAR="$ARCHIVE_DIR/contrib/x86-cygwin/Isabelle.tar" - [ -e "$TAR" ] || fail "Missing $TAR" - rm -f "$ISABELLE_HOME/Isabelle" - tar -C "$ISABELLE_HOME" -xv -f "$TAR" - - ( - cd "$ISABELLE_HOME" - for DIR in $(find contrib -name x86-linux -o -name x86_64-linux -o -name x86-darwin -o -name x86_64-darwin | sort) - do - echo "removing $DIR" - rm -rf "$DIR" - done - ) - - mv "$ISABELLE_HOME/contrib"/polyml* "$ISABELLE_HOME/contrib/cygwin-1.7.9/usr/local/" - ( - cd "$ISABELLE_HOME/contrib/cygwin-1.7.9" - find usr/local/polyml-*/x86-cygwin | gzip > etc/setup/polyml.lst.gz - ) - - for NAME in ANNOUNCE README NEWS COPYRIGHT CONTRIBUTORS contrib/README - do - FILE="$ISABELLE_HOME/$NAME" - { - echo '' - echo '' - echo '' - echo '
' - echo '' - echo "' - perl -w -p -e "s/&/&/g; s/</g; s/>/>/g; s/'/'/g; s/\"/"/g;" "$FILE" - echo '' - echo '' - } > "${FILE}.html" - done -fi - - -HEAPS_ARCHIVE="$ARCHIVE_DIR/${ISABELLE_NAME}_heaps_${PLATFORM}.tar.gz" -[ -f "$HEAPS_ARCHIVE" ] || fail "Bad heaps archive: $HEAPS_ARCHIVE" -echo "heaps" -tar -C "$TMP" -x -z -f "$HEAPS_ARCHIVE" - -case "$PLATFORM" in - x86_64-linux) - perl -pi -e 's,^ML_PLATFORM=.*$,ML_PLATFORM="\$ISABELLE_PLATFORM64",g;' "$TMP/$ISABELLE_NAME/etc/settings" - perl -pi -e "s,^ML_OPTIONS=.*$,ML_OPTIONS=\"-H 400\",g;" "$TMP/$ISABELLE_NAME/etc/settings" - ;; - *-darwin) - perl -pi -e "s,lookAndFeel=.*,lookAndFeel=com.apple.laf.AquaLookAndFeel,g;" \ - -e "s,delete-line.shortcut=.*,delete-line.shortcut=C+d,g;" \ - -e "s,delete.shortcut2=.*,delete.shortcut2=A+d,g;" \ - "$TMP/$ISABELLE_NAME/src/Tools/jEdit/dist/properties/jEdit.props" - ;; - *-cygwin) - perl -pi -e "s,lookAndFeel=.*,lookAndFeel=com.sun.java.swing.plaf.windows.WindowsLookAndFeel,g;" \ - "$TMP/$ISABELLE_NAME/src/Tools/jEdit/dist/properties/jEdit.props" - ;; - *) - ;; -esac - -BUNDLE_ARCHIVE="${ARCHIVE_DIR}/${ISABELLE_NAME}_bundle_${PLATFORM}.tar.gz" - -echo "$(basename "$BUNDLE_ARCHIVE")" -tar -C "$TMP" -c -z -f "$BUNDLE_ARCHIVE" "$ISABELLE_NAME" - - -# clean up -cd /tmp -rm -rf "$TMP"