summaryrefslogtreecommitdiff
path: root/Debian/readme.md
diff options
context:
space:
mode:
authorrahulp132020-02-20 16:11:56 +0530
committerrahulp132020-02-20 16:11:56 +0530
commit295534960d75ac94c5f50fd9a6a3cecfc48c0f12 (patch)
treec497e49f5638cb4f1fcdb5d12ef13e74ccd1a95e /Debian/readme.md
parent73ac34b39b95356f49ca833b071e7cb5c9f6a25f (diff)
downloadnghdl-295534960d75ac94c5f50fd9a6a3cecfc48c0f12.tar.gz
nghdl-295534960d75ac94c5f50fd9a6a3cecfc48c0f12.tar.bz2
nghdl-295534960d75ac94c5f50fd9a6a3cecfc48c0f12.zip
packaging with pyinstaller
Diffstat (limited to 'Debian/readme.md')
-rw-r--r--Debian/readme.md68
1 files changed, 64 insertions, 4 deletions
diff --git a/Debian/readme.md b/Debian/readme.md
index 629ef92..e35bcb2 100644
--- a/Debian/readme.md
+++ b/Debian/readme.md
@@ -1,12 +1,72 @@
-Ubuntu Installer Documentation
+NGHDL Installer (Ubuntu)
====
-It contains all the documenation for installers on Ubuntu 14.04 and above.
-Separate installers are required to resolve dependencies only of GHDL and are mentioned below.
+It contains all the documenation for making NGHDL executable (using PyInstaller) and NGHDL Installation Script on Ubuntu 14.04 and above.
+Separate installers are required to resolve dependencies only for GHDL and are mentioned below.
-## Differences in Ubuntu 14.04, Ubuntu 16.04 and above installers:
+## NGDHL EXECUTABLE:
+
+1. Download `virtualenv` package as:
+
+ $ pip install virtualenv
+
+2. Create a virtual environment as:
+
+ $ virtualenv -p /usr/bin/python3 nghdl
+
+3. Activate the virtual environment as:
+
+ $ source nghdl/bin/activate
+
+4. Install all Python dependencies for eSim within the virtual environment as:
+
+ $ pip install pyinstaller
+ $ pip install --upgrade 'setuptools<45.0.0'
+ $ sudo apt install build-essential python3-dev libqt4-dev qt4-dev-tools
+ $ mkdir nghdl/build
+ $ cd nghdl/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
+ $ cd sip-4.19.21/
+ $ python configure.py --sip-module PyQt4.sip
+ $ make
+ $ make install
+ $ cd ../PyQt4_gpl_x11-4.12.3/
+ $ python configure.py
+ $ make
+ $ make install
+
+5. Now uninstall PyQt4, sip, matplotlib, numpy, dateutil and cycler globally (if any).
+
+6. Test whether only nghdl dependencies are available or not:
+
+ $ pip freeze
+
+> Note : Following dependencies should be available -
+> - PyQt4
+> - sip
+
+7. Create spec file as:
+
+ $ pyi-makespec --onefile <path_to_nghdl>/src/ngspice_ghdl.py
+
+8. Add `PyQt4.sip` as hiddenimports in the generated spec file.
+
+9. Change the `exe` name field to `nghdl` in the generated spec file.
+
+10. Create onefile executable using pyinstaller as:
+
+ $ pyinstaller -F --clean Application.spec
+
+11. Verify whether all `*.py` files have been included in `Analysis-00.toc` file under the build folder generated by PyInstaller.
+
+
+
+## Differences in Ubuntu 14.04, Ubuntu 16.04 and above installers (w.r.t GHDL):
1. Dependency on gnat :
- Ubuntu 14.04 : gnat (v4.6)
- Ubuntu 16.04 : gnat-5 (v5.4)