Commit Graph

4125 Commits

Author SHA1 Message Date
Augustin Cavalier 8a9e1e0d4a Removal of non-Haiku target platform logic from build system (part 1.)
Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
 * SetSubDirSupportedPlatformsBeOSCompatible
 * HOST_PLATFORM_BEOS_COMPATIBLE
 * TARGET_PLATFORM_BEOS_COMPATIBLE
2017-12-31 16:14:22 -05:00
Augustin Cavalier 699b4bbab9 libroot_build: *Actually* fix attribute usage on Haiku.
To quote jscipione (from 95e8362c52),
"Let me tell you a story about a bug" -- though this tale spans a much
lesser time than that one did.

In 5e19679ea3, I enabled libroot_build for
Haiku, instead of using the system libroot as we had before. There were
a number of bugs introduced along with this that I hadn't fixed (and there
may be more after this), but most of the obvious ones (crashes on x86_64...)
were fixed shortly enough.

Attribute usage, though, was a different story. Unlike most of the POSIX
calls in libroot, which were aliasing system functions no matter what the
platform, the attribute calls were not, as they are specific to Haiku.

Initially I had completely forgot about them, and it wasn't until a few days
later when I noticed that I had an "attributes" directory in my generated
that I realized that the "generic" attribute layer was being used on Haiku.
I attempted a fix for this in 5e19679ea3,
thinking that would clear the problem up, but I didn't actually run a test
beyond seeing that my BuildConfig had been updated properly. In fact,
BuildSetup was hard-wired to not even pass that definition through on
Haiku, and so that commit had in effect caused nothing.

My initial "fix" of just changing BuildSetup then caused a build failure,
as while libroot_build itself compiled, it ran into errors whenever attributes
were used, because in letting the real libroot's attribute calls shine
through, I had bypassed libroot_build's FD emulation/shim layer.

Then I tried and failed at three separate attempts to solve this with code:
 - a version of the "fs_attr_...h" interface for Haiku. This proved possible
   in theory, but in practice I would need to reimplement a lot of attribute
   handling code in it, because all I had access to from there was syscalls.

 - a version of "fs_attr_untyped" that bypassed its reimplementations of
   the "fs*attr" functions for the libroot ones, only using the FD shim layer.
   This proved possibly not even theoretically possible because it would have
   caused preprocessor hell in some of the build headers, and also assumptions
   about how attributes are read were totally different.

 - a completely new "fs_attr_haiku" that was a completely new interface to
   the fs*attr functions. This proved practically impossible because of the
   need to include structures from the system libroot to call out to readdir,
   etc. that attempts to solve would also have caused preprocessor hell.

Then I realized that the Linux xattr emulation library, which I'd used
as a reference when attempting the first solution, was shipped by default
as a system library in all builds of Haiku ... and so I could just tell
fs_attr_untyped to use the Linux xattr handler, and then link against libgnu.

So that is how I arrived at this strange and decidedly unorthodox solution
to a problem of my own creation.
2017-12-29 21:26:00 -05:00
ohnx e6c08856dd bin/compress: Remove.
Per #10267, "Most (ported) third-party software should be removed
from the Haiku source repository."

Since HaikuPorts already has the ncompress package, this file
should no longer exist.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Original patch missed modifying the "minimum" definition and the
src/bin/Jamfile, so I took care of that.
2017-12-29 15:33:56 -05:00
Rene Gollent 16b34a8fc7 Fix FreeBSD build.
- Recent changes to the build system appear to make the assumption
  that the GNU regex APIs are universally available. This isn't the
  case on FreeBSD, which requires libgnuregex to provide that
  functionality. This broke the host keymap build.
