aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/handbrake/Makefile
blob: 4f188cc1061f52d0b72e83b8f232db5207733de0 (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
# New ports collection makefile for: handbrake
# Date created:        19 November 2004
# Whom:                Andrew Thompson <andy@fud.org.nz>
#
# $FreeBSD$
#

PORTNAME=   handbrake
PORTVERSION=    0.9.1
CATEGORIES= multimedia
MASTER_SITES=   http://saintdevelopment.com/mirror/handbrake/:main \
        http://junk.phantomgorilla.com/hb/:main \
        http://daigertech.com/handbrake/:main \
        http://www.mirrors.ausmac.net/ftp/Audio-SW/HandBrake/testing/:main \
        http://asshatandi.com/:main \
        http://download.m0k.org/handbrake/testing/:main \
        http://download.m0k.org/handbrake/contrib/:contrib
DISTFILES=  HandBrake-${PORTVERSION}.tar.gz:main \
        faac-1.24.tar.gz:contrib \
        lame-3.96.1.tar.gz:contrib \
        libdca-r81-strapped.tar.gz:contrib \
        libdvdcss-1.2.9.tar.gz:contrib \
        libdvdread-0.9.7.tar.gz:contrib \
        libmkv-0.6.1.2.tar.gz:contrib \
        libogg-1.1.2.tar.gz:contrib \
        libvorbis-aotuv_b5.tar.gz:contrib \
        mpeg2dec-0.4.1.tar.gz:contrib \
        mpeg4ip-1.3.tar.gz:contrib \
        xvidcore-1.1.2.tar.gz:contrib \
        ffmpeg-9816.tar.gz:contrib \
        x264-r665.tar.gz:contrib \
        a52dec-0.7.4.tar.gz:contrib \
        libsamplerate-0.1.2.tar.gz:contrib
DIST_SUBDIR=    handbrake

MAINTAINER= jaj@hcl-club.lu
COMMENT=    A DVD to MPEG-4 ripper and encoder

BUILD_DEPENDS=  jam:${PORTSDIR}/devel/jam \
        pkg-config:${PORTSDIR}/devel/pkg-config
LIB_DEPENDS=    freetype.9:${PORTSDIR}/print/freetype2

NO_CDROM=   CSS code may violate the DMCA

USE_GMAKE=  yes
HAS_CONFIGURE=  yes
USE_AUTOTOOLS=  libtool:15
LIBTOOLFILES=   ${WRKSRC}/contrib/a52dec/configure \
        ${WRKSRC}/contrib/libdvdcss/configure \
        ${WRKSRC}/contrib/libdvdread/configure \
        ${WRKSRC}/contrib/faac/configure \
        ${WRKSRC}/contrib/lame/configure \
        ${WRKSRC}/contrib/mpeg4ip/configure \
        ${WRKSRC}/contrib/mpeg2dec/configure \
        ${WRKSRC}/contrib/libogg/configure \
        ${WRKSRC}/contrib/libsamplerate/configure \
        ${WRKSRC}/contrib/libvorbis/configure

WRKSRC=     ${WRKDIR}/HandBrake
PLIST_FILES=    bin/handbrake

JAM?=       ${LOCALBASE}/bin/jam
APPLY?=     /usr/bin/apply

.include <bsd.port.pre.mk>

.if ${ARCH} == "amd64" && ${OSVERSION} < 700000
BROKEN=     Does not compile
.endif

# nasm/yasm needed by x264
.if ${ARCH}=="i386"
BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
.else
BUILD_DEPENDS+= yasm>=0.6.0:${PORTSDIR}/devel/yasm
.endif

CONFIGURE_ENV+= PKG_CONFIG_PATH=${WRKSRC}/contrib/lib/pkgconfig
MAKE_ENV+=  ARCH=${ARCH} MAKE=${GMAKE}

post-extract:
    @${APPLY} "${MV} %1 ${WRKSRC}/contrib/" \
        ${WRKDIR}/a52dec \
        ${WRKDIR}/faac \
        ${WRKDIR}/ffmpeg \
        ${WRKDIR}/lame \
        ${WRKDIR}/libdca \
        ${WRKDIR}/libdvdcss \
        ${WRKDIR}/libdvdread \
        ${WRKDIR}/libmkv \
        ${WRKDIR}/libogg \
        ${WRKDIR}/libsamplerate \
        ${WRKDIR}/libvorbis \
        ${WRKDIR}/mpeg2dec \
        ${WRKDIR}/mpeg4ip \
        ${WRKDIR}/x264 \
        ${WRKDIR}/xvidcore

post-patch:
    @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
        ${WRKSRC}/configure
    @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|g ; \
        s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g ; \
        s|%%CONTRIB%%|${WRKSRC}/contrib|g ; \
        s|./bootstrap|${SETENV} CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${CONFIGURE_ENV} ./bootstrap|g ; \
        s|./configure|${SETENV} CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${CONFIGURE_ENV} ./configure|g' \
            ${WRKSRC}/contrib/Jamfile
    @${REINPLACE_CMD} -e 's|-O3||g ; s|-O20||g ; s|-O4 -ffast-math||g ; \
        s| -mtune=.*"|"|g ; s| -mcpu=.*"|"|g ; \
        s|-fomit-frame-pointer||g ; s|-pthread|${PTHREAD_LIBS}|g ; \
        s|-lpthread|${PTHREAD_LIBS}|g ; \
        s|=`echo \".*$$CFLAGS\".*sed.*`|=`echo \"$$OPT_CFLAGS $$CFLAGS\"`|g' \
            ${WRKSRC}/contrib/*/configure
    @${REINPLACE_CMD} -e 's|>&/|>/|g' \
        ${WRKSRC}/contrib/mpeg4ip/configure
    @${REINPLACE_CMD} -e 's|\\$$(PREFIX)|${WRKSRC}/contrib|g ; \
        s|$$(PREFIX)|${WRKSRC}/contrib|g ; \
        s|$$PREFIX|${WRKSRC}/contrib|g' \
            ${WRKSRC}/contrib/ffmpeg/configure

# jam -dx, it will giving a verbose of build.
do-build:
    @(cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${JAM} -dx)

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/HandBrakeCLI ${PREFIX}/bin/handbrake

.include <bsd.port.post.mk>