summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahul P2020-04-01 15:34:10 +0530
committerGitHub2020-04-01 15:34:10 +0530
commite3246ddd5a88623c28ebe41b107e4add286aed3b (patch)
treefa5fb042d38c86d82c920723b76ebfc9bb483e8a
parentbd71d27800234b94f90e06f12660b9391a4d586e (diff)
parent4809322f2a611ea66fffd6f084e2799c8be5ed2f (diff)
downloadeSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.tar.gz
eSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.tar.bz2
eSim-e3246ddd5a88623c28ebe41b107e4add286aed3b.zip
Merge pull request #146 from rahulp13/installers
revert to packaging with src, update readme
-rwxr-xr-xDebian/install-eSim.sh29
-rwxr-xr-xDebian/readme.md40
2 files changed, 54 insertions, 15 deletions
diff --git a/Debian/install-eSim.sh b/Debian/install-eSim.sh
index d7a3c572..d3c2f251 100755
--- a/Debian/install-eSim.sh
+++ b/Debian/install-eSim.sh
@@ -14,7 +14,7 @@
# NOTES: ---
# AUTHOR: Fahim Khan, Rahul Paknikar, Saurabh Bansode
# ORGANIZATION: FOSSEE at IIT Bombay.
-# CREATED: Wednesday 04 March 2020 16:14
+# CREATED: Wednesday 01 April 2020 16:14
# REVISION: ---
# ===============================================================================
@@ -51,7 +51,7 @@ function createConfigFile
function installNghdl
{
- echo "Installing NGHDL......................."
+ echo "Installing NGHDL..........................."
unzip nghdl-master.zip
mv nghdl-master nghdl
cd nghdl/
@@ -100,6 +100,20 @@ function installDependency
exit 1
fi
+ echo "Installing PyQt4..........................."
+ sudo apt-get install -y python3-pyqt4
+ if [ $? -ne 0 ]; then
+ echo -e "\n\n\"PyQt4\" dependency couldn't be installed.\nKindly resolve above errors and try again."
+ exit 1
+ fi
+
+ echo "Installing Matplotlib......................"
+ sudo apt-get install -y python3-matplotlib
+ if [ $? -ne 0 ]; then
+ echo -e "\n\n\"Matplotlib\" dependency couldn't be installed.\nKindly resolve above errors and try again."
+ exit 1
+ fi
+
echo "Installing Xpdf............................"
sudo apt-get install -y xpdf
if [ $? -ne 0 ]; then
@@ -153,7 +167,7 @@ function copyKicadLibrary
KICAD_ORIGINAL="/usr/share/kicad/template/kicad.pro.original"
if [ -f "$KICAD_ORIGINAL" ];then
- echo "kicad.pro.original file found....."
+ echo "kicad.pro.original file found"
sudo cp -rv kicadLibrary/template/kicad.pro ${KICAD_PRO}
else
echo "Making copy of original file"
@@ -174,8 +188,8 @@ function createDesktopStartScript
{
# Generating new esim-start.sh
echo '#!/bin/bash' > esim-start.sh
- echo "cd $eSim_Home" >> esim-start.sh
- echo "./eSim" >> esim-start.sh
+ echo "cd $eSim_Home/src/frontEnd" >> esim-start.sh
+ echo "python3 Application.py" >> esim-start.sh
# Make it executable
sudo chmod 755 esim-start.sh
@@ -184,9 +198,6 @@ function createDesktopStartScript
# Remove local copy of esim start script
rm esim-start.sh
- # Make eSim executable
- sudo chmod 755 eSim
-
# Generating esim.desktop file
echo "[Desktop Entry]" > esim.desktop
getVersion=`tail -1 VERSION`
@@ -302,7 +313,7 @@ if [ $option == "--install" ];then
elif [ $option == "--uninstall" ];then
- echo -n "Are you sure? It will remove complete eSim including KiCad, Ngspice and NGHDL packages(y/n):"
+ echo -n "Are you sure? It will remove complete eSim including KiCad, Ngspice and NGHDL models and libraries (y/n):"
read getConfirmation
if [ $getConfirmation == "y" -o $getConfirmation == "Y" ];then
echo "Removing eSim............................"
diff --git a/Debian/readme.md b/Debian/readme.md
index e2d38eb9..c907fb0a 100755
--- a/Debian/readme.md
+++ b/Debian/readme.md
@@ -2,7 +2,8 @@ eSim Installer (Ubuntu OS)
====
-It contains all the documenation for making eSim executable (using PyInstaller) and eSim Installation Script on Ubuntu 14.04 and above.
+It contains all the documenation for making eSim executable (using PyInstaller) and eSim Installation Script on Ubuntu 16.04 and above.
+
## eSim Executable:
@@ -24,8 +25,8 @@ It contains all the documenation for making eSim executable (using PyInstaller)
3. Install all Python dependencies for eSim within the virtual environment as:
- $ pip install pyinstaller
$ pip install wheel
+ $ pip install pyinstaller
$ pip install --upgrade 'matplotlib==3.0.3'
$ pip install tornado
$ pip install --upgrade 'setuptools<45.0.0'
@@ -34,8 +35,8 @@ It contains all the documenation for making eSim executable (using PyInstaller)
$ cd eSim/build/
$ wget http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz
$ wget https://www.riverbankcomputing.com/static/Downloads/sip/4.19.21/sip-4.19.21.tar.gz
- $ tar xzvf sip-4.19.21.tar.gz
- $ tar xvzf PyQt4_gpl_x11-4.12.3.tar.gz
+ $ tar -xzvf sip-4.19.21.tar.gz
+ $ tar -xvzf PyQt4_gpl_x11-4.12.3.tar.gz
$ cd sip-4.19.21/
$ python configure.py --sip-module PyQt4.sip
$ make
@@ -73,6 +74,33 @@ It contains all the documenation for making eSim executable (using PyInstaller)
9. Verify whether all eSim `src` files (`*.py`) have been included in `Analysis-00.toc` file under the build folder generated by PyInstaller.
+## Fully-Static Bundled Version of eSim:
+
+1. To create a [fully-static bundled version](https://github.com/pyinstaller/pyinstaller/wiki/FAQ#GNULinux) of eSim (through PyInstaller), use a tool like [StaticX](https://github.com/JonathonReinhart/staticx/).
+
+2. To create fully-static eSim :
+
+ - Activate the virtual environment as:
+
+ $ source eSim/bin/activate
+
+ - Install StaticX as:
+
+ $ pip install staticx
+ $ pip install patchelf-wrapper
+
+ - Create static eSim as:
+
+ $ staticx /path/to/executable/eSim /path/to/output/executable/eSim
+
+3. To verify if all dynamic libraries are removed :
+
+ - Type following command in a terminal :
+
+ $ ldd path/to/output/executable/eSim
+
+ - Output of above command should be similar to ` not a dynamic executable`
+
## How to package eSim?
@@ -80,10 +108,10 @@ It contains all the documenation for making eSim executable (using PyInstaller)
2. Add the installer file in `eSim-<version>` folder.
-3. Add the eSim executable file in `eSim-<version>` folder. Also, remove following files from the folder:
+3. Add the eSim executable file in `eSim-<version>` folder (only if it is made available). Also, remove following files from the folder:
- `.git` folder
- `code` folder
- - `src` folder
+ - `src` folder (Applicable only if eSim executable is made)
- conf.py
- setup.py
- index.rst