Recent linux behaviour (and also copied by BSD) is to preprocess
DTS files with the C preprpocessor to enable sharing constants between
driver implementation and DTS content for more readability.
In order to automate the complete bootstrap build process we need a
mechanism to control the second phase which builds the final packages
on the booted bootstrap Haiku. To avoid additional dependencies
(buildbot slave, ssh, rsh,...) we'd have to cross-build, there's now a
pair of simple python scripts that allows executing commands on a remote
machine. The server script (bootstrap_daemon.py) is added to the
bootstrap image and started automatically during the boot.
Python 2.7.x has *much* better cross-compiling support so that it's now
actually possible to properly cross-compile Python during the bootstrap.
Before, it would just depend a lot on luck and the build host used, now
it even cross-compiles on OS X.
This means it's now possible to build a working bootstrap image on OS X!
:)
More testing shown that it crashes when decoding some videos which
work with 0.10 (mostly h263 and h264). Gcc4 versions does not seem to
have a problem, so we can keep the update at least there (WebKit and
other gcc4 compiled apps will use it).
Note that the changes in the media plugin are not reversed: they are
compatible with both ffmpeg versions.
* After testing the previous fix, I found that Flurry would crash again
because of a stack overflow in Mesa. This new package fixes that other
issue, so Flurry runs again.
* GLife and Gravity are still crashing, however. I'll debug these next.
* Includes updated CLDR with many bugfixes, including updates to tzdata
for upcoming reform of Russian timezones which reintroduces DST
* Also includes some gcc2 fixes which were missing from our previous ICU
port and were identified by running the ICU test suite.
* This is a very useful control, and 3rd-party apps should be able to
use it.
* But, there are planned improvements (making a better model/view
interface) which prevents making it part of the stable API yet.
We get several users on IRC asking for help on how to disable it. It
doesn't even look good, uses a lot of CPU, and we have better (useful)
ways to demonstrate replicants on the desktop. So this demo has no use
anymore.
* We install the headers for many things that are currently in libshared
(BColumnListView, BCalendarView, etc). So it makes sense to also provide
the lib in an "use at your own risk" way. Only the static library is
included, so apps linking against it should continue running on newer
Haiku versions even if the content of the lib changes.
* 3rd party application developers can now make use of those
experimental features without having to copypaste and fork the sources.
* Fontconfig and freetype are now building fine, so let's add correct
packages.
* Our pixman was way too old and cairo didn't want to use it
* itstool is used by gtk_doc, which will come in another commit.
The previous package was broken (would often segfault, prevented
building Haiku cross-tools under x86_64), so update to the latest
version in HaikuPorts.
Signed-off-by: Alex Smith <alex@alex-smith.me.uk>
* I rebuilt all packages that depend directly on python: I hope I
didn't miss anything.
* SVN upgraded to 1.8.10 because I couldn't get 1.6.18 to build. This
required uodating expat, apr and apr_util, and adding serf which
replaces neon for SVN http support.
* Everything seems to be running fine so far.
* With HAIKU_NO_DOWNLOADS=1, the check against existing package files
in the download folder should only be done in the phase that is
adding packages to be put onto the resulting target image, not in the
phase that is adding the bootstrap packages (as here those packages
will be *built*, not downloaded).
Let the platform mmu_map_physical_memory the initrd region, and
reserve it before calling mmu_init. This removes another hardcoded
address, since e.g. U-Boot gets the address from the uImage file.
Many bugfixes, most importantly a bug was fixed which makes network
downloads go much faster (without waiting for you to wave the mouse over
the window).
Now that the fake packages are in place, it is much easier to build the
MMC image for ARM without the need for a bootstrap build.
This image still does not manage to access the tarfs and load the kernel
modules, but it gets to KDL, at least.
Needed for the test_app_server.
The logic here may need some improvements, but I'm not sure how to find
the right library name in all cases. I fixed at least the x86_gcc2 case
here.
- Revert the change to BuildFeature since the latest version of the zlib
sources package indeed uses the correct "sources" directory.
- Make the fake zlib package for ARM use the same revision number as the
current zlib version (4) so it can use the current version of the source
package instead of some older one.
This fixes the non-bootstrap ARM build.
I'm not sure this is the right fix, the zlib package seems to come with a
"source" (not "sources") folder on both ARM and x86_gcc2 but then I
don't understand how this worked for the x86_gcc2 build before.
The packages are the bootstrap ones, modified with the "unbootstrap"
script. Not recommended for real use, but this should make playing with
the ARM build a bit simpler.
The libsolv package somehow got lost in the process when I converted
those. Anyone with a copy of the libsolv_bootstrap packages in their
arm generated folder is welcome to "unbootstrap" and upload it.
* From now on, the gcc-specific system libraries (libgcc, libsupc++ and
libstdc++) are provided by separate packages built along with gcc:
- gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and
libstdc++.so)
- gcc_syslibs_devel contains the static libraries and both c++ and gcc
headers
The shared libraries now make proper use of symbol versioning and there
are version-specific symlinks
* The buildsystem has been adjusted to no longer use the libraries and
headers from the cross-compiler, but use the ones provided by the
above-mentioned packages. The only exception is that the 32-bit libraries
required for the bootloader of the x86_64 architecture are still taken
from the cross-compiler.
* This stage builds the gcc packages to get the shared syslibs, which
only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
provided by the cross-compiler.
* No longer apply somewhat crude mechanism for converting a package name
into a corresponding port name - haikuporter by now supports package
names directly.
This fixes a problem when trying to pass 'gcc_syslibs_devel' to
haikuporter, which only ever saw 'gcc_syslibs'.