-
Notifications
You must be signed in to change notification settings - Fork 308
Home
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.
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.
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
In the haikuports.conf file you need to set the PACKAGER variable to your name/email and the TREE_PATH to where you've cloned the haikuports repo. More information on the variables in the haikuports.conf file 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/
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 --no-source-packages --get-dependencies"
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/
- The HaikuPorts MailingList is the community forum.
- Follow us and perhaps join in the porting fun. You'll need a GitHub account.
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.