diff --git a/.gitignore b/.gitignore
index 0fb2a93cd4e837f7635d700b14f48655e3839722..5e55c7b031be7f9e6446f844ee5173c19ae27050 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,79 @@ build-dir/
 .flatpak-builder/
 repo
 repo-binary-addons/
+
+audiodecoder.2sf/
+audiodecoder.asap/
+audiodecoder.dumb/
+audiodecoder.fluidsynth/
+audiodecoder.gme/
+audiodecoder.gsf/
+audiodecoder.modplug/
+audiodecoder.ncsf/
+audiodecoder.nosefart/
+audiodecoder.openmpt/
+audiodecoder.organya/
+audiodecoder.qsf/
+audiodecoder.sidplay/
+audiodecoder.snesapu/
+audiodecoder.ssf/
+audiodecoder.stsound/
+audiodecoder.timidity/
+audiodecoder.upse/
+audiodecoder.usf/
+audiodecoder.vgmstream/
+audiodecoder.wsr/
+audioencoder.flac/
+audioencoder.lame/
+audioencoder.vorbis/
+audioencoder.wav/
+game.libretro.2048/
+game.libretro.mrboom/
+game.libretro/
+imagedecoder.mpo/
+imagedecoder.raw/
+inputstream.adaptive/
+inputstream.rtmp/
+peripheral.joystick/
+peripheral.xarcade/
+pvr.argustv/
+pvr.demo/
+pvr.dvblink/
+pvr.dvbviewer/
+pvr.filmon/
+pvr.hdhomerun/
+pvr.hts/
+pvr.iptvsimple/
+pvr.mediaportal.tvserver/
+pvr.mythtv/
+pvr.nextpvr/
+pvr.njoy/
+pvr.octonet/
+pvr.pctv/
+pvr.sledovanitv.cz/
+pvr.stalker/
+pvr.teleboy/
+pvr.vbox/
+pvr.vdr.vnsi/
+pvr.vuplus/
+pvr.wmc/
+pvr.zattoo/
+screensaver.asteroids/
+screensaver.asterwave/
+screensaver.biogenesis/
+screensaver.cpblobs/
+screensaver.greynetic/
+screensaver.matrixtrails/
+screensaver.pingpong/
+screensaver.pyro/
+screensaver.stars/
+screensavers.rsxs/
+vfs.libarchive/
+vfs.rar/
+vfs.sftp/
+visualization.fishbmc/
+visualization.goom/
+visualization.projectm/
+visualization.shadertoy/
+visualization.spectrum/
+visualization.waveform/
diff --git a/addons/vfs.nfs.json b/addons/vfs.nfs.json
deleted file mode 100644
index c324a607b90734b5c957d2d5af12c17e049ce9d1..0000000000000000000000000000000000000000
--- a/addons/vfs.nfs.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "name": "vfs.nfs",
-    "buildsystem": "cmake-ninja",
-    "sources": [
-        {
-            "type": "git",
-            "url": "https://github.com/notspiff/vfs.nfs",
-            "commit": "d9ede317f40923d21645ac6fa118127a70b83730"
-        }
-    ]
-}
diff --git a/addons/vfs.sacd.json b/addons/vfs.sacd.json
deleted file mode 100644
index 25b3ca39a481f4e320a9fdaea5c886e9f862bf42..0000000000000000000000000000000000000000
--- a/addons/vfs.sacd.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "name": "vfs.sacd",
-    "buildsystem": "cmake-ninja",
-    "sources": [
-        {
-            "type": "git",
-            "url": "https://github.com/xbmc/vfs.sacd",
-            "commit": "4ade5fe422a2d08bb61f827e5382bc141456f6fd"
-        }
-    ]
-}
diff --git a/binary-addons.py b/binary-addons.py
index 0c17b516063fa454203193b49541b5f06c623a8c..cf735f7344d1420640dce2807a67aa1eef242128 100644
--- a/binary-addons.py
+++ b/binary-addons.py
@@ -14,14 +14,22 @@ ADDON_SRC_PREFIX = 'src'
 def addon_manifest(def_dir, addon):
     with open(os.path.join(def_dir, addon + '.txt'), 'r') as f:
         a, r, v = f.read().strip().split(' ')
-        ls_remote = subprocess.check_output(['git', 'ls-remote', '-q', r, v])
-        c = ls_remote.decode().split('\t')[0]
+        if not os.path.exists(addon):
+            subprocess.check_output(['git', 'clone', '--branch={}'.format(v), '--single-branch', r])
+        else:
+            subprocess.check_output(['git', 'config', 'remote.origin.fetch', '+refs/heads/{v}:refs/remotes/origin/{v}'.format(v=v)], cwd=a)
+        subprocess.check_output(['git', 'fetch', '--all', '-p'], cwd=a)
+        t = subprocess.check_output(['git', 'describe', '--abbrev=0', '--tags', 'origin/{}'.format(v)], cwd=a)
+        t = t.decode().strip()
+        c = subprocess.check_output(['git', 'rev-parse', t], cwd=a)
+        c = c.decode().strip()
         mf = {
             'name': addon,
             'buildsystem': 'cmake-ninja',
             'sources': [{
                 'type': 'git',
                 'url': r,
+                'tag': t,
                 'commit': c,
             }]
         }
diff --git a/tv.kodi.Kodi.yml b/tv.kodi.Kodi.yml
index 165c68ec62cb244760fb07f394da181013ad034f..06cb78e2fe2af99bfe47863a68b5c1d539383568 100644
--- a/tv.kodi.Kodi.yml
+++ b/tv.kodi.Kodi.yml
@@ -186,9 +186,7 @@ modules:
   - addons/screensaver.pingpong.json
   - addons/screensaver.pyro.json
   - addons/screensaver.stars.json
-  - addons/vfs.nfs.json
   - addons/vfs.rar.json
-  - addons/vfs.sacd.json
   - addons/visualization.fishbmc.json
   - addons/visualization.shadertoy.json
   - addons/visualization.spectrum.json