2017-12-27 23:06:56 -05:00
Fredrik Holmqvist 73159ec931 Make UEFI boot-platform build again
gnuefi package was replaced by gnu_efi_kernel, but build
was not updated. This is guesswork, as I couldn't track down what changed.
It finds headers, headers_arch and lib and works so should be ok.
2017-12-27 18:51:30 +01:00
Augustin Cavalier ca087b0532 build/libgnuregex: Remove.
It was needed on macOS for a time when BUrl used regexes for parsing.
Now it does not, and so we can remove libshared's RegExp from build
libshared, and thus also libgnuregex.
2017-12-24 12:27:47 -05:00
Adrien Destugues ab75d3b5a8 Do not advertise libavdevice in ffmpeg build feature.
It is not actually used by our ffmpeg plugin.
2017-12-24 16:39:23 +01:00
Kacper Kasper 9a3c78bc4d Enable Werror for EXRTranslator. 2017-12-17 17:57:54 +01:00
Kacper Kasper b875d6d43b Outsource OpenEXR.
* Style fixes in EXRTranslator.
2017-12-17 17:57:53 +01:00
Augustin Cavalier 19b9099b98 HaikuPorts: Bump versions of EXR libraries, again. 2017-12-17 11:13:43 -05:00
Alexander von Gluck IV 11790e14ef kernel/drivers: Kill Beceem WiMAX driver. RIP
I wrote this back in 2010 as my first driver project.

Reasons to remove it:
  * The license is GPL
  * Current WiMAX hardware is generally WIFI based.
  * It controlled the hardware, but never worked
    for network access since we need SSL certs and stuff
    which vendors weren't too open with.
  * WiMAX kind of died (at least in the US)

I left the wwan directory, it would be a nice spot
for CDMA / GSM dongle drivers.
2017-12-17 09:18:15 -06:00
Augustin Cavalier 6fc4a39b06 build/HaikuPorts: Add OpenEXR so it can be outsourced. 2017-12-16 12:51:18 -05:00
Augustin Cavalier 5e19679ea3 build: Use libroot_build on Haiku.
Previously we just used the system libroot, which of course meant
that when libroot's ABI changed, the build broke. Now we use the full
libroot_build that we do on non-Haiku platforms. The logic for "BeOS-compatible
but not Haiku" does not really apply anymore, so it has been gutted where
appropriate (and libhaikucompat has been decoupled from the build.)

The only caveat here is the change to Errors.h -- we really should be using
the system's one where I included the one from the tree, but for whatever
reason, GCC2 refused to handle the #include_next properly.

Fixes the build breakage of Haiku-on-Haiku by my prior commits (sorry).
2017-12-13 19:47:39 -05:00
Augustin Cavalier 416460cf4a HaikuPorts: Update build packages set (again).
Previous libwebp package pulled in some dependencies we didn't want.
2017-12-10 15:44:48 -05:00
Augustin Cavalier 2934d7f856 HaikuPorts: Update build packages set. 2017-12-10 14:28:26 -05:00
Augustin Cavalier 825700d34a configure: Rewrite implementation of --update.
Previously --update was kind of a hack, as it just dumped all
the variables from BuildConfig back into ./configure and attempted
to rerun from there.

Instead, now we store all of the variables and environs configure
was invoked with in the top of BuildConfig and re-call it using them.
This is much more robust, as configure will actually recompute
all of the values from the BuildConfig.

As a side effect, if configure was originally invoked to build crosstools,
it would have done so again, so instead add a check to see if they
exist, and skip them if they do. It's easy enough to delete the
directory if you want to force a crosstools rebuild.

