From f8d3dbc8c0f1c59a0546998cb9365e5c291dca07 Mon Sep 17 00:00:00 2001 From: fossee Date: Tue, 3 Sep 2019 11:07:32 +0530 Subject: added examples and modified server --- install-nghdl.sh | 89 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 15 deletions(-) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index eade469..0831468 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -18,6 +18,7 @@ #=============================================================================== ngspice="ngspice-nghdl" +ghdl="ghdl-0.36" config_dir="$HOME/.nghdl" config_file="config.ini" src_dir=`pwd` @@ -43,14 +44,63 @@ function addghdlPPA fi } +# make +# gnat +# llvm +# clang +# zlib1g-dev function installDependency { - echo "Installing ghdl.................................." - sudo apt-get install -y ghdl - echo "Installing flex.................................." - sudo apt-get install -y flex - echo "Installing bison................................." - sudo apt-get install -y bison + + # echo "Updating indexes to install latest versions......" + # sudo apt-get update + + # echo "Installing dependencies for ghdl-0.36 LLVM......." + # echo "Installing make.................................." + # sudo apt-get install -y make + # echo "Installing gnat-5.................................." + # sudo apt-get install -y gnat-5 + # echo "Installing llvm.................................." + # sudo apt-get install -y llvm + # echo "Installing clang.................................." + # sudo apt-get install -y clang + # echo "Installing zlib1g-dev.................................." + # sudo apt-get install -y zlib1g-dev + + # if [ -d $HOME/$ghdl ]; then + # echo "$ghdl directory already exists at $HOME" + # echo "Leaving ghdl-0.36 LLVM installation" + # else + # tar -xzvf $ghdl.tar.gz -C $HOME + # if [ "$?" == 0 ];then + # echo "ghdl-0.36 LLVM successfully extracted to $HOME......" + # echo "Changing directory to ghdl-0.36 LLVM installation..." + # cd $HOME/$ghdl + # echo "Configuring ghdl-0.36 build as per requirements....." + # #Other configure flags can be found at - https://github.com/ghdl/ghdl/blob/master/configure + # sudo ./configure --with-llvm-config + # echo "Building the install file for ghdl-0.36 LLVM....." + # sudo make + # echo "Installing ghdl-0.36 LLVM....." + # sudo make install + # else + # echo "Unable to extract ghdl-0.36 LLVM" + # echo "Exiting installation" + # exit 1 + # fi + # fi + + echo "Installing flex.................................." + sudo apt-get install -y flex + echo "Installing bison................................." + sudo apt-get install -y bison + + # Specific dependency for nvidia graphic cards + echo "Installing graphics dependency for ngspice souce build" + echo "Installing libxaw7................................" + sudo apt-get install libxaw7 + echo "Installing libxaw7-dev............................" + sudo apt-get install libxaw7-dev } @@ -59,15 +109,12 @@ function installNgspice echo "Installing ngspice..................................." #Checking if ngspice-nghdl directory is already present in Home directory if [ -d $HOME/$ngspice ];then - echo "$ngspice directory already exist" + echo "$ngspice directory already exists at $HOME" echo "Leaving ngspice installation" - - else - #Extracting Ngspice to Home Directory + cd $src_dir tar -xzvf $ngspice.tar.gz -C $HOME - if [ "$?" == 0 ];then echo "Ngspice extracted sucessfuly to $HOME " #change to ngspice-nghdl directory @@ -82,18 +129,30 @@ function installNgspice echo "------------------------------------" sleep 5 ../configure --enable-xspice --disable-debug --prefix=$HOME/$ngspice/install_dir/ --exec-prefix=$HOME/$ngspice/install_dir/ - - #dirty fix for adding patch to ngspice base code - cp $src_dir/src/outitf.c $HOME/$ngspice/src/frontend + + #dirty fix for adding patch to ngspice base code + cp $src_dir/src/outitf.c $HOME/$ngspice/src/frontend make make install if [ "$?" == 0 ];then - echo "Ngspice Installed sucessfully" + echo "Ngspice Installed sucessfully......" + echo "Adding softlink for the installed ngspice......" + + sudo ln -s $HOME/$ngspice/install_dir/bin/ngspice /usr/bin/ngspice + if [ "$?" == 0 ];then + echo "failed to add softlink" + echo "ngspice already installed at /usr/bin/ngspice..." + echo "Remove earlier installations and try again..." + else + echo "Added softlink for ngspce" + fi + else echo "There was some error in installing ngspice" fi + else echo "Unable to extract ngspice tar file" exit 1; -- cgit From 6a2e04a332a5748205a6176adb24607679961ba3 Mon Sep 17 00:00:00 2001 From: fossee Date: Tue, 3 Sep 2019 11:20:53 +0530 Subject: ghdl setup modified --- install-nghdl.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index 0831468..5b97e8a 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -66,6 +66,8 @@ function installDependency # sudo apt-get install -y clang # echo "Installing zlib1g-dev.................................." # sudo apt-get install -y zlib1g-dev + # echo "Installing xterm.................................." + # sudo apt-get install -y xterm # if [ -d $HOME/$ghdl ]; then # echo "$ghdl directory already exists at $HOME" -- cgit From 015250dd50360abd96d1340d9ec903b2fc402f4d Mon Sep 17 00:00:00 2001 From: fossee Date: Tue, 3 Sep 2019 11:43:42 +0530 Subject: added ghdl installation --- install-nghdl.sh | 93 +++++++++++++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 48 deletions(-) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index 5b97e8a..eae2242 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -11,9 +11,9 @@ # REQUIREMENTS: --- # BUGS: --- # NOTES: --- -# AUTHOR: Fahim Khan , fahim.elex@gmail.com +# AUTHOR: Fahim Khan, Rahul Paknikar # ORGANIZATION: eSim, FOSSEE group at IIT Bombay -# CREATED: Tuesday 02 December 2014 17:01 +# CREATED: Tuesday 03 September 2019 11:30 # REVISION: --- #=============================================================================== @@ -44,53 +44,50 @@ function addghdlPPA fi } -# make -# gnat -# llvm -# clang -# zlib1g-dev function installDependency { - # echo "Updating indexes to install latest versions......" - # sudo apt-get update - - # echo "Installing dependencies for ghdl-0.36 LLVM......." - # echo "Installing make.................................." - # sudo apt-get install -y make - # echo "Installing gnat-5.................................." - # sudo apt-get install -y gnat-5 - # echo "Installing llvm.................................." - # sudo apt-get install -y llvm - # echo "Installing clang.................................." - # sudo apt-get install -y clang - # echo "Installing zlib1g-dev.................................." - # sudo apt-get install -y zlib1g-dev - # echo "Installing xterm.................................." - # sudo apt-get install -y xterm - - # if [ -d $HOME/$ghdl ]; then - # echo "$ghdl directory already exists at $HOME" - # echo "Leaving ghdl-0.36 LLVM installation" - # else - # tar -xzvf $ghdl.tar.gz -C $HOME - # if [ "$?" == 0 ];then - # echo "ghdl-0.36 LLVM successfully extracted to $HOME......" - # echo "Changing directory to ghdl-0.36 LLVM installation..." - # cd $HOME/$ghdl - # echo "Configuring ghdl-0.36 build as per requirements....." - # #Other configure flags can be found at - https://github.com/ghdl/ghdl/blob/master/configure - # sudo ./configure --with-llvm-config - # echo "Building the install file for ghdl-0.36 LLVM....." - # sudo make - # echo "Installing ghdl-0.36 LLVM....." - # sudo make install - # else - # echo "Unable to extract ghdl-0.36 LLVM" - # echo "Exiting installation" - # exit 1 - # fi - # fi + echo "Updating indexes to install latest versions......" + sudo apt-get update + + echo "Installing dependencies for ghdl-0.36 LLVM......." + echo "Installing make.................................." + sudo apt-get install -y make + echo "Installing gnat-5.................................." + sudo apt-get install -y gnat-5 + echo "Installing llvm.................................." + sudo apt-get install -y llvm + echo "Installing clang.................................." + sudo apt-get install -y clang + echo "Installing zlib1g-dev.................................." + sudo apt-get install -y zlib1g-dev + echo "Installing xterm.................................." + sudo apt-get install -y xterm + + if [ -d $HOME/$ghdl ]; then + echo "$ghdl directory already exists at $HOME" + echo "Leaving ghdl-0.36 LLVM installation" + else + tar -xzvf ghdl-0.36.tar.gz -C $HOME + if [ "$?" == 0 ];then + echo "ghdl-0.36 LLVM successfully extracted to $HOME......" + echo "Changing directory to ghdl-0.36 LLVM installation..." + cd $HOME/ghdl-0.36 + echo "Configuring ghdl-0.36 build as per requirements....." + #Other configure flags can be found at - https://github.com/ghdl/ghdl/blob/master/configure + sudo ./configure --with-llvm-config + echo "Building the install file for ghdl-0.36 LLVM....." + sudo make + echo "Installing ghdl-0.36 LLVM....." + sudo make install + echo "Removing unused part of ghdl-0.36 LLVM....." + sudo rm -r ../ghdl-0.36 + else + echo "Unable to extract ghdl-0.36 LLVM" + echo "Exiting installation" + exit 1 + fi + fi echo "Installing flex.................................." sudo apt-get install -y flex @@ -238,7 +235,7 @@ if [ $getProxy == "y" -o $getProxy == "Y" ];then echo "Install with proxy" #Calling functions - addghdlPPA + #addghdlPPA installDependency if [ $? -ne 0 ];then echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" @@ -252,7 +249,7 @@ elif [ $getProxy == "n" -o $getProxy == "N" ];then echo "Install without proxy" #Calling functions - addghdlPPA + #addghdlPPA installDependency if [ $? -ne 0 ];then echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" -- cgit From 13b65c2e7ef066d2481e384352402de7cd9ff7fe Mon Sep 17 00:00:00 2001 From: fossee Date: Tue, 3 Sep 2019 11:57:23 +0530 Subject: earlier ngpsice uninstall --- install-nghdl.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index eae2242..9ded53a 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -135,6 +135,9 @@ function installNgspice make make install if [ "$?" == 0 ];then + echo "Removing previously Installed Ngspice......" + sudo apt-get remove ngspice + echo "Ngspice Installed sucessfully......" echo "Adding softlink for the installed ngspice......" -- cgit From da90fa60b3ffa57a7a37bffeb821d8d93cb00dd7 Mon Sep 17 00:00:00 2001 From: rahul Date: Tue, 15 Oct 2019 16:05:40 +0530 Subject: Support for Ngspice-31 --- install-nghdl.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index 9ded53a..f03f8ef 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -127,7 +127,7 @@ function installNgspice echo "Installing Ngspice....." echo "------------------------------------" sleep 5 - ../configure --enable-xspice --disable-debug --prefix=$HOME/$ngspice/install_dir/ --exec-prefix=$HOME/$ngspice/install_dir/ + ../configure --enable-xspice --disable-debug --prefix=$HOME/$ngspice/install_dir/ --exec-prefix=$HOME/$ngspice/install_dir/ #dirty fix for adding patch to ngspice base code cp $src_dir/src/outitf.c $HOME/$ngspice/src/frontend -- cgit From c82b5ed68a5cca2aa6c75b5eae905cb97bcc97f1 Mon Sep 17 00:00:00 2001 From: rahul Date: Thu, 24 Oct 2019 10:35:33 +0530 Subject: added uninstaller option --- install-nghdl.sh | 183 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 93 insertions(+), 90 deletions(-) (limited to 'install-nghdl.sh') diff --git a/install-nghdl.sh b/install-nghdl.sh index f03f8ef..f14116e 100755 --- a/install-nghdl.sh +++ b/install-nghdl.sh @@ -3,7 +3,9 @@ # # FILE: install-nghdl.sh # -# USAGE: ./install-nghdl.sh +# USAGE: ./install-nghdl.sh --install +# or +# ./install-nghdl.sh --uninstall # # DESCRIPTION: It is installation script for ngspice and ghdl work (nghdl). # @@ -13,7 +15,7 @@ # NOTES: --- # AUTHOR: Fahim Khan, Rahul Paknikar # ORGANIZATION: eSim, FOSSEE group at IIT Bombay -# CREATED: Tuesday 03 September 2019 11:30 +# CREATED: Wednesday 23 October 2019 14:30 # REVISION: --- #=============================================================================== @@ -29,21 +31,6 @@ timestamp=`echo $sysdate|awk '{print $3"_"$2"_"$6"_"$4 }'` #All functions goes here -function addghdlPPA -{ - ghdlppa="pgavin/ghdl" - #Checking if ghdl ppa is already exist - grep -h "^deb.*$ghdlppa*" /etc/apt/sources.list.d/* > /dev/null 2>&1 - if [ $? -ne 0 ] - then - echo "Adding ghdl PPA to install latest ghdl version" - sudo add-apt-repository -y ppa:pgavin/ghdl - sudo apt-get update - else - echo "ghdl is available in synaptic" - fi -} - function installDependency { @@ -64,12 +51,10 @@ function installDependency echo "Installing xterm.................................." sudo apt-get install -y xterm - if [ -d $HOME/$ghdl ]; then - echo "$ghdl directory already exists at $HOME" - echo "Leaving ghdl-0.36 LLVM installation" - else + grep -h "ghdl" /usr/local/bin/ghdl > /dev/null + if [ $? -ne 0 ]; then tar -xzvf ghdl-0.36.tar.gz -C $HOME - if [ "$?" == 0 ];then + if [ "$?" == 0 ]; then echo "ghdl-0.36 LLVM successfully extracted to $HOME......" echo "Changing directory to ghdl-0.36 LLVM installation..." cd $HOME/ghdl-0.36 @@ -81,12 +66,15 @@ function installDependency echo "Installing ghdl-0.36 LLVM....." sudo make install echo "Removing unused part of ghdl-0.36 LLVM....." - sudo rm -r ../ghdl-0.36 + sudo rm -rf ../ghdl-0.36 else echo "Unable to extract ghdl-0.36 LLVM" echo "Exiting installation" exit 1 fi + else + echo "ghdl already exists....." + echo "Leaving ghdl-0.36 LLVM installation" fi echo "Installing flex.................................." @@ -135,8 +123,8 @@ function installNgspice make make install if [ "$?" == 0 ];then - echo "Removing previously Installed Ngspice......" - sudo apt-get remove ngspice + echo "Removing previously Installed Ngspice (if any)......" + sudo apt-get remove -y ngspice echo "Ngspice Installed sucessfully......" echo "Adding softlink for the installed ngspice......" @@ -147,7 +135,7 @@ function installNgspice echo "ngspice already installed at /usr/bin/ngspice..." echo "Remove earlier installations and try again..." else - echo "Added softlink for ngspce" + echo "Added softlink for ngspice" fi else @@ -186,7 +174,6 @@ function createConfigFile function createSoftLink { - ## Creating softlink cd /usr/local/bin if [[ -L nghdl ]];then @@ -199,76 +186,92 @@ function createSoftLink sudo ln -sf $src_dir/src/ngspice_ghdl.py nghdl fi cd $pwd - } ##################################################################### # Script start from here # ##################################################################### -echo "Enter proxy details if you are connected to internet thorugh proxy" - -echo -n "Is your internet connection behind proxy? (y/n): " -read getProxy -if [ $getProxy == "y" -o $getProxy == "Y" ];then - echo -n 'Proxy hostname :' - read proxyHostname - - echo -n 'Proxy Port :' - read proxyPort - - echo -n username@$proxyHostname:$proxyPort : - read username - - echo -n 'Password :' - read -s passwd - - unset http_proxy - unset https_proxy - unset HTTP_PROXY - unset HTTPS_PROXY - unset ftp_proxy - unset FTP_PROXY - - export http_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export https_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export HTTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - export HTTPS_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - export ftp_proxy=http://$username:$passwd@$proxyHostname:$proxyPort - export FTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort - - echo "Install with proxy" - #Calling functions - #addghdlPPA - installDependency - if [ $? -ne 0 ];then - echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" - exit 0 - fi - installNgspice - createConfigFile - createSoftLink - -elif [ $getProxy == "n" -o $getProxy == "N" ];then - echo "Install without proxy" - - #Calling functions - #addghdlPPA - installDependency - if [ $? -ne 0 ];then - echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" - exit 0 - fi - installNgspice - createConfigFile - createSoftLink +###Checking if file is passsed as argument to script +if [ "$#" -eq 1 ];then + option=$1 else - echo "Please select the right option" - exit 0 - + echo "USAGE : " + echo "./install.sh --install" + exit 1; fi - - - +##Checking flags + +if [ $option == "--install" ];then + echo "Enter proxy details if you are connected to internet thorugh proxy" + + echo -n "Is your internet connection behind proxy? (y/n): " + read getProxy + if [ $getProxy == "y" -o $getProxy == "Y" ];then + echo -n 'Proxy hostname :' + read proxyHostname + + echo -n 'Proxy Port :' + read proxyPort + + echo -n username@$proxyHostname:$proxyPort : + read username + + echo -n 'Password :' + read -s passwd + + unset http_proxy + unset https_proxy + unset HTTP_PROXY + unset HTTPS_PROXY + unset ftp_proxy + unset FTP_PROXY + + export http_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export https_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export HTTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + export HTTPS_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + export ftp_proxy=http://$username:$passwd@$proxyHostname:$proxyPort + export FTP_PROXY=http://$username:$passwd@$proxyHostname:$proxyPort + + echo "Install with proxy" + #Calling functions + installDependency + if [ $? -ne 0 ];then + echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" + exit 0 + fi + installNgspice + createConfigFile + createSoftLink + + elif [ $getProxy == "n" -o $getProxy == "N" ];then + echo "Install without proxy" + + #Calling functions + installDependency + if [ $? -ne 0 ];then + echo -e "\n\n\nERROR: Unable to install required packages. Please check your internet connection.\n\n" + exit 0 + fi + installNgspice + createConfigFile + createSoftLink + +elif [ $option == "--uninstall" ];then + echo "Deleting Files............" + sudo rm -rf $HOME/ngspice-nghdl $HOME/.nghdl /usr/share/kicad/library/eSim_Nghdl.lib /usr/local/bin/nghdl /usr/bin/ngspice + echo "Removing gnat-5............" + sudo apt-get remove -y gnat-5 + echo "Removing llvm............" + sudo apt-get remove -y llvm + echo "Removing ghdl............" + sudo rm -rf /usr/local/bin/ghdl /usr/local/lib/ghdl /usr/local/bin/ghdl1-llvm /usr/local/lib/libghdlvpi.so + +else + echo "Please select the proper operation." + echo "--install" + echo "--uninstall" +fi \ No newline at end of file -- cgit