1PORTNAME= x264 2PORTVERSION= 0.${X264_BUILD}.${X264_REV} 3PORTREVISION?= 2 4CATEGORIES= multimedia 5MASTER_SITES= https://samples.mplayerhq.hu/yuv4mpeg2/:pgo 6DIST_SUBDIR= x264 7EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} 8 9MAINTAINER= ports@MidnightBSD.org 10COMMENT?= H.264/MPEG-4 AVC Video Encoding (Front End CLI) 11WWW= https://www.videolan.org/x264.html 12 13LICENSE= gpl2 14LICENSE_FILE= ${WRKSRC}/COPYING 15 16BUILD_DEPENDS= bash:shells/bash \ 17 nasm>=2.13:devel/nasm 18LIB_DEPENDS?= libx264.so:multimedia/libx264 19 20X264_BUILD= 164 21X264_REV= 3095 22X264_GITVER= ${GL_TAGNAME:C/^(.{7}).*/\1/} 23 24USES?= pkgconfig 25USES+= compiler:c11 gmake localbase shebangfix 26USE_GITLAB= yes 27USE_LDCONFIG= yes 28GL_SITE= https://code.videolan.org 29GL_ACCOUNT= videolan 30GL_TAGNAME= baee400fa9ced6f5481a728138fed6e867b0ff7f 31HAS_CONFIGURE= yes 32CONFIGURE_ARGS+= --host=${ARCH}-portbld-freebsd12.4 33SHEBANG_FILES= configure 34PLIST_FILES?= bin/x264 35 36OPTIONS_DEFINE+= BASH DEBUG FFMS LAVF PGO SWSCALE 37OPTIONS_RADIO+= MP4 38OPTIONS_RADIO_MP4+= GPAC LSMASH 39OPTIONS_DEFAULT+= BASH FFMS LAVF LSMASH SWSCALE 40 41.if make(makesum) # for optional distfiles 42.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" 43.endif 44 45FFMS_DESC= FFmpeg Source input support 46GPAC_DESC= GPAC library support 47LAVF_DESC= libav* format input support (requires FFmpeg) 48LSMASH_DESC= L-SMASH library support 49MP4_DESC= MPEG-4 output 50SWSCALE_DESC= Resize video filter 51 52BASH_BUILD_DEPENDS= bash-completion>0:shells/bash-completion 53BASH_RUN_DEPENDS= bash-completion>0:shells/bash-completion 54BASH_CONFIGURE_ENABLE= bashcompletion 55BASH_PLIST_FILES= share/bash-completion/completions/x264 56 57DEBUG_CONFIGURE_ENABLE= debug 58DEBUG_CONFIGURE_OFF= --enable-strip 59 60FFMS_LIB_DEPENDS= libffms2.so:multimedia/ffms2 61FFMS_CONFIGURE_ENABLE= ffms 62FFMS_IMPLIES= SWSCALE 63 64GPAC_LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac 65GPAC_CONFIGURE_ENABLE= gpac 66 67LAVF_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ 68 libavformat.so:multimedia/ffmpeg \ 69 libavutil.so:multimedia/ffmpeg 70LAVF_CONFIGURE_ENABLE= lavf 71LAVF_IMPLIES= SWSCALE 72 73LSMASH_LIB_DEPENDS= liblsmash.so:multimedia/l-smash 74LSMASH_CONFIGURE_ENABLE=lsmash 75 76PGO_DISTFILES= ${Y4M_VIDEO_DISTFILE}:pgo 77PGO_MAKE_ENV= VIDS="${WRKDIR}/${Y4M_VIDEO}" 78PGO_ALL_TARGET= fprofiled 79# y4m sample video 80Y4M_VIDEO= example.y4m 81Y4M_VIDEO_DISTFILE= example.y4m.bz2 82PGO_VARS= USE_GCC=yes \ 83 LICENSE+=PGO LICENSE_COMB=multi 84 85# ${Y4M_VIDEO_DISTFILE} file may not be mirrored 86LICENSE_NAME_PGO= PGO 87LICENSE_DISTFILES_PGO= ${Y4M_VIDEO_DISTFILE} 88LICENSE_PERMS_PGO= auto-accept 89 90SWSCALE_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \ 91 libswscale.so:multimedia/ffmpeg 92SWSCALE_CONFIGURE_ENABLE= swscale 93 94CONFIGURE_ARGS?= --system-libx264 95CONFIGURE_ARGS+= --prefix="${PREFIX}" \ 96 --extra-cflags="${CPPFLAGS} ${CFLAGS}" \ 97 --extra-ldflags="${LDFLAGS}" 98 99post-extract-PGO-on: 100 @${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \ 101 >${WRKDIR}/${Y4M_VIDEO} 102 103post-patch: 104 @${REINPLACE_CMD} -e ' \ 105 s|gpac_static|gpac|g' \ 106 ${WRKSRC}/configure 107 @${REINPLACE_CMD} -e ' \ 108 s|bash|sh|; \ 109 s|VER="x"|VER="${X264_REV} ${X264_GITVER}"|; \ 110 s|VERSION=""|VERSION=" r${X264_REV} ${X264_GITVER}"|' \ 111 ${WRKSRC}/version.sh 112 ${CP} ${PORTSDIR}/Templates/config.guess ${WRKSRC}/ 113# ${CP} ${PORTSDIR}/Templates/config.sub ${WRKSRC}/ 114 ${CHMOD} 755 ${WRKSRC}/config.* 115 116.if !target(pre-build) 117pre-build: 118 @(${RM} ${WRKSRC}/x264_config.h) 119.endif 120 121.include <bsd.port.mk> 122