Briefly discussed with mmlr on IRC.
2017-12-04 20:14:18 -05:00
Michael Lotz a88944c86e bootstrap: Add missing noto package to cross repos. 2017-12-04 19:52:04 +01:00
Michael Lotz 1484b2336a bootstrap: Update cross packages for make, bash, icu. 2017-12-04 19:52:04 +01:00
Michael Lotz 22271bfdc2 bootstrap: Strip build down by removing unneeded packages.
Don't include makefile_engine, userguide, welcome, netfs and userland_fs
in the build for bootstrap.
2017-12-04 19:52:04 +01:00
Augustin Cavalier e33d3563dc RepositoryRules: Restore mistakenly deleted local variable. 2017-12-02 18:48:21 -05:00
Augustin Cavalier 8dcb910a20 RepositoryRules: Do not use the downloaded repo.info.
Instead build the one in-tree from src/data/package_infos/. Fixes the
"HaikuPorts repos have wrong URL" problem that has occured since the
switch to buildmaster repos.
2017-12-02 18:36:26 -05:00
Augustin Cavalier a992fe6af8 RepositoryRules: RepositoryConfig does not need/use URL now. 2017-12-02 18:29:13 -05:00
Alexander Coers 5797d59f94 ATA: Support for Highpoint HPT36x/37x PCI controller
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #13819. Some style fixes by me.
2017-12-02 11:45:57 -05:00
Augustin Cavalier 97599bfc05 build: Fix release build profile. 2017-12-01 22:28:43 +01:00
Augustin Cavalier 1f6fe0559b build: Copy and use Clang's vector intrinsics headers.
When compiling with GCC, these headers get pulled in from the
gcc_syslibs_devel package, but we cannot do something similar
for Clang as Clang adds/removes internal builtins used by
the headers nearly every version. So instead we just copy
all the intrinsics headers from current Clang into generated,
and make sure this directory is included before any others.
2017-12-01 21:16:13 -05:00
Augustin Cavalier 6570684235 configure: Further fixes to Clang support.
* Actually locate the clang executable, and allow user overrides
 * Properly preserve arguments in get_build_tool_path
 * Fix get_build_tool_path for commands with dashes (e.g. "clang-5.0")
