Makefile revision 5778
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# The contents of this file are subject to the terms of the
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater# Common Development and Distribution License (the "License").
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# You may not use this file except in compliance with the License.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0519188c8e1ae76978fc4e0f799620cd36eba07aAutomatic Updater# or http://www.opensolaris.org/os/licensing.
79b273c187a4aa1016a62181983dfdd0521681aeMark Andrews# See the License for the specific language governing permissions
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater# and limitations under the License.
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# If applicable, add the following below this CDDL HEADER, with the
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# fields enclosed by brackets "[]" replaced with your own identifying
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# information: Portions Copyright [yyyy] [name of copyright owner]
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# The golang build process just doesn't work with Parfait.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_MAJOR_VERSION= $(shell echo $(COMPONENT_VERSION) | $(GSED) -e 's/\([0-9]\+\.[0-9]\+\).*/\1/')
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic UpdaterCOMPONENT_ARCHIVE= go$(COMPONENT_VERSION).src.tar.gz
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_ARCHIVE_URL= https://storage.googleapis.com/golang/$(COMPONENT_ARCHIVE)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater sha256:be81abec996d5126c05f2d36facc8e58a94d9183a56f026fc9441401d80062db
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# Go has a number of supplementary tools and packages that are located in
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# separate archives or source repositories. Because Go currently forces a
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# recompile of all packages whenever the compiler changes, building and
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# delivering them within the same build component build process is the best
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# option for now.
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater# The long-term plan for packaging Go is roughly as follows:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# - when SPARC support is integrated into Go upstream, build upstream version
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# using system Go for x86, then build Go for SPARC using upstream version
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# just built for x86 (cross-compilation), package both at the same time
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# - after SPARC version has been available for at least a few builds in the
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews# WOS, switch to building Go with system version for x86 and SPARC
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Supplementary packages; these are delivered as source only for now as the
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# paths to the compiled packages are written directly into the binaries and
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# there's no way (currently) to fix that during the build process.
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic UpdaterSUPP_PACKAGES= crypto image lint net sys text tools tour
80faf1588895fd26490f82f95a7a1b771df1c324Automatic UpdaterGIT_REPO_$(1)= https://github.com/golang/$(1).git
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater$(foreach suffix, $(SUPP_PACKAGES), $(eval $(call supp-rules,$(suffix))))
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Desired "revision" of Go's "community" libraries; these are arbitrary
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# revisions chosen from the last commit to the respective repository at the
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# same time that this component was updated as there is no formal release
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# process for these packages. Whenever Go is updated, these should be as well.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGIT_COMMIT_ID_crypto= 0c93e1ff9f91f0c63bf17b123de503d023434fdd
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsGIT_COMMIT_ID_image= baddd3465a05d84a6d8d3507547a91cb188c81ea
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGIT_COMMIT_ID_lint= 32a87160691b3c96046c0c678fe57c5bef761456
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonGIT_COMMIT_ID_net= b4e17d61b15679caf2335da776c614169a1b4643
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGIT_COMMIT_ID_sys= d9157a9621b69ad1d8d77a1933590c416593f24f
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGIT_COMMIT_ID_text= 22af8577cc7d0b37e7fb5708399a12115bfe6900
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonGIT_COMMIT_ID_tools= ac6d9c1d842f9b6482f39f7a172e0251a0f7cbc0
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGIT_COMMIT_ID_tour= 1c790b9f8bfefe44f33fbc9aacf5a6bc06027321
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# Resulting hash of related git commit once archived.
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updater sha256:6b088fa04632857c7b6244bf887f560f9fe2efa8342072f3837e9fe556c1190e
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews sha256:96951cea9d34603209961d46010610894df6c708321e1b4781d71bdd180e75b8
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater sha256:1b5f8c917056dc850da9220a19f907ed323c62e1f42f5a09f3648ee73a98ae6d
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont sha256:dca84ca46ed8eb46db12c27a3b5720acacdd6d0206304453d48056d6b9688e81
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater sha256:267416d3f0cda4c916192e5c2587ba2a591a593a0c8dc65df3e7f5e5c791acc7
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews sha256:8484f1a25689f0e45c11768ed054acb7b747fe5b22c23565e744ec5c40f0e4c6
08e3b6797706a13054bad749dea04e94b514b8e7Automatic Updater sha256:a02ef6a6c344bc6c643af00a6ba0549c7442fa0111279dca601341d16683ba56
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews sha256:19e6a5396b7b65cece97cb203a335a2924c6cd648709d80ef8aa3c220aab8f88
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater# Go package imports for lint are found in github directory.
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic UpdaterCOMPONENT_IMPORT_SRC_lint= github.com/golang
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Go's "not well-formed" elf objects confuse elfsign, which then causes
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# problems for RE. For now, we workaround this by adding the
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater# 'com.oracle.elfsign=false' tag to every elf object.
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# We're x86-only for now.
fe80a4909bf62b602feaf246866e9d29f7654194Automatic UpdaterPUBLISH_STAMP= $(NO_ELFSIGN_MOG) $(BUILD_DIR)/.published-$(MACH)
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater# Bake in where Go package will be installed.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterGOROOT_FINAL= /usr/lib/golang/$(COMPONENT_MAJOR_VERSION)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# Enable easier stack unwinding for debugging.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCOMPONENT_BUILD_ENV += GOROOT_FINAL="$(GOROOT_FINAL)"
aa1d397c4736cd86540555193d71e55fa3b37b2aMark AndrewsCOMPONENT_BUILD_ENV += GOEXPERIMENT="$(GOEXPERIMENT)"
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater GOROOT_BOOTSTRAP="$(USRLIBDIR)/golang/1.5"
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater# Install root for supplementary packages.
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic UpdaterSUPP_ROOT=$(PROTOUSRLIBDIR)/gocode/$(COMPONENT_MAJOR_VERSION)
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater# For convenience during installation of supplementary packages.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCOMPONENT_INSTALL_ENV += PATH="$(PROTO_DIR)$(GOROOT_FINAL)/bin:$(PATH)"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonCOMPONENT_INSTALL_ENV += GOROOT="$(PROTO_DIR)$(GOROOT_FINAL)"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCOMPONENT_INSTALL_ENV += GOPATH="$(SUPP_ROOT)"
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater# Simplify source copying for install by eliding patch detritus.
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater# Enable local transforms.
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# Avoid some of the default transforms:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# - facet.devel serves no useful purpose for a development package
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater# - facet.doc wrongly assumes all things in a doc directory are documentation;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# in Go's case, some are binaries
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updater# This requires completely redefining PUBLISH_TRANSFORMS for now.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/variant-cleanup
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/defaults
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/actuators
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/locale
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterPUBLISH_TRANSFORMS += $(PKGMOGRIFY_TRANSFORMS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/incorporate
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterPUBLISH_TRANSFORMS += $(WS_TOP)/transforms/publish-cleanup
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/evaluation
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater find . -type f -exec elffile {} + | grep 'ELF [36]' | \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(GSED) -e 's/^..\(.*\):.*$$/<transform file path=\1$$ -> \\\
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater default com.oracle.elfsign false>/' > $@
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updater# Building go from the source repository version requires that we set an
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# effective version and add some sort of unique identifier (in the case of
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# pre-release versions), so we use 'devel' + archive hash + date similar to how
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater# Go internally determines one normally from git revision info. Uncomment the
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater# block below when building from the upstream source repository:
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater#COMPONENT_POST_UNPACK_ACTION= \
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews# $(MV) go-master $(COMPONENT_SRC) && \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# $(TOUCH) $(COMPONENT_SRC)/VERSION && \
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# echo "devel $(shell digest -a md5 $(COMPONENT_ARCHIVE)) \
bbb069be941f649228760edcc241122933c066d2Automatic Updater# $(shell date -u +'%a %b %e %T %Z %Y')" > \
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# $(COMPONENT_SRC)/VERSION
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# We have to fiddle with the package archives to get them into the same source
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# directory so that we can use the standard build targets. We're effectively
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater# building multiple components using a single target.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Fixup compressed data affected by patches.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews bzip2 -c src/compress/testdata/Mark.Twain-Tom.Sawyer.txt > \
f7c88d61cc1ad2435b0b7cfaedfc9d5248c0be25Automatic Updater src/compress/bzip2/testdata/Mark.Twain-Tom.Sawyer.txt.bz2
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Go doesn't have a standard Makefile-based build process, so override the
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater cd $(@D)/src; $(ENV) $(COMPONENT_BUILD_ENV) ./make.bash
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater $(PROTOUSRLIBDIR)/$(COMPONENT_NAME)/$(COMPONENT_MAJOR_VERSION)
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# We can't do any ASLR'ing as the Go 6l linker has no understanding of the
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# -z aslr=... option. So just override where needed in the .p5m files.
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater# The timestamp is generated immediately once when the Makefile is evaluated to
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# ensure every package gets the same one.
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# Make sure the source code and object files have identical timestamps so
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# the Go compiler doesn't try to rebuild them.
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# Extra macros for packaging convenience.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterPKG_MACROS += COMPONENT_MAJOR_VERSION=$(COMPONENT_MAJOR_VERSION)
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# COMPONENT_MAJOR_VERSION suitable for use in regular expressions.
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic UpdaterPKG_MACROS += COMPONENT_RE_MAJOR_VERSION=$(subst .,\\.,$(COMPONENT_MAJOR_VERSION))
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_TEST_ENV += PATH="$(@D)/bin:$(PATH)"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# Go's test suite does not have deterministic output or order, and as such,
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater# success can only be determined by exit code, not by output comparison.
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark AndrewsXML2ROFF= $(USRSHAREDIR)/xml/xsolbook/python/xml2roff.py
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(XML2ROFF) $(COMPONENT_DIR)/docs/go.1 -o $(BUILD_DIR)
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater -exec $(GNUBIN)/cp --parents {} $(COMPONENT_TARGET_DIR) \;); \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews (cd $(BUILD_DIR_64) && $(CP) -r bin $(COMPONENT_TARGET_DIR)/); \
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews (cd $(BUILD_DIR_64) && $(CP) -r pkg $(COMPONENT_TARGET_DIR)/); \
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews ($(CP) $(BUILD_DIR)/man1/go.1 $(PROTOUSRSHAREMAN1DIR)/); \
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater# Magic to deliver supplemental package source into proto area.
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater$(MANIFEST_BASE)-$(1)-15.mogrified: PKG_PROTO_DIRS= $(MANGLED_DIR) $(PROTO_DIR) $(@D) $(COMPONENT_DIR) $(COMPONENT_SRC_$(1))
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(SUPP_ROOT)/src/$$(COMPONENT_IMPORT_SRC_$(1))/$$(COMPONENT_NAME_$(1)); \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(SUPP_ROOT)/src/$$(COMPONENT_IMPORT_SRC_$(1))/$$(COMPONENT_NAME_$(1)));
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews$(foreach suffix,$(SUPP_PACKAGES), $(eval $(call install-rules,$(suffix))))
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Install supplementary packages (this cannot be done one-by-one); install
06f5acb11f1c32228d93eefd1eb841dbfb1c7f4dAutomatic Updater# tools/go/types first to avoid quirk with trimpath and dependencies. This is
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# technically a build and install, but go's build command won't "install"
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater# results, it only verifies a target can be built and dumps it into a temporary
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# The -trimpath option used here ensures that the paths recorded in the
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# pre-built packages do not contain the containing directory; the result is a
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# path that Go will evaluate relative to $GOPATH and so will pass the "stale"
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# object checks that Go performs at build time allowing reuse of the pre-built
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater ($(ENV) $(COMPONENT_INSTALL_ENV) go install \
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater -asmflags -trimpath=$(PROTO_ROOT) -gcflags -trimpath=$(PROTO_ROOT) \
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater $(ENV) $(COMPONENT_INSTALL_ENV) go install \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater -asmflags -trimpath=$(PROTO_ROOT) -gcflags -trimpath=$(PROTO_ROOT) \
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(ENV) $(COMPONENT_INSTALL_ENV) go install \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater -asmflags -trimpath=$(PROTO_ROOT) -gcflags -trimpath=$(PROTO_ROOT) \
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater# Go's test suite is currently designed to be run from the build area.
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater# Used during the build.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Go 1.5 now bootstraps itself using 1.5; 1.6 will bootstrap using 1.5 as well.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Used in this Makefile.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Required to build man pages.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonREQUIRED_PACKAGES += developer/documentation-tool/xml2roff
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# There's a single test script which requires perl.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Used for cgo support at runtime; we don't add a package dependency since cgo
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# support is optional.