Haikuporter/haikuports quarterly report

First haikuporter/haikuports quarterly report.

Trying to list up some highlights that have been done in the last three months.
This is my first attempt on writing a report, I’m not that technical in terms of coding, so don’t shoot me yet :wink:

Comments welcome.


First one from December worth mentioning.

Added a ShellScriplet that would validate if there is both a static and shared library with the same name. haikuporter will raise an error if you run in strict mode.

Capture stderr in report, fix system-packages-dir. Previous commit added new SYSTEM_PACKAGES_BRANCH var, but didn’t make the same change to the loop script.

MongoDB reporter, Trying to make the data in haikuporter buildmaster more reasonable to be parsed with a web app.

Add a config file option to disable source packages. Most users will probably want this always enabled (it’s even very
popular to use hacks with bash aliases to do it). So it should be a config option rather than a command line one.
However, some other command line options automatically enabe it, and so it’s hard to completely remove the command line option.
So now we have both. The source package is not built if either the option or the configuration asks to disable it.

updated README: Use code blocks consistently.

use relative paths in cmakeDirArgs.

RemoteBuilderSSH: Add CREATE_SOURCE_PACKAGES to generated configuration. (this fixed the buildmasters from trying to fetch the source packages not being build with the prior commit by pulkomandy (spotted by mmlr)).

ShellScriptlets: Avoid interactivity in checkedUnmount. Also, always fail builds when unmounting fails.
A sidenote from myself here, it should default to Yes, if any other key is pressed things could go wrong?

HaikuPorter: check_call not check_output for cleanupChrootScript. That way, we can see its output.

Make unreferenced patches an error so that the PR lint workflow will go red if this happens.

Respect --quiet flag in repository commands


Doing some highlights here as much has happened in the last 3 months.

Created recipe for KDialog recipe.
Created recipe for DOSBox-x.

Bumped emacs git revision.
Updated git revistion and added stat() workaround patch for emacs.

Cleaned up (wip) recipes that produced both static and shared libraries with the same name.
Created recipe for libtommath.
Created recipe for libtomcrypt.
Modified R so the packages is now a all in one.
Fixing some recipes using cmake builds.
Enabled Texlive packages in the recipe for TeXstudio so users don’t have to worry about missing packages when running TeXstudio.
Fixing some recipes that were build against older boost versions (those are removed or disabled so buildmaster doesn’t pick them when trying to build packages).
Fixed some packages not building for 32bit.
Created recipe for CudaText for 32bit (this work is based on work done by roired).
Bumped version for some packages.
Created recipe for catch2.
Created recipe for tclib.
Created recipe for tklib.
Created recipe for gulrak_filesystem.
Created recipe for sock.
Created recipe for libcpuid.
Fixed HandBrake for 32bit.
Added missing dependencies for setuptools_scm (with pointers from OscarL).
Fixed versioning for some python packages (now OK with the changes to setuptools_scm).
Bumped haikuporter after pulkomandy released a new tag for it.
Created recipe for argp_standalone (for missing function arg_parse in Haiku).

Updated qemu to 6.2.0,
Bumped several package versions.
Fixed build for qputty on 32bit.
Created recipe for tenacity 1.3~beta.
Updated wxqt to
Updated wxgtk to
Migrate tcpdump to gcc11.
Created recipe for qemu version 7.2.0 (with integrated Haiku backend by mmlr)

Fixed recipe for x265.
Fixed detection of cpu cores.
Removed ENABLE_ASSEMBLY=OFF from the x265 recipe, build failed however for 32bit on buildmaster.
Fixed build for x265 for 32bit.

Bumped mac to version 9.20.
Bumped smooth to version 0.9.10.
Bumped boca to version 1.0.7
Bumped freac to version 1.1.7.
Created a patch to fix a crash for smooth in CPUID code.

Fixed static/shared library for util-linux.
Created recipe for wdiff version 1.2.2.
Fixed: lint updated recipes as well, and move script.
Created recipe for pkgdiff version 1.7.2.
Fixed: move haikuporter repo update before Lint job.
Created recipes for tio and it’s dependency inih.

Bumped version for hBlock.

Linked fpc against libiconv. (need to test some things in that area too).

Updated yt-dlp to 2023.03.04.
Fixes launch of Mr Peeps!
Improved summary and description for taresizer.
Added notification when installing Texlive packages.
Created new recipe for ffmpegGUI version 1.1.
Updated ArtPaint to release v2.5.
Updated UploadIt to v1.3.
Updated Clipdinger to v1.21.1.

Bumped libatopic_ops to version 7.8.0

Updated mpfr, libqalculate and qalculate

After a long period that started with the work from jessicah, jmairboeck updated Texlive to a current version that was merged this year. (working on the most recent one, PR created and checked out OK so far).
Updated tcl package.
Crated recipe for dblatex.
Crated recipe for lilypond.
Fixed 32bit build for texinfo.
Created recipes for tntlr_tool.
antlr_runtime and antlr_cpp.
Fixed python_ly commandSuffixes.

