All pastes #265824 Raw Edit

JimPanic

public shellscript v1 · immutable
·published 2006-12-03 18:00 UTC
rendered paste body
#!/bin/bash##    Copyright (c) 2006 Alexander Panek## This software is provided 'as-is', without any express or implied warranty.# In no event will the authors be held liable for any damages arising from the# use of this software.## Permission is granted to anyone to use this software for any purpose,# including commercial applications, and to alter it and redistribute it# freely, subject to the following restrictions:## 1. The origin of this software must not be misrepresented; you must not claim#    that you wrote the original software. If you use this software in a#    product, an acknowledgment in the product documentation would be #    appreciated but is not required.## 2. Altered source versions must be plainly marked as such, and must not#    be misrepresented as being the original software.## 3. This notice may not be removed or altered from any source distribution.#DMD_MIRROR=http://ftp.digitalmars.com/dmd.zipMAN_DIR=/usr/share/man/man1PREFIX=/usr/localNOROOT=0DMD_DOWNLOAD=0TANGO_DOWNLOAD=0die() {	echo "$1"	exit 0}usage() {	echo 'Usage: install-dmd.sh <install prefix> [OPTIONS]'	echo ''	echo 'Options:'	echo '  --download: Download a fresh copy of DMD and Tango'	echo '  --no-root: Do not install man pages, /etc/dmd.conf or any other	pieces, that would require root access'	echo '  --uninstall: Uninstall Tango and DMD'	echo '  --uninstall-tango: Uninstall only Tango and switch back to Phobos'	echo ' '}download_dmd() {	echo "Downloading dmd.zip from \"${DMD_MIRROR}\"..."	wget ${DMD_MIRROR} || die "Error downloading DMD. Aborting."}download_tango() {}unzip_dmd() {	echo "Trying to extract dmd.zip..."	if [ ! -f dmd.zip ]	then		die "Could not find dmd.zip. Please use --download or manually download the file from ${DMD_MIRROR}. Aborting."	fi	echo "  Creating temporary directory ./d..."	mkdir d || die 'Could not create temporary directory ./d'	echo "  Extracting..."	unzip -q -d ./d dmd.zip || die 'Could not unzip dmd.zip. Aborting.'}copy_dmd() {	echo "Copying compiler binaries..."	mkdir -p ${PREFIX}/bin || die	cp d/dmd/bin/dmd ${PREFIX}/bin || die	cp d/dmd/bin/obj2asm ${PREFIX}/bin || die	cp d/dmd/bin/dumpobj ${PREFIX}/bin || die	cp d/dmd/bin/rdmd ${PREFIX}/bin || die}copy_doc() {	mkdir -p {${PREFIX}/doc/dmd/samples, ${PREFIX}/doc/dmd/src} || die	cp d/dmd/html/d/* ${PREFIX}/doc/dmd/ || die	cp d/dmd/samples/d/* ${PREFIX}/doc/dmd/samples/ || die	cp d/dmd/src/dmd/* ${PREFIX}/dmd/src/ || die}copy_lib() {	mkdir -p ${PREFIX}/lib || die	cp d/dmd/lib/libphobos.a ${PREFIX}/lib/ || die	cp d/dmd/lib/phobos.lib ${PREFIX}/lib/ || die}copy_man() {	cp d/dmd/man/man1/* ${MAN_DIR} || die}cleanup() {	rm -r d/ || die	if [ ${CLEANALL} = 1 ]	then		rm -r dmd.zip || die	fi}for i in $*; do	case "$i" in		--download-dmd)		DMD_DOWNLOAD=1		;;		--download-tango)		TANGO_DOWNLOAD=1		;;		--download)		DMD_DOWNLOAD=1		TANGO_DOWNLOAD=1		;;	esacdoneif [ ${DMD_DOWNLOAD} = 1 ] then	download_dmdfiif [ ${TANGO_DOWNLOAD} = 1 ] then	download_tangofi