summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/bazel/Makefile32
-rw-r--r--devel/bazel/distinfo6
-rw-r--r--devel/bazel/files/extra-i386_src_BUILD32
-rw-r--r--devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt (renamed from devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_stub__template.txt)6
4 files changed, 63 insertions, 13 deletions
diff --git a/devel/bazel/Makefile b/devel/bazel/Makefile
index ff62fd9f71d5..9d15c60f4c39 100644
--- a/devel/bazel/Makefile
+++ b/devel/bazel/Makefile
@@ -2,28 +2,27 @@
# $FreeBSD$
PORTNAME= bazel
-PORTVERSION= 0.5.0
+PORTVERSION= 0.5.3
CATEGORIES= devel java
MASTER_SITES= https://storage.googleapis.com/bazel/${PORTVERSION}/rc${FINALRC}/
DISTNAME= bazel-${PORTVERSION}rc${FINALRC}-dist
-MAINTAINER= aehlig@linta.de
+MAINTAINER?= aehlig@linta.de
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= 9
+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,21 @@ JAVA_VERSION= 1.8
JAVA_BUILD= yes
JAVA_RUN= yes
+NO_WRKSUBDIR= YES
+
+CONFLICTS_INSTALL?= bazel-clang38
+
+OPTIONS_DEFINE= CLANG38
+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.
@@ -41,6 +55,10 @@ post-patch:
${WRKSRC}/src/main/cpp/blaze_util_posix.cc
@${ECHO_CMD} build --strategy=Javac=standalone >> ${WRKSRC}/scripts/packages/debian/bazel.bazelrc
+post-patch-CLANG38-on:
+ @${REINPLACE_CMD} -e 's=/usr/lib/clang=${LOCALBASE}/llvm38/lib/clang=' \
+ -e 's=/usr/bin/clang=${LOCALBASE}/bin/clang38=' ${WRKSRC}/tools/cpp/CROSSTOOL
+
do-build:
@${MKDIR} ${WRKDIR}/bazel_tmp
(if [ -z "$${SOURCE_DATE_EPOCH}" ] ; \
@@ -60,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/distinfo b/devel/bazel/distinfo
index d911bd167ad6..e6f7264b6da3 100644
--- a/devel/bazel/distinfo
+++ b/devel/bazel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1495581096
-SHA256 (bazel-0.5.0rc9-dist.zip) = b2b2f2e399cd341d91d27f3df0f9862ef0c4c51cc256fd2bda6ca93c0f00e27f
-SIZE (bazel-0.5.0rc9-dist.zip) = 98166774
+TIMESTAMP = 1501141783
+SHA256 (bazel-0.5.3rc4-dist.zip) = 41d70a98366256a20ddf0b0f2aab826913cd332d90c4f245b2c2e83a66f3d846
+SIZE (bazel-0.5.3rc4-dist.zip) = 100445883
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);
+ }
diff --git a/devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_stub__template.txt b/devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt
index 050fab4749ed..513c8e5604ec 100644
--- a/devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_stub__template.txt
+++ b/devel/bazel/files/patch-src_main_java_com_google_devtools_build_lib_bazel_rules_python_python__stub__template.txt
@@ -1,6 +1,6 @@
---- src/main/java/com/google/devtools/build/lib/bazel/rules/python/stub_template.txt.orig 2017-03-31 21:28:24 UTC
-+++ src/main/java/com/google/devtools/build/lib/bazel/rules/python/stub_template.txt
-@@ -32,7 +32,7 @@ if IsWindows() and not PYTHON_BINARY.end
+--- src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt.orig 2017-07-25 04:58:01 UTC
++++ src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
+@@ -38,7 +38,7 @@ if IsWindows() and not PYTHON_BINARY.end
# Find a file in a given search path.
def SearchPath(name):