Commit Graph

13 Commits

Author SHA1 Message Date
Oliver Tappe 9109e44e2e Include findutils_bootstrap on x86* versions of bootstrap image. 2014-03-22 23:21:25 +01:00
Jonathan Schleifer 36ab9ee174 Use correct gawk_bootstrap version
This prevents rebuilding it every time jam is called.
2014-03-11 22:13:24 +01:00
Oliver Tappe 526132b58d Add missgin gawk_bootstrap, it is required on the bootstrap image. 2014-03-11 22:05:26 +01:00
Jonathan Schleifer 98ae6f2784 Update HaikuPortsCross repo for all archs 2014-03-10 04:24:55 +01:00
Ingo Weinhold efd7a43c66 HaikuPortCross repository: Update libsolv version 2013-10-03 23:01:13 +02:00
Ingo Weinhold 648a97f716 HaikuPortsCross: update gcc package versions 2013-08-22 15:49:34 +02:00
Ingo Weinhold d1251475e2 Add the missing secondary arch bootstrap packages
The Haiku bootstrap image is now built with (hopefully) all required
primary and secondary architecture packages. The runtime loader is still
resisting our wish to run secondary architecture programs, though.
2013-08-06 03:37:45 +02:00
Ingo Weinhold 93cfb72270 build features/bootstrap repo: support secondary arch
* Add rule FSplitPackageName. It splits a package name into port name
  and package suffix.
* FSetConditionsHold: Rename to FConditionsHold and replace the set
  parameter by a predicate rule parameter, thus adding more flexibility.
* FIsBuildFeatureEnabled: Use the faster check.
* Add rule FQualifiedBuildFeatureName. Given a build feature name, it
  prepends the current packaging architecture to yield a qualified
  feature name. Is used by the other build feature rules so that the
  same build feature can be configured differently for each arch.
* ExtractBuildFeatureArchives: The supplied list is now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  list.
* Add rule InitArchitectureBuildFeatures. It is called early for each
  configured architecture, setting up some basic build features for it.
  "primary" is set for the primary architecture and a "secondary_<arch>"
  is set for each secondary architecture.
* BuildFeatures: Add secondary architecture support: Use the correct
  paths for libraries and headers (subdir for secondary architecture)
  and configure the icu and zlib sources only for the primary
  architecture.
* BootstrapPackageRepository: The package lists are now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  lists.
* IsPackageAvailable, FetchPackage: Add secondary architecture support.
* HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages.

The second stage Haiku cross devel package for the secondary
architecture can now be built.
2013-08-05 07:09:45 +02:00
Oliver Tappe f30881d7fe Replace makeinfo_bootstrap with texinfo_bootstrap.
* using texinfo_bootstrap has the advantage of allowing implicit
  mapping between _bootstrap packages and the corresponding 
  non-bootstrap packages
2013-08-04 21:05:24 +02:00
Ingo Weinhold 81bd962f27 Add haikuporter and python to Haiku bootstrap image 2013-07-21 23:58:37 +02:00
Ingo Weinhold 26b0aa1ccd HaikuPortsCross repository: fix binutils, gcc revision mismatch
I don't think it makes that much sense to increment the revisions in
the cross recipes anyway, since there isn't any actual package
repository.
2013-07-21 21:34:02 +02:00
Ingo Weinhold a7ab22a0c0 HaikuPortsCross repository: icu_bootstrap is now available 2013-07-21 18:23:45 +02:00
Ingo Weinhold e173a1ec1c Integrate building the HaikuPorts bootstrap packages
* Add configure option --bootstrap which allows specifying the
  haikuporter and HaikuPorts repository paths.
* Add rules for supporting a second repository type. The
  PackageRepository rule is now private and RemotePackageRepository is
  used for remote repositories. The new BootstrapPackageRepository rule
  is for defining a bootstrap repository (there will probably be only
  the HaikuPorts cross repository) whose packages can be built as needed
  via haikuporter.
* Rename DownloadPackage to FetchPackage.
* Define repository HaikuPortsCross.
* HaikuCrossDevel package(s): There are now two sets of packages: A
  "stage1" set with the same content as before and a final set
  additionally containing the libraries libbe, libnetwork, libpackage.
  Those are needed for building the libsolv bootstrap package while for
  building them we need other bootstrap packages (ICU, libz).

This is basically all that's required to build a bootstrap Haiku
completely from sources, with a few caveats:
* There's no ICU bootstrap recipe yet (so one has to cheat and use the
  prebuilt package ATM).
* Probably doesn't work on Haiku yet (tested on Linux only).
* A 32 bit environment must be used (otherwise building the gcc 2
  bootstrap package fails).
* Building with multiple jobs doesn't work yet, since haikuporter uses
  common directories for building different packages and there's no
  explicit serialization yet.
* Haven't tested the resulting image save for booting it. So it probably
  needs a bit more work before it can actually build the final
  HaikuPorts packages.
2013-07-21 04:10:48 +02:00