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