Steps to make a .hpkg file for my games?

Ok I got three of my games compiled with QT5 and running fine. How do I go about creating the archive to be added to Haiku Depot? And submit them?

Thanks for your help!

5 Likes

https://medium.com/@probonopd/my-sixth-day-with-haiku-under-the-hood-of-resources-icons-and-packages-abec8d0e4ec6

This article might help you?

2 Likes

Great that you got your games compiled and running :+1:

The easiest way (in my opinion) is via haikuports. Haikuports is a project located on GitHub, basically a collection of so-called recipes which contain the build and packaging instructions for software to be built by a tool called haikuporter. You can run haikuporter manually, but there are also build bots that build the recipes on haikuports automatically. The packages are then available to be installed via HaikuDepot (GUI) and pkgman (commandline). A good start would be the haikuports wiki at Home · haikuports/haikuports Wiki · GitHub . It all looks a bit complicated at first but the HaikuPorts community is very helpful. They are here on the forum, and a lot of HaikuPorts related talk happens on the main Haiku IRC channel. There is also a mailing list for HaikuPorts.

The second option would be to package your software locally, either by hand on the commandline (iirc the command is called package, but it`s been a long time since I used it). A gui tool named HPKGCreator is also available by the guys at BeSly (you have to add their repo to install it). After you’ve build your software you can create your own repository or find somebody else to upload your software to theirs.

My personal recommendation would be to go the HaikuPorts way. Hope that helps as a starting point :slight_smile:

5 Likes

Going through haikuports is the easiest way as @BlueSky already mentioned:

  1. setup haikuporter/haikuports GitHub - haikuports/haikuporter: The tool that builds HaikuPorts recipes.
  2. checkout some of the recipes already using Qt5(6) at haikuports: GitHub - haikuports/haikuports: Software ports for the Haiku operating system.
  3. Read up on documentation listed on the wiki mentioned by @BlueSky

I got some additional information (not sure how useful it could be) on my own wiki: Home · Begasus/haikuports Wiki · GitHub

You could also pop in on IRC where someone could guide you, you can find us on OFTC channel #haiku

4 Likes

As others have pointed out, going the haikuporter/recipe route is the most convenient. It’ll get automatically built by the buildbots, and will hit the HaikuPorts repo that’s included by default and gets polled by HaikuDepot.

If you don’t feel like diving into how to create a recipe, open an issue at HaikuPorts with a request for a recipe. Do add all you found out about how you got it to compile and list the required dependencies.

For completeness, there’s an example how to create a HPKG manually with the package command in this guide (see 3.8).

4 Likes

As I understand HaikuPorts repository do not accept binary packages, only build from sources. But some packages use hack with downloading binary archive, extracting and repackaging as build from source process.

1 Like

You could do that with a zip(?) archive, just skip build and use INSTALL to create directories and copy files to where they are supposed to be?

@MarisaG If you don’t want to publish the source to your games you can still use haikuporter/haikuports to create a recipe (or as @humdinger explained earlier) to create your package, doing outside of haikuports will mean you have to host the packages yourself (they don’t end up in the depot then).
Doing so ‘could’ have a downside … if libraries needed for your package get updated it could break your package as you are the only one having control over them.

1 Like

You can use hpkg creator.

The repo url is available at software.besly.de or you can download the package manually.

A tutorial for this program is available at besly.de.

A tool to generate repofiles is also available at the repo, called like repomaker and a tutorial is also at besly.de available.

You can ask us, if something unclear.

We can also put your hpkg to our repo.

Regards lorglas

2 Likes

Haikuports does not accept pre-built hpkg files (there are other repositories for this). It does accept some binary-only packages but we try to limit that, and only if there is a clear license from the original author allowing us to modify the packaging and redistribute the binaries.

Even then, it creates packages that are difficult to maintain and bugfix, and the haikuports team does not want to handle too many of these.

2 Likes

For some packages infrastructure fail to build it from sources such as Wine or WebEngine (Blink) so precompiled binaries repacking is used.

It will be nice to have Haiku software website that accepts binary packages like BeBits or Haikuware.

1 Like

Yes, and for some software (liblayout for example) the original author does not want to release the sources. But in these cases, we have people able to rebuild things from sources offline. In the case of Wine or WebEngine we can have a “from source” recipe or other instructions. In the case of liblayout, some haikuports team members have access to the sources and can patch it if needed.

There is https://www.be.wildman-productions.org to replace BeBits. However it is more meant to store BeOS software and not new Haiku software.

1 Like

Thanks for all the suggestions! I have no issue with my source being released as it is software of mine or is in the GPL so I will take your advice on which method to submit to…

2 Likes

Can you tell us more about your games?

1 Like

Classic super star trek and Go playing clients.

I still have bebytes online

2 Likes

I will look into that. Not having any luck getting a .hpkg entry created… Maybe I could send someone my source for them to look at what I am doing wrong?

1 Like

Didn’t you a while ago, I also replied with corrections to the recipe you were working on?

And the thought again, I should also enable the creation of recipes with my program.

Unfortunately, I lack the experience with it and the time and desire to deal with it. But I hope that my life will calm down more and I can deal with it then.

1 Like

Yes and I appreciated it, but still couldn’t get it working… :frowning:

Would help to know what the issue is that you are dealing with, can’t help out if we don’t know what the problem is. :slight_smile:

2 Likes