Lines 1-67
Link Here
|
1 |
# Created by: siasia |
|
|
2 |
# $FreeBSD$ |
1 |
# $FreeBSD$ |
3 |
|
2 |
|
4 |
PORTNAME= v8 |
3 |
PORTNAME= v8 |
5 |
PORTVERSION= 3.18.5 |
4 |
DISTVERSION= 8.6.39 |
6 |
PORTREVISION= 8 |
|
|
7 |
CATEGORIES= lang |
5 |
CATEGORIES= lang |
8 |
MASTER_SITES= LOCAL/vanilla |
6 |
MASTER_SITES= http://mikael.urankar.free.fr/FreeBSD/v8/:build \ |
|
|
7 |
http://mikael.urankar.free.fr/FreeBSD/v8/:buildtools \ |
8 |
http://mikael.urankar.free.fr/FreeBSD/v8/:clang \ |
9 |
http://mikael.urankar.free.fr/FreeBSD/v8/:common \ |
10 |
http://mikael.urankar.free.fr/FreeBSD/v8/:googletest \ |
11 |
http://mikael.urankar.free.fr/FreeBSD/v8/:icu \ |
12 |
http://mikael.urankar.free.fr/FreeBSD/v8/:zlib |
13 |
# XXX sha256 changes everytime you download the archive |
14 |
#MASTER_SITES= https://chromium.googlesource.com/chromium/src/build.git/+archive/:build \ |
15 |
# https://chromium.googlesource.com/chromium/src/buildtools.git/+archive/:buildtools \ |
16 |
# https://chromium.googlesource.com/chromium/src/tools/clang.git/+archive/:clang \ |
17 |
# https://chromium.googlesource.com/chromium/src/base/trace_event/common.git/+archive/:common \ |
18 |
# https://chromium.googlesource.com/external/github.com/google/googletest.git/+archive/:googletest \ |
19 |
# https://chromium.googlesource.com/chromium/deps/icu.git/+archive/:icu \ |
20 |
# https://chromium.googlesource.com/chromium/src/third_party/zlib.git/+archive/:zlib |
21 |
DISTFILES= build-${BUILD_REV}.tar.gz:build \ |
22 |
buildtools-${BUILDTOOLS_REV}.tar.gz:buildtools \ |
23 |
clang-${CLANG_REV}.tar.gz:clang \ |
24 |
common-${COMMON_REV}.tar.gz:common \ |
25 |
googletest-${GOOGLETEST_REV}.tar.gz:googletest \ |
26 |
icu-${ICU_REV}.tar.gz:icu \ |
27 |
zlib-${ZLIB_REV}.tar.gz:zlib |
28 |
EXTRACT_ONLY= ${DISTNAME}.tar.gz |
9 |
|
29 |
|
10 |
MAINTAINER= sunpoet@FreeBSD.org |
30 |
MAINTAINER= sunpoet@FreeBSD.org |
11 |
COMMENT= Open source JavaScript engine by Google |
31 |
COMMENT= Open source JavaScript engine by Google |
12 |
|
32 |
|
13 |
LICENSE= BSD3CLAUSE |
33 |
LICENSE= BSD3CLAUSE |
|
|
34 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
14 |
|
35 |
|
15 |
CONFLICTS_INSTALL= v8-devel-[0-9]* |
36 |
BUILD_DEPENDS= binutils>0:devel/binutils \ |
|
|
37 |
gn:devel/chromium-gn \ |
38 |
glib>0:devel/glib20 \ |
39 |
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ |
16 |
|
40 |
|
17 |
ONLY_FOR_ARCHS= i386 amd64 |
41 |
.include <bsd.port.options.mk> |
18 |
|
42 |
|
19 |
PORTSCOUT= limit:^3.18.* |
43 |
# clang10+ is required, this conditionnal can be dropped when |
|
|
44 |
# 11.3 and 12.1 are EOL |
45 |
.if (${OSVERSION} >= 1100000 && ${OSVERSION} < 1103511) || \ |
46 |
(${OSVERSION} >= 1200000 && ${OSVERSION} < 1201515) |
47 |
BUILD_DEPENDS+= llvm10>0:devel/llvm10 |
48 |
.endif |
20 |
|
49 |
|
21 |
ALL_TARGET= native |
50 |
USES= pkgconfig ninja python:2.7,build tar:xz |
22 |
MAKE_ARGS= library=shared |
51 |
USE_GITHUB= yes |
23 |
MAKE_ENV= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX} |
|
|
24 |
USE_LDCONFIG= yes |
52 |
USE_LDCONFIG= yes |
25 |
USES= alias compiler cpe gmake python:2.7 shebangfix tar:xz |
|
|
26 |
|
53 |
|
27 |
CPE_VENDOR= google |
54 |
# new release every minutes |
|
|
55 |
PORTSCOUT= ignore |
28 |
|
56 |
|
29 |
SHEBANG_FILES= build/gyp/gyp |
57 |
# see ${WRKSRC}/DEPS |
|
|
58 |
BUILD_REV= cee6c15d0d8d2e92de1a6c1291cb9dfe984820b5 |
59 |
BUILDTOOLS_REV= 6b2a302b65baf729e0dc026bf2f0bfdb593a2366 |
60 |
CLANG_REV= b49c12a8f3fb25181855d0ea641bbcc2b2e95213 |
61 |
COMMON_REV= 23ef5333a357fc7314630ef88b44c3a545881dee |
62 |
GOOGLETEST_REV= 4fe018038f87675c083d0cfb6a6b57c274fb1753 |
63 |
ICU_REV= 79326efe26e5440f530963704c3c0ff965b3a4ac |
64 |
ZLIB_REV= 8603eee37c4f4dd3e033d06fa18ea34ed9b41f41 |
30 |
|
65 |
|
31 |
.include <bsd.port.pre.mk> |
66 |
BUILDTYPE= Release |
32 |
|
67 |
|
33 |
.if ${COMPILER_TYPE} == clang |
68 |
BINARY_ALIAS= python=${PYTHON_CMD} |
34 |
CXXFLAGS+= -Wno-nested-anon-types -Wno-unused-function -Wno-unused-private-field |
|
|
35 |
MAKE_ENV+= LINK=clang++ |
36 |
.if ${COMPILER_VERSION} >= 34 |
37 |
CXXFLAGS+= -Wno-unused-const-variable |
38 |
.if ${COMPILER_VERSION} >= 35 |
39 |
CXXFLAGS+= -Wno-tautological-undefined-compare |
40 |
.if ${COMPILER_VERSION} >= 36 |
41 |
CXXFLAGS+= -Wno-unused-local-typedef |
42 |
.if ${COMPILER_VERSION} >= 60 |
43 |
CXXFLAGS+= -Wno-null-pointer-arithmetic -Wno-vexing-parse |
44 |
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-stub-cache.cc |
45 |
.endif |
46 |
.endif |
47 |
.endif |
48 |
.endif |
49 |
.else |
50 |
MAKE_ARGS+= strictaliasing=off |
51 |
USE_GCC= any |
52 |
.endif |
53 |
|
69 |
|
|
|
70 |
# Run "gn args out/Release --list" for all variables. |
71 |
# Some parts don't have use_system_* flag, and can be turned on/off by using |
72 |
# replace_gn_files.py script, some parts just turned on/off for target host |
73 |
# OS "target_os == is_bsd", like libusb, libpci. |
74 |
GN_ARGS+= clang_use_chrome_plugins=false \ |
75 |
is_clang=true \ |
76 |
treat_warnings_as_errors=false \ |
77 |
use_aura=true \ |
78 |
use_lld=true \ |
79 |
extra_cxxflags="${CXXFLAGS}" \ |
80 |
extra_ldflags="${LDFLAGS}" |
81 |
|
82 |
MAKE_ARGS= -C out/${BUILDTYPE} |
83 |
|
84 |
post-extract: |
85 |
${MKDIR} \ |
86 |
${WRKSRC}/base/trace_event/common \ |
87 |
${WRKSRC}/build \ |
88 |
${WRKSRC}/buildtools \ |
89 |
${WRKSRC}/third_party/googletest/src \ |
90 |
${WRKSRC}/third_party/icu \ |
91 |
${WRKSRC}/third_party/zlib \ |
92 |
${WRKSRC}/tools/clang |
93 |
${TAR} -xf ${DISTDIR}/build-${BUILD_REV}.tar.gz -C ${WRKSRC}/build |
94 |
${TAR} -xf ${DISTDIR}/buildtools-${BUILDTOOLS_REV}.tar.gz -C ${WRKSRC}/buildtools |
95 |
${TAR} -xf ${DISTDIR}/clang-${CLANG_REV}.tar.gz -C ${WRKSRC}/tools/clang |
96 |
${TAR} -xf ${DISTDIR}/common-${COMMON_REV}.tar.gz -C ${WRKSRC}/base/trace_event/common |
97 |
${TAR} -xf ${DISTDIR}/googletest-${GOOGLETEST_REV}.tar.gz -C ${WRKSRC}/third_party/googletest/src |
98 |
${TAR} -xf ${DISTDIR}/icu-${ICU_REV}.tar.gz -C ${WRKSRC}/third_party/icu |
99 |
${TAR} -xf ${DISTDIR}/zlib-${ZLIB_REV}.tar.gz -C ${WRKSRC}/third_party/zlib |
100 |
|
54 |
post-patch: |
101 |
post-patch: |
55 |
@${REINPLACE_CMD} -e 's|test/cctest/cctest.gyp||' ${WRKSRC}/Makefile |
102 |
${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \ |
56 |
@${REINPLACE_CMD} -e '/test\/cctest\/cctest.gyp/d' ${WRKSRC}/build/all.gyp |
103 |
${WRKSRC}/build/toolchain/gcc_toolchain.gni |
57 |
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/build/common.gypi ${WRKSRC}/tools/gyp/v8.gyp |
104 |
# clang10+ is required, this conditionnal can be dropped when |
58 |
@${REINPLACE_CMD} -e 's, | MAP_NORESERVE,,' ${WRKSRC}/src/platform-freebsd.cc |
105 |
# 11.3 and 12.1 are EOL |
59 |
@${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' ${WRKSRC}/tools/gyp/v8.gyp |
106 |
.if (${OSVERSION} >= 1100000 && ${OSVERSION} < 1103511) || \ |
|
|
107 |
(${OSVERSION} >= 1200000 && ${OSVERSION} < 1201515) |
108 |
@${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} < ${FILESDIR}/extrapatch-clang10 |
109 |
.endif |
60 |
|
110 |
|
|
|
111 |
do-configure: |
112 |
@${ECHO_CMD} 'is_clang=true' > ${WRKSRC}/build/args/release.gn |
113 |
@${ECHO_CMD} 'treat_warnings_as_errors=false' >> ${WRKSRC}/build/args/release.gn |
114 |
@${ECHO_CMD} 'use_custom_libcxx=false' >> ${WRKSRC}/build/args/release.gn |
115 |
@${ECHO_CMD} 'use_lld=true' >> ${WRKSRC}/build/args/release.gn |
116 |
@${ECHO_CMD} 'extra_cxxflags="-I${PREFIX}/include"' >> ${WRKSRC}/build/args/release.gn |
117 |
@${ECHO_CMD} 'extra_ldflags="-L${PREFIX}/lib"' >> ${WRKSRC}/build/args/release.gn |
118 |
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/${BUILDTYPE} \ |
119 |
--args='import("//build/args/release.gn") ${GN_ARGS}' |
120 |
|
61 |
do-install: |
121 |
do-install: |
62 |
${INSTALL_PROGRAM} ${WRKSRC}/out/native/d8 ${STAGEDIR}${PREFIX}/bin/d8 |
122 |
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/d8 ${STAGEDIR}${PREFIX}/bin/d8 |
63 |
cd ${WRKSRC}/include/ && ${INSTALL_DATA} *.h ${STAGEDIR}${PREFIX}/include/ |
123 |
# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/d8 ${STAGEDIR}${PREFIX}/bin/cctest |
64 |
${INSTALL_LIB} ${WRKSRC}/out/native/lib.target/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so.1 |
124 |
# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/mksnapshot ${STAGEDIR}${PREFIX}/bin/mksnapshot |
65 |
${LN} -fs ${PREFIX}/lib/libv8.so.1 ${STAGEDIR}${PREFIX}/lib/libv8.so |
125 |
# ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/mkgrokdump ${STAGEDIR}${PREFIX}/bin/mkgrokdump |
|
|
126 |
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so |
127 |
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8_libbase.so ${STAGEDIR}${PREFIX}/lib/libv8_libbase.so |
128 |
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libv8_libplatform.so ${STAGEDIR}${PREFIX}/lib/libv8_libplatform.so |
66 |
|
129 |
|
67 |
.include <bsd.port.post.mk> |
130 |
${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include/ |
|
|
131 |
${MKDIR} ${STAGEDIR}${PREFIX}/include/libplatform \ |
132 |
${STAGEDIR}${PREFIX}/include/cppgc |
133 |
${INSTALL_DATA} ${WRKSRC}/include/libplatform/*.h ${STAGEDIR}${PREFIX}/include/libplatform/ |
134 |
cd ${WRKSRC}/include/cppgc && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/cppgc " -name *\.h" |
135 |
${INSTALL_DATA} ${FILESDIR}/*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig |
136 |
${REINPLACE_CMD} "s|%%PREFIX%%|${PREFIX}|" \ |
137 |
${STAGEDIR}${PREFIX}/libdata/pkgconfig/* |
138 |
|
139 |
.include <bsd.port.mk> |