Lines 1-58
Link Here
|
1 |
# Created by: adamw |
1 |
# Created by: adamw |
2 |
# $FreeBSD$ |
2 |
# $FreeBSD$ |
3 |
|
3 |
|
4 |
PORTNAME= x265 |
4 |
PORTNAME= x265 |
5 |
PORTVERSION= 3.2.1 |
5 |
PORTVERSION= 3.2.1 |
|
|
6 |
PORTREVISION= 1 |
6 |
CATEGORIES= multimedia |
7 |
CATEGORIES= multimedia |
7 |
MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ \ |
8 |
MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ \ |
8 |
https://downloads.videolan.org/pub/videolan/x265/ \ |
9 |
https://downloads.videolan.org/pub/videolan/x265/ \ |
9 |
https://mirror.leaseweb.com/videolan/x265/ \ |
10 |
https://mirror.leaseweb.com/videolan/x265/ \ |
10 |
http://downloads.videolan.org/pub/videolan/x265/ \ |
11 |
http://downloads.videolan.org/pub/videolan/x265/ \ |
11 |
http://mirror.leaseweb.com/videolan/x265/ |
12 |
http://mirror.leaseweb.com/videolan/x265/ |
12 |
DISTNAME= ${PORTNAME}_${PORTVERSION} |
13 |
DISTNAME= ${PORTNAME}_${PORTVERSION} |
13 |
|
14 |
|
14 |
MAINTAINER= mi@aldan.algebra.com |
15 |
MAINTAINER= jamie@catflap.org |
15 |
COMMENT= H.265/High Efficiency Video Coding (HEVC) format |
16 |
COMMENT= H.265/High Efficiency Video Coding (HEVC) format |
16 |
|
17 |
|
17 |
LICENSE= GPLv2+ |
18 |
LICENSE= GPLv2+ |
18 |
LICENSE_FILE= ${WRKSRC:H}/COPYING |
19 |
LICENSE_FILE= ${WRKSRC:H}/COPYING |
19 |
|
20 |
|
20 |
BUILD_DEPENDS= nasm:devel/nasm |
21 |
BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}} |
|
|
22 |
BUILD_DEPENDS_amd64= nasm:devel/nasm |
23 |
BUILD_DEPENDS_i386= nasm:devel/nasm |
21 |
|
24 |
|
22 |
USES= cmake compiler:c++14-lang pathfix |
25 |
USES= cmake compiler:c++14-lang libtool:build pathfix |
23 |
|
26 |
|
24 |
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF |
27 |
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF |
25 |
OPTIONS_DEFINE_amd64= HI10P HI12P SVTHEVC |
28 |
OPTIONS_DEFINE_amd64= SVTHEVC |
26 |
|
29 |
|
27 |
DEBUG_PREVENTS= OPTIMIZED_FLAGS |
30 |
DEBUG_PREVENTS= OPTIMIZED_FLAGS |
28 |
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code |
31 |
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code |
29 |
DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG CPPFLAGS+=-DNDEBUG |
32 |
DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG |
30 |
HI10P_CMAKE_BOOL= HIGH_BIT_DEPTH |
33 |
OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3 |
31 |
HI12P_CMAKE_BOOL= MAIN12 |
|
|
32 |
HI12P_IMPLIES= HI10P |
33 |
OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3 CXXFLAGS+=-O3 |
34 |
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc |
34 |
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc |
35 |
SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC |
35 |
SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC |
36 |
SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" |
36 |
SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" |
37 |
VMAF_BUILD_DEPENDS= ${LOCALBASE}/lib/libvmaf.a:multimedia/vmaf |
37 |
VMAF_BUILD_DEPENDS= ${LOCALBASE}/lib/libvmaf.a:multimedia/vmaf |
38 |
VMAF_USES= localbase:ldflags |
38 |
VMAF_USES= localbase:ldflags |
39 |
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF |
39 |
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF |
40 |
|
40 |
|
41 |
DEBUG_DESC= Enable debugging |
41 |
DEBUG_DESC= Enable debugging |
42 |
HI10P_DESC= Enable HI10P Support (64-bit only) |
|
|
43 |
HI12P_DESC= Enable HI12P Support (64-bit only) |
44 |
OPTIMIZED_FLAGS_DESC= Enable O3 optimization |
42 |
OPTIMIZED_FLAGS_DESC= Enable O3 optimization |
45 |
SVTHEVC_DESC= HEVC encoding via SVT-HEVC |
43 |
SVTHEVC_DESC= HEVC encoding via SVT-HEVC |
46 |
VMAF_DESC= Per frame and aggregate VMAF score |
44 |
VMAF_DESC= Per frame and aggregate VMAF score |
47 |
|
45 |
|
48 |
USE_LDCONFIG= yes |
46 |
USE_LDCONFIG= yes |
49 |
CMAKE_ARGS= -DENABLE_PIC=on -DENABLE_TESTS=on |
47 |
CMAKE_ARGS= -DENABLE_PIC=on |
50 |
LDFLAGS_i386= -Wl,-znotext |
48 |
LDFLAGS_i386= -Wl,-znotext |
51 |
EXTRACT_AFTER_ARGS+= --exclude compat |
49 |
EXTRACT_AFTER_ARGS+= --exclude compat |
52 |
PATCH_WRKSRC= ${WRKSRC:H} |
50 |
PATCH_WRKSRC= ${WRKSRC:H} |
53 |
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source |
51 |
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source |
54 |
|
52 |
|
|
|
53 |
.include <bsd.port.options.mk> |
54 |
|
55 |
.if ${ARCH} == "aarch64" || "amd64" |
56 |
do-build: |
57 |
cd ${WRKSRC}/.. && $(MKDIR) 12bit 10bit && cd 12bit && \ |
58 |
$(CMAKE_BIN) ../source ${CMAKE_ARGS} \ |
59 |
-DHIGH_BIT_DEPTH=true -DMAIN12=true \ |
60 |
-DEXPORT_C_API=false -DENABLE_CLI=false \ |
61 |
-DENABLE_SHARED=false && \ |
62 |
${MAKE_CMD} ${MAKE_ARGS} && \ |
63 |
cd ../10bit && \ |
64 |
$(CMAKE_BIN) ../source ${CMAKE_ARGS} \ |
65 |
-DHIGH_BIT_DEPTH=true -DEXPORT_C_API=false \ |
66 |
-DENABLE_CLI=false -DENABLE_SHARED=false && \ |
67 |
${MAKE_CMD} ${MAKE_ARGS} && \ |
68 |
cd ../source && \ |
69 |
$(LN) -s ../12bit/libx265.a libx265_main12.a && \ |
70 |
$(LN) -s ../10bit/libx265.a libx265_main10.a && \ |
71 |
$(CMAKE_BIN) ${CMAKE_ARGS} \ |
72 |
-DENABLE_SHARED=true \ |
73 |
-DENABLE_HDR10_PLUS=true \ |
74 |
-DEXTRA_LIB='x265_main10.a;x265_main12.a' \ |
75 |
-DEXTRA_LINK_FLAGS='-L.' \ |
76 |
-DLINKED_10BIT=true -DLINKED_12BIT=true -DENABLE_TESTS=on && \ |
77 |
${MAKE_CMD} ${MAKE_ARGS} && \ |
78 |
$(MV) libx265.a libx265_main.a && \ |
79 |
libtool --mode=link $(CC) -static -o libx265.a libx265_main.a libx265_main10.a libx265_main12.a |
80 |
|
81 |
.else |
82 |
do-build: |
83 |
cd ${WRKSRC} && \ |
84 |
$(CMAKE_BIN) ${CMAKE_ARGS} -DENABLE_TESTS=on && \ |
85 |
${MAKE_CMD} ${MAKE_ARGS} |
86 |
|
87 |
.endif |
88 |
|
89 |
do-install: |
90 |
${INSTALL_PROGRAM} ${WRKSRC}/x265 ${STAGEDIR}${PREFIX}/bin |
91 |
${INSTALL_DATA} ${WRKSRC}/x265.h ${STAGEDIR}${PREFIX}/include |
92 |
${INSTALL_DATA} ${WRKSRC}/x265_config.h ${STAGEDIR}${PREFIX}/include |
93 |
${INSTALL_DATA} ${WRKSRC}/libx265.a ${STAGEDIR}${PREFIX}/lib |
94 |
${INSTALL_LIB} ${WRKSRC}/libx265.so ${STAGEDIR}${PREFIX}/lib |
95 |
${RLN} ${STAGEDIR}${PREFIX}/lib/libx265.so ${STAGEDIR}${PREFIX}/lib/libx265.so.179 |
96 |
${INSTALL_DATA} ${WRKSRC}/x265.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/x265.pc |
97 |
|
55 |
do-test: |
98 |
do-test: |
56 |
${WRKSRC}/test/TestBench |
99 |
${WRKSRC}/test/TestBench |
57 |
|
100 |
|
58 |
.include <bsd.port.mk> |
101 |
.include <bsd.port.mk> |