2017-12-01 14:23:57 -05:00
Alexander von Gluck IV 2028f6e7fa repo/arm: Correct repo url 2017-11-28 18:33:28 -06:00
Alexander von Gluck IV 5ec3b742e9 repo/arm: One more commit for good luck
* Update repository file to hardlink_packages modified one.
* Add some basic process overview to directory.
* We don't normally document in paths, but this stuff is complex.
* Documentation improvements welcome.
2017-11-28 18:20:31 -06:00
Alexander von Gluck IV 2694b5d602 repo/arm: Drop non-required missing any arch packages 2017-11-28 17:46:24 -06:00
Alexander von Gluck IV a0c92d9e9e repo/arm: Update url to new location 2017-11-28 17:13:38 -06:00
Augustin Cavalier 08965a6568 build: Remove now-defunct jam commands. 2017-11-25 21:15:10 +01:00
Augustin Cavalier 5f8613a22c build: Cleanup and fixes following previous commits.
* Hashing semantics for the new build repositories are different than
   the old ones, so update those (if the x86 build was not broken before
   it is now...)
 * OptionalPackages has been updated slightly (removed libtool and git_cvs
   from the default images, as they are rarely used nowadays and would pull
   in a bunch of dependencies we don't really care for either)
 * Removed lib:libqrencode from Haiku package requires (qrencode_kdl is a
   static library, the userland libqrencode is not used anywhere in the tree,
   as far as I can tell)
 * Fix build of JPEG2000 translator after update
 * Decouple fluidsynth build machinery and remove from image now that it
   is no longer used
 * Update repository URL in Repositories preflet
2017-11-25 21:15:10 +01:00
Augustin Cavalier 36f675968e HaikuPorts: Update to point to the buildmaster repositories.
x86 is unaffected, as already mentioned. This breaks the build,
but since this diff was large, I wanted to have the functionality
changes be clear, so they are in the next commit.
2017-11-25 21:15:10 +01:00
Augustin Cavalier 174f207416 repositories/HaikuPorts: Strip the x86_gcc2 and x86_64 repos down to build deps only.
The packages that remain are only the ones used somewhere in Jam
(including ones off by default, e.g. Wonderbrush, Live555.)

The x86 repo is untouched as it is being phased out and has no buildmaster-
generated equivalent.
2017-11-25 21:15:09 +01:00
Augustin Cavalier a9916f9b1a build/jam/BuildFeatureRules: Make EnableBuildFeatures actually work.
It was trying to use $(feature:U) outside of the loop where it is
actually set. Thanks to PulkoMandy for spotting the problem.

(How did this not break tons of stuff?)
2017-11-25 21:15:08 +01:00
Jérôme Duval 331f527e44 Update zstd packages for x86. 2017-11-25 09:21:08 +01:00
Jérôme Duval 6ac3a280f4 Add ZstdCompressionAlgorithm.
* kernel lib is decompress only (like zlib).
* expand compression_test for zstd.
2017-11-24 21:35:49 +01:00
Humdinger 34a95923cd Added dvda_author package (gcc2h) 2017-11-16 19:50:34 +01:00
Jérôme Duval 5623698f55 Update haikuwebkit packages for x86_64. 2017-11-03 20:56:54 +01:00
Humdinger af463b82f8 Removed virtualbox_guest_additions from 64bit repo
Apparently, they compile, but don't work on 64bits.
2017-11-03 16:29:57 +01:00
Humdinger 73edde126a Update PDFTranslator package
Needed a rebuild after the BControlLook changes.
Works on x86_64 too.
2017-11-02 08:07:36 +01:00
Humdinger 8357640d63 Add recently outsourced "bc" package for gcc2 2017-11-01 09:06:04 +01:00
Augustin Cavalier 055c4e1406 OptionalPackages: Remove unused cruft. 2017-10-29 13:22:34 +01:00
John Scipione a6c6dd77f3 Add Activity Monitor to regular image
... now that it has been removed from minimum it must be added
to regular image to keep it.
2017-10-23 10:49:48 -07:00
John Scipione aa4d1b078a Remove libmedia.so and Activity Monitor from minimum
as per Jérôme's request.

Revert "Add libmedia.so to the minimum image"

This reverts commit 8eda6db9a8.
2017-10-23 10:13:24 -07:00
Humdinger 89638ad3e0 Bump yab, yab_ide packages
needed a rebuild. Something went wrong with my last uploaded
build still hitting the BControlLook ABI change...
2017-10-23 18:34:16 +02:00
Jérôme Duval 30d4a921e7 Update mesa and mpv packages for x86_64. 2017-10-23 10:32:45 +02:00
Humdinger ee78540238 Update yab packages for gcc2 2017-10-22 19:46:23 +02:00
Humdinger 70ba43b303 More updated packages for gcc2
BePDF now available for gcc2.
Removed bepdf_x86.
2017-10-22 11:14:22 +02:00
Humdinger 5ed3f8854c Updated libpng16 for gcc2 2017-10-22 11:08:08 +02:00
Humdinger c64bdb8b14 More updated packages for gcc2 2017-10-22 10:53:08 +02:00
Humdinger ea64fb48ea More updated packages for gcc2 2017-10-22 10:50:30 +02:00
Humdinger 592cb848ec More updated packages for gcc2 2017-10-22 10:46:29 +02:00
Humdinger 45f144d6d2 Updated packages for gcc2 2017-10-22 10:29:01 +02:00
Humdinger dcdcd588c1 Updated libpcre and libpcre2
the first needed by Pe.
2017-10-22 08:35:22 +02:00
Humdinger 7e7c1e6bd4 Updated packages for gcc2
* Pe
* Vision
2017-10-22 08:21:05 +02:00
John Scipione 8eda6db9a8 Add libmedia.so to the minimum image
libmedia.so was used by at least 2 apps included in the minimum image,
Activity Monitor and Deskcalc which subsequently failed to load on minimum.

Deskcalc wasn't actually using libmedia.so so I managed to get it to link and
run on minimum, however, Activity Monitor is using libmedia.so so needed it
to be present.

To fix this I added libmedia.so to the minimum image, I hope this does not blow
its size budget. (adds 1.0MB)
2017-10-21 16:47:57 -07:00
Jérôme Duval 1ef54b24ec Update libpng_x86 and libxslt_86 packages for x86_gcc2. 2017-10-21 10:02:20 +02:00
Alexander von Gluck IV 7e2d856556 dts: Rename bbb to boneblack to match u-boot 2017-10-20 13:12:14 -05:00
Jérôme Duval 6417d92620 Update/add now fixed packages for x86_64. 2017-10-19 17:16:18 +02:00
Jérôme Duval 0c57e260d7 Rebuild x86_64 packages. 2017-10-10 22:45:32 +02:00
Adrien Destugues c80ec6a9fe Rebuilt HaikuWebKit to fix ABI breakage.
WebPositive should work again.
2017-10-09 07:23:11 +02:00
Jérôme Duval 98b3149ca1 bc: use the outsourced build.
* remove in-tree bc.
2017-10-08 13:28:38 +02:00
Jérôme Duval 1f424b6ac8 Mass update for x86_64. 2017-10-07 17:07:21 +02:00
Jérôme Duval c1e80b79c1 Set the image size for debug nightlies to 850MB. 2017-10-02 21:37:02 +02:00
Jessica Hamilton 916d4f5d75 rust (x86_64): updated with working cargo.
* Note that this is a cross-compiled version from git
  master, so may run into bugs.

ref: https://github.com/haikuports/haikuports/89c999e9e
2017-09-22 03:35:47 +00:00
Jérôme Duval 9b80d1767a Set the image size for the debug minimum profile to 450MB. 2017-09-11 18:12:53 +02:00
Jessica Hamilton 6cc6f04747 build_cross_tools_gcc4: bring in sync with native compiler.
* Previously, the cross-compiler would generate code that doesn't
  run on Haiku, particularly where TLS is concerned. It also ended
  up with a c++config.h header incompatible with the version in
  the native compiler.
* Now possible to correctly cross-compile rust for Haiku.
2017-09-05 21:41:39 +00:00
Jessica Hamilton fe434a740e rust (x86_64): new package, development snapshot.
* Note that this is a cross-compiled version from git
  master, so may run into bugs.

ref: https://github.com/haikuports/haikuports/b2214fb42
2017-09-05 21:23:19 +00:00
Jessica Hamilton e8caf2e794 llvm (x86_64): update to package with threading enabled.
ref: https://github.com/haikuports/haikuports/commit/c539ff63
2017-09-05 15:49:40 +00:00
Humdinger 274c11610b Add Filer v1.2.0 and StreamRadio 2017-09-02 19:23:37 +02:00
Augustin Cavalier a222e4d0cc virtio_net: Add to image.
Stress-tested in VirtualBox. No major performance or usability problems;
even when I had tracing enabled, it was transferring data at ~1.1MB/s.
2017-08-31 17:37:50 -04:00
Humdinger 7a8f174967 Updated FilWip package
...includes crash fix for 64bit when launching preferences.
2017-08-31 17:29:10 +02:00
Adrien Destugues 8fe6df22f8 update php version to remove ICU55 dependency. 2017-08-29 19:26:39 +02:00
Adrien Destugues e9300454b6 Update vlink to latest version. 2017-08-27 20:34:01 +02:00
Adrien Destugues a7c71e2acb Add HxC Floppy disk image conversion tool. 2017-08-27 11:28:35 +02:00
Adrien Destugues f04a6bd9b9 Update vasm version. 2017-08-26 21:17:05 +02:00
Adrien Destugues dd64582866 HaikuwebKit 1.6.2. 2017-08-19 11:20:32 +02:00
Humdinger ec90bfd866 Re-built Album package
Needed a rebuild due to changes in the locale kit (NumberFormat).
2017-08-14 08:57:04 +02:00
Jérôme Duval ed8aae4664 Update haikuwebkit package for x86_64. 2017-08-07 22:50:18 +02:00
Jérôme Duval e272017e2f Update binutils package for x86. 2017-08-06 16:29:10 +02:00
Jérôme Duval 03820c114a Update binutils_x86 and binutils for x86_gcc2 and x86_64.
* starting with 2.27, binutils defaults to initfini-array instead of init and fini,
this leads to problems in Haiku, just disable for the time being.
2017-08-06 14:12:28 +02:00
Humdinger 337e3285ab Update CatKeysEditor package for gcc2h
Among other fixes and more translations, there's now an "Import"
feature to merge in another catkeys file.
Handy when the en.catkeys changed and you want to import the translated
catkeys file for the previous version, which already contains the
translations for the strings that haven't changed.
Hmm... hope what I wrote there is decipherable...
2017-08-03 14:49:43 +02:00
Humdinger 96251548d1 Update gcc2.95 package to version 2017_07_20-1
Needed to build Haiku after Ingo's bump of the gcc2 version:
http://cgit.haiku-os.org/buildtools/commit/?id=aa5e6148654241454155fd352641bf4b97d53750
2017-08-01 21:05:23 +02:00
Jérôme Duval 4b530fca37 Update pdfwriter and sip_python packages for x86_64. 2017-07-31 20:28:12 +02:00
Augustin Cavalier ff0184bed0 Remove GPL-add-ons build machinery.
No longer used by anything (it appears some old kernel drivers that
are not included in the build might use it, but I don't know why
they need it -- we already ship GPL'd code [libntfs] for the kernel
in the default build unconditionally.)

Briefly discussed with js a few weeks back.
2017-07-30 14:13:42 -04:00
Augustin Cavalier dd4eae252e ac3_decoder: Remove from tree.
Not included in the build (locked behind a SubIncludeGPL);
now lives at HaikuArchives.
2017-07-30 14:06:05 -04:00
Augustin Cavalier 283b84cd62 xvid_decoder: Delete from tree.
Not included in the build (locked behind a SubIncludeGPL & commented out);
now lives at HaikuArchives.
2017-07-30 14:01:05 -04:00
Adrien Destugues 1b707a6822 fix libdsk provides
forgot to change the library version when updating the package.
2017-07-30 10:00:43 +02:00
Adrien Destugues 0af198bcf8 HaikuWebKit 1.6.1. 2017-07-30 08:44:15 +02:00
Alexander von Gluck IV f806447f52 aarch64: Add aarch64 build host support
* Maybe it will be a target someday.
* 64-bit ARMv8 for those not in the know.
2017-07-27 18:45:54 -05:00
Humdinger f9e5116412 Updating jam package 2017-07-18 20:50:29 +02:00
Humdinger c5395d791e Added Filwip package for 64bit 2017-07-18 18:03:21 +02:00
Jérôme Duval 8e7468544b Update sane_backends packages for x86_64.
* missed during rebuild.
2017-07-17 21:04:43 +02:00
Jérôme Duval 0c7d258bb3 Update Haikuwebkit, pyqt, openshot and qt5 packages for x86_64. 2017-07-15 09:11:37 +02:00
Jérôme Duval 8375828a9f Add pdfwriter package to the release profile.
noto_cjk_jp doesn't exist, replace with noto_sans_cjk_jp.
2017-07-12 18:54:45 +02:00
Humdinger efef87486c Add pdflib and PDFWriter packages for gcc2 2017-07-12 17:52:56 +02:00
Murai Takashi 16c53b7527 kernel: disable an optimization on GCC6...
as a workaround for crashs.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-07-12 17:40:38 +02:00
Humdinger d86b44dbf3 Added faac_x86 and cdrtools_x86 packages
Part of mplayer_x86 dependencies.
2017-07-11 19:07:40 +02:00
Jérôme Duval 7e6a11ac5d Add pdflib and pdfwriter packages for x86_64. 2017-07-11 16:54:06 +02:00