aboutsummaryrefslogtreecommitdiff
path: root/multimedia/lives/Makefile
blob: b1140d5fd0a0ed344cd2e0398c0d4deb19555299 (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
PORTNAME=	lives
DISTVERSION=	3.2.0
PORTREVISION=	17
CATEGORIES=	multimedia
MASTER_SITES=	http://lives-video.com/releases/
DISTNAME=	LiVES-${PORTVERSION}

MAINTAINER=	vvd@unislabs.com
COMMENT=	Video editing system
WWW=		http://lives-video.com/

LICENSE=		GPLv3+ LGPL3+
LICENSE_COMB=		multi
LICENSE_FILE_GPLv3+ =	${WRKSRC}/COPYING
LICENSE_FILE_LGPL3+ =	${WRKSRC}/COPYING.LGPL

BROKEN=		fails to build with FFmpeg 6

BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
		analyseplugin:audio/ladspa
LIB_DEPENDS=	liboil-0.3.so:devel/liboil \
		libpng.so:graphics/png \
		libavcodec.so:multimedia/ffmpeg \
		libmjpegutils.so:multimedia/mjpegtools
RUN_DEPENDS=	analyseplugin:audio/ladspa \
		ffprobe:multimedia/ffmpeg \
		sox:audio/sox

WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}

USES=		autoreconf compiler:c++11-lib gettext-runtime gettext-tools \
		gl gnome libtool localbase pathfix perl5 pkgconfig python \
		sdl shebangfix xorg
