waddlesplash edited this page Sep 25, 2018 · 37 revisions

Welcome to HaikuPorts!

HaikuPorts is a centralized collection of software ported to the Haiku platform. Haiku has many API advantages over BeOS and Zeta, including but not limited to better POSIX compatibility. The main goal of this site is to facilitate cooperation towards porting efforts.

HaikuPorter

The HaikuPorter tool is provided to ease the fetching, patching and building of source code. It can be compared to a slim version of Gentoo Portage. Each port contains the Haiku-specific patches to the original source code. It fetches the original source code, applies the Haiku-specific patches, builds the software, and packages it.

Setting Up HaikuPorts

HaikuPorts installation can be done via the following command sequence:

git clone https://github.com/haikuports/haikuporter.git --depth=50
git clone https://github.com/haikuports/haikuports.git --depth=50
cd haikuporter
cp haikuports-sample.conf /boot/home/config/settings/haikuports.conf # Copy the config file
lpe ~/config/settings/haikuports.conf # and edit it

The instructions on how to edit the haikuports.conf file and how to clone the HaikuPorts tree can be found here.

If you ran the above steps in /boot/home/ (aka. ~), you can then symlink haikuporter so that you can run it from anywhere:

ln -s /boot/home/haikuporter/haikuporter /boot/home/config/non-packaged/bin/

Tips:

Put this into your ~/config/settings/profile to search for a string in all patches/recipes with "inpatch {searchstring}" or "inrecipe {searchstring}" and build a package with hp {packagename} (adjust your /path/to/your/haikuports/; the -j8 is the number of cores used for compiling. You may have to create the file "profile" if it doesn't exist already.):

function inpatches() { grep -rni $1 /path/to/haikuports/*/*/patches/*; }
function inrecipe { find /path/to/haikuports -maxdepth 3 -name "*.recipe" \
| xargs grep -ni --col $1; }


alias hp="haikuporter -S -j8 --get-dependencies --no-source-packages"

You can use this page to check packages which need an update to a newer version:

https://repology.org/metapackages/outdated-in-repo/haikuports_master/q/

Get Involved

Documentation

Haiku has moved to Package Management and HaikuPorter has changed to support that move: HaikuPorterForPM

Beginners should read through "A Gentle Introduction to HaikuPorter" Part 1 and Part 2.

More advanced users should be aware of the Policies HaikuPorts abides by.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.