diff --git a/srcpkgs/icecast/patches/cross-compile-disable-curlcheck.patch b/srcpkgs/icecast/patches/cross-compile-disable-curlcheck.patch
new file mode 100644
index 0000000000..f48612e172
--- /dev/null
+++ b/srcpkgs/icecast/patches/cross-compile-disable-curlcheck.patch
@@ -0,0 +1,56 @@
+--- configure.orig	2014-10-05 09:35:51.721250204 +0200
++++ configure	2014-10-05 09:54:44.915165393 +0200
+@@ -12591,17 +12591,10 @@ ac_xslt_save_LIBS="$LIBS"
+ ac_xslt_save_CFLAGS="$CFLAGS"
+ LIBS="$XSLT_LIBS $LIBS"
+ CFLAGS="$CFLAGS $XSLT_CFLAGS"
+-for ac_func in xsltSaveResultToString
+-do :
+-  ac_fn_c_check_func "$LINENO" "xsltSaveResultToString" "ac_cv_func_xsltSaveResultToString"
+-if test "x$ac_cv_func_xsltSaveResultToString" = xyes; then :
+-  cat >>confdefs.h <<_ACEOF
++cat >>confdefs.h <<_ACEOF
+ #define HAVE_XSLTSAVERESULTTOSTRING 1
+ _ACEOF
+ 
+-fi
+-done
+-
+ CFLAGS="$ac_xslt_save_CFLAGS"
+ LIBS="$ac_xslt_save_LIBS"
+ 
+@@ -13999,34 +13992,6 @@ done
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcurl" >&5
+ $as_echo_n "checking for libcurl... " >&6; }
+-if test "$curl_ok" = "yes"
+-then
+-    if test "$cross_compiling" = yes; then :
+-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run test program while cross compiling
+-See \`config.log' for more details" "$LINENO" 5; }
+-else
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-#include <curl/curl.h>
+-int main()
+-{
+-    return 0;
+-}
+-
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+-
+-else
+-  curl_ok="no"
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-
+-fi
+ if test "$curl_ok" = "yes"; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
diff --git a/srcpkgs/icecast/template b/srcpkgs/icecast/template
index 6ce1f68eb5..5eb25aaa34 100644
--- a/srcpkgs/icecast/template
+++ b/srcpkgs/icecast/template
@@ -3,7 +3,7 @@ pkgname=icecast
 version=2.4.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config"
+hostmakedepends="pkg-config libtool libxslt-devel"
 makedepends="libressl-devel libcurl-devel speex-devel
  libtheora-devel libvorbis-devel libogg-devel libxslt-devel libxml2-devel"
 conf_files="/etc/icecast.xml"
@@ -13,3 +13,14 @@ license="GPL-2"
 homepage="http://www.icecast.org/"
 distfiles="http://downloads.xiph.org/releases/${pkgname}/${pkgname}-${version}.tar.gz"
 checksum=17b7e957e1b16a576efaabd69c15126e84ce98d3791ccee4546b72c0c6460f32
+
+pre_configure() {
+	libtoolize -f
+}
+
+if [ "$CROSS_BUILD" ]; then
+	post_configure() {
+			# the build system of icecast is broken. manually fix Makefiles to cross compile
+			sed -i "s#-L/usr/lib #-L$XBPS_CROSS_BASE/usr/lib -lxslt #" `find -name Makefile`
+	}
+fi