1 |
# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> |
2 |
# $MidnightBSD$ |
3 |
|
4 |
PORTNAME= gstreamer |
5 |
PORTVERSION?= ${BASE_PORTVERSION} |
6 |
# When chasing a shared library for a plug-in bump the PORTREVISION in the |
7 |
# plug-in port instead, like ${category}/gstreamer1-plugin-${PLUGIN}. |
8 |
PORTREVISION?= 0 |
9 |
CATEGORIES?= multimedia audio |
10 |
MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-plugins-base/:base \ |
11 |
http://gstreamer.freedesktop.org/src/gst-plugins-bad/:bad \ |
12 |
http://gstreamer.freedesktop.org/src/gst-plugins-good/:good \ |
13 |
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/:ugly |
14 |
PKGNAMESUFFIX?= 1-plugins${GST_PLUGIN_SUFFIX} |
15 |
|
16 |
MAINTAINER= ports@MidnightBSD.org |
17 |
COMMENT?= GStreamer written collection of plugins handling several media types |
18 |
|
19 |
LICENSE= gpl2 |
20 |
|
21 |
BUILD_DEPENDS+= gstreamer1>=${GST1_VERSION}${GST1_MINIMAL_VERSION}:multimedia/gstreamer1 \ |
22 |
iso-codes>=0:misc/iso-codes \ |
23 |
orc>=0.4.16:devel/orc |
24 |
LIB_DEPENDS+= libgstreamer-1.0.so:multimedia/gstreamer1 \ |
25 |
libfreetype.so:print/freetype2 \ |
26 |
liborc-0.4.so:devel/orc |
27 |
RUN_DEPENDS+= iso-codes>=0:misc/iso-codes |
28 |
|
29 |
PORTSCOUT= limitw:1,even |
30 |
|
31 |
BASE_PORTVERSION= 1.12.3 |
32 |
BASE_DISTNAME= gst-plugins-base-${BASE_PORTVERSION} |
33 |
BASE_DISTFILE= ${BASE_DISTNAME}${EXTRACT_SUFX} |
34 |
BAD_PORTVERSION= 1.12.3 |
35 |
BAD_DISTNAME= gst-plugins-bad-${BAD_PORTVERSION} |
36 |
BAD_DISTFILE= ${BAD_DISTNAME}${EXTRACT_SUFX} |
37 |
GOOD_PORTVERSION= 1.12.3 |
38 |
GOOD_DISTNAME= gst-plugins-good-${GOOD_PORTVERSION} |
39 |
GOOD_DISTFILE= ${GOOD_DISTNAME}${EXTRACT_SUFX} |
40 |
UGLY_PORTVERSION= 1.12.3 |
41 |
UGLY_DISTNAME= gst-plugins-ugly-${UGLY_PORTVERSION} |
42 |
UGLY_DISTFILE= ${UGLY_DISTNAME}${EXTRACT_SUFX} |
43 |
DIST?= base |
44 |
|
45 |
USES+= gettext gmake gnome libtool pathfix pkgconfig tar:xz |
46 |
WANT_GSTREAMER= yes |
47 |
USE_GNOME+= glib20 introspection:build libxml2 |
48 |
GNU_CONFIGURE= yes |
49 |
INSTALL_TARGET= install-strip |
50 |
GST_PLUGIN?= base |
51 |
USE_LDCONFIG= yes |
52 |
|
53 |
CFLAGS+= -Wno-format |
54 |
CPPFLAGS+= -I${LOCALBASE}/include |
55 |
LDFLAGS+= -lpthread -L${LOCALBASE}/lib ${EXTRA_LIBS} |
56 |
|
57 |
DEFAULT_AUDIOSINK?= osssink |
58 |
DEFAULT_AUDIOSRC?= osssrc |
59 |
|
60 |
.if ${DIST}=="" |
61 |
IGNORE= DIST not specified |
62 |
.endif |
63 |
|
64 |
VERSION= 1.0 |
65 |
SOVERSION= 0.1203.0 |
66 |
PLIST_SUB+= VERSION="${VERSION}" \ |
67 |
SOVERSION="${SOVERSION}" |
68 |
|
69 |
.include <bsd.mport.options.mk> |
70 |
|
71 |
.if ${GST_PLUGIN} == "base" |
72 |
DIST= base |
73 |
NO_GSTREAMER_COMMON= yes |
74 |
.else |
75 |
BUILD_DEPENDS+= gstreamer1-plugins>=${GST1_VERSION}${GST1_MINIMAL_VERSION}:multimedia/gstreamer1-plugins |
76 |
RUN_DEPENDS+= gstreamer1-plugins>=${GST1_VERSION}${GST1_MINIMAL_VERSION}:multimedia/gstreamer1-plugins |
77 |
.endif |
78 |
|
79 |
.if ${DIST} == base || ${DIST} == ugly |
80 |
# --with-default-audiosink specify default audio sink |
81 |
# --with-default-audiosrc specify default audio source |
82 |
# --with-default-videosink specify default video sink |
83 |
# --with-default-videosrc specify default video source |
84 |
# --with-default-visualizer specify default visualizer |
85 |
CONFIGURE_ARGS+=--with-default-audiosink="${DEFAULT_AUDIOSINK}" \ |
86 |
--with-default-audiosrc="${DEFAULT_AUDIOSRC}" |
87 |
.endif |
88 |
|
89 |
.include "${MASTERDIR}/Makefile.common" |
90 |
|
91 |
.if ${DIST}=="base" |
92 |
EXTRACT_ONLY=${BASE_DISTFILE} |
93 |
WRKSRC=${WRKDIR}/${BASE_DISTNAME} |
94 |
PORTVERSION= ${BASE_PORTVERSION} |
95 |
DISTFILES+= ${BASE_DISTFILE}:base |
96 |
PATCHDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins/files |
97 |
.elif ${DIST}=="bad" |
98 |
EXTRACT_ONLY=${BAD_DISTFILE} |
99 |
WRKSRC=${WRKDIR}/${BAD_DISTNAME} |
100 |
PORTVERSION= ${BAD_PORTVERSION} |
101 |
DISTFILES+= ${BAD_DISTFILE}:bad |
102 |
PATCHDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins-bad/files |
103 |
.elif ${DIST}=="ugly" |
104 |
EXTRACT_ONLY=${UGLY_DISTFILE} |
105 |
WRKSRC=${WRKDIR}/${UGLY_DISTNAME} |
106 |
PORTVERSION= ${UGLY_PORTVERSION} |
107 |
DISTFILES+= ${UGLY_DISTFILE}:ugly |
108 |
PATCHDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins-ugly/files |
109 |
.elif ${DIST}=="good" |
110 |
EXTRACT_ONLY=${GOOD_DISTFILE} |
111 |
WRKSRC=${WRKDIR}/${GOOD_DISTNAME} |
112 |
PORTVERSION= ${GOOD_PORTVERSION} |
113 |
DISTFILES+= ${GOOD_DISTFILE}:good |
114 |
PATCHDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins-good/files |
115 |
.elif ${DIST}=="makesum" |
116 |
DISTFILES+= ${BASE_DISTFILE}:base ${BAD_DISTFILE}:bad \ |
117 |
${UGLY_DISTFILE}:ugly ${GOOD_DISTFILE}:good |
118 |
.else |
119 |
BROKEN= Unknown dist setting |
120 |
.endif |
121 |
|
122 |
# cdrom/dvd default device |
123 |
.ifdef(WITH_DVD_DEVICE) |
124 |
DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE} |
125 |
.else |
126 |
DEFAULT_DVD_DEVICE=/dev/cd0 |
127 |
.endif |
128 |
|
129 |
post-patch: |
130 |
.if ${DIST} == bad |
131 |
# custom rule to fix opencv detection in configure |
132 |
# @${REINPLACE_CMD} -e 's|opencv <= 2.4.8|opencv <= 2.4.9|g' \ |
133 |
# ${WRKSRC}/configure |
134 |
@${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|g' \ |
135 |
${WRKSRC}/ext/resindvd/resindvdbin.c \ |
136 |
${WRKSRC}/ext/resindvd/resindvdsrc.c |
137 |
.endif |
138 |
.if ${DIST} != ugly |
139 |
@${FIND} ${WRKSRC}/ext ${WRKSRC}/sys \ |
140 |
-name Makefile.in | ${XARGS} -n 10 ${REINPLACE_CMD} -e \ |
141 |
'/la_DEPENDENCIES/,/am__DEPENDENCIES/s,$$(top_builddir)/gst-libs/.*.la,,' -e \ |
142 |
's|$$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_API_VERSION@.la|-lgsttag-${VERSION}|; \ |
143 |
s|$$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la|-lgstaudio-${VERSION}|; \ |
144 |
s|$$(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_API_VERSION@.la|-lgstpbutils-${VERSION}|; \ |
145 |
s|$$(top_builddir)/gst-libs/gst/riff/libgstriff-@GST_API_VERSION@.la|-lgstriff-${VERSION}|; \ |
146 |
s|$$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-@GST_API_VERSION@.la|-lgstsignalprocessor-${VERSION}|; \ |
147 |
s|$$(top_builddir)/gst-libs/gst/video/libgstbasevideo-@GST_API_VERSION@.la|-lgstbasevideo-${VERSION}|; \ |
148 |
s|$$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la|-lgstvideo-${VERSION}|; \ |
149 |
s|$$(top_builddir)/gst-libs/gst/base/libgstbadbase-@GST_API_VERSION@.la|-lgstbadbase-${VERSION}|; \ |
150 |
s|$$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la|-lgsturidownloader-${VERSION}|; \ |
151 |
s|$$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la|-lgstadaptivedemux-${VERSION}|; \ |
152 |
s|$$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-@GST_API_VERSION@.la|-lgstcodecparsers-${VERSION}|; \ |
153 |
s|$$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-@GST_API_VERSION@.la|-lgstbadallocators-${VERSION}|; \ |
154 |
s|$$(top_builddir)/gst-libs/gst/video/libgstbadvideo-@GST_API_VERSION@.la|-lgstbadvideo-${VERSION}|' |
155 |
|
156 |
@${FIND} ${WRKSRC}/ext ${WRKSRC}/sys -name Makefile.in | \ |
157 |
${XARGS} -n 10 ${REINPLACE_CMD} -e \ |
158 |
'/la_DEPENDENCIES/,/am__DEPENDENCIES/s,$$(top_builddir)/gst-libs/.*.la,,' -e \ |
159 |
's|$$(top_builddir)/gst-libs/gst/tag/libgsttag-$$(GST_API_VERSION).la|-lgsttag-${VERSION}|; \ |
160 |
s|$$(top_builddir)/gst-libs/gst/audio/libgstaudio-$$(GST_API_VERSION).la|-lgstaudio-${VERSION}|; \ |
161 |
s|$$(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-$$(GST_API_VERSION).la|-lgstpbutils-${VERSION}|; \ |
162 |
s|$$(top_builddir)/gst-libs/gst/riff/libgstriff-$$(GST_API_VERSION).la|-lgstriff-${VERSION}|; \ |
163 |
s|$$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-$$(GST_API_VERSION).la|-lgstsignalprocessor-${VERSION}|; \ |
164 |
s|$$(top_builddir)/gst-libs/gst/video/libgstbasevideo-$$(GST_API_VERSION).la|-lgstbasevideo-${VERSION}|; \ |
165 |
s|$$(top_builddir)/gst-libs/gst/video/libgstvideo-$$(GST_API_VERSION).la|-lgstvideo-${VERSION}|; \ |
166 |
s|$$(top_builddir)/gst-libs/gst/base/libgstbadbase-$$(GST_API_VERSION).la|-lgstbadbase-${VERSION}|; \ |
167 |
s|$$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$$(GST_API_VERSION).la|-lgsturidownloader-${VERSION}|; \ |
168 |
s|$$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la|-lgstadaptivedemux-${VERSION}|; \ |
169 |
s|$$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$$(GST_API_VERSION).la|-lgstcodecparsers-${VERSION}|; \ |
170 |
s|$$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-$$(GST_API_VERSION).la|-lgstbadallocators-${VERSION}|; \ |
171 |
s|$$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$$(GST_API_VERSION).la|-lgstbadvideo-${VERSION}|' |
172 |
.endif |
173 |
|
174 |
.if ${DIST} == bad |
175 |
# Disable X11 support in librfb |
176 |
post-configure: |
177 |
@${REINPLACE_CMD} -e 's|HAVE_X11 = yes|HAVE_X11 = no|g' \ |
178 |
-e 's|#ifdef HAVE_X11|#ifdef NO_X11|g' \ |
179 |
-e 's|$$(X11_CFLAGS) \\|\\|g' \ |
180 |
-e 's|$$(X11_LIBS) \\|\\|g' \ |
181 |
${WRKSRC}/gst/librfb/Makefile \ |
182 |
${WRKSRC}/gst/librfb/gstrfbsrc.c |
183 |
.endif |
184 |
|
185 |
pre-install: |
186 |
${MKDIR} ${STAGEDIR}${PREFIX}/lib/gstreamer-1.0 |
187 |
|
188 |
.include <bsd.port.mk> |