From 24796718b99aff208846310dd982c5c41d5e7eff Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 17 Aug 2013 09:20:35 +0200 Subject: [PATCH] Bootstrap Haiku image: add source for more required packages * Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be set to add additional packages to the image. * Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of additional packages via the build-package-list build profile action. * Add htmldoc and texi2html when building the list of the packages for which we need source packages when building the bootstrap Haiku image. We don't want them on the regular image, but they are needed to build some packages that are on it. --- Jamfile | 3 +++ build/jam/MiscRules | 4 +++- build/jam/RepositoryRules | 10 +++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Jamfile b/Jamfile index d2adf8665a..c9562f5190 100644 --- a/Jamfile +++ b/Jamfile @@ -40,6 +40,9 @@ if [ FIsBuildFeatureEnabled openssl ] { AddHaikuImagePackages openssl ; } +# add additionally requested packages +AddHaikuImagePackages $(HAIKU_IMAGE_ADDITIONAL_PACKAGES) ; + # Optionally we allow not to include the "src" subdirectory. if $(HAIKU_DONT_INCLUDE_SRC) { # Don't include "src", but at least include the stuff needed for the diff --git a/build/jam/MiscRules b/build/jam/MiscRules index e472be3eab..35885436a4 100644 --- a/build/jam/MiscRules +++ b/build/jam/MiscRules @@ -425,7 +425,9 @@ rule DefineBuildProfile name : type : path { case "build-package-list" : { HAIKU_IMAGE_LIST_PACKAGES_TARGET - = $(HAIKU_BUILD_PROFILE_PARAMETERS) ; + = $(HAIKU_BUILD_PROFILE_PARAMETERS[1]) ; + HAIKU_IMAGE_ADDITIONAL_PACKAGES + = $(HAIKU_BUILD_PROFILE_PARAMETERS[2-]) ; JAM_TARGETS = $(HAIKU_IMAGE_LIST_PACKAGES_TARGET) ; } diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules index f86b2698c1..1f51ff3c20 100644 --- a/build/jam/RepositoryRules +++ b/build/jam/RepositoryRules @@ -507,6 +507,13 @@ rule BuildHaikuPortsSourcePackageDirectory Depends $(packageList) : [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories HaikuPorts $(architecture) ] ; + # Note: Those are packages we need for building on the bootstrap Haiku. They + # are build-pre-requires and as such won't be detected by haikuporter as + # required dependencies when building the source packages. + HAIKU_REPOSITORY_BUILD_ADDITIONAL_PACKAGES on $(packageList) = + htmldoc + texi2html + ; BuildHaikuPortsPackageList $(packageList) ; # prepare the config file for the HaikuPorts build @@ -539,7 +546,8 @@ rule BuildHaikuPortsSourcePackageDirectory actions BuildHaikuPortsPackageList { - HAIKU_BOOTSTRAP_BUILD= $(JAM:E=jam) @alpha-raw build-package-list $(1) + HAIKU_BOOTSTRAP_BUILD= $(JAM:E=jam) @alpha-raw build-package-list $(1) \ + $(HAIKU_REPOSITORY_BUILD_ADDITIONAL_PACKAGES) }