Commit Graph

2525 Commits

Author SHA1 Message Date
Ingo Weinhold
b0d7a45c3d FloppyBootImage: Add packagefs 2013-09-13 00:06:20 +02:00
Ingo Weinhold
dee358f0ec AddBootModuleSymlinksToContainer: Fix symlink target
The symlink was only correct, if the container was a package. For
containers with a non-empty path to the system directory the link would
duplicate the system directory path.
2013-09-13 00:06:20 +02:00
Oliver Tappe
b3eaedd14a Add missing packages for x86_64 to repository.
* the Pe package doesn't work (Pe won't start), I'm still
  investigating as to why that is
2013-09-12 14:34:47 +02:00
Oliver Tappe
a4b13eda69 Increase size of bootstrap image to 20 GB. 2013-09-07 15:25:55 +02:00
Oliver Tappe
797c1a7590 Update x64_64 to current state of things. 2013-09-07 15:25:15 +02:00
Oliver Tappe
818ed1eaf0 Remove blocks for secondary packages for x86_64. 2013-09-06 17:21:35 +02:00
Oliver Tappe
fb99605f49 Handle rigged source packages when determining port name.
* I'm not sure this makes much of a difference, but I thought it's 
  better to play it safe.
2013-09-02 12:03:06 +02:00
Oliver Tappe
d1246f33f0 Drop use of non-existing variable in KernelAddon rule.
* TARGET_KERNEL_PIC_FLAGS was probably meant to be 
  TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005.
  As correcting the name would mean that kernel add-ons would be 
  compiled such that they wouldn't be position independent, dropping
  the variable makes more sense (which is just a cleanup and doesn't 
  change anything due to that variable being always empty)
2013-08-29 22:44:50 +02:00
Jérôme Duval
86af5f159b VirtioRNG: add to the image 2013-08-29 18:47:48 +02:00
Alexander von Gluck IV
8f7f28a7c3 OpenGL: Upgrade to Mesa 9.2
* The needed LLVM libraries are now within
  the Mesa optional build package.
* The swpipe renderer needs some work still
  and will likey change, swrast is fully
  functional.
2013-08-28 16:18:44 -05:00
Fredrik Holmqvist
f0aee2b4ea Enable targets for EFI on binutils.
objcopy needs to know about EFI targets if we want to build EFI Applications.
Also minor whitespace removal.
2013-08-28 19:59:56 +02:00
Ingo Weinhold
86297ca0ff actions DownloadLocatedFile: fail, if wget fails 2013-08-28 01:07:17 +02:00
Ingo Weinhold
106d4015f2 rule ArchitectureSetup: Remove superfluous arch macro definition
The macro for the architecture is already defined by the compiler.
2013-08-28 00:46:12 +02:00
Ingo Weinhold
3db97b7688 Enable -Werror for package_repo and pkgman 2013-08-28 00:36:28 +02:00
Oliver Tappe
eb658691e9 Add definitions for x86_64 repositories and package infos. 2013-08-27 23:30:23 +02:00
Oliver Tappe
1af14947fd Add missing case for x86_64 as host CPU architecture. 2013-08-27 23:30:23 +02:00
Jérôme Duval
98b4807f88 random: convert to the new driver API
* also move to a bus manager, we can then attach to the root device.
* updated copyright info.
2013-08-27 20:28:55 +02:00
Ingo Weinhold
a1e681690c Rework rule CopySetHaikuRevision
* Remove support for VCSs other than git.
* Make the haiku-revision file a regular build target and make sure it
  is built only once.
* Make determine_haiku_revision an actual shell script and simplify
  it a bit.
