aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/mencoder/Makefile
blob: 4aee12eb45471bf593fb22d1ded40beb1631c04f (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
128
129
130
131
132
# Created by: Thomas E. Zander
# $FreeBSD$

PORTNAME=   mencoder
PORTVERSION=    ${MPLAYER_PORT_VERSION}
PORTREVISION=   2
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 \
        RTMP SCHROEDINGER SMB THEORA TWOLAME V4L VPX \
        X264 XVID

OPTIONS_DEFAULT=GIF GNUTLS IPV6 OCFLAGS X264 XVID

OPTIONS_DEFINE_i386=    RTCPU
OPTIONS_DEFINE_amd64=   RTCPU
OPTIONS_DEFINE_powerpc= RTCPU

OPTIONS_DEFAULT_i386=   RTCPU
OPTIONS_DEFAULT_amd64=  RTCPU
OPTIONS_DEFAULT_powerpc=RTCPU

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

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:
    @${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}|' \
            -e 's|%%LOCALBASE%%|${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>