SHEBANG_FILES=	build-lives-rfx-plugin build-lives-rfx-plugin-multi smogrify \
		tools/autolives.pl lives-plugins/plugins/encoders/*_encoder \
		lives-plugins/marcos-encoders/*encoder* \
		lives-plugins/plugins/encoders/multi_encoder3 \
		lives-plugins/plugins/playback/audiostream/audiostreamer.pl
GNU_CONFIGURE=	yes
USE_XORG=	x11 xrender
USE_GL=		gl glu
USE_SDL=	sdl sdl2
USE_GNOME=	cairo gdkpixbuf2 gtk30 intltool
USE_LDCONFIG=	yes

CONFIGURE_ARGS=	--disable-ldvgrab --disable-prctl --disable-system-weed --disable-dirac
INSTALL_TARGET=	install-strip

DOC_FILES=	AUTHORS COPYING COPYING.LGPL ChangeLog FEATURES GETTING.STARTED NEWS README \
		OMC/lives-OMC.txt RFX/LiVES-Perl.odt RFX/rfxbuilder.odt \
		RFX/RFX.spec docs/c++-bindings.odt docs/clip_format.txt \
		lives-plugins/marcos-encoders/README.multi_encoder \
		weed-docs/weedspec.txt weed-docs/weedevents.txt

OPTIONS_DEFINE=			ALSA DOCS DOXYGEN DV FFTW FREI0R JACK IMAGEMAGICK LIBEXPLAIN \
				LIBVISUAL OGG OPENCV OPTIMIZED_CFLAGS NLS PROJECTM PULSEAUDIO \
				THEORA V4L WAYLAND
OPTIONS_GROUP=			RUNTIME EXT_WIN_CAPTURE MPLAYERS MP3
OPTIONS_GROUP_RUNTIME=		CDDA2WAV GHOSTSCRIPT LAME MATROSKA MENCODER OGG123 OGM \
				SSWF X264 XDG_SCREENSAVER XWININFO YTDLP
OPTIONS_GROUP_EXT_WIN_CAPTURE=	WMCTRL XDOTOOL
OPTIONS_GROUP_MP3=		MPG123 MPG321
OPTIONS_GROUP_MPLAYERS=		MPLAYER MPV
OPTIONS_DEFAULT=		CDDA2WAV DOCS DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK LAME \
				MPG123 MPLAYER NLS OGG OGG123 OGM OPENCV \
				THEORA X264 XDG_SCREENSAVER XDOTOOL XWININFO YTDLP
OPTIONS_SUB=			yes

ALSA_CONFIGURE_OFF=		--disable-alsa
ALSA_LIB_DEPENDS=		libasound.so:audio/alsa-lib
CDDA2WAV_RUN_DEPENDS=		cdda2wav:sysutils/cdrtools
DOXYGEN_BUILD_DEPENDS=		doxygen:devel/doxygen
DOXYGEN_CONFIGURE_OFF=		--disable-doxygen
DV_CONFIGURE_OFF=		--disable-libdv
DV_LIB_DEPENDS=			libdv.so:multimedia/libdv
DV_RUN_DEPENDS=			encodedv:multimedia/libdv
EXT_WIN_CAPTURE_DESC=		Allows external window capture via xdotool or wmctrl
FFTW_CONFIGURE_OFF=		--disable-fftw3f
FFTW_LIB_DEPENDS=		libfftw3.so:math/fftw3 \
				libfftw3f.so:math/fftw3-float
FREI0R_BUILD_DEPENDS=		frei0r>0:graphics/frei0r
FREI0R_CONFIGURE_OFF=		--disable-frei0r
FREI0R_RUN_DEPENDS=		frei0r>0:graphics/frei0r
GHOSTSCRIPT_USES=		ghostscript:run
IMAGEMAGICK_USES=		magick:run
JACK_CONFIGURE_OFF=		--disable-jack
JACK_LIB_DEPENDS=		libjack.so:audio/jack \
				libjackserver.so:audio/jack
LAME_RUN_DEPENDS=		lame:audio/lame
LIBEXPLAIN_CONFIGURE_OFF=	--disable-libexplain
LIBEXPLAIN_DESC=		Used to explain Unix and Linux system call errors
LIBEXPLAIN_LIB_DEPENDS=		libexplain.so:devel/libexplain
LIBVISUAL_CONFIGURE_OFF=	--disable-libvisual
LIBVISUAL_LIB_DEPENDS=		libvisual-0.4.so:graphics/libvisual04
MATROSKA_RUN_DEPENDS=		mkvmerge:multimedia/mkvtoolnix
MENCODER_RUN_DEPENDS=		mencoder:multimedia/mencoder
MENCODER_DESC=			Use mencoder as video file and movie encoder
MP3_DESC=			Runtime check order is: mpg321, mpg123, mplayer, mplayer2, mpv
MPG123_RUN_DEPENDS=		mpg123:audio/mpg123
MPG321_DESC=			MP3 decoding support via mpg321
MPG321_RUN_DEPENDS=		mpg321:audio/mpg321
MPLAYER_RUN_DEPENDS=		mplayer:multimedia/mplayer
MPLAYERS_DESC=			Install mplayer/mpv (runtime check)
MPV_DESC=			MPV media player support
MPV_RUN_DEPENDS=		mpv:multimedia/mpv
NLS_USES=			gettext-tools
OGG_CONFIGURE_OFF=		--disable-ogg
OGG_LIB_DEPENDS=		libogg.so:audio/libogg
OGG123_DESC=			Use ogg123 from vorbis-tools
OGG123_RUN_DEPENDS=		ogg123:audio/vorbis-tools
OGM_DESC=			Use ogmtools for manipulating with OGM files
OGM_RUN_DEPENDS=		ogmmerge:multimedia/ogmtools
OPENCV_CONFIGURE_OFF=		--disable-opencv
OPENCV_LIB_DEPENDS=		libopencv_calib3d.so:graphics/opencv \
				libopencv_core.so:graphics/opencv
SSWF_DESC=			Use sswf for manipulating with Flash movies
SSWF_RUN_DEPENDS=		sswf:graphics/sswf
THEORA_CONFIGURE_OFF=		--disable-theora
THEORA_LIB_DEPENDS=		libtheora.so:multimedia/libtheora
OPTIMIZED_CFLAGS_CONFIGURE_ON=	--enable-turbo
PROJECTM_CONFIGURE_OFF=		--disable-projectM
PROJECTM_DESC=			projectM support
PROJECTM_LIB_DEPENDS=		libprojectM.so:graphics/libprojectm
PULSEAUDIO_CONFIGURE_OFF=	--disable-pulse
PULSEAUDIO_LIB_DEPENDS=		libpulse.so:audio/pulseaudio
RUNTIME_DESC=			Runtime detected utilities
V4L_BUILD_DEPENDS=		${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
V4L_CONFIGURE_OFF=		--disable-v4l
V4L_LIB_DEPENDS=		libv4l2.so:multimedia/libv4l
WAYLAND_CONFIGURE_OFF=		--disable-wayland
WAYLAND_LIB_DEPENDS=		libwayland-client.so:graphics/wayland \
				libwayland-egl.so:graphics/wayland \
				libwayland-cursor.so:graphics/wayland
WMCTRL_DESC=			Install wmctrl
WMCTRL_RUN_DEPENDS=		wmctrl:x11/wmctrl
YTDLP_DESC=			Install yt-dlp (youtube-dl fork) - requires SYMLINK option
YTDLP_RUN_DEPENDS=		yt-dlp:www/yt-dlp
X264_RUN_DEPENDS=		x264:multimedia/x264
XDG_SCREENSAVER_DESC=		Used to disable screensaver during playback
XDG_SCREENSAVER_RUN_DEPENDS=	xdg-screensaver:devel/xdg-utils
XDOTOOL_DESC=			Install xdotool
XDOTOOL_RUN_DEPENDS=		xdotool:x11/xdotool
XWININFO_DESC=			Used for external window capture
XWININFO_RUN_DEPENDS=		xwininfo:x11/xwininfo

post-patch:
	@${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \
		's/^LIBS = $$/&@LIBS@/'
	@${REINPLACE_CMD} -e 's|/usr/local/lib/|${LOCALBASE}/lib/|g' \
		${WRKSRC}/lives-plugins/weed-plugins/frei0r.c
	@${REINPLACE_CMD} 's|/usr/bin/perl|${perl_CMD}|' \
		${WRKSRC}/build-lives-rfx-plugin

pre-build-NLS-on:
	@(cd ${WRKSRC}/po && ${DO_MAKE_BUILD} update-po)

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${DOC_FILES:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}

post-install-DOXYGEN-on:
	@(cd ${STAGEDIR}${PREFIX} && ${FIND} ${DOCSDIR_REL}/html \
		-not -type d >> ${TMPPLIST})

.include <bsd.port.mk>