aboutsummaryrefslogtreecommitdiff
path: root/devel/bazel
diff options
context:
space:
mode:
authorRichard Gallamore <ultima@FreeBSD.org>2017-08-10 18:35:46 +0000
committerRichard Gallamore <ultima@FreeBSD.org>2017-08-10 18:35:46 +0000
commite87b32a639a252356b8fe6a02e9fd63a96d7e74e (patch)
treef12e08f326ddc1581c32eb71f625e7f81749d82f /devel/bazel
parenta2b665648b8d4d1d7cf66b0fdc684fa2b4ad7dab (diff)
Notes
Diffstat (limited to 'devel/bazel')
-rw-r--r--devel/bazel/Makefile15
-rw-r--r--devel/bazel/files/extra-i386_src_BUILD32
2 files changed, 43 insertions, 4 deletions
diff --git a/devel/bazel/Makefile b/devel/bazel/Makefile
index 18c316a6e02f..9d15c60f4c39 100644
--- a/devel/bazel/Makefile
+++ b/devel/bazel/Makefile
@@ -13,17 +13,16 @@ COMMENT= Fast and correct build system
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_armv6= fails to package: cp: bazel: No such file or directory
+
BUILD_DEPENDS= bash:shells/bash \
zip:archivers/zip
-BROKEN_armv6= fails to package: cp: bazel: No such file or directory
-
# In bazel, a release is always code-wise identical to the final release candidate.
# Hence we can also download that one and so have a simple way to also test earlier release
# candidates.
FINALRC= 4
-NO_WRKSUBDIR= YES
USES= shebangfix zip
SHEBANG_REGEX= .*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so)
USE_JAVA= yes
@@ -32,6 +31,8 @@ JAVA_VERSION= 1.8
JAVA_BUILD= yes
JAVA_RUN= yes
+NO_WRKSUBDIR= YES
+
CONFLICTS_INSTALL?= bazel-clang38
OPTIONS_DEFINE= CLANG38
@@ -39,6 +40,12 @@ CLANG38_DESC= Use clang38 as default crosstool
CLANG38_BUILD_DEPENDS= clang38:devel/llvm38
CLANG38_RUN_DEPENDS= clang38:devel/llvm38
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "i386"
+EXTRA_PATCHES= ${FILESDIR}/extra-i386_src_BUILD
+.endif
+
# Have the location of the system-wide rc file reside ${ETCDIR}.
# Also adapt the sample file to disable persistent java workers as they
# do not work reliably on FreeBSD.
@@ -71,4 +78,4 @@ do-install:
@${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${WRKSRC}/scripts/packages/debian/bazel.bazelrc ${STAGEDIR}${ETCDIR}/bazel.bazelrc.sample
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/devel/bazel/files/extra-i386_src_BUILD b/devel/bazel/files/extra-i386_src_BUILD
new file mode 100644
index 000000000000..a49ae5e5838f
--- /dev/null
+++ b/devel/bazel/files/extra-i386_src_BUILD
@@ -0,0 +1,32 @@
+--- src/BUILD.orig 2017-07-31 10:06:21.426927000 +0200
++++ src/BUILD 2017-07-31 10:06:44.279345000 +0200
+@@ -179,7 +179,7 @@
+ "//src/java_tools/singlejar:SingleJar_deploy.jar",
+ ],
+ "//conditions:default": [
+- "//src/tools/singlejar:singlejar",
++ "//src/java_tools/singlejar:SingleJar_deploy.jar",
+ ],
+ }) + select({
+ "//tools/jdk:jdk7": [],
+--- src/main/cpp/blaze_util_posix.cc.orig
++++ src/main/cpp/blaze_util_posix.cc
+@@ -29,6 +29,7 @@
+ #include <sys/resource.h>
+ #include <sys/wait.h>
+ #include <unistd.h>
++#include <time.h>
+
+ #include <cassert>
+ #include <cinttypes>
+@@ -648,8 +649,8 @@
+ }
+
+ void TrySleep(unsigned int milliseconds) {
+- unsigned int seconds_part = milliseconds / 1000;
+- unsigned int nanoseconds_part = (milliseconds % 1000) * 1000 * 1000;
++ time_t seconds_part = (time_t) (milliseconds / 1000);
++ long nanoseconds_part = ((long)(milliseconds % 1000)) * 1000 * 1000;
+ struct timespec sleeptime = {seconds_part, nanoseconds_part};
+ nanosleep(&sleeptime, NULL);
+ }