1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-12 03:00:28 +00:00

New port: devel/bazel

Bazel is Google's own build tool, now publicly available in Beta.
Bazel has built-in support for building both client and server
software, including client applications for both Android and iOS
platforms. It also provides an extensible framework that you can
use to develop your own build rules.

WWW: https://bazel.build/

PR:		204512
Submitted by:	Yuri Victorovich <yuri@rawbw.com>, Klaus Aehlig <aehlig@linta.de>
Reviewed by:	peterj
This commit is contained in:
Kurt Jaeger 2016-12-06 19:25:23 +00:00
parent 3449baf303
commit c2d0cf707e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=427983
8 changed files with 106 additions and 0 deletions

View File

@ -158,6 +158,7 @@
SUBDIR += b2
SUBDIR += babeltrace
SUBDIR += bam
SUBDIR += bazel
SUBDIR += bbfreeze
SUBDIR += bbfreeze-loader
SUBDIR += bcc

42
devel/bazel/Makefile Normal file
View File

@ -0,0 +1,42 @@
# Created by: Klaus Aehlig <aehlig@linta.de>
# $FreeBSD$
PORTNAME= bazel
PORTVERSION= 0.4.2r # rc2 of 0.4.2
CATEGORIES= devel java
MASTER_SITES= https://storage.googleapis.com/bazel/0.4.2/rc2/
DISTNAME= bazel-0.4.2rc2-dist
MAINTAINER= aehlig@linta.de
COMMENT= Fast and correct build system
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= bash:shells/bash \
zip:archivers/zip
BROKEN_FreeBSD_9= fails with static_assert expression error in src/main/cpp/util/numbers.cc
NO_WRKSUBDIR= YES
USES= shebangfix zip
SHEBANG_FILES= ${WRKSRC}/tools/cpp/link_dynamic_library.sh
USE_JAVA= yes
JAVA_VENDOR= openjdk
JAVA_VERSION= 1.8
JAVA_BUILD= yes
JAVA_RUN= yes
PLIST_FILES= bin/bazel
do-build:
@${MKDIR} ${WRKDIR}/bazel_tmp
(cd ${WRKSRC} && \
${SETENV} BAZEL_SH=${LOCALBASE}/bin/bash \
TMPDIR=${WRKDIR}/bazel_tmp \
${LOCALBASE}/bin/bash ./compile.sh)
do-install:
@${CP} ${WRKSRC}/output/bazel ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

3
devel/bazel/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1480863971
SHA256 (bazel-0.4.2rc2-dist.zip) = 8e6f41252abadcdb2cc7a07f910ec4b45fb12c46f0a578672c6a186c7efcdb36
SIZE (bazel-0.4.2rc2-dist.zip) = 89321429

View File

@ -0,0 +1,20 @@
--- scripts/bootstrap/bootstrap.sh.orig 1979-12-31 23:00:00 UTC
+++ scripts/bootstrap/bootstrap.sh
@@ -39,7 +39,7 @@ if [ "${JAVA_VERSION}" = "1.7" ]; then
else
: ${BAZEL_ARGS:=--java_toolchain=//src/java_tools/buildjar:bootstrap_toolchain \
--host_java_toolchain=//src/java_tools/buildjar:bootstrap_toolchain \
- --strategy=Javac=worker --worker_quit_after_build --ignore_unsupported_sandboxing \
+ --strategy=Javac=standalone --ignore_unsupported_sandboxing \
--compilation_mode=opt \
"${EXTRA_BAZEL_ARGS:-}"}
fi
@@ -91,7 +91,7 @@ function bootstrap_test() {
local BAZEL_BIN=$1
local BAZEL_SUM=$2
local BAZEL_TARGET=${3:-src:bazel}
- local STRATEGY="--strategy=Javac=worker --worker_quit_after_build"
+ local STRATEGY="--strategy=Javac=standalone"
if [ "${JAVA_VERSION}" = "1.7" ]; then
STRATEGY=
fi

View File

@ -0,0 +1,12 @@
--- src/main/cpp/blaze_util_freebsd.cc.orig 1979-12-31 23:00:00 UTC
+++ src/main/cpp/blaze_util_freebsd.cc
@@ -145,6 +145,9 @@ bool IsSharedLibrary(const string &filen
string GetDefaultHostJavabase() {
// if JAVA_HOME is defined, then use it as default.
+ if (getenv("JAVA_HOME") == nullptr) {
+ return "/usr/local/openjdk8";
+ }
string javahome = getenv("JAVA_HOME");
return !javahome.empty() ? javahome : "/usr/local/openjdk8";
}

View File

@ -0,0 +1,10 @@
--- src/main/cpp/util/file_platform.h.orig 2016-12-05 22:12:53 UTC
+++ src/main/cpp/util/file_platform.h
@@ -16,6 +16,7 @@
#define BAZEL_SRC_MAIN_CPP_UTIL_FILE_PLATFORM_H_
#include <stdint.h>
+#include <time.h>
#include <string>

View File

@ -0,0 +1,11 @@
--- third_party/protobuf/3.0.0/BUILD.orig 1979-12-31 23:00:00 UTC
+++ third_party/protobuf/3.0.0/BUILD
@@ -87,7 +87,7 @@ COPTS = [
"-Wno-error=unused-variable",
]
-LINK_OPTS = ["-lpthread"]
+LINK_OPTS = ["-lpthread", "-lm"]
cc_library(
name = "protobuf_lite",

7
devel/bazel/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Bazel is Google's own build tool, now publicly available in Beta.
Bazel has built-in support for building both client and server
software, including client applications for both Android and iOS
platforms. It also provides an extensible framework that you can
use to develop your own build rules.
WWW: https://bazel.build/