summaryrefslogtreecommitdiff
path: root/Debian/readme.md
blob: 320bb1533768cb6848879c7381e600c75a591015 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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.

## eSim Executable:

1. Download `virtualenv` package as:

	    $ pip install virtualenv

2. Create a virtual environment as:

		$ virtualenv -p /usr/bin/python3 eSim

3. Activate the virtual environment as:
	
		$ source eSim/bin/activate

4. Install all Python dependencies for eSim within the virtual environment as:

		$ pip install pyinstaller
		$ pip install matplotlib
		$ pip install tornado
		$ pip install --upgrade 'setuptools<45.0.0'
		$ sudo apt install build-essential python3-dev libqt4-dev qt4-dev-tools
		$ mkdir eSim/build
		$ 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
		$ 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. Test whether only eSim dependencies are available or not:

		$ pip freeze

> Note : Following dependencies should be available -
>	- PyQt4
>	- matplotlib
>	- numpy
>	- dateutil
>	- pyparsing
>	- six
>	- cycler.py

6. Download eSim Manual from eSim website, add it to `library/browser/User-Manual/` and update the file name of Manual in `src/browser/UserManual.py` accordingly.

7. Create spec file as:

		$ pyi-makespec --onefile -n eSim <path_to_eSim>/src/frontEnd/Application.py

8. Add `PyQt4.sip` as hiddenimports in the generated spec file.

9. Create onefile executable using pyinstaller as:
		
		$ pyinstaller -F --clean eSim.spec

11. Verify whether all eSim `src` files (`*.py`) have been included in `Analysis-00.toc` file under the build folder generated by PyInstaller.



## How to package eSim?

1. Update `VERSION` file to this release number.

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:
	- `.git` folder
	- `code` folder
	- `src` folder
	- conf.py
	- setup.py
	- index.rst
	- requirement.txt
	- .gitignore
	- .travis.yml

4. Add the zip file of `NGHDL` (`nghdl-master.zip`) in the eSim folder.

5. Compress `kicadLibrary` folder to a `tar.xz` format.

6. Compress `eSim-<version>` to a zip format for distribution.