Towards an official MakeMKV port (link inside)

Zirias

Aspiring Daemon

Reaction score: 215
Messages: 587

MakeMKV has been on the WantedPorts list for a very long time. I see there's some attempt linked which hasn't seen a commit for 7 years. That one just builds the GUI, which is IMHO the wrong approach, because the GUI can't do anything without the closed source binary.

Starting from my own HOWTO, which I had to update and make it more and more complex, I created my own port. This one doesn't support GUI at all, because I can't get the closed source binary ( makemkvcon) to work correctly in the "guiserver" mode on FreeBSD, which is needed for the GUI. But console-only usage is still better than nothing ...

Now it might be worthwile to improve that port so it could be adopted in the official ports tree? So, I'm looking for review/input here.

Some issues I already think about are:
  • libmakemkv.so must be built for Linux, so makemkvcon can use it, and depends on libavcodec. I'm not aware of any linux-c6 or linux-c7 port providing this, so my current solution is to build fdk-aac and ffmpeg in the "pre-configure" target and install static libraries in a temporary directory, these are later used to build libmakemkv.so. Do you think this is a good approach? An alternative would be to create separate "linux-fdk-aac" and "linux-ffmpeg" ports that install in /compat/linux, but I don't think that is a good idea, as all the files there should come from repackaged centos packages?
  • In general, the linux-c6 / linux-c7 ports do not provide any headers. Right now, I use the system's headers for zlib and expat together with the libs in /compat/linux while for OpenSSL, I let the port download the exact source version matching the Linux library and use the headers from the source tree when building. Any thoughts on this?
  • The port's PREFIX is ${LOCALBASE}, but it still installs binaries and libs in /opt/makemkv. This allows to clearly separate the makemkv libs and also to provide some fake sysfs entries below /opt/makemkv needed for makemkvcon to find the drive (created by a bundled script). Is this a viable approach?
  • makemkvcon always segfaults after doing its work. Should we provide a wrapper that disables core dumping here?
Please share any thoughts and improvements on the port, thank you!

 
OP
OP
Zirias

Zirias

Aspiring Daemon

Reaction score: 215
Messages: 587

Anyone tried it? Did it work for you? Any comment on the "unusual" building process, do you think this might be acceptable for FreeBSD ports?

BTW, for getting the GUI to work as well, I asked on the MakeMKV forums for help with no luck so far. Looks like noone over there is interested in having their software work on FreeBSD :(
 
OP
OP
Zirias

Zirias

Aspiring Daemon

Reaction score: 215
Messages: 587

There are some minor updates to the port, it now also includes a (very incomplete) manpage for makemkvcon.

Without any suggestions what to improve so far, I decided to submit this current state, so we will see what ports committers think of it :) Of course I'm still open to feedback here.
 
OP
OP
Zirias

Zirias

Aspiring Daemon

Reaction score: 215
Messages: 587

Port has been updated to new upstream version 1.14.4 -- still waiting for feedback on inclusion in the official ports tree.
 
Top