diff --git a/contrib/src/ogg/SHA512SUMS b/contrib/src/ogg/SHA512SUMS
new file mode 100644
index 0000000000000000000000000000000000000000..19d4dbc4b89ba740bc4b3c78f924ad0e4e760977
--- /dev/null
+++ b/contrib/src/ogg/SHA512SUMS
@@ -0,0 +1 @@
+980d8916b5d6bf22376105869a9b9d5312cee81f0ff1f6aa9f34359e92a93b7b34555a4c4f124922d87ef7e48a4b9451e35d9b536929b9144fcc22bcf6debbf0  libogg-1.3.1.tar.xz
diff --git a/contrib/src/ogg/libogg-1.1.patch b/contrib/src/ogg/libogg-1.1.patch
new file mode 100644
index 0000000000000000000000000000000000000000..bf74b0cb8316e20a6ddc96ea325af21656361474
--- /dev/null
+++ b/contrib/src/ogg/libogg-1.1.patch
@@ -0,0 +1,56 @@
+--- libogg/configure.in	2010-11-01 21:13:42.000000000 +0100
++++ libogg.new/configure.in	2010-11-03 23:59:54.267733114 +0100
+@@ -28,17 +28,17 @@
+         case $host in 
+         *-*-irix*)
+                 DEBUG="-g -signed" 
+-                CFLAGS="-O2 -w -signed"
++                EXTRA_CFLAGS="-O2 -w -signed"
+                 PROFILE="-p -g3 -O2 -signed"
+ 		;;
+         sparc-sun-solaris*)
+                 DEBUG="-v -g"
+-                CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
++                EXTRA_CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
+                 PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc"
+ 		;;
+         *)
+                 DEBUG="-g"
+-                CFLAGS="-O"
++                EXTRA_CFLAGS="-O"
+                 PROFILE="-g -p" 
+ 		;;
+         esac
+@@ -46,27 +46,27 @@
+         case $host in 
+         *-*-linux*)
+                 DEBUG="-g -Wall -fsigned-char"
+-                CFLAGS="-O20 -Wall -ffast-math -fsigned-char"
++                EXTRA_CFLAGS="-O20 -Wall -ffast-math -fsigned-char"
+                 PROFILE="-Wall -W -pg -g -O20 -ffast-math -fsigned-char"
+ 		;;
+         sparc-sun-*)
+                 DEBUG="-g -Wall -fsigned-char"
+-                CFLAGS="-O20 -ffast-math -fsigned-char"
++                EXTRA_CFLAGS="-O20 -ffast-math -fsigned-char"
+                 PROFILE="-pg -g -O20 -fsigned-char" 
+ 		;;
+ 	*-*-darwin*)
+ 		DEBUG="-fno-common -g -Wall -fsigned-char"
+-		CFLAGS="-fno-common -O4 -Wall -fsigned-char -ffast-math"
++		EXTRA_CFLAGS="-fno-common -O3 -Wall -fsigned-char -ffast-math"
+ 		PROFILE="-fno-common -O4 -Wall -pg -g -fsigned-char -ffast-math"
+ 		;;
+         *)
+                 DEBUG="-g -Wall -fsigned-char"
+-                CFLAGS="-O20 -fsigned-char"
++                EXTRA_CFLAGS="-O20 -fsigned-char"
+                 PROFILE="-O20 -g -pg -fsigned-char" 
+ 		;;
+         esac
+ fi
+-CFLAGS="$CFLAGS $cflags_save"
++CFLAGS="$EXTRA_CFLAGS $cflags_save"
+ DEBUG="$DEBUG $cflags_save"
+ PROFILE="$PROFILE $cflags_save"
+ 
diff --git a/contrib/src/ogg/libogg-disable-check.patch b/contrib/src/ogg/libogg-disable-check.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5801b372bed2e636816b3b42693f824b77dd7b05
--- /dev/null
+++ b/contrib/src/ogg/libogg-disable-check.patch
@@ -0,0 +1,12 @@
+diff -ru libogg/src/Makefile.am libogg/src/Makefile.am
+--- libogg/src/Makefile.am	2011-08-04 19:07:42.000000000 +0200
++++ libogg-f/src/Makefile.am	2012-03-21 13:05:23.000000000 +0100
+@@ -9,7 +9,7 @@
+ 
+ # build and run the self tests on 'make check'
+ 
+-noinst_PROGRAMS = test_bitwise test_framing
++noinst_PROGRAMS =
+ 
+ test_bitwise_SOURCES = bitwise.c
+ test_bitwise_CFLAGS = -D_V_SELFTEST
diff --git a/contrib/src/ogg/rules.mak b/contrib/src/ogg/rules.mak
new file mode 100644
index 0000000000000000000000000000000000000000..ac53b58e613cb69660c9fe2ca05f186c3d65edb1
--- /dev/null
+++ b/contrib/src/ogg/rules.mak
@@ -0,0 +1,29 @@
+# libogg
+
+OGG_VERSION := 1.3.1
+
+OGG_URL := http://downloads.xiph.org/releases/ogg/libogg-$(OGG_VERSION).tar.xz
+#OGG_URL := $(CONTRIB_VIDEOLAN)/libogg-$(OGG_VERSION).tar.xz
+
+PKGS += ogg
+ifeq ($(call need_pkg,"ogg >= 1.0"),)
+PKGS_FOUND += ogg
+endif
+
+$(TARBALLS)/libogg-$(OGG_VERSION).tar.xz:
+	$(call download,$(OGG_URL))
+
+.sum-ogg: libogg-$(OGG_VERSION).tar.xz
+
+ogg: libogg-$(OGG_VERSION).tar.xz .sum-ogg
+	$(UNPACK)
+	$(APPLY) $(SRC)/ogg/libogg-1.1.patch
+	$(APPLY) $(SRC)/ogg/libogg-disable-check.patch
+	$(UPDATE_AUTOCONFIG)
+	$(MOVE)
+
+.ogg: ogg
+	$(RECONF)
+	cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
+	cd $< && $(MAKE) install
+	touch $@