Introduced experimental GL dispatch library.
Bumber unicorn to version 2.0.1.

Fixed networking for StreamRadio.
Bumped vulkan to 1.3.238

Update clang12 to default to PIC
Disable updates for qmplay2.
Bumped several versions for packages.
Bumped several packages for current ICU.
Bumped several packages for current libjpeg.
Bumped several packages for newer boost versions.
Fixed several recipes for packages.
Added sysconfig haiku schemes for python3.7, python3.8 and python3.9.
Bumped several packages to move to python3.9.
Created recipe for markdawn-math.
Updated opentoonz and enabled it for 32bit (with patch and new icon).
Fixed several packages to be build on 32bit.
Cleaned up several recipes using cmake builds.
Did a bulk commit to drop python3.7 (and python2.7) for recipes in dev-python.
Fixed build for x265 on 32bit.
Created a workaround for the crash on r1beta4 (for mgba).

Bumped libretro cores.

Fixed CSS mime type for BeBook.

Updated recipe for htop to a Haiku supported version.

Build libiconv with --enable-extra-encodings.
Created recipe for cJSON.
Bumped version for ancient + added library.
Bumped version for ocp (and general update to the recipe).

Updated Haikuwebkit to 1.9.3.
Enabled multiple launch for Love2d.
Updated Doxygen to 1.9.6.
Created recipe for diff-so-fancy.

Updated rust to 1.66.0.
Updated rust to 1.67.0

Fix recipe for ddnet

Created recipe for pycryptodome.
Started cleaning recipes still using python2.7 or python3.7.
Cleaned up some recipes for static/shared libraries.
Bumped several versions for packages.
Fixed links on 32bit.
Created recipe for sc-im.
Created recipe for sc.
Created recipe for efte.
Fixed broken links for gettext_devel.
Fixed sync for both _getuserbase() copies in the python3.7, python3.8, python3.9 and python3.10.
Fixedd be_book so all *.html files have the same mimetype.
Made trackgit depend on libgit2.
Fixed versioning on python recipes.
Cleaned some old not needed recipes.
Created recipe for cppy.

Removed patch from picard (upstreamed)

Created recipe for fuzzylite.
Fix attempted usage of cfsetspeed for serial ports for boost.
Updated vcmi and used a newer boost version.
Did some cleanup on the python recipes.
Enabled python3 for vim.
Fixed packaging for llvm12.
Updated youcompleteme (and moved to python3.9).
Fixed lilypond: require libgs >= 9.
Updated IFF catalog to version 0.4.
Updated Gloox to 1.0.25.
Enabled cpctools and gfx2crtc for all architectures.

Updated libebml to 1.4.4.
Updated libmatroska to 1.7.1.
Created recipe for mkvtoolnix.
Fixed several packages to use boost170.
Enabled gdkpixbuf and gtk for gst_pulgins_good.

Bumped lagrange to 1.14.1.
Bumped Picard to version 2.8.5 (removed patch).
Bumped libdiscid to version 0.6.4.

Added Caligula, a Public Domain Script font.

Enabled introspection to multiple recipes.
Bumped several packages.
Fixed several packages.
Enabled portaudio for LMMS.
Created recipe for Remmina.
Moved MiniBrowser from webkit-gtk to a seperate package.
Enabled vulkan for Qt6.
Switched libvisio to boost1.70.
Enabled portaudio backend for MuseScore.
Created recipe for libsrtp2.
Created recipe for gtksouceview.
Updated HandBrake to version 1.5.1, enabled gtk gui.
Created recipe for OpenJDK version 15.0.1+9.
Created recipe for OpenJDK version 16.0.2+7.

Bumped libass to verrsion 0.17.1, enabled assembly and cleanup.

Bumped fluidlite.
Tweaked DESCRIPTION for ArtPaint.

Created recipe for Wine.
Bumped meson to version 1.0.0.

Bumped fossil to version 2.11.


You guys have been busy!

If I interpret the diluge on the haikuports commits mailing list correctly, much work was done to update all apps to use Python3.9 and 3.10, right? Is that move finished or is more to come?

Thank you all for your hard and important work! Even smallish ports can provide the puzzle pieces to make bigger ports possible that are more interesting to end-users. Kudos!


We’re not done with the Python moves yet :slight_smile:

Most, but no all, of that is tracked over Haikuports’s Issue #8025.

I’d say that we’re getting closer to get rid of Python 3.7, than we are of getting rid of the last Python 2.7 pieces, oof! (still, we’re working on that too, of course).

Also, reminder that the plan is to also start moving away from 3.8 in around 5/6 months time. So if there are still users of that version, please consider moving to a newer one.


At the moment going through the libraries in media-libs (for static libraries), expect some updates there (revbumps that shouldn’t matter), some (like freealut) got wrong libVersions provided in the recipe, those will be fixed and the packages depending on them will be revbumped/fixed where needed.