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

PORTNAME=	handbrake
PORTVERSION=	0.6.2
CATEGORIES=	multimedia
MASTER_SITES=	http://people.via.ecp.fr/~titer/handbrake/ \
		http://download.videolan.org/pub/videolan/vlc/0.8.1/contrib/:ffmpeg
DISTFILES=	HandBrake-${PORTVERSION}-src${EXTRACT_SUFX} \
		${FFMPEG_DIST}:ffmpeg
EXTRACT_ONLY=	HandBrake-${PORTVERSION}-src${EXTRACT_SUFX}

MAINTAINER=	andy@fud.org.nz
COMMENT=	A DVD to MPEG-4 ripper and encoder

BUILD_DEPENDS=	jam:${PORTSDIR}/devel/jam \
		nasm:${PORTSDIR}/devel/nasm
LIB_DEPENDS=	a52.0:${PORTSDIR}/audio/liba52 \
		dvdcss.2:${PORTSDIR}/multimedia/libdvdcss \
		dvdread.3:${PORTSDIR}/multimedia/libdvdread \
		faac.0:${PORTSDIR}/audio/faac \
		mp3lame.0:${PORTSDIR}/audio/lame \
		mp4.0:${PORTSDIR}/multimedia/mpeg4ip \
		mpeg2.0:${PORTSDIR}/multimedia/libmpeg2 \
		ogg.5:${PORTSDIR}/audio/libogg \
		samplerate.1:${PORTSDIR}/audio/libsamplerate \
		vorbis.3:${PORTSDIR}/audio/libvorbis \
		xvidcore.4:${PORTSDIR}/multimedia/xvid

FFMPEG_SNAP=	20041113
FFMPEG_DIST=	ffmpeg-${FFMPEG_SNAP}.tar.bz2
FFMPEG_SRC_DIR=	${WRKDIR}/ffmpeg-${FFMPEG_SNAP}
PLIST_FILES=	bin/handbrake
WRKSRC=		${WRKDIR}/HandBrake-${PORTVERSION}

USE_GNOME=	gtk20
USE_REINPLACE=	yes
USE_X_PREFIX=	yes

SYSCTL_CMD?=	/sbin/sysctl

FFMPEG_CONFIGURE_ARGS+=	--enable-gpl --disable-ffserver \
			--enable-memalign-hack \
			--cc="${CC}" \
			--make="${GMAKE}" \
			--extra-ldflags="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
			--extra-cflags="${CFLAGS} -I${LOCALBASE}/include -I${X11BASE}/include" \
			--extra-libs"-lm" \
			--disable-debug \
			--enable-pp \
			--enable-pthreads \
			--enable-faac \
			--enable-mp3lame \
			--enable-faad \
			--enable-a52 \
			--enable-xvid

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 500000
WITH_DVD_DEVICE?=	acd0c
.else
WITH_DVD_DEVICE?=	acd0
.endif

post-extract:
	cd ${WRKDIR}; ${BZIP2_CMD} ${EXTRACT_BEFORE_ARGS} \
		${_DISTDIR}/${FFMPEG_DIST} ${EXTRACT_AFTER_ARGS}

do-build:
	@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} jam)

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

post-patch:
	@${REINPLACE_CMD} -e 's:%%PREFIX%%:${LOCALBASE}:g' \
		-e 's:%%LIBAVCODEC%%:${FFMPEG_SRC_DIR}/libavcodec:g' \
		-e 's:%%PTHREAD_LIBS%%:${PTHREAD_LIBS}:g' \
		-e 's:%%CC%%:${CC}:g' -e 's:%%CXX%%:${CXX}:g' \
		-e 's:%%CFLAGS%%:${CFLAGS}:g' \
		${BUILD_WRKSRC}/Jamfile ${BUILD_WRKSRC}/core/Jamfile \
		${BUILD_WRKSRC}/Jamrules
	@${REINPLACE_CMD} -e 's:%%DVD_DEVICE%%:${WITH_DVD_DEVICE}:g' \
		${BUILD_WRKSRC}/gtk2/main.c
# sysctl
	@${REINPLACE_CMD} -e 's|/usr/sbin/sysctl|${SYSCTL_CMD}|' \
		${BUILD_WRKSRC}/core/HandBrake.c
# ffmpeg
.if ${OSVERSION} < 502119
	@${REINPLACE_CMD} -e 's|roundf|rintf|' \
		${FFMPEG_SRC_DIR}/libavcodec/xvidff.c
.endif
	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|' \
		${FFMPEG_SRC_DIR}/configure
	cd ${FFMPEG_SRC_DIR} && \
		${PATCH} -p0 < ${PATCHDIR}/ffmpeg-patch

pre-configure:
	cd ${FFMPEG_SRC_DIR} \
	&& ${SETENV} ${SCRIPTS_ENV} ${CONFIGURE_ENV} \
		${SH} ./configure ${CONFIGURE_ARGS} ${FFMPEG_CONFIGURE_ARGS}
	cd ${FFMPEG_SRC_DIR}/libavcodec \
		&& ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} Makefile \
		${MAKE_ARGS} all

.include <bsd.port.post.mk>