Opened 8 years ago

Closed 7 years ago

#50972 closed update (fixed)

mkvtoolnix Upgrade to 9.0.0?

Reported by: skycrawl@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: mojca (Mojca Miklavec)
Port: mkvtoolnix

Description

Hello, thank you very much for the port. Is it possible to ask to upgrade it to a newer version? 7.9.0 is nearing an age of one year and since a couple of hours ago, with 2 major releases in the meantime it seems. But perhaps it would be better to wait until any potential critical problems get fixed with the next minor release.

Attachments (2)

mkvtoolnix-9.7.1.Portfile-v3 (3.4 KB) - added by johnrosshunt 7 years ago.
MKVToolNix 9.7.1 Portfile
Portfile-mkvtoolnix.diff (3.2 KB) - added by johnrosshunt 7 years ago.
mkvtoolnix Portfile patch

Download all attachments as: .zip

Change History (12)

comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

I had tried updating the port to version 8.x some time ago but got stuck on a few issues... the GUI we have been building with 7.x is deprecated and a new GUI is available with 8; I need to figure out how to build that.

comment:2 Changed 8 years ago by skycrawl@…

I just successfully built and installed v9.0.0 locally, including the new GUI. Although there were some issues, it was rather simple following the github repo guide: https://github.com/mbunkus/mkvtoolnix/tree/release-9.0.0#2-installation

Simply install the listed dependencies with MacPorts, except for:

  1. Compliant compiler is already present in the system.
  2. A Ruby package needs to be installed (e.g. ruby23) and ruby_select to alias ruby23 as ruby. Drake doesn't impose version limitation on Ruby it seems (https://rubygems.org/gems/drake/versions/0.9.2.0.3.1). MKVToolnix comes with drake so no need to install it.
  3. I installed Qt with MacPorts: sudo port install qt5.
  4. libFlac dependency can be satisfied with: sudo port install flac.
  5. libCurl dependency can be satisfied with: sudo port install curl. Maybe also curl-ca-bundle (not sure) - depends on the update site's situation regarding HTTPS. I have it installed too.
  6. No need to build libEBML and libMatroska (MacPorts does that for us).

Also, the later steps complained about missing libiconv for some reason, so:
sudo port install libiconv

And then simply:

  1. Cd to the distro (make sure to have autoconf installed).
  2. Execute: ./autogen.sh
  3. Temporarily link the environment with QT5: PATH=/opt/local/libexec/qt5/bin:$PATH. This was by far the worst part for me to figure out. There are a number of other official options but they didn't work and configure didn't find the QT distro. The PATH alteration is not listed anywhere and I simply tried it to make sure... lucky for me, it worked.
  4. Now on to configure in cooperation with MacPorts: ./configure --with-extra-libs=/opt/local/lib --with-extra-includes=/opt/local/include.
  5. Execute: ./drake.
  6. Execute: ./drake install. This apparently installs to /usr/local/bin/, you'll probably want to change prefix in step 4.

Then, it should only be a matter of making this work as a MacPorts package:

  1. +gui variant (probably). Simply build a Mac app around the /usr/local/bin/mkvtoolnix-gui command (Script Editor), maybe handle icon etc. Then link the app to /Applications.
  2. Requiring and using ruby_select might be a problem for some users that prefer other Ruby distro somewhere on the system.

Hope I didn't forget anything and that it helps :).

Version 0, edited 8 years ago by skycrawl@… (next)

comment:3 Changed 8 years ago by mojca (Mojca Miklavec)

Cc: mojca@… added

Cc Me!

comment:4 Changed 8 years ago by ctreleaven (Craig Treleaven)

Related: #44000

comment:5 Changed 8 years ago by l2dy (Zero King)

Below is extracted from https://mkvtoolnix.download/doc/ChangeLog. I'm not sure whether it affects 7.9.0.

  • Note: most of the bugs fixed on 2016-09-06 and 2016-09-07 for issue #1780 are potentially exploitable. The scenario is arbitrary code execution with specially-crafted files. Updating is highly recommended.
Last edited 7 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

Changed 7 years ago by johnrosshunt

MKVToolNix 9.7.1 Portfile

comment:6 Changed 7 years ago by johnrosshunt

Here's my Portfile. Hopefully, somebody finds it useful.

comment:7 Changed 7 years ago by mf2k (Frank Schima)

Thanks. Per the guidelines, please instead attach a unified diff of the Portfile so we can easily see what changes you are proposing.

Changed 7 years ago by johnrosshunt

Attachment: Portfile-mkvtoolnix.diff added

mkvtoolnix Portfile patch

comment:8 Changed 7 years ago by mf2k (Frank Schima)

Keywords: haspatch added

comment:9 Changed 7 years ago by johnrosshunt

I should probably note pugixml was added as a dependency because the system version was newer than the mkvtoolnix included version. In my limited testing, I didn't notice any difference. Also, po4a & pandoc were added as optional dependencies.

comment:10 Changed 7 years ago by ctreleaven (Craig Treleaven)

Resolution: fixed
Status: assignedclosed

In e4f1cd74b10d62f2d597b58b96e345c51519a317/macports-ports:

mkvtoolnix: update to 13.0.0

Various changes to bring the port up to the current release.
Based in part on a patch from johnrosshunt. Thanks!

Closes: #50972

#44000

Note: See TracTickets for help on using tickets.