diff --git a/PrusaSlicer.changes b/PrusaSlicer.changes
index 2eb5c4d..483f988 100644
--- a/PrusaSlicer.changes
+++ b/PrusaSlicer.changes
@@ -1,3 +1,19 @@
+-------------------------------------------------------------------
+Fri Sep 13 19:34:47 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
+
+- final 2.1.0 
+- symlink icon files instead of duplicate copy
+
+-------------------------------------------------------------------
+Sat Sep  7 15:00:17 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
+
+- new version 2.1.0-rc 
+- remove obsolete patch file
+- tag localization files
+- remove stray Noto font file, add as dependency
+- outsource Desktop file creation
+- move Desktop category to "Science;Construction"
+
 -------------------------------------------------------------------
 Mon Jul 29 11:30:21 UTC 2019 - Benjamin Greiner <code@bnavigator.de>
 
diff --git a/PrusaSlicer.desktop b/PrusaSlicer.desktop
new file mode 100644
index 0000000..e4a38ae
--- /dev/null
+++ b/PrusaSlicer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=PrusaSlicer
+GenericName=Slicer Software for 3D Printers
+Categories=Science;Construction;
+Type=Application
+Exec=prusa-slicer
+Icon=PrusaSlicer
+
diff --git a/PrusaSlicer.spec b/PrusaSlicer.spec
index 10ec6ff..0569c4f 100644
--- a/PrusaSlicer.spec
+++ b/PrusaSlicer.spec
@@ -17,14 +17,15 @@
 
 
 Name:           PrusaSlicer
-Version:        2.0.0
+Version:        2.1.0
 Release:        0
-Summary:        A slicer software for Prusa 3D printers
+Summary:        G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
 License:        AGPL-3.0-only
 Group:          Hardware/Printing
 URL:            https://www.prusa3d.com/prusaslicer/
 Source0:        https://github.com/prusa3d/PrusaSlicer/archive/version_%{version}.tar.gz
-Patch0:         prusaslicer-fixternary-wxstring.patch
+Source1:        %{name}.desktop
+BuildRequires:  cereal-devel
 BuildRequires:  cmake
 BuildRequires:  eigen3-devel >= 3
 BuildRequires:  expat
@@ -32,6 +33,7 @@ BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  glew-devel
 BuildRequires:  gtest >= 1.7
+BuildRequires:  libboost_atomic-devel
 BuildRequires:  libboost_filesystem-devel
 BuildRequires:  libboost_locale-devel
 BuildRequires:  libboost_log-devel
@@ -44,37 +46,74 @@ BuildRequires:  nlopt-devel
 BuildRequires:  tbb-devel
 BuildRequires:  update-desktop-files
 BuildRequires:  wxWidgets-devel >= 3.1
+Requires:       noto-sans-fonts
 
 %description
-A slicer software based on the open-source project Slic3r.
-PrusaSlicer is a feature-rich, frequently updated tool that
-contains everything you need to export the perfect print files
-for your Original Prusa 3D printer.
+PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code
+instructions for FFF printers or PNG layers for mSLA 3D printers. It's
+compatible with any modern printer based on the RepRap toolchain, including
+all those based on the Marlin, Prusa, Sprinter and Repetier firmware.
+It also works with Mach3, LinuxCNC and Machinekit controllers.
 
 %prep
 %setup -q -n %{name}-version_%{version}
-%patch0 -p1
+sed -i 's/UNKNOWN/OpenSUSE/' version.inc
 
 %build
 %cmake -DSLIC3R_FHS=1
-%cmake_build -j1
+%cmake_build -j1 # parallel builds get stuck for x86_64 on OBS
 
 %install
 %cmake_install
 for res in 32 128 192; do
-  install -D %{buildroot}%{_datadir}/%{name}/icons/%{name}_${res}px.png\
-             %{buildroot}%{_datadir}/icons/hicolor/${res}x${res}/apps/%{name}.png
+  mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${res}x${res}/apps/
+  ln -sr %{buildroot}%{_datadir}/%{name}/icons/%{name}_${res}px.png \
+         %{buildroot}%{_datadir}/icons/hicolor/${res}x${res}/apps/%{name}.png
 done
