freebsd-ports/multimedia/mlt6/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

198 lines
5.5 KiB
Makefile

PORTNAME= ${_MLT_PORTNAME}
DISTVERSION= ${_MLT_VERSION}
PORTREVISION?= 7
CATEGORIES?= multimedia
# Don't use GitHub "fake" downloads that are auto-generated from a
# tag; the project uploads tarballs for each release.
# https://github.com/mltframework/mlt/releases/download/v6.26.1/mlt-6.26.1.tar.gz
MASTER_SITES= https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
DISTFILES= mlt-${DISTVERSION}${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/mlt-${DISTVERSION}
MAINTAINER= kde@FreeBSD.org
COMMENT?= Multimedia framework for TV broadcasting
WWW= https://www.mltframework.org/
LICENSE?= GPLv2 GPLv3 LGPL21
LICENSE_COMB?= multi
USES+= alias cmake compiler:c++11-lang eigen:3 localbase pkgconfig
DATADIR= ${PREFIX}/share/mlt
.ifndef(SLAVEPORT) # Master port.
CONFLICTS_INSTALL= mlt-6.*
BROKEN_sparc64= does not compile on sparc64 (invokes i386 asm)
USES+= mlt:6,nodepend
# Explicitly disabled modules that are ouddated, unnecessary, or have
# their own port.
CMAKE_OFF= MOD_SDL1 MOD_QT \
SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
PORTDOCS= AUTHORS NEWS README docs
PORTEXAMPLES= demo
OPTIONS_DEFINE= DOCS EXAMPLES
OPTIONS_DEFAULT= AVFORMAT FREI0R GDK KDENLIVE OPENGL PLUS PLUSGPL RESAMPLE \
SDL2 SOX VIDSTAB VORBIS XML
OPTIONS_GROUP= MODULES
OPTIONS_GROUP_MODULES= AVFORMAT DECKLINK FEEDS FREI0R GDK GTK2 JACKRACK \
KDENLIVE LUMAS MOTION_EST NORMALIZE OLDFILM OPENCV \
OPENGL PLUS PLUSGPL RESAMPLE RTAUDIO RUBBERBAND \
SDL2 SOX VIDSTAB VMFX VORBIS XINE XML
OPTIONS_SUB= yes
AVFORMAT_DESC= Enable avformat module
AVFORMAT_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg
AVFORMAT_CMAKE_BOOL= MOD_AVFORMAT
DECKLINK_DESC= Enable decklink module
DECKLINK_CMAKE_BOOL= MOD_DECKLINK
FEEDS_DESC= Enable feeds module
FEEDS_CMAKE_BOOL= MOD_FEEDS
FREI0R_DESC= Enable frei0r module
FREI0R_BUILD_DEPENDS= ${LOCALBASE}/include/frei0r.h:graphics/frei0r
FREI0R_CMAKE_BOOL= MOD_FREI0R
GDK_DESC= Enable gdk module
GDK_LIB_DEPENDS= libexif.so:graphics/libexif \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz
GDK_USES= gnome
GDK_USE= gnome=gdkpixbuf2,pango
GDK_CMAKE_BOOL= MOD_GDK
GTK2_DESC= Enable gtk2 module
GTK2_USES= gnome
GTK2_USE= gnome=cairo,gtk20
GTK2_CMAKE_BOOL= MOD_GTK2
JACKRACK_DESC= Enable jackrack module
JACKRACK_BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa
JACKRACK_LIB_DEPENDS= libjack.so:audio/jack
JACKRACK_USES= gnome
JACKRACK_USE= gnome=glib20
JACKRACK_CMAKE_BOOL= MOD_JACKRACK
KDENLIVE_DESC= Enable kdenlive module
KDENLIVE_CMAKE_BOOL= MOD_KDENLIVE
LUMAS_DESC= Enable lumas module
LUMAS_CMAKE_BOOL= MOD_LUMAS
MOTION_EST_DESC= Enable motion estimation module
MOTION_EST_CMAKE_BOOL= MOD_MOTION_EST
NORMALIZE_DESC= Enable normalize module
NORMALIZE_CMAKE_BOOL= MOD_NORMALIZE
OLDFILM_DESC= Enable oldfilm module
OLDFILM_CMAKE_BOOL= MOD_OLDFILM
OPENCV_DESC= Enable OpenCV module
OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv
OPENCV_CMAKE_BOOL= MOD_OPENCV
OPENGL_DESC= Enable OpenGL module
OPENGL_CMAKE_BOOL= MOD_OPENGL
OPENGL_LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
libmovit.so:graphics/movit
OPENGL_USES= gl xorg
OPENGL_USE= gl=gl xorg=x11
PLUSGPL_DESC= Enable plus GPL module
PLUSGPL_CMAKE_BOOL= MOD_PLUSGPL
PLUS_DESC= Enable plus module
PLUS_LIB_DEPENDS= libfftw3.so:math/fftw3
PLUS_CMAKE_BOOL= MOD_PLUS
RESAMPLE_DESC= Enable resample module
RESAMPLE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
RESAMPLE_CMAKE_BOOL= MOD_RESAMPLE
RTAUDIO_DESC= Enable RtAudio module
RTAUDIO_LIB_DEPENDS= librtaudio.so:audio/rtaudio \
libpulse-simple.so:audio/pulseaudio
RTAUDIO_CMAKE_BOOL= MOD_RTAUDIO
RUBBERBAND_DESC= Enable rubberband module
RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband
RUBBERBAND_CMAKE_BOOL= MOD_RUBBERBAND
SDL2_DESC= Enable SDL2 module
SDL2_USES= sdl
SDL2_USE= sdl=image2
SDL2_CMAKE_BOOL= MOD_SDL2
SOX_DESC= Enable SoX module
SOX_LIB_DEPENDS= libsox.so:audio/sox
SOX_CMAKE_BOOL= MOD_SOX
VIDSTAB_DESC= Enable vid.stab module
VIDSTAB_LIB_DEPENDS= libvidstab.so:multimedia/vid.stab
VIDSTAB_CMAKE_BOOL= MOD_VIDSTAB
VMFX_DESC= Enable vmfx module
VMFX_CMAKE_BOOL= MOD_VMFX
VORBIS_DESC= Enable Vorbis module
VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis libogg.so:audio/libogg
VORBIS_CMAKE_BOOL= MOD_VORBIS
XINE_DESC= Enable xine module
XINE_CMAKE_BOOL= MOD_XINE
XML_DESC= Enable XML module
XML_USES= gnome
XML_USE= gnome=libxml2
XML_CMAKE_BOOL= MOD_XML
pre-configure:
@${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' \
${WRKSRC}/src/modules/frei0r/factory.c \
${WRKSRC}/src/modules/jackrack/plugin_mgr.c
common-post-install:
${INSTALL_MAN} ${WRKSRC}/docs/melt.1 ${STAGEDIR}${MANPREFIX}/share/man/man1/melt.1
@${RM} ${WRKSRC}/docs/melt.1
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/melt
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt.so.${PORTVERSION}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt++.so.${PORTVERSION}
post-install-DOCS-on:
.for f in ${PORTDOCS}
cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${DOCSDIR}
.endfor
post-install-EXAMPLES-on:
.for f in ${PORTEXAMPLES}
cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${EXAMPLESDIR}
.endfor
.else # Slave port.
PORTSCOUT= ignore:1
# Depend on multimedia/mlt6 for child ports
USES+= mlt:6
PLIST?= ${.CURDIR}/pkg-plist
INSTALL_WRKSRC?= ${BUILD_WRKSRC}
.endif
post-install: common-post-install
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/* 2>/dev/null || ${TRUE}
@${RMDIR} -p ${STAGEDIR}${PREFIX}/lib/${PORTNAME} 2>/dev/null || ${TRUE}
.include <bsd.port.mk>