Haiku Developer Tools Update (October 2023)

Blog post by nielx on Sat, 2023-10-28 10:35

This article lists some of the recent updates for developer tools that are available in the HaikuPorts repository. Many of these can be installed from HaikuDepot.

This is the first article on this topic, but it may become a regular (quarterly?) series. Let me know in the comments what you find of these notes, and what else you think should be covered.

GCC 13.2.0

The Haiku nightlies are now built with GCC 13.2.0 as the primary compiler (the previous version was GCC 11.3.0) and it is available for software developers. It can also be used on a Haiku R1 beta 4 system. The packages support C, C++, and Fortran.

The updated version includes all improvements in the GCC 12 and GCC 13 builds. Since Haiku’s primary language is C++, it is particularly notable that there is now improved support for C++20 features, as well as some more early support for C++23.

Check out the packages on HaikuDepot:

Binutils 2.41

Binutils is a collection of tools to handle binaries, best known for the ld linker. Recently, binutils was updated to the 2.41 release. The previous version of binutils was 2.31.

Check the binutils package on HaikuDepot: 64 bit | 32 bit

LLVM 17

The LLVM Compiler Infrastructure Project provides libraries that power many modern languages, like Rust. It also ships with a C/C++ compiler called clang and the clangd package is the standard LSP-server for C/C++ used by many IDEs, including Qt Creator (see below). The package was recently updated to the 17.0.1 release.

Check out the packages on HaikuDepot:

Python 3.10, 3.11 & 3.12

The Python interpreter has been updated recently as well, and the standard python interpreter on Haiku is now Python 3.10.

Check out the packages on HaikuDepot:

Qt Creator 11.0.3

This IDE from the makers of Qt supports full-fledged C++ development, including code completion using clangd (part of the LLVM package). See what’s new in version 11. Previous release on Haiku was 6.0.1.

Check out the package on HaikuDepot: 64 bit | 32 bit

CudaText 1.200.0.0

This modern text editor for developers is written in Object Pascal, is fast, and has a lot of features that are available as plugins, including code completion using clangd (part of the LLVM package). See the change log to see what’s new.

Check out the package on HaikuDepot: 64 bit | 32 bit

haiku-format 17

This tool is a fork of the clang-format tool that is part of the LLVM package (see above). It features a code formatting that covers (almost all of) Haiku’s coding style. It is beneficial to run this on your code changes before submitting it to Haiku. It has recently been updated with the latest changes in clang-format, and it includes some further refinements for the coding style. See the announcement on our forums.

Check out the package on HaikuDepot: 64 bit | 32 bit

DotNet GSOC Port

One of the Google Summer of Code programs this year was the porting of dotnet to Haiku. The student continued on previous work and touched a lot of code, including in the Haiku kernel itself. The final blog post is a very interesting read!