-# The category can be changed to Science;Engineering or Science; Construction as soon as boo#1074711 is resolved
-%suse_update_desktop_file -c %{name} %{name} "Slicer Software for 3D Printers" prusa-slicer %{name} "Education;Construction"
+%suse_update_desktop_file -i %{name}
+
+#remove stray font file
+rm -rf %{buildroot}%{_datadir}/%{name}/fonts
+
+# Copied and adapted from Fedora package:
+# https://src.fedoraproject.org/rpms/prusa-slicer
+# Upstream installs the translation source files when they probably shouldn't
+rm %{buildroot}%{_datadir}/%{name}/localization/{PrusaSlicer.pot,list.txt}
+find %{buildroot}%{_datadir}/%{name}/localization/ -name \*.po -delete
+
+# Copied and adapted from Fedora package:
+# https://src.fedoraproject.org/rpms/prusa-slicer
+# Handle locale files.  The find_lang macro doesn't work because it doesn't
+# understand the directory structure.  This copies part of the funtionality of
+# find-lang.sh by:
+#   * Getting a listing of all files
+#   * removing the buildroot prefix
+#   * inserting the proper 'lang' tag
+#   * removing everything that doesn't have a lang tag
+#   * A list of lang-specific directories is also added
+# The resulting file is included in the files list, where we must be careful to
+# exclude that directory.
+find %{buildroot}%{_datadir}/%{name}/localization -type f -o -type l | sed '
+    s:'"%{buildroot}"'::
+    s:\(.*/%{name}/localization/\)\([^/_]\+\)\(.*\.mo$\):%%lang(\2) \1\2\3:
+    s:^\([^%].*\)::
+    s:%lang(C) ::
+    /^$/d
+' > lang-files
+find %{buildroot}%{_datadir}/%{name}/localization -type d | sed '
+    s:'"%{buildroot}"'::
+    s:\(.*\):%dir \1:
+' >> lang-files
+
 %fdupes %{buildroot}%{_datadir}
 
 %check
 %ctest
 
-%files
+%files -f lang-files
 %{_bindir}/prusa-slicer
-%{_datadir}/%{name}/
+%dir %{_datadir}/%{name}/
+%{_datadir}/%{name}/{icons,models,profiles,shaders}/
 %{_datadir}/icons/hicolor/32x32/apps/%{name}.png
 %{_datadir}/icons/hicolor/128x128/apps/%{name}.png
 %{_datadir}/icons/hicolor/192x192/apps/%{name}.png
diff --git a/_service b/_service
new file mode 100644
index 0000000..413b85c
--- /dev/null
+++ b/_service
@@ -0,0 +1,3 @@
+<services>
+  <service name="download_files" mode="disabled" />
+</services>
diff --git a/prusaslicer-fixternary-wxstring.patch b/prusaslicer-fixternary-wxstring.patch
deleted file mode 100644
index 0aca0b8..0000000
--- a/prusaslicer-fixternary-wxstring.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 3566afde92edf1880f9672266f0d73e7acc71546 Mon Sep 17 00:00:00 2001
-From: Vojtech Kral <vojtech@kral.hk>
-Date: Fri, 26 Jul 2019 13:52:51 +0200
-Subject: [PATCH] Fix a ternary op type error in Tab
-
-Fix #2668
-Fix #2676
-
----
- src/slic3r/GUI/Tab.cpp | 22 ++++++++++++++--------
- 1 file changed, 14 insertions(+), 8 deletions(-)
-
-diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
-index 5777cbc0f..5bacda80e 100644
---- a/src/slic3r/GUI/Tab.cpp
-+++ b/src/slic3r/GUI/Tab.cpp
-@@ -915,14 +915,20 @@ void Tab::update_preset_description_line()
- {
- 	const Preset* parent = m_presets->get_selected_preset_parent();
- 	const Preset& preset = m_presets->get_edited_preset();
--			
--	wxString description_line = preset.is_default ?
--		_(L("It's a default preset.")) : preset.is_system ?
--		_(L("It's a system preset.")) : 
--		wxString::Format(_(L("Current preset is inherited from %s")), (parent == nullptr ? 
--													_(L("default preset"))+"." : 
--													":\n\t" + parent->name));
--	
-+
-+	wxString description_line;
-+
-+	if (preset.is_default) {
-+		description_line = _(L("This is a default preset."));
-+	} else if (preset.is_system) {
-+		description_line = _(L("This is a system preset."));
-+	} else if (parent == nullptr) {
-+		description_line = _(L("Current preset is inherited from the default preset."));
-+	} else {
-+		description_line = wxString::Format(
-+			_(L("Current preset is inherited from:\n\t%s")), GUI::from_u8(parent->name));
-+	}
-+
- 	if (preset.is_default || preset.is_system)
- 		description_line += "\n\t" + _(L("It can't be deleted or modified.")) + 
- 							"\n\t" + _(L("Any modifications should be saved as a new preset inherited from this one.")) + 
--- 
-2.22.0
-
diff --git a/version_2.0.0.tar.gz b/version_2.0.0.tar.gz
deleted file mode 100644
index 7aa7710..0000000
--- a/version_2.0.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5d3c7fd745f2875be55f316cd779805ce1b6ce38634f0f4b0ccd01884da731b3
-size 10772093
diff --git a/version_2.1.0.tar.gz b/version_2.1.0.tar.gz
new file mode 100644
index 0000000..5c6a260
--- /dev/null
+++ b/version_2.1.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1177c1afa8b917dddac9ce089543dce2e4b713dedf7fed58147224025dd82aaf
+size 27464794