summaryrefslogtreecommitdiff
path: root/multimedia/handbrake/Makefile
blob: d757028d3f88077c3dc3d7f4fa51579e501271b2 (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
# 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>

# 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>