File: rules

package info (click to toggle)
bazel-bootstrap 3.5.1%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 82,232 kB
  • sloc: java: 699,320; sh: 50,568; cpp: 34,885; python: 11,961; xml: 295; objc: 269; ansic: 106; makefile: 95; ruby: 3
file content (109 lines) | stat: -rwxr-xr-x 4,255 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/make -f
export DH_VERBOSE = 1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
#DPKG_EXPORT_BUILDFLAGS = 1
#include /usr/share/dpkg/buildflags.mk

export VERBOSE = yes
export BAZDIR = ${CURDIR}/debian/bazel-bootstrap
export BAZDATADIR = ${CURDIR}/debian/bazel-bootstrap-data

# Bypass ccache
export CCACHE_DISABLE = 1
export CCACHE_TEMPDIR = ${CURDIR}/debian/ccachetmp

# Ensure packages build with no Internet access
export http_proxy=127.0.0.1:9
export https_proxy=127.0.0.1:9

# BAZEL_CXXOPTS and BAZEL_LINKOPTS take a list of flags seperated by colon
export space = $() $()
export BAZEL_CXXOPTS = $(subst $(space),:,-std=c++0x ${CPPFLAGS} ${CXXFLAGS})
export BAZEL_LINKOPTS = $(subst $(space),:,-lstdc++ -lm ${LDFLAGS})

# Use the local JDK
export EXTRA_BAZEL_ARGS = \
	--host_javabase=@local_jdk//:jdk \
	--define=distribution=debian \
	--noremote_accept_cached \
	--verbose_failures \
	--subcommands \
	--compilation_mode dbg \
	--action_env=CCACHE_DISABLE \
	--action_env=CCACHE_TEMPDIR \
	--sandbox_debug \
	--sandbox_writable_path=${CCACHE_TEMPDIR} \
	--override_repository=com_google_protobuf=${CURDIR}/tools/distributions/debian/protobuf \
	--override_repository=remote_java_tools_linux=${CURDIR}/mock_repos/remote_java_tools_linux \
	--override_repository=bazel_skylib=${CURDIR}/mock_repos/bazel_skylib \
	--override_repository=io_bazel_skydoc=${CURDIR}/mock_repos/bazel_skydoc \
	--override_repository=rules_pkg=${CURDIR}/mock_repos/rules_pkg \
	--override_repository=rules_cc=${CURDIR}/mock_repos/rules_cc \
	--override_repository=rules_java=${CURDIR}/mock_repos/rules_java \
	--override_repository=rules_proto=${CURDIR}/mock_repos/rules_proto \
	--override_repository=platforms=${CURDIR}/mock_repos/platforms \
	--distinct_host_configuration=false

export PROTOC = /usr/bin/protoc
export GRPC_JAVA_PLUGIN = /usr/bin/grpc_java_plugin

# Prevent Out-of-Memory failures on some architectures
export BAZEL_JAVAC_OPTS = -J-Xmx4096m

%:
	dh $@ --with python3

override_dh_auto_build:
	mkdir -p ${CCACHE_TEMPDIR}
	./compile.sh

override_dh_auto_clean:
	dh_auto_clean
	rm -rf derived
	rm -rf output
	rm -rf bazel-*

override_dh_install:
	mkdir -p debian/tmp
	rm -f output/usr/share/bazel/xcode-locator
	rm -rf output/usr/share/bazel/embedded_tools/tools/jdk/nosystemjdk
	mv output/* debian/tmp
	dh_install
	rm -rf ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/zip/zipper

override_dh_installdocs-arch:
	dh_installdocs --package=bazel-bootstrap -XREADME.Debian

override_dh_installdocs-indep:
	dh_installdocs --package=bazel-bootstrap-data --doc-main-package=bazel-bootstrap

override_dh_link-indep:
	jdupes -rl ${BAZDATADIR}/usr
	find ${BAZDATADIR}/usr/share/bazel/embedded_tools -type f -name \
		'*.h' -printf '%h\n' | sort -u | sed 's@/build.*embedded_tools/@@' | \
		xargs -I% mkdir -p ${BAZDATADIR}/usr/include/bazel/%
	find ${BAZDATADIR}/usr/share/bazel/embedded_tools -name '*.h' | \
		sed 's@/build.*/embedded_tools/@@g' | xargs -I% ln -rs \
		${BAZDATADIR}/usr/share/bazel/embedded_tools/% \
		${BAZDATADIR}/usr/include/bazel/%
	dh_link

override_dh_fixperms-indep:
	find ${BAZDATADIR}/usr/share -type f -print0 2>/dev/null | xargs -0r chmod a-x
	find ${BAZDATADIR}/usr/share/doc/bazel/examples -type f \
		-not -name '*.sh' -print0 2>/dev/null | xargs -0r chmod a-x
	find ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools \
		-type f -name '*.sh*' -print0 2>/dev/null | xargs -0r chmod a+x
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/buildstamp/get_workspace_status
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/build_interface_so
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/linux_cc_wrapper.sh.tpl
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/cpp/osx_cc_wrapper.sh.tpl
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/gcov_stub
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/mcov_stub
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/objc/protobuf_support
	chmod a+x ${BAZDATADIR}/usr/share/bazel/embedded_tools/tools/python/pywrapper_template.txt
	dh_fixperms

#dh_bash-completion is not correctly annotating that it has installed files
override_dh_missing:
	dh_missing -Xbazel-complete.bash