diff --git a/INSTALL.txt b/INSTALL.txt deleted file mode 100644 index bad4f89a95072b9181de0406f3b6df5093f5aa4e..0000000000000000000000000000000000000000 --- a/INSTALL.txt +++ /dev/null @@ -1,49 +0,0 @@ -Installing Gradint on GNU/Linux systems ---------------------------------------- - -Gradint does not need to be installed, it can -just run from the current directory. - -If you do want to make a system-wide installation -(for example if you want to make a package for a -GNU/Linux distribution), I suggest doing the -following as root: - -mkdir /usr/share/gradint -cp gradint.py /usr/share/gradint/ -cd samples/utils -for F in *.py *.sh; do - DestFile=/usr/bin/gradint-$(echo $F|sed -e 's/\..*//') - cp $F $DestFile - chmod +x $DestFile -done -cd ../.. ; rm -rf samples/utils -tar -zcf /usr/share/gradint/new-user.tgz \ - advanced.txt settings.txt vocab.txt samples -cat > /usr/bin/gradint <<EOF -#!/bin/bash -if ! [ -e "$HOME/gradint" ]; then - echo "You will need some prompts and samples in your home directory." - echo "Is it OK to unpack an example into $HOME/gradint ?" - echo "Ctrl-C to quit or Enter to continue" - read - echo -n "Unpacking... " - mkdir "$HOME/gradint" - cd "$HOME/gradint" - tar -zxf /usr/share/gradint/new-user.tgz - echo "done." - echo "Please check the contents of $HOME/gradint" - echo "especially the README files." - echo "Then you can run gradint again." - exit -fi -cd "$HOME/gradint" -python /usr/share/gradint/gradint.py $@ -EOF -chmod +x /usr/bin/gradint - -For a distribution you might also have to write -man pages and tidy up the help text etc. - -Depends: python + a sound player (e.g. alsa-utils) -Recommends: python-tk python-tksnack sox libsox-fmt-all madplay diff --git a/Makefile b/Makefile index 9d79987875f4e036b918bbb004d4a62cf3b9ed71..d110152f62431a0fee8925047ebf34d9c4704962 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ EData := $(shell for N in $(Extra_Data); do if [ -e $$N ]; then echo $$N; fi; do Common_Files=vocab.txt settings.txt advanced.txt samples $(EData) Most_Mac_Files=$(Common_Files) gradint.py Mac_Files=$(Most_Mac_Files) mac/start-gradint.app -Linux_Files=$(Common_Files) gradint.py INSTALL.txt +Linux_Files=$(Common_Files) gradint.py install.sh Riscos_Files=$(Common_Files) gradint.py CODE=src/lessonplan.py src/sequence.py src/loop.py src/booktime.py src/play.py src/synth.py src/makeevent.py src/filescan.py src/recording.py src/users.py @@ -207,6 +207,7 @@ gradint.dmg: gradint-installer.command gradint.bgz: $(Linux_Files) mkdir gradint cp -r $(Linux_Files) gradint + chmod +x gradint/install.sh tar -c gradint/ | bzip2 -9 > gradint.bgz rm -rf gradint diff --git a/install.sh b/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..ec61bf25a2de282e657369e8fda5d411259a9b18 --- /dev/null +++ b/install.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +# Installing Gradint on GNU/Linux systems +# --------------------------------------- + +# Gradint does not need to be installed, it can +# just run from the current directory. + +# If you do want to make a system-wide installation +# (for example if you want to make a package for a +# GNU/Linux distribution), I suggest running as root +# the commands below. + +# For a distribution you might also have to write +# man pages and tidy up the help text etc. + +# Depends: python + a sound player (e.g. alsa-utils) +# Recommends: python-tk python-tksnack sox libsox-fmt-all madplay + +# --------------------------------------- + +set -e +PREFIX=/usr/local # or /usr +if which python; then PYTHON=python; else PYTHON=python3; fi + +mkdir -p "$PREFIX/share/gradint" +mv gradint.py "$PREFIX/share/gradint/" +cd samples/utils +for F in *.py *.sh; do + DestFile="$PREFIX/bin/gradint-$(echo $F|sed -e 's/\..*//')" + mv "$F" "$DestFile" + chmod +x "$DestFile" +done +cd ../.. ; rm -rf samples/utils +tar -zcf "$PREFIX/share/gradint/new-user.tgz" \ + advanced.txt settings.txt vocab.txt samples + +cat > "$PREFIX/bin/gradint" <<'EOF' +#!/bin/bash +if ! [ -e "$HOME/gradint" ]; then + echo -n "Unpacking new user Gradint configuration... " + mkdir "$HOME/gradint" + cd "$HOME/gradint" +EOF +echo " tar -zxf \"$PREFIX/share/gradint/new-user.tgz\"" >> "$PREFIX/bin/gradint" +cat >> "$PREFIX/bin/gradint" <<'EOF' + echo "done." +fi +cd "$HOME/gradint" +EOF +echo "$PYTHON \"$PREFIX/share/gradint/gradint.py\" "'$@' >> "$PREFIX/bin/gradint" +chmod +x "$PREFIX/bin/gradint" + +mkdir -p "$PREFIX/share/applications" +cat > "$PREFIX/share/applications/gradint.desktop" <<EOF +[Desktop Entry] +Type=Application +Name=Gradint +Comment=Graduated-interval recall +Exec=$PREFIX/bin/gradint +Categories=Education;Languages +EOF + +echo; echo "Installation complete." +echo "To uninstall: sudo rm -rf \"$PREFIX/bin/gradint\" \"$PREFIX/share/gradint\""