diff --git a/contrib/src/speexdsp/SHA512SUMS b/contrib/src/speexdsp/SHA512SUMS
new file mode 100644
index 0000000000000000000000000000000000000000..954c812d19cf97ff6a909c265d7acfaf9b47fdc7
--- /dev/null
+++ b/contrib/src/speexdsp/SHA512SUMS
@@ -0,0 +1 @@
+29dfa8345df025eeb076561648a9b5c0485692be699b6da3c2a3734b4329187a1c2eb181252f4df12b21f1309ecdf59797437dfb123d160fd723491ab216e858  speexdsp-1.2rc3.tar.gz
diff --git a/contrib/src/speexdsp/rules.mak b/contrib/src/speexdsp/rules.mak
index 3cc2b15bc899e7e5dfd19051c3fe75967480400f..f02a7e82644c49f0564784e62cadf73f9dc24929 100644
--- a/contrib/src/speexdsp/rules.mak
+++ b/contrib/src/speexdsp/rules.mak
@@ -1,25 +1,20 @@
 # speexdsp
 
-SPEEXDSP_VERSION := git
-SPEEXDSP_HASH := HEAD
-SPEEXDSP_GITURL := http://git.xiph.org/?p=speexdsp.git;a=snapshot;h=$(SPEEXDSP_HASH);sf=tgz
+SPEEXDSP_VERSION := 1.2rc3
+SPEEXDSP_URL := http://downloads.us.xiph.org/releases/speex/speexdsp-$(SPEEXDSP_VERSION).tar.gz
 
 PKGS += speexdsp
 ifeq ($(call need_pkg,"speexdsp"),)
 PKGS_FOUND += speexdsp
 endif
 
-$(TARBALLS)/speexdsp-git.tar.gz:
-	$(call download,$(SPEEXDSP_GITURL))
+$(TARBALLS)/speexdsp-$(SPEEXDSP_VERSION).tar.gz:
+	$(call download,$(SPEEXDSP_URL))
 
 .sum-speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz
-	$(warning $@ not implemented)
-	touch $@
 
 speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz .sum-speexdsp
-	rm -Rf $@-git $@
-	mkdir -p $@-git
-	$(ZCAT) "$<" | (cd $@-git && tar xv --strip-components=1)
+	$(UNPACK)
 	$(MOVE)
 
 SPEEXDSP_CONF := --enable-resample-full-sinc-table --disable-examples