56 lines
2.6 KiB
Bash
56 lines
2.6 KiB
Bash
#!/bin/bash
|
|
|
|
# install dependencies
|
|
install_packages build-essential git cmake libssl-dev libudev-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5serialport5-dev libqt5svg5-dev libgit2-dev pkg-config libboost-all-dev || exit 1
|
|
|
|
# install qt5-default if its availabe in apt (necessary on debian/ubuntu versions prior to bullseye/hirsute)
|
|
package_available qt5-default
|
|
if [[ $? == "0" ]]; then
|
|
install_packages qt5-default || error "Failed to install dependencies"
|
|
else
|
|
# attempt to fix common error where users libqt5core5a package did not install properly
|
|
# this should not be necessary, but /usr/lib/*-linux-gnu*/qt-default/qtchooser/default.conf is missing on multiple users installs and is part of this package
|
|
sudo apt install --reinstall libqt5core5a -y
|
|
fi
|
|
|
|
# print debug output to terminal
|
|
hash -r
|
|
echo "Logging contents of file: /usr/lib/*-linux-gnu*/qt-default/qtchooser/default.conf"
|
|
cat /usr/lib/*-linux-gnu*/qt-default/qtchooser/default.conf
|
|
echo "Log file status: /usr/lib/*-linux-gnu*/qt-default/qtchooser/default.conf"
|
|
ls -l /usr/lib/*-linux-gnu*/qt-default/qtchooser/default.conf
|
|
echo "Logging contents of file: /usr/share/qtchooser/qt5-*-linux-gnu*.conf"
|
|
cat /usr/share/qtchooser/qt5-*-linux-gnu*.conf
|
|
echo "Log qmake -v output"
|
|
qmake -v
|
|
echo "apt list libqt5core5a qtchooser"
|
|
apt list libqt5core5a qtchooser
|
|
|
|
# download parts directory
|
|
mkdir -p $HOME/.local/share/fritzing || error "Could not make directory"
|
|
cd $HOME/.local/share/fritzing || error "Could not move to directory"
|
|
rm -rf parts
|
|
git clone https://github.com/fritzing/fritzing-parts.git parts || error "Could not clone parts repo source"
|
|
|
|
# download, compile, and install fritzing app
|
|
cd /tmp || error "Could not move to directory"
|
|
rm -rf fritzing-app
|
|
git clone https://github.com/fritzing/fritzing-app.git || error "Could not clone fritzing-app source"
|
|
cd fritzing-app || error "Could not move to directory"
|
|
git checkout 0.9.6
|
|
sed -i 's/LIBGIT_STATIC = true/LIBGIT_STATIC = false/g' phoenix.pro
|
|
qmake || error "PLEASE contact us in the Discord. We have seen multiple reports of this error and are unable to reproduce on our end. qmake failed on fritzing configure"
|
|
make -j$(nproc) || error "compilation failed"
|
|
lupdate -noobsolete phoenix.pro
|
|
lrelease -removeidentical phoenix.pro
|
|
sudo make install || error "Install failed"
|
|
sudo sed -i "s:Exec=Fritzing %F:Exec=Fritzing --parts $HOME/.local/share/fritzing/parts %F:g" /usr/share/applications/org.fritzing.Fritzing.desktop
|
|
|
|
# remove source files
|
|
rm -rf /tmp/fritzing-app
|
|
|
|
status_green "Fritzing is installed.
|
|
To run: Menu -> Programming -> Fritzing
|
|
To run in a terminal: Fritzing --parts $HOME/.local/share/fritzing/parts
|
|
"
|