aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/mencoder/Makefile
blob: 08715f2a84e1015a360c1901d54da95b1bbe94e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Created by: Thomas E. Zander
# $FreeBSD$

PORTNAME=   mencoder
PORTVERSION=    ${MPLAYER_PORT_VERSION}
CATEGORIES= multimedia audio

MAINTAINER= riggs@FreeBSD.org
COMMENT=    Convenient video file and movie encoder

.include "${.CURDIR}/../mplayer/Makefile.common"

OPTIONS_DEFINE= AMR_NB AMR_WB BLURAY CDIO DEBUG DV FAAC FONTCONFIG \
        FRIBIDI GIF GNUTLS GSM IPV6 JACK LADSPA LIBMNG LZO \
        MAD NAS OCFLAGS OPENAL OPENJPEG OPUS PULSEAUDIO REAL \
        RTCPU RTMP SCHROEDINGER SMB THEORA TWOLAME V4L VPX \
        X264 XVID

OPTIONS_DEFAULT=GIF GNUTLS IPV6 OCFLAGS RTCPU X264 XVID

BLURAY_DESC?=   BluRay support
LZO_DESC?=  Enable external liblzo library
OCFLAGS_DESC?=  Use optimized compiler flags
REAL_DESC?= Enable realplayer plugin
RTCPU_DESC?=    Use runtime CPU detection on supported archs

RESTRICTED= Port has restricted dependencies

PATCHDIR=   ${.CURDIR}/../mplayer/files
FILESDIR=   ${PATCHDIR}
DATADIR=    ${PREFIX}/share/mplayer

TOOLFILES=  aconvert.sh binary_codecs.sh calcbpp.pl \
        checktree.sh countquant.pl divx2svcd.sh \
        dvd2divxscript.pl edgedetect.fp edgeenh.fp \
        emboss.fp mencvcd.sh midentify.sh \
        mpconsole.sh mphelp_check.py mplmult.sh \
        plotpsnr.pl psnr-video.sh qepdvcd.sh \
        subedit.pl subsearch.sh vobshift.py \
        w32codec_dl.pl wma2ogg.pl

USES+=      alias iconv pkgconfig shebangfix
SHEBANG_FILES=  TOOLS/calcbpp.pl TOOLS/checktree.sh TOOLS/countquant.pl \
        TOOLS/divx2svcd.sh TOOLS/dvd2divxscript.pl TOOLS/mencvcd.sh \
        TOOLS/mphelp_check.py TOOLS/plotpsnr.pl TOOLS/psnr-video.sh \
        TOOLS/qepdvcd.sh TOOLS/subedit.pl TOOLS/w32codec_dl.pl \
        TOOLS/wma2ogg.pl

.include "${.CURDIR}/../mplayer/Makefile.optvars"
.include <bsd.port.pre.mk>

CONFIGURE_ARGS+=    --disable-mplayer \
            --disable-libdca \
            --disable-x11 \
            --disable-vdpau \
            --disable-rtc \
            --disable-arts \
            --disable-caca \
            --disable-lirc \
            --disable-sdl \
            --disable-svga \
            --disable-aa \
            --disable-joystick \
            --disable-directfb \
            --disable-mpg123 \
            --disable-enca \
            --disable-musepack

LIB_DEPENDS+=   libmp3lame.so:${PORTSDIR}/audio/lame

ALL_TARGET= mencoder

.include "${.CURDIR}/../mplayer/Makefile.options"

pre-everything::
    @${ECHO_MSG} "N - O - T - E"
    @${ECHO_MSG} ""
    @${ECHO_MSG} "There are some knobs which *can* *not* be selected via the"
    @${ECHO_MSG} "OPTIONS framework. At the moment, these settings are:"
    @${ECHO_MSG} "DEFAULT_DVD_DEVICE=${DEFAULT_DVD_DEVICE}"
    @${ECHO_MSG} "DEFAULT_CDROM_DEVICE=${DEFAULT_CDROM_DEVICE}"

pre-patch:
    ${MV} ${WRKDIR}/ffmpeg-${FFMPEG_VERSION} ${WRKSRC}/ffmpeg

post-patch:
.if ${OSVERSION} >= 900010
    @${REINPLACE_CMD} -e \
        '/CFLAGS.*-D_LARGEFILE64_SOURCE/ s/-D_LARGEFILE64_SOURCE/-D_FILE_OFFSET_BITS=64/' \
        ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
.endif
    @${REINPLACE_CMD} \
        -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
        s|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|' \
        -e 's|/usr/local|${LOCALBASE}|' \
        -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
        -e 's|-lbz2|/usr/lib/libbz2.so|' \
        -e 's|-lncurses|/usr/lib/libncurses.so|' \
        -e 's|-liconv|${ICONV_LIB}|' \
        ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
    @${FIND} -E ${WRKSRC} -type f \
        -iregex ".*(configure|.sh|Makefile)" -print0 | \
        ${XARGS} -x -0 -n 10 \
        ${REINPLACE_CMD} -E \
            -e 's|[[:space:]]gcc[-[:digit:]\.]+| ${CC}|' \
            -e 's|[[:space:]]gcc| ${CC}|' \
            -e 's|\$$\(CC\)|${CC}|' \
            -e 's|/usr/X11R6|${LOCALBASE}|'
    @${FIND} ${WRKSRC}/DOCS/man -name "mplayer.1" | ${XARGS} ${REINPLACE_CMD} -E -e \
        's|/usr/\\:local/\\:etc/\\:mplayer|${DATADIR:S/\//\/\\\:/g}|g ; \
         s|/dev/\\:(dvd[[:alnum:]]*[[:>:]])|${DEFAULT_DVD_DEVICE:S/dev\//dev\/\\\:/}|g ; \
         s|/dev/\\:(cdrom[[:alnum:]]*[[:>:]])|${DEFAULT_CDROM_DEVICE:S/dev\//dev\/\\\:/}|g'

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/mencoder ${STAGEDIR}${PREFIX}/bin

post-install:
    ${INSTALL_MAN} ${WRKSRC}/DOCS/man/en/mplayer.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/mencoder.1
    @${MKDIR} ${STAGEDIR}${DATADIR}
    @${CHMOD} 755 ${STAGEDIR}${DATADIR}
    @${MKDIR} ${STAGEDIR}${DATADIR}/tools
    @${CHMOD} 755 ${STAGEDIR}${DATADIR}/tools
.for tool in ${TOOLFILES}
    ${INSTALL_SCRIPT} ${WRKSRC}/TOOLS/${tool} ${STAGEDIR}${DATADIR}/tools
.endfor

.include <bsd.port.post.mk>