2018-04-04 14:35:15 +00:00
# Qt Desktop GUI build instructions
## Under Windows
2018-04-05 06:36:41 +00:00
### With Qt Creator
TBD
2018-04-04 14:35:15 +00:00
### Without Qt Creator
2018-04-22 11:49:27 +00:00
All commands should be run under MSYS2 mingw32.
2018-04-22 11:44:26 +00:00
```
2018-04-22 12:33:57 +00:00
pacman -S git make tar mingw-w64-i686-gcc mingw-w64-i686-boost mingw-w64-i686-libpng mingw-w64-i686-openssl mingw-w64-i686-zlib
pacman -S mingw-w64-i686-qt5-static
pacman -S openssl-devel mingw-w64-i686-miniupnpc
2018-04-22 11:54:41 +00:00
mkdir -p /c/dev/
cd /c/dev/
git clone https://github.com/PurpleI2P/i2pd.git
cd i2pd
git checkout openssl
2018-04-22 12:24:37 +00:00
export MINGW='mingw32'
2018-04-22 12:32:12 +00:00
export PATH=/$MINGW/bin:/usr/bin:/mingw32/qt5-static/bin
2018-04-22 12:24:37 +00:00
cd qt/i2pd_qt
qmake
make USE_UPNP=yes
2018-04-22 11:44:26 +00:00
```
2018-04-04 23:17:48 +00:00
2018-04-22 12:24:37 +00:00
#### Caveats
It is important to restrict PATH as described above. If you have Strawberry Perl and/or Mercurial installed, it will pick up gcc & openssl from the wrong places.
2018-04-23 17:48:35 +00:00
If you are an Arch Linux user, refrain from updating system with `pacman -Syu` . Always update runtime separately as described on the home page, otherwise you might end up with DLLs incompatibility problems.
2018-04-04 14:35:15 +00:00
2018-04-08 00:21:00 +00:00
## Under Ubuntu
2018-04-04 14:35:15 +00:00
### With Qt Creator
2019-08-27 09:27:11 +00:00
```
2019-09-22 09:31:04 +00:00
sudo apt install qtcreator qt5-default build-essential g++ make libcrypto++-dev libssl-dev libboost-all-dev libminiupnpc-dev libwebsocketpp-dev libqt5gui5 git zlib1g-dev
2019-08-27 09:27:11 +00:00
mkdir git
cd git
git clone https://github.com/PurpleI2P/i2pd.git
```
Then, open Qt Creator. Open `git/i2pd/qt/i2pd_qt/i2pd_qt.pro` ; set build make parameter
`-jNUMBER-OF-CPU-CORES` , e.g. `-j7` . Then, finally, press Make button.
2018-04-04 14:35:15 +00:00
### Without Qt Creator
2018-04-08 00:21:00 +00:00
```
2019-09-22 07:46:45 +00:00
sudo apt-get install build-essential g++ make libcrypto++-dev libssl-dev libboost-all-dev libminiupnpc-dev libwebsocketpp-dev qt5-default libqt5gui5 git zlib1g-dev
2018-04-08 00:21:00 +00:00
mkdir git
cd git
git clone https://github.com/PurpleI2P/i2pd.git
cd i2pd/qt/i2pd_qt
qmake
make USE_UPNP=yes
```
2018-10-31 15:45:58 +00:00
## Building a Flatpak package
```
sudo apt install flatpak flatpak-builder
2019-09-22 08:17:12 +00:00
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
2019-09-22 09:31:04 +00:00
flatpak --user install flathub org.kde.Sdk/x86_64/5.12 # required SDK version might be higher, check the manifest at https://github.com/flathub/website.i2pd.i2pd/blob/master/website.i2pd.i2pd.json
2018-10-31 15:45:58 +00:00
git clone https://github.com/flathub/website.i2pd.i2pd & & cd website.i2pd.i2pd
flatpak-builder --user --install --force-clean i2pd_build_dir website.i2pd.i2pd.json
```