Help requested to upload a package to HaikuPorts (Medo video editor)

Hi everyone.

Can someone from the community who is well versed into uploading packages to Haiku Ports contact me off-forum for assistance in uploading a HPKG to HaikuPorts? I would like to upload the Medo video editor to HaikuPorts and I’m unfamiliar with the process. I already have a script which builds the package from vanilla Haiku x64 (and sets all the attributes, icons, deskbar link etc), I just do not know how to upload the final package file.

The latest Haiku package for the Medo Video editor (x86_64) Beta 1.2 can be downloaded below:

Latest changes are due to refactor of Language translations (dynamically loaded instead of embedded into app). Its now very easy to add translations. This is large change, but zero net effect for anyone who uses English version. Also a couple new video transitions (slot machine, split view etc), bug fixes, and other minor things. Still at 1.28 MiB :slight_smile:

Please email me at if you can assist me with uploading to Haiku Ports:

solaja AT gmail DOT com

PS. I can also build a 32 bit version with a single change to the Jamfile. Interestingly, the 64 bit version of Haiku has the freetype2 header files in a different location to x32, hence the C++FLAGS needs to be adjusted for x32 target. Sadly I have trouble accessing a 32 bit Haiku install to experiment with the Jamfile to get this working, so a 32 bit version will have to wait until I get around to it.


Did you check the recipe at haikuports?

With a few updates on the recipe it “should” be able to build the required package and it will be available at the depot

Something wrong with the recipe of the package from your link.
The package Medo-R1.0.0~Beta1-2.x86_64.hpkg still indentifies itself as medo-r1.0.0~beta1-.x86_64.hpkg
Did you forget to update the version and provides sections of . PackageInfo file?

I dont know which member of the community was gracious enough to make the recipe, and I dont know anything about how it works. What I’ve done is built a “create_package” shell script which compiles (release mode) the source, adds icon, sets attributes, creates Deskbar link and copies all required resources/config files to a Package directory, then creates the final package. The recipe needs to do the same as my “create_package” script to work.

Why you does not use my hpkgcreator?

And for the recipe, ask in irc.

Hi lelldorin. I can already create a Hpkg, I need help to add it to HaikuPorts :wink:

My bad, I shouldn’t have used recipe word.
In .PackageInfo file there are two lines to identify the package version.
The first, at beginning of the file, is called obviously Version, the second, at the end of the file is called provides.
The Version line tells the package manager what version it is. If a plug-in or an add-on package is installed, the package manager look for the provides line and can refuse installation if, for example, the plug-in has a requires line saying that it needs Beta1-3 to work.

Actually in your .PackageInfo we have:

version R1.0.0~Beta1-1

provides {Medo = R1.0.0~Beta1-1}

When you create a package Medo-R1.0.0~Beta1-2.x86_64.hpkg, these two lines of the .PackageInfo file needs to be updated to look like :

version R1.0.0~Beta1-2

provides {Medo = R1.0.0~Beta1-2}

Zenja, thanks for your work on Modo.

While it is (probably) possible to upload premade hpkgs to Depot, we don’t do that. If there is a marked working recipe, it will be compiled and built by the build-bots and uploaded to depot automatically.

Now instead of hacking hpkgs, one can spend 2 Min time and update the recipe. In this case it would need need the following:

  • create a tag at (This is what Zenja should do)
  • fork the HaikuPorts repo
  • create a feature branch in the HP repo
  • rename the recipe ( medo-1.2.0~beta.recipe , for example)
  • change the REVISION to 1 (new version always resets this counter)
  • change the SOURCE_URI to point to the new tag
  • try to build the new recipe with haikuporter medo command, it will bail out because the wrong checksum, but it will print the new one, replace the CHECKSUM in the recipe with the new one.
  • try to build again, it will fail to find the SOURCE_DIR, look into the archive and fix the SOURCE_DIR definition accordingly in the recipe
  • If not needed, remove the PATCHES section and the patch alltogether.
  • Change the ARCHITECTURES definition (? marking means untested, ! means broken, no marking means working, so !x86 means broken on x86, ?x86_gcc2 means untested, and x86_64 means working). The build bots will attempt to build the recipe for every arch marked as working.
  • Change the BUILD and INSTALL section if it is needed.
  • Commit the changes, and push it to your fork
  • Create a PR
    As soon as the PR gets merged, the buildbots will start to build it.

I don’t mean you should do this, i mean instead of recommending hacky ways for packaging a software for which we have a recipe, one should invest 2 min to update the recipe.

Now if you could make a tag, i would spend 2 Min to do all of this, because this is my way of doing things.


A GUI recipe editor would be rad.


Yes i thinked about it, but i do not understand this recipe way and using at all. As yab developer i never touch that, because haikuporter does not build yab binaries.

Will check if your list of steps to create a recipe will help me understanding more.

If you have a own reposirory Server without a buildbot behind, my editor i a very good helper. You also can Import and edit packages for fast changes or bug hunting without building anytime all stuff again.

An other point are not open source programs. I does not know how tunetracker does this, but here my editor with project storing are good too.

It doesn’t? I think one of the reason yab is around is that it’s build at the buildbot so everyone can install it, also for the yab-IDE?

You beat me to it @extrowerk :wink:

So i think this could work, at least the generated binary runs on my machine:

@Zenja you didn’t tag a new beta release at github?

Sorry, but i could not stop myself.

1 Like

There is no new tag yet, at least github shows only beta1 tag.

No problem, got other fish to fry :wink:

I just built cyrus imapd on Haiku, because i had too much time and i expect somebody to start an ISP based on Haiku soon a’la BeMail, or how that thing called back then.

“$appsDir/Medo/Languages/” can’t this be moved to “$dataDir/Medo/Languages/” (would require some changes to the source though … Didn’t have time to fully investigate how the build works/installs …