diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..2a6037f1 --- /dev/null +++ b/Makefile @@ -0,0 +1,41 @@ + +# Install on Ubuntu(-like) systems + +# Install dependencies system-wide (including python modules) +install_dependencies: + sudo -H ./setup_ubuntu.sh + +USER_ID = $(shell id -u) + +LOCAL_PATH = $(shell pwd) +LOCAL_APPS_PATH = ~/.local/share/applications +ASSEST_PATH = assets/linux + +INSTALL_PATH = /usr/share/flatcam-beta +APPS_PATH = /usr/share/applications + +install: +ifeq ($(USER_ID), 0) + @ echo "Installing it system-wide" + cp -rf $(LOCAL_PATH) $(INSTALL_PATH) + ln -sf $(INSTALL_PATH)/assets/linux/flatcam-beta /usr/local/bin + cp -f $(ASSEST_PATH)/flatcam-beta.desktop $(APPS_PATH) + @ sed -i "s|Exec=.*|Exec=$(INSTALL_PATH)/$(ASSEST_PATH)/flatcam-beta|g" $(APPS_PATH)/flatcam-beta.desktop + @ sed -i "s|Icon=.*|Icon=$(INSTALL_PATH)/$(ASSEST_PATH)/icon.png|g" $(APPS_PATH)/flatcam-beta.desktop +else + @ echo "Installing locally for $(USER) only" + cp -f $(ASSEST_PATH)/flatcam-beta.desktop $(LOCAL_APPS_PATH) + @ sed -i "s|Exec=.*|Exec=$(LOCAL_PATH)/$(ASSEST_PATH)/flatcam-beta|g" $(LOCAL_APPS_PATH)/flatcam-beta.desktop + @ sed -i "s|Icon=.*|Icon=$(LOCAL_PATH)/$(ASSEST_PATH)/icon.png|g" $(LOCAL_APPS_PATH)/flatcam-beta.desktop +endif + +remove: +ifeq ($(USER_ID), 0) + @ echo "Uninstalling it system-wide" + rm -rf $(INSTALL_PATH) + rm -f /usr/local/bin/flatcam-beta + rm -r $(APPS_PATH)/flatcam-beta.desktop +else + @ echo "Uninstalling only for $(USER) user" + rm -f $(LOCAL_APPS_PATH)/flatcam-beta.desktop +endif diff --git a/setup_ubuntu.sh b/setup_ubuntu.sh index 50da3fdf..9701e647 100644 --- a/setup_ubuntu.sh +++ b/setup_ubuntu.sh @@ -1,9 +1,51 @@ -#!/bin/bash -sudo apt install --reinstall libpng-dev libfreetype6 libfreetype6-dev libgeos-dev libspatialindex-dev -sudo apt install --reinstall python3-dev python3-pyqt5 python3-pyqt5.qtopengl python3-gdal python3-simplejson -sudo apt install --reinstall python3-pip python3-tk +#!/bin/sh -e -sudo python3 -m pip install --upgrade pyqt5 -sudo python3 -m pip install --upgrade pip numpy shapely rtree tk lxml cycler python-dateutil kiwisolver dill -sudo python3 -m pip install --upgrade vispy pyopengl setuptools svg.path ortools freetype-py fontTools rasterio ezdxf -sudo python3 -m pip install --upgrade matplotlib qrcode reportlab svglib \ No newline at end of file +# Ubuntu packages + +sudo apt-get install -y \ + libfreetype6 \ + libfreetype6-dev \ + libgeos-dev \ + libpng-dev \ + libspatialindex-dev \ + python3-dev \ + python3-gdal \ + python3-pip \ + python3-pyqt5 \ + python3-pyqt5.qtopengl \ + python3-simplejson \ + python3-tk + + +#python3-imaging \ + + +# Python packages + +sudo -H python3 -m pip install --upgrade \ + pip \ + numpy \ + scipy \ + shapely \ + rtree \ + tk \ + lxml \ + cycler \ + python-dateutil \ + kiwisolver \ + dill \ + vispy \ + pyopengl \ + setuptools \ + svg.path \ + ortools \ + freetype-py \ + fontTools \ + rasterio \ + ezdxf \ + matplotlib \ + qrcode \ + reportlab \ + svglib + +sudo -H easy_install -U distribute