wok annotate get-xcas/stuff/get-xcas @ rev 13701

Add get-xcas
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Dec 17 10:11:05 2012 +0100 (2012-12-17)
parents
children 023a32bce7dd
rev   line source
pascal@13701 1 #!/bin/sh -e
pascal@13701 2
pascal@13701 3 PACKAGE="xcas"
pascal@13701 4 WEB_SITE="http://www-fourier.ujf-grenoble.fr/~parisse/giac.html"
pascal@13701 5 CATEGORY="misc"
pascal@13701 6 SHORT_DESC="Computer algebra system"
pascal@13701 7 MAINTAINER="bernard.parisse@ujf-grenoble.fr"
pascal@13701 8 DEPENDS=""
pascal@13701 9 URL=http://www-fourier.ujf-grenoble.fr/~parisse/giac/xcas.tgz
pascal@13701 10
pascal@13701 11 ROOT="$1"
pascal@13701 12 [ -d "$ROOT" ] || ROOT=""
pascal@13701 13
pascal@13701 14 if test $(id -u) != 0 ; then
pascal@13701 15 echo -e "\nYou must be root to run `basename $0`."
pascal@13701 16 echo -e "Please type 'su' and root password to become super-user.\n"
pascal@13701 17 exit 0
pascal@13701 18 fi
pascal@13701 19
pascal@13701 20 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ]; then
pascal@13701 21 [ -n "$ROOT" ] && exit 1
pascal@13701 22 tazpkg remove $PACKAGE
pascal@13701 23 [ -d /var/lib/tazpkg/installed/$PACKAGE ] && exit 1
pascal@13701 24 fi
pascal@13701 25
pascal@13701 26 TMP_DIR=/tmp/get-$PACKAGE-$$-$RANDOM
pascal@13701 27 CUR_DIR=$(pwd)
pascal@13701 28 mkdir -p $TMP_DIR && cd $TMP_DIR
pascal@13701 29
pascal@13701 30 get_releases()
pascal@13701 31 {
pascal@13701 32 wget -qO- "$URL?C=M;O=D" | sed 's|.*[Ff]="\([^"/]*\).*|\1|;/[^0-9b]/d'
pascal@13701 33 }
pascal@13701 34
pascal@13701 35 # Download deb
pascal@13701 36 FILE=$(basename $URL)
pascal@13701 37 wget $URL
pascal@13701 38
pascal@13701 39 if [ ! -f $FILE ]; then
pascal@13701 40 cd $CUR_DIR
pascal@13701 41 rm -rf $TMP_DIR
pascal@13701 42 echo "Could not download $FILE from $URL. Exiting."
pascal@13701 43 exit 1
pascal@13701 44 fi
pascal@13701 45
pascal@13701 46 XCAS_BASE=/usr/local
pascal@13701 47 mkdir -p $PACKAGE/fs$XCAS_BASE $PACKAGE/fs/usr/bin
pascal@13701 48 tar xzf $FILE -C $PACKAGE/fs$XCAS_BASE || true
pascal@13701 49 # extracted pkg can be removed: Save RAM
pascal@13701 50 rm -f $FILE
pascal@13701 51
pascal@13701 52 cat > $PACKAGE/fs/usr/bin/$PACKAGE << EOT
pascal@13701 53 #!/bin/sh
pascal@13701 54
pascal@13701 55 export LD_LIBRARY_PATH=$XCAS_BASE/lib:/lib:/usr/lib
pascal@13701 56 export XCAS_HELP=$XCAS_BASE/share/giac
pascal@13701 57 export XCAS_ROOT=$XCAS_BASE/bin
pascal@13701 58 \$XCAS_ROOT/xcas \$@
pascal@13701 59 EOT
pascal@13701 60 chmod +x $PACKAGE/fs/usr/bin/$PACKAGE
pascal@13701 61
pascal@13701 62 VERSION="$(sed '/^VERSION/!d;s/.*= //' \
pascal@13701 63 $PACKAGE/fs$XCAS_BASE/share/giac/examples/Exemples/Makefile)"
pascal@13701 64
pascal@13701 65 mv $PACKAGE $PACKAGE-$VERSION
pascal@13701 66 cd $PACKAGE-$VERSION/fs
pascal@13701 67
pascal@13701 68 # Create menu
pascal@13701 69 mkdir -p usr/share/applications
pascal@13701 70 cat > usr/share/applications/xcas.desktop <<EOT
pascal@13701 71 [Desktop Entry]
pascal@13701 72 Version=1.0
pascal@13701 73 Encoding=UTF-8
pascal@13701 74 Name=Xcas
pascal@13701 75 Exec=xcas
pascal@13701 76 Terminal=false
pascal@13701 77 Categories=Application
pascal@13701 78 Icon=$XCAS_BASE/share/giac//doc/en/tutoriel/img8.png
pascal@13701 79 Comment=Computer algebra system
pascal@13701 80 Type=Application
pascal@13701 81 Categories=Office;
pascal@13701 82 EOT
pascal@13701 83 cd ../..
pascal@13701 84
pascal@13701 85 cat > $PACKAGE-$VERSION/receipt <<EOT
pascal@13701 86 PACKAGE="$PACKAGE"
pascal@13701 87 VERSION="$VERSION"
pascal@13701 88 CATEGORY="$CATEGORY"
pascal@13701 89 SHORT_DESC="$SHORT_DESC"
pascal@13701 90 MAINTAINER="$MAINTAINER"
pascal@13701 91 DEPENDS="$DEPENDS"
pascal@13701 92 WEB_SITE="$WEB_SITE"
pascal@13701 93 EOT
pascal@13701 94
pascal@13701 95 # Pack
pascal@13701 96 tazpkg pack $PACKAGE-$VERSION
pascal@13701 97
pascal@13701 98 # Clean to save RAM memory
pascal@13701 99 rm -rf $PACKAGE-$VERSION
pascal@13701 100
pascal@13701 101 # Install pseudo package
pascal@13701 102 tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
pascal@13701 103 case " $@ " in
pascal@13701 104 *\ --k*) mv $PACKAGE-$VERSION.tazpkg $CUR_DIR ;;
pascal@13701 105 esac
pascal@13701 106
pascal@13701 107 # Clean
pascal@13701 108 cd $CUR_DIR
pascal@13701 109 rm -rf $TMP_DIR
pascal@13701 110