diff options
author | flz <flz@FreeBSD.org> | 2009-02-24 17:26:48 +0000 |
---|---|---|
committer | flz <flz@FreeBSD.org> | 2009-02-24 17:26:48 +0000 |
commit | b409d62916a1246724e2a1263fee3c6ece6d980d (patch) | |
tree | fa6047cc631e6ca0d67b7ce463423a6fe96f3573 /multimedia | |
parent | 83121e9dc3975b5341578b9e34afbea44ccbac87 (diff) | |
download | FreeBSD-ports-b409d62916a1246724e2a1263fee3c6ece6d980d.zip FreeBSD-ports-b409d62916a1246724e2a1263fee3c6ece6d980d.tar.gz |
Add moonlight 1.0, the free opensource implementation of Microsoft Silverlight.
The port only supports Firefox 2 but support for Firefox 3 will arrive soon.
Also, there's no sound support at the moment either.
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/Makefile | 1 | ||||
-rw-r--r-- | multimedia/moonlight/Makefile | 100 | ||||
-rw-r--r-- | multimedia/moonlight/distinfo | 3 | ||||
-rw-r--r-- | multimedia/moonlight/files/patch-configure | 28 | ||||
-rw-r--r-- | multimedia/moonlight/files/patch-src_debug.cpp | 22 | ||||
-rw-r--r-- | multimedia/moonlight/files/patch-src_pipeline.cpp | 10 | ||||
-rw-r--r-- | multimedia/moonlight/files/patch-src_utils.h | 11 | ||||
-rw-r--r-- | multimedia/moonlight/files/patch-tools_mopen_mopen1.cpp | 10 | ||||
-rw-r--r-- | multimedia/moonlight/pkg-descr | 8 | ||||
-rw-r--r-- | multimedia/moonlight/pkg-plist | 15 |
10 files changed, 208 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile index d97ed10..2b6589d 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -162,6 +162,7 @@ SUBDIR += mmpython SUBDIR += mmsclient SUBDIR += mmsrip + SUBDIR += moonlight SUBDIR += motion SUBDIR += mpeg SUBDIR += mpeg2codec diff --git a/multimedia/moonlight/Makefile b/multimedia/moonlight/Makefile new file mode 100644 index 0000000..5096204 --- /dev/null +++ b/multimedia/moonlight/Makefile @@ -0,0 +1,100 @@ +# New ports collection makefile for: moonlight +# Date created: Feb 13 2009 +# Whom: Florent Thoumie <flz@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= moonlight +PORTVERSION= 1.0 +CATEGORIES= multimedia www +MASTER_SITES= http://ftp.novell.com/pub/mono/sources/moon/ +DISTNAME= moon-${PORTVERSION} + +MAINTAINER= mono@FreeBSD.org +COMMENT= OpenSource Implementation of Silverlight + +LIB_DEPENDS= avcodec.1:${PORTSDIR}/multimedia/ffmpeg \ + execinfo.1:${PORTSDIR}/devel/libexecinfo + +OPTIONS= FF2 "Install Firefox 2.x support" on +# FF3 "Install Firefox 3.x support" on + +USE_BZIP2= yes +GNU_CONFIGURE= yes +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" +CONFIGURE_ARGS= --with-cairo=system \ + --with-debug=yes + +WEBPLUGINS_DIR= ${PREFIX}/lib/moon/plugin +WEBPLUGINS_FILES= libmoonloader.so \ + libmoonplugin.so + +.include <bsd.port.pre.mk> +.include "${PORTSDIR}/www/firefox/Makefile.webplugins" + +.if !defined(WITHOUT_FF2) || exists(${LOCALBASE}/bin/firefox) +BUILD_DEPENDS+= ${LOCALBASE}/bin/firefox:${PORTSDIR}/www/firefox +RUN_DEPENDS+= ${LOCALBASE}/bin/firefox:${PORTSDIR}/www/firefox + +USE_WEBPLUGINS+= gecko18 +WEBPLUGINS_FILES+= libmoonplugin-ff2bridge.so + +PLIST_SUB+= FF2="" +CONFIGURE_ARGS+= --with-ff2=yes +.else +PLIST_SUB+= FF2="@comment " +CONFIGURE_ARGS+= --with-ff2=no +.endif + +#.if !defined(WITHOUT_FF3) || exists(${LOCALBASE}/bin/firefox3) +#BUILD_DEPENDS+= ${LOCALBASE}/bin/firefox3:${PORTSDIR}/www/firefox3 +#RUN_DEPENDS+= ${LOCALBASE}/bin/firefox3:${PORTSDIR}/www/firefox3 +# +#USE_WEBPLUGINS+= gecko19 +#WEBPLUGINS_FILES+= libmoonplugin-ff3bridge.so +# +#PLIST_SUB+= FF3="" +#CONFIGURE_ARGS+= --with-ff3=yes +#CONFIGURE_ENV+= FF3_CFLAGS="-I${LOCALBASE}/include/firefox3/unstable -I${LOCALBASE}/include/nspr" \ +# FF3_LIBS="-pthread -L${LOCALBASE}/lib/firefox3" +#.else +PLIST_SUB+= FF3="@comment " +#CONFIGURE_ARGS+= --with-ff3=no +#.endif + +# Building the .xpi doesn't actually require embedded cairo, but it's a safer option +# as there's no way for firefox to detect if cairo is already installed apparently. +.if defined(WITH_XPI_PLUGIN) +CONFIGURE_ARGS+=--enable-user-plugin --with-cairo=embedded +PLIST= ${NONEXISTENT} +PLIST_FILES= ${WEBPLUGINS_DIR}/${PKGNAME}-freebsd-${OSREL}.xpi +.endif + +post-patch: + @${REINPLACE_CMD} -e '/<malloc.h>/d' \ + ${WRKSRC}/src/animation.cpp \ + ${WRKSRC}/src/runtime.cpp \ + ${WRKSRC}/src/xaml.cpp \ + ${WRKSRC}/src/xap.cpp \ + ${WRKSRC}/src/value.cpp + @${REINPLACE_CMD} -e 's|CODEC_URL|""|' \ + ${WRKSRC}/src/pipeline-ui.cpp + @${REINPLACE_CMD} -e 's|\(^LIBS\) =|\1 = -lexecinfo|' \ + -e 's|/proc/|/compat/linux/proc/| ' \ + ${WRKSRC}/src/Makefile.in + @${REINPLACE_CMD} -e 's|-ldl||' \ + ${WRKSRC}/plugin/Makefile.in +# @${REINPLACE_CMD} -e 's|\(FF3_MODULES\)=.*|\1="libavutil"|1' \ +# ${WRKSRC}/configure +# @${REINPLACE_CMD} -e 's|\(FF3_MODULES\)=.*|\1="firefox-js firefox-plugin"|1' \ +# ${WRKSRC}/configure + +.if defined(WITH_XPI_PLUGIN) +do-install: + ${INSTALL_DATA} ${WRKSRC}/plugin/install/novell-moonlight.xpi \ + ${WEBPLUGINS_DIR}/${PKGNAME}-freebsd-${OSREL}.xpi +.endif + +.include <bsd.port.post.mk> diff --git a/multimedia/moonlight/distinfo b/multimedia/moonlight/distinfo new file mode 100644 index 0000000..dc51173 --- /dev/null +++ b/multimedia/moonlight/distinfo @@ -0,0 +1,3 @@ +MD5 (moon-1.0.tar.bz2) = 3600d96fe421c7713cef8847cca5bb8a +SHA256 (moon-1.0.tar.bz2) = 440133d964120858832133981f4b559cc208fa2bccf20154f62c22318f373645 +SIZE (moon-1.0.tar.bz2) = 8806735 diff --git a/multimedia/moonlight/files/patch-configure b/multimedia/moonlight/files/patch-configure new file mode 100644 index 0000000..d5333e4 --- /dev/null +++ b/multimedia/moonlight/files/patch-configure @@ -0,0 +1,28 @@ +--- configure.orig 2009-01-13 19:53:23.000000000 +0000 ++++ configure 2009-02-13 15:20:45.000000000 +0000 +@@ -23676,6 +23676,9 @@ + *linux* ) + TARGET_PLATFORM="Linux" + ;; ++ *freebsd* ) ++ TARGET_PLATFORM="FreeBSD" ++ ;; + * ) + { { echo "$as_me:$LINENO: error: Target os $target_os is unknown. + Please add the appropriate string to configure.ac. +@@ -24219,10 +24222,14 @@ + ;; + esac + case "$host" in +- *-*-*linux*) ++ *-*-*linux*|*freebsd*) + OSTYPE=linux + CODECS_OS_SUPPORTED="yes" + ;; ++ *freebsd*) ++ OSTYPE=linux ++ CODECS_OS_SUPPORTED="no" ++ ;; + esac + + if test ${ARCH} = unknown; then diff --git a/multimedia/moonlight/files/patch-src_debug.cpp b/multimedia/moonlight/files/patch-src_debug.cpp new file mode 100644 index 0000000..d8c584f --- /dev/null +++ b/multimedia/moonlight/files/patch-src_debug.cpp @@ -0,0 +1,22 @@ +--- src/debug.cpp.orig 2009-01-13 19:41:33.000000000 +0000 ++++ src/debug.cpp 2009-02-12 17:50:56.000000000 +0000 +@@ -120,6 +120,19 @@ + + static Addr2LineData *addr2line_pipes = NULL; + ++#ifndef getline ++gint64 ++getline(char **buffer, size_t *len, FILE *stream) ++{ ++ *buffer = (char *)calloc(1, 512); /* Should be plenty */ ++ ++ if (fgets(*buffer, 512, stream) == NULL) ++ return -1; ++ *len = strlen(*buffer); ++ return *len; ++} ++#endif ++ + static char* + library_of_ip (gpointer ip, gpointer* base_address) + { diff --git a/multimedia/moonlight/files/patch-src_pipeline.cpp b/multimedia/moonlight/files/patch-src_pipeline.cpp new file mode 100644 index 0000000..42eb625 --- /dev/null +++ b/multimedia/moonlight/files/patch-src_pipeline.cpp @@ -0,0 +1,10 @@ +--- src/pipeline.cpp.orig 2009-02-12 20:44:18.000000000 +0000 ++++ src/pipeline.cpp 2009-02-12 20:44:30.000000000 +0000 +@@ -15,6 +15,7 @@ + #include <config.h> + #include <stdio.h> + #include <sys/types.h> ++#include <sys/stat.h> + #include <unistd.h> + #include <fcntl.h> + #include <errno.h> diff --git a/multimedia/moonlight/files/patch-src_utils.h b/multimedia/moonlight/files/patch-src_utils.h new file mode 100644 index 0000000..b2fbf62 --- /dev/null +++ b/multimedia/moonlight/files/patch-src_utils.h @@ -0,0 +1,11 @@ +--- src/utils.h.orig 2009-02-12 20:41:44.000000000 +0000 ++++ src/utils.h 2009-02-12 20:42:46.000000000 +0000 +@@ -14,6 +14,8 @@ + #ifndef __MOON_GARRAY_EXT_H__ + #define __MOON_GARRAY_EXT_H__ + ++#include <sys/types.h> ++ + #include <glib.h> + #include <cairo.h> + diff --git a/multimedia/moonlight/files/patch-tools_mopen_mopen1.cpp b/multimedia/moonlight/files/patch-tools_mopen_mopen1.cpp new file mode 100644 index 0000000..0c37d7f --- /dev/null +++ b/multimedia/moonlight/files/patch-tools_mopen_mopen1.cpp @@ -0,0 +1,10 @@ +--- tools/mopen/mopen1.cpp.orig 2009-02-13 14:08:20.000000000 +0000 ++++ tools/mopen/mopen1.cpp 2009-02-13 14:08:37.000000000 +0000 +@@ -14,6 +14,7 @@ + // Implement everything mopen implements + // + ++#include <sys/stat.h> + #include <config.h> + #include <gtk/gtk.h> + #include <unistd.h> diff --git a/multimedia/moonlight/pkg-descr b/multimedia/moonlight/pkg-descr new file mode 100644 index 0000000..ec38cb1 --- /dev/null +++ b/multimedia/moonlight/pkg-descr @@ -0,0 +1,8 @@ +Moonlight is a free and open-source implementation of the Silverlight +web application framework which was originally developed by Microsoft. +Moonlight is currently being developed by the Mono Project + +WWW: http://www.mono-project.com/Moonlight + +- Florent Thoumie +flz@FreeBSD.org diff --git a/multimedia/moonlight/pkg-plist b/multimedia/moonlight/pkg-plist new file mode 100644 index 0000000..dcedad3 --- /dev/null +++ b/multimedia/moonlight/pkg-plist @@ -0,0 +1,15 @@ +bin/mopen1 +lib/libmoon.la +lib/libmoon.so +lib/libmoon.so.0 +lib/moon/plugin/README +lib/moon/plugin/libmoonloader.la +lib/moon/plugin/libmoonloader.so +%%FF2%%lib/moon/plugin/libmoonplugin-ff2bridge.la +%%FF2%%lib/moon/plugin/libmoonplugin-ff2bridge.so +%%FF3%%lib/moon/plugin/libmoonplugin-ff3bridge.la +%%FF3%%lib/moon/plugin/libmoonplugin-ff3bridge.so +lib/moon/plugin/libmoonplugin.la +lib/moon/plugin/libmoonplugin.so +@dirrm lib/moon/plugin +@dirrm lib/moon |