2013-08-26 16:38:50 +02:00
Ingo Weinhold
e64db4da44 Also mount the packagefs at ~/config 2013-08-25 18:23:11 +02:00
Ingo Weinhold
abf4b0f6a0 HaikuPorts/x86: add some missing source packages 2013-08-23 13:31:51 +02:00
Ingo Weinhold
82655a5188 HaikuPorts/x86[_gcc2]: update gcc packages 2013-08-22 17:58:42 +02:00
Ingo Weinhold
648a97f716 HaikuPortsCross: update gcc package versions 2013-08-22 15:49:34 +02:00
Ingo Weinhold
86de8c37b5 Use GNU make also for building gcc 2
Should fix the build on {Free,Open}BSD.
2013-08-22 12:32:20 +02:00
Ingo Weinhold
b35337eb1e Add repositories for x86
Almost complete. bepdf is still missing, since it doesn't build with gcc
4 and a few source packages are missing as well (binutils and gcc
because haikuporter doesn't build them correctly ATM, mesa due to an
oversight).
2013-08-21 16:45:48 +02:00
Oliver Tappe
4ddd2c75dc Don't try to build xz_utils for a mere gcc2 system. 2013-08-21 16:30:39 +02:00
Ingo Weinhold
987d25a40c build_cross_tools: use --with-hybrid-secondary when needed 2013-08-17 09:31:57 +02:00
Ingo Weinhold
77b9f01f9b Add a few standard build tools to the Development meta package 2013-08-17 09:21:06 +02:00
Ingo Weinhold
24796718b9 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.
2013-08-17 09:20:35 +02:00
Ingo Weinhold
13f2fbbd9e Add build variable HAIKU_PORTER_CONCURRENT_JOBS
It can be set to the number of jobs specified on the haikuporter
command line. Speeds up the bootstrap build quite a bit.
2013-08-17 09:12:45 +02:00
Ingo Weinhold
f73d05a79b HaikuPorts/x86_gcc2: Update git packages 2013-08-14 10:14:16 +02:00
Ingo Weinhold
37cfff1f04 build_haiku_image: filter duplicate packages
Resolving the package dependencies for system might yield packages that
are already given for common. Filter those out of the list for common
before resolving the common dependencies.
2013-08-13 15:31:22 +02:00
Ingo Weinhold
86233b1067 HaikuPorts: update several packages
... and add some missing devel packages.
2013-08-13 14:20:42 +02:00
Oliver Tappe
4c6b3efc91 Increase size of bootstrap image to 4 GB.
* 1 GB isn't enough to build the basic set
2013-08-12 21:50:13 +02:00
Ingo Weinhold
f56958c140 Add development packages for the secondary architecture 2013-08-12 17:23:20 +02:00
Ingo Weinhold
4e822fec6f HaikuPorts/x86_gcc2: Update gcc and binutils
Also add secondary architecture packages.
2013-08-12 17:20:36 +02:00
Ingo Weinhold
b57470a217 Remove setgcc 2013-08-12 15:53:50 +02:00
Ingo Weinhold
555b02d345 Add webpositive package to image 2013-08-10 15:06:55 +02:00
Ingo Weinhold
1c9bc20646 BuildFeatures: re-add webkit build feature 2013-08-10 15:05:51 +02:00
Ingo Weinhold
2910d9a7e0 PreprocessPackageInfo: add substitution
... HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX. It's "_<arch>" for a
secondary architecture and "" for the primary one.
2013-08-10 15:04:48 +02:00
Ingo Weinhold
4f57a2bd1a DefineDefaultBuildProfiles: simplify things a bit 2013-08-10 15:03:49 +02:00
Ingo Weinhold
39f7d0075d HaikuPorts/x86_gcc2: add haikuwebkit and xz_utils 2013-08-10 15:03:14 +02:00
Ingo Weinhold
dd0bd440d5 BuildFeatures: print the packaging arch in error messages 2013-08-10 15:02:02 +02:00
Ingo Weinhold
00b8bfde15 EnableBuildFeatures: deal with duplicate invocations 2013-08-10 14:58:21 +02:00
Ingo Weinhold
a94f6aab7b Image rules: filter packages list via FFilterByBuildFeatures
AddPackageFilesToHaikuImage, AddHaikuImagePackages: For convenience
filter the given package file/package list through
FFilterByBuildFeatures.
2013-08-10 14:55:29 +02:00
Ingo Weinhold
271e9484ed Build secondary architecture Haiku package for regular image
Also add secondary architecture packages to image.
2013-08-10 09:58:11 +02:00
Ingo Weinhold
393c223bcf HaikuPorts/x86_gcc2: add x86 packages, add/update packages 2013-08-10 09:54:42 +02:00
Ingo Weinhold
47fd9e6dc6 rule AddLibrariesToContainer: fix for gristed libraries 2013-08-10 09:52:10 +02:00
Philippe Houdoin
f1cc99789b Add PatchBay to default image's demos 2013-08-08 22:45:20 +02:00
Oliver Tappe
f81fbb0b59 Adjust to renamed option of haikuporter. 2013-08-07 13:42:16 +02:00
Ingo Weinhold
394c099f62 build_cross_tools_gcc4: use --with-hybrid-secondary 2013-08-07 02:13:15 +02:00
Ingo Weinhold
c965ee60b5 bootstrap image: build needed source packages and add them
* IsPackageAvailable, FetchPackage: Add flags parameter. The only
  flag supported ATM is nameResolved, indicating that the specified
  package name does not need to be resolved with respect to a secondary
  architecture anymore.
* Add build profile action "build-package-list". As an argument the
  file to which the list of all packages needed for the image is
  written. The rule BuildHaikuImagePackageList implements the action.
* BuildBootstrapRepositoryConfig: Does now require the variable
  HAIKU_REPOSITORY_TREE_PATH to be set on the config file target instead
  of hard-coding the path. Allows reuse of the actions.
* Add rules BuildHaikuPortsSourcePackageDirectory and
  BuildHaikuPortsRepositoryConfig. The former builds all HaikuPorts
  source packages needed to build the packages for an alpha image. The
  latter generates a haikuports.conf file for use on the bootstrap
  Haiku.
* HaikuImageBootstrap: Add directory /boot/home/haikuports which
  contains a subdirectory with the source packages and a
  haikuports.conf.
2013-08-06 23:02:10 +02:00
Ingo Weinhold
384230184e Filter package infos through sed
%HAIKU_PACKAGING_ARCH% and %HAIKU_SECONDARY_PACKAGING_ARCH% in the
package infos are replaced before filtering them through the C
preprocessor.
2013-08-06 04:11:44 +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
cade865dde Add secondary arch haiku [devel] packages to image 2013-08-06 03:33:36 +02:00
Ingo Weinhold
b4d3e055a9 Add HaikuDevelSecondary package definition
It defines the haiku devel package for a secondary architecture
(haiku_<arch>_devel.hpkg).
2013-08-06 03:32:48 +02:00
Ingo Weinhold
096c687ea3 HaikuDevel: a few simplifications 2013-08-06 03:29:51 +02:00
Ingo Weinhold
85eed25cdd AddHaikuImagePackages/IsHaikuImagePackageAdded: 2ndary arch fix
For the secondary architecture the same specified package name means a
different package, so we need to use the mapped name IsPackageAvailable
returns.
2013-08-06 03:24:14 +02:00
Ingo Weinhold
db16bcba41 Add package definition HaikuSecondaryBootstrap
A haiku_<arch>.hpkg package is produced for each secondary architecture.
2013-08-06 00:47:51 +02:00
Ingo Weinhold
225b638263 Support building most system libraries for secondary arch
Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.
2013-08-06 00:45:22 +02:00
Ingo Weinhold
779b940a74 PreprocessPackageInfo: define macro for secondary architecture 2013-08-05 23:25:09 +02:00
Ingo Weinhold
e9a0ad7c4d Remove SYSTEM_LIBS*_ALIASES build variables 2013-08-05 23:25:09 +02:00
Ingo Weinhold
69c69a7d2a Replace build system vars [PRIVATE_]SYSTEM_LIBS by rules
... HaikuImageGetSystemLibs and HaikuImageGetPrivateSystemLibs.
2013-08-05 23:25:08 +02:00
Oliver Tappe
d20975d920 Fix negated predicate relating to input_server.
* without a secondary arch, jam would complain about not knowing how
  to build <x86_gcc>input_server
2013-08-05 21:44:12 +02:00
Oliver Tappe
0b171ae44a Fix two problems when building without secondary architecture. 2013-08-05 21:36:25 +02:00
Ingo Weinhold
b2b6052e40 ArchitectureSetup: fix library name map
It's too early to use the MultiArch* rules yet, since the TARGET_*
variables haven't been initialized yet.
2013-08-05 18:52:33 +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
Ingo Weinhold
f7d5e4c647 ArchitectureSetup: fix library map for secondary arch
The libraries where resolved to the library targets for the primary
architecture.
2013-08-05 06:39:10 +02:00
Ingo Weinhold
de799f73c0 MultiArch* rule: support optional architecture parameter 2013-08-05 06:37:56 +02:00
Ingo Weinhold
d31a50eef7 Move build feature rules to separate file 2013-08-05 00:17:46 +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
68ccc98930 Build the cross gcc for the secondary arch as such
Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.
2013-08-04 17:21:20 +02:00
Ingo Weinhold
f975dc63f1 build_cross_tools_gcc4: move sysroot dir into install dir
This allows us to sneak in system include and library search dirs in
haikuporter without doing anything outside the cross tools dir.
2013-08-03 05:29:15 +02:00
Ingo Weinhold
833b6688aa cross devel hpkg: use suffix/subdir for secondary arch
* Libraries for a secondary architectures must be placed in a respective
  subdir.
* Add a suffix to the package name when building for a secondary
  architecture. Looks a bit weird
  ("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent.
2013-08-03 05:26:25 +02:00
Ingo Weinhold
b0944c78b0 More work towards hybrid support
* All packaging architecture dependent variables do now have a
  respective suffix and are set up for each configured packaging
  architecture, save for the kernel and boot loader variables, which
  are still only set up for the primary architecture.
  For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
  and TARGET_LIBSTDC++ are set to the respective values for the primary
  packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
  multiple packaging architectures. Generally the respective targets are
  (additionally) gristed with the packaging architecture. For libraries
  the additional grist is usually omitted for the primary architecture
  (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
  Jamfiles for targets built only for the primary architecture don't
  need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
  cross devel package as well as for libbe (untested).
2013-08-01 08:54:06 +02:00
Ingo Weinhold
159663ceba Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES 2013-08-01 08:54:05 +02:00
Ingo Weinhold
30f0d45ff7 Remove unused Haiku64Image 2013-08-01 08:54:05 +02:00
Rene Gollent
e52af6a9e1 Add LibLayout and BePDF x86-64 packages.
Thanks to Chris Roberts for contributing the former.
2013-07-28 22:09:20 -04:00
Rene Gollent
293d5b1ede Add 64-bit package for CMake. 2013-07-28 19:33:18 -04:00
Rene Gollent
e7c4ad324e Add 64-bit Pe package. 2013-07-28 13:19:03 -04:00
Rene Gollent
5eb4aaba42 Add 64-bit Vision package. 2013-07-28 11:28:15 -04:00
Alex Smith
b8130cf32d Removed Haiku64Image, it's not used any more. 2013-07-27 16:40:10 +01:00
Ingo Weinhold
c0e8cc1a13 configure: prepare for hybrid support
The goal is to do hybrid builds in a single jam (instead of calling a
sub-jam to build parts with the secondary tool chain). This changeset
adds support to configure to prepare multiple tool chains.

configure:
* Merge option --build-cross-tools-gcc4 into --build-cross-tools. The
  option does now always require a packaging architecture parameter,
  i.e. x86_gcc2 for the legacy tool chain.
* Multiple occurrences of the --build-cross-tools and
  --cross-tools-prefix options are allowed. The first one specifies the
  primary tool chain, the subsequent ones the secondary tool chains.
* All architecture dependent jam variables are now suffixed with the
  name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS
  contains the packaging architectures for the prepared tool chains. The
  first element is for the primary tool chain.
* No longer generate a separate libgccObjects file. Just put the
  respective variable into BuildConfig as well.

build_cross_tools[_gcc4]:
* Replace the <haiku output dir> parameter by a <install dir>
  parameter. This allows to create different cross-tools directories.
  They are simply suffixed by the packaging architecture.

Jamrules:
* For the moment map the variables for the primary tool chain to the
  respective suffix-less variables, so that everything still works as
  before.

The next step is to actually support the secondary tool chains in the
jam build system. This will require quite a bit more butchering, though.
2013-07-25 23:52:49 +02:00
Oliver Tappe
5bb173cf50 Add STXT-translator to the bootstrap image
* without this, StyledEdit wouldn't work
2013-07-24 21:24:07 +02:00
Ingo Weinhold
48b1ed4242 Add all bootstrap packages in DefaultBuildProfiles
* Don't handle the bootstrap case in the main Jamfile. Add all bootstrap
  packages to the image in the profile definition. That's less
  confusing, hopefully.
* Add the missing bootstrap packages (ncurses*, libtool_libltdl). The
  would normally be added in build_haiku_image when the package
  dependencies are resolved, but we don't do that for the bootstrap
  image, since we intentionally leave some dependencies out (e.g. perl)
  because they can be built.
2013-07-23 22:44:32 +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
7b2174a27d BootstrapPackageRepository: serialize package creation
Since haikuporter uses a common directory for building the ports, we
can't build them concurrently. This makes jamming with multiple jobs
safe again.
2013-07-21 19:39:40 +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
Ingo Weinhold
33f23ea80f Remove more stuff from the Haiku bootstrap packages/image
Namely GL/Mesa and libtiff.
2013-07-21 03:34:35 +02:00
Ingo Weinhold
b9eec5192d Include DefaultBuildProfiles earlier
DefaultBuildProfiles is now included earlier (right after BuildSetup).
This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used
for the repository selection. The actual build profile definitions,
which cannot be done that early, live in the rule
DefineDefaultBuildProfiles, which is invoked where the file was
previously included.
2013-07-21 03:20:26 +02:00
Ingo Weinhold
d1fe5b98d9 BuildFeature: get rid of hard-coded package versions
... using the new placeholder feature of ExtractBuildFeatureArchives.
2013-07-21 03:13:58 +02:00
Ingo Weinhold
67e84002a1 rule ExtractBuildFeatureArchives: implement placeholders
Add support for placeholders in the attribute values. The values of the
currently supported placeholders depend on the package file name
(package version, actual package and port name, etc.).
2013-07-21 03:12:45 +02:00
Ingo Weinhold
fc8967f1a6 Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure
... instead of in BuildSetup.
2013-07-20 01:01:21 +02:00
Humdinger
8f79f5f3b8 Rebuild Paladin package.
Paladin relied on liblocale.so that was moved to libbe (I think).
An updated patch will be submitted to haikuporter shortly.
2013-07-19 22:06:33 +02:00
Ingo Weinhold
21b3820e86 Add libbsd to cross devel package 2013-07-19 15:14:07 +02:00
Ingo Weinhold
111204e0d9 build_cross_tools: make the cross compiler more reuse friendly 2013-07-17 01:06:15 +02:00
Ingo Weinhold
ebb857698e Update bootstrap image/package
Should have been part of the recent merge.
2013-07-15 16:34:41 +02:00
Ingo Weinhold
916e7e75a3 Add debug info packages to HaikuPorts repository 2013-07-12 13:28:17 +02:00
Ingo Weinhold
38f07871ce rule AddRepositoryPackages: add debugInfoPackage parameter
It works just like the sourcePackages parameter.
2013-07-12 13:27:56 +02:00
Philippe Saint-Pierre
56ea7a1e19 Rename Tracker add-ons to remove shortcut suffix 2013-07-11 12:38:40 -04:00
Ingo Weinhold
3e58289628 DownloadLocatedFile: fix use with older wget version
The option "--no-use-server-timestamps" is apparently newer than
Haiku's wget.
2013-07-11 14:21:47 +02:00
Ingo Weinhold
f20d944bea Update packages grep, ncurses, sed, tar 2013-07-11 14:21:46 +02:00
Ingo Weinhold
7e78b434f4 Merge remote-tracking branch 'haiku/master' into package-management
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/translators/icns/Jamfile
	src/add-ons/translators/jpeg/Jamfile
2013-07-08 14:01:00 +02:00
Ingo Weinhold
c01380b1b7 Move package info pre-processing to jam build system
Also, pre-process all package infos (not only the generic ones) and
define the macro HAIKU_BOOTSTRAP_BUILD, if building a package for a
bootstrap image.
2013-07-07 15:02:29 +02:00
Ingo Weinhold
ec945b7f0d ReleaseBuildProfiles -> Default*, add bootstrap profiles 2013-07-07 14:21:51 +02:00
Ingo Weinhold
78f4c163d4 Beginnings of support for building a bootstrap Haiku image
Copy:
* packages: Haiku -> HaikuBootstrap
* images: HaikuImage -> HaikuImageBootstrap
... and remove some unncessary content.

Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the
bootstrap files.
2013-07-07 13:45:38 +02:00
Ingo Weinhold
7aa46ed97d Move common image building code to HaikuImageCommon 2013-07-07 13:21:26 +02:00
Ingo Weinhold
db11a1104c Move common image building code to HaikuImageCommon 2013-07-07 12:32:45 +02:00
Ingo Weinhold
7418499c4a Remove more optional package related left-overs 2013-07-07 11:14:28 +02:00
Ingo Weinhold
2bab2851aa Remove OptionLibPackages 2013-07-07 10:49:20 +02:00
Ingo Weinhold
e8c5236a9c Move image definition jamfiles to build/jam/images 2013-07-07 10:44:43 +02:00
Ingo Weinhold
056e9bb620 Add some more packages to the HaikuPorts repository 2013-07-06 18:06:22 +02:00
Ingo Weinhold
014eed80e2 Change repository directory layout
* Under the base URL there are supposed to be the repository files and a
  subdirectory "packages".
* Fix the repository URL related confusion introduced earlier. The URL
in
  the repository info (and thus in the repository file) is supposed to
  be the base URL for the repository. It is not a (potentially)
  different base URL for the package files. Package and repository
  files were supposed to live in the same directory. Now, by requiring
  the package files to live in a subdirectory -- which can also be a
  symlink -- we gain some flexibility.
  The URL in the repository config is usually the same as the in the
  repository info, unless it refers to a mirror site. This allows for
  mirrors to copy the original repository verbatim.
* Remove the PackageURL rule and introduce a DownloadPackage rule
  instead. The URL for a package file cannot be computed in the jam
  parsing phase anymore, as it contains the hash value of the package
  list.
* BRepositoryConfig: Add PackagesURL() for convenience.
2013-07-06 18:06:02 +02:00
Ingo Weinhold
2afaeda8b7 Copy repository config files to the image
... to common/settings/package-repositories. This way the used
repositories are already known to pkgman.
2013-07-06 02:31:31 +02:00
Ingo Weinhold
d72ce06673 Adjust to changed HaikuPorts repository layout
The package kit actually requires the files "repo", "repo.info",
"repo.sha256" to be located under the repository base URL, so the
approach to name the repository file "repo-<hash>" doesn't work.
Now there's a directory "<hash>" which contains the files.

This commit moves the computation of the hash and downloading the
repository file from the build_haiku_image script to the jam build
system. The repo.info is also downloaded and a repository config file
is generated.
2013-07-06 02:29:51 +02:00
Ingo Weinhold
531a3d42bc Add rule ChecksumFileSHA256 2013-07-06 02:19:51 +02:00
Ingo Weinhold
46686fe6c0 Download*File rules: add optional source target
If specified the path to the source target can be used in the URL via
"$source".
2013-07-06 02:19:38 +02:00
Ingo Weinhold
3758560637 BuildSetup: remove obsolete dir variables 2013-07-06 02:10:10 +02:00
Ingo Weinhold
627626afd4 GeneratedRepositoryPackageList: defeat localization
Set LC_ALL=C, so "sort" produces useful results.
2013-07-05 14:28:09 +02:00
Ingo Weinhold
458b56a68c Also install the be_book package in system 2013-07-05 14:09:09 +02:00
Ingo Weinhold
f0273200d4 devel packages for mandatory packages must be in system as well 2013-07-05 14:09:09 +02:00
Ingo Weinhold
1faf74732d Update packages binutils, gcc, add missing bepdf source package 2013-07-05 13:26:12 +02:00
Ingo Weinhold
98c6dfa41e Switch build system from optional package to repositories
* Build libsolv and the dependency solver part of the package kit for
  the build platform.
* Add build tool get_package_dependencies. Given a list of package files
  and a list of repository files it determines the additional packages
  that need to be retrieved from the repositories and prints their URLs.
* Add rules to work with external repositories in the build system
  (build/jam/RepositoryRules):
  - PackageRepository declares an external repository with all its
    packages. The URL of the repository file isn't specified. It is
    computed from a given base URL and the SHA256 hash of the list of
    package files.
  - GeneratedRepositoryPackageList generates a file containing the file
    names of all packages in a repository.
  - IsPackageAvailable returns whether a package is available in any
    repository.
  - PackageURL returns the URL for a package.
* Declare the HaikuPorts repository for x86_gcc2
  (build/jam/repositories/HaikuPorts/x86_gcc2).
* Add rule AddHaikuImagePackages to add a package to the image and rule
  IsHaikuImagePackageAdded to determine whether a package has been
  added.
* OptionalPackages: Remove all entries that just downloaded and
  installed an external package. AddHaikuImagePackages can be used
  instead and is used in the remaining entries. Also move the remaining
  optional package dependency declarations from
  OptionalPackageDependencies here.
* ExtractBuildFeatureArchives: Instead of the URL parameter a package
  name must be specified now. This allows to simplify BuildFeatures
  significantly, since there's no dealing with URLs anymore. "if" out
  the entries that aren't supported yet.
* build_haiku_image: For the packages installed in system and common
  resolve their dependencies and download and install them as well.
2013-07-05 10:51:42 +02:00
Ingo Weinhold
2ebcd86dfe Add configure option --host-only
When specified, the build will be configured for building build host
tools only.
2013-07-03 23:19:00 +02:00
Jérôme Duval
d3b108c53d virtio_scsi: added to the image.
* device_manager: scans busses/scsi for generic drivers.
2013-07-02 22:48:25 +02:00
Ingo Weinhold
ff2e520912 Remove the old "CVS" package rules
... and all their invocations.
2013-06-30 18:59:11 +02:00
Ingo Weinhold
301f4b463a Expander: also read rules from data directories
* ExpanderSettings: Use a settings directory "expander" and rename
  settings file to "settings".
* ExpanderRules: Read expander rules from "rules" files in the settings
  directory, then from files in expander/rules subdirectories of the
  installation location data directories, and finally add the built-in
  rules. This allows packages to provide expander rules (as already
  done by the p7zip package).
* OptionalPackages: Remove AddExpanderRuleToHaikuImage invocations.
* ImageRules: Remove Expander rule file related rules.
2013-06-30 13:29:48 +02:00
Ingo Weinhold
94307089f9 Update packages ffmpeg, openssh, p7zip 2013-06-30 11:49:40 +02:00
Ingo Weinhold
26ea70667a Deskbar: use a virtual directory for the user-configurable menu
* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
  falling back to /system/data/deskbar/menu_entries, when the former
  doesn't exist. The latter always exists and is a virtual directory
  merging the deskbar/menu subdirectories of ~/config/settings/ and
  <any installation location>/data/. So, if a package provides a
  deskbar menu symlink, it is added automatically when the package is
  activated. The user can add own menu items by putting stuff into
  ~/config/settings/deskbar/menu/, only use their own organization by
  symlinking it to menu_entries, or do fun stuff by making menu_entries
  a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
  settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
  hpkgs, no longer create deskbar menu symlinks in the user's settings
  directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
  drop the "Deskbar_" prefix.
2013-06-29 14:58:52 +02:00
Ingo Weinhold
dbd97804ea SetType rule: add optional type parameter
If not specified the executable MIME type is used as before.
2013-06-29 14:58:52 +02:00
Ingo Weinhold
2551c12bec Update wonderbrush package 2013-06-19 05:07:27 +02:00
Ingo Weinhold
b6163fd2ae Update openssh package 2013-06-18 11:57:29 +02:00
Ingo Weinhold
01293f6a5d OptionalPackages: fix syntax errors 2013-06-18 11:40:12 +02:00
Ingo Weinhold
56c3ef1d73 Disable xz-utils optional package for gcc 2 2013-06-18 11:32:23 +02:00
Ingo Weinhold
7f453e3b5f Update packages vision, wpa_supplicant, wqy_microhei, yasm 2013-06-18 11:29:00 +02:00
Ingo Weinhold
e31d588184 Update several packages
* neon
* openssh
* p7zip
* pe
* subversion
* tar
* timgmsoundfont
* wonderbrush
2013-06-18 05:06:54 +02:00
Ingo Weinhold
676cc5aafe Update packages mercurial, mkdepend 2013-06-17 21:22:28 +02:00
Ingo Weinhold
98c399b8c8 Update packages keymapswitcher, libedit, libxml2, libpcre 2013-06-17 21:06:31 +02:00
Ingo Weinhold
0ac19e7d42 Update several packages
* bzip2
* ca_root_certificates
* cdrtools
* cmake
* ctags
* curl
* cvs
* doxygen
* freetype
* git
* groff
* libsolv
* man
* nano
* readline
* sqlite
* python
2013-06-17 19:18:05 +02:00
Ingo Weinhold
8d1a9545a9 Update apr[_util], be_book, bepdf, jam packages 2013-06-16 03:54:50 +02:00
Ingo Weinhold
46792e5997 Update basic development packages 2013-06-15 23:03:59 +02:00
Oliver Tappe
49f8422a0d Remove whole sys-include folder when cross-compiler has been built.
* at least for gcc2, we used to leave the 'os' subfolder in there,
  which may have caused problems when Haiku's headers have changed
  since the last time the compiler was built.
(cherry picked from commit 92bb2fb33e)
2013-06-14 19:31:20 +02:00
Oliver Tappe
de2188e964 Fix #7824: failure to build a cross-compiler on Haiku.
* force creation of a cross-compiler for both gcc2 and gcc4 when
  building on Haiku (by suffixing the build and host machine with
  '_buildhost')
(cherry picked from commit df69e209bb)

Conflicts:
	build/scripts/build_cross_tools_gcc4
2013-06-14 19:30:55 +02:00
Oliver Tappe
92bb2fb33e Remove whole sys-include folder when cross-compiler has been built.
* at least for gcc2, we used to leave the 'os' subfolder in there,
  which may have caused problems when Haiku's headers have changed
  since the last time the compiler was built.
2013-06-14 16:07:06 +02:00
Oliver Tappe
df69e209bb Fix #7824: failure to build a cross-compiler on Haiku.
* force creation of a cross-compiler for both gcc2 and gcc4 when
  building on Haiku (by suffixing the build and host machine with
  '_buildhost')
2013-06-14 16:04:26 +02:00
Ingo Weinhold
12629b106e Update expat package 2013-06-14 00:48:13 +02:00
Ingo Weinhold
a20eb7f497 Update libsolv package
Also make use of new build feature rules.
2013-06-14 00:48:12 +02:00
Ingo Weinhold
1d14716b9f Some renaming of zlib related jam variables 2013-06-14 00:48:12 +02:00
Ingo Weinhold
e4bd005daf Update jpeg package
* Also make use of new build feature rules.
* Since the hacky long_jump_buffer field has been removed from the
  jpeg_error_mgr struct in the new package, the structure is now
  wrapped in the JPEGTranslator code to achieve the same behavior.
2013-06-14 00:48:11 +02:00