summaryrefslogtreecommitdiff
path: root/multimedia/transcode/Makefile
blob: ce66354b5428e9055e9681d0424c8d107110f36c (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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
PORTNAME=	transcode
PORTVERSION=	1.1.7
PORTREVISION=	51
CATEGORIES=	multimedia
#MASTER_SITES=	https://bitbucket.org/france/transcode-tcforge/downloads/

MAINTAINER=	se@FreeBSD.org
COMMENT=	Text-console utility for video stream processing
WWW=		https://www.transcoding.org/

LICENSE=	GPLv2

DEPRECATED=	abandoned by upstream and does not build
EXPIRATION_DATE=	2023-03-31
BROKEN=		depends on removed libav audio resample functions

LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg

USES=		gmake libtool pkgconfig tar:bzip2 gettext-runtime
USE_GITHUB=	yes
GH_ACCOUNT=	wyyrepo
GH_TAGNAME=	474090a
USE_LDCONFIG=	yes
GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--enable-oss
CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
INSTALL_TARGET=	install-strip

OPTIONS_DEFINE=		DOCS OPTIMIZED_CFLAGS X11 MPEG2 BKTR POSTPROC FREETYPE LAME \
			XVID X264 OGG VORBIS THEORA DVDREAD DV QUICKTIME LZO A52 \
			FAAC LIBXML2 MJPEGTOOLS SDL IMAGEMAGICK JPEG ICONV V4L
OPTIONS_DEFAULT=	LAME DVDREAD JPEG ICONV
BKTR_DESC=		Bktr capture card support
POSTPROC_DESC=		Libpostproc support
DVDREAD_DESC=		Libdvdread support

X11_USES=			xorg
X11_USE=			xorg=xv,xaw,xpm,sm,ice,xext,x11,xt
X11_CONFIGURE_WITH=		x

MPEG2_LIB_DEPENDS=		libmpeg2.so:multimedia/libmpeg2
MPEG2_CONFIGURE_ENABLE=		libmpeg2 libmpeg2convert

BKTR_CONFIGURE_ENABLE=		bktr

POSTPROC_CONFIGURE_ENABLE=	libpostproc

FREETYPE_LIB_DEPENDS=		libfreetype.so:print/freetype2
FREETYPE_CONFIGURE_ENABLE=	freetype2

LAME_LIB_DEPENDS=		libmp3lame.so:audio/lame
LAME_CONFIGURE_ENABLE=		lame
LAME_CONFIGURE_ON=		--with-lame-prefix=${LOCALBASE}

XVID_LIB_DEPENDS=		libxvidcore.so:multimedia/xvid
XVID_CONFIGURE_ENABLE=		xvid
XVID_CONFIGURE_ON=		--with-xvid-prefix=${LOCALBASE}

X264_LIB_DEPENDS=		libx264.so:multimedia/libx264
X264_CONFIGURE_ENABLE=		x264

OGG_LIB_DEPENDS=		libogg.so:audio/libogg
OGG_CONFIGURE_ENABLE=		ogg

VORBIS_LIB_DEPENDS=		libvorbis.so:audio/libvorbis
VORBIS_CONFIGURE_ENABLE=	vorbis

THEORA_LIB_DEPENDS=		libtheora.so:multimedia/libtheora
THEORA_CONFIGURE_ENABLE=	theora

DVDREAD_LIB_DEPENDS=		libdvdread.so:multimedia/libdvdread
DVDREAD_CONFIGURE_ENABLE=	libdvdread
DVDREAD_CONFIGURE_ON=		--with-libdvdread-prefix=${LOCALBASE}

DV_LIB_DEPENDS=			libdv.so:multimedia/libdv
DV_CONFIGURE_ENABLE=		libdv

QUICKTIME_LIB_DEPENDS=		libquicktime.so:multimedia/libquicktime
QUICKTIME_CONFIGURE_ENABLE=	libquicktime

LZO_LIB_DEPENDS=		liblzo2.so:archivers/lzo2
LZO_CONFIGURE_ENABLE=		lzo
LZO_CONFIGURE_ON=		--with-lzo-prefix=${LOCALBASE} --with-lzo-includes=${LOCALBASE}

A52_LIB_DEPENDS=		liba52.so:audio/liba52
A52_CONFIGURE_ENABLE=		a52
A52_CONFIGURE_ON=		--with-a52-prefix=${LOCALBASE}

FAAC_LIB_DEPENDS=		libfaac.so:audio/faac
FAAC_CONFIGURE_ENABLE=		faac
FAAC_CONFIGURE_ON=		--with-faac-prefix=${LOCALBASE}

LIBXML2_USES=			gnome
LIBXML2_USE=			GNOME=libxml2
LIBXML2_CONFIGURE_ENABLE=	libxml2

MJPEGTOOLS_LIB_DEPENDS=		liblavjpeg.so:multimedia/mjpegtools
MJPEGTOOLS_CONFIGURE_ENABLE=	mjpegtools

SDL_USES=			sdl
SDL_USE=			SDL=sdl
SDL_CONFIGURE_ENABLE=		sdl

IMAGEMAGICK_USES=		magick:6
IMAGEMAGICK_CONFIGURE_ENABLE=	imagemagick
IMAGEMAGICK_CONFIGURE_ON=	--with-imagemagick-prefix=${LOCALBASE}

JPEG_USES=			jpeg
JPEG_CONFIGURE_ENABLE=		libjpeg
JPEG_CONFIGURE_ON=		--with-libjpeg-prefix=${LOCALBASE}

ICONV_USES=			iconv
ICONV_CONFIGURE_ENABLE=		iconv
ICONV_CONFIGURE_ON=		--with-iconv-prefix=${ICONV_PREFIX}

V4L_BUILD_DEPENDS=		${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
V4L_CONFIGURE_ENABLE=		v4l

.include <bsd.port.pre.mk>

LDFLAGS_i386+=	-Wl,-z,notext

.if empty(ICONV_LIB)
CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \
		ac_cv_lib_iconv_libiconv_open=no
.endif

post-extract:
	@${RM} ${WRKSRC}/import/v4l/videodev*
	@${CHMOD} +x ${WRKSRC}/configure

post-patch:
	@${REINPLACE_CMD} -E -e 's|loff_t|uint64_t|' ${WRKSRC}/avilib/avidump.c
	@${REINPLACE_CMD} -E -e 's|<SDL/|<|' ${WRKSRC}/filter/preview/display.h
	@${REINPLACE_CMD} -e '/^static.*lrint/s|static ||' ${WRKSRC}/filter/filter_modfps.c

	@${REINPLACE_CMD} -E -e 's|(-la52)|\1 ${LIBA52_DEP_LIBS}|g ; \
		s|FFMPEG_VERSION|LIBAVCODEC_IDENT|g ; \
		s|-lMagick|-lMagickCore|g' \
			${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}

	@${REINPLACE_CMD} -E -e 's|-ldl||g' ${WRKSRC}/configure
	@${REINPLACE_CMD} -E -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/configure
	@${REINPLACE_CMD} -E -e 's|WRKSRC|${WRKSRC}|g' ${WRKSRC}/export/Makefile.in
	@${REINPLACE_CMD} -E -e 's|<quicktime/|<lqt/|g' \
		${WRKSRC}/configure \
		${WRKSRC}/export/export_mov.c \
		${WRKSRC}/import/decode_mov.c \
		${WRKSRC}/import/import_mov.c \
		${WRKSRC}/import/probe_mov.c

post-patch-LZO-on:
	@${REINPLACE_CMD} -e 's|%%NUV%%|nuv|' ${WRKSRC}/import/Makefile.in

post-patch-LZO-off:
	@${REINPLACE_CMD} -e 's|%%NUV%%||' ${WRKSRC}/import/Makefile.in

post-patch-OPTIMIZED_CFLAGS-off:
	@${FIND} ${WRKSRC} -type f | ${XARGS} -n 10 -x ${REINPLACE_CMD} \
		-e 's|-O[236]|${CFLAGS}|'

post-stage:
	@(cd ${STAGEDIR}${PREFIX} && \
		${FIND} -s lib/transcode -type f -or -type l >> ${TMPPLIST})

.include <bsd.port.post.mk>