GNU bug report logs - #27434
[PATCH] gnu: Add mkvtoolnix.

Previous Next

Package: guix-patches;

Reported by: Gregor Giesen <giesen <at> zaehlwerk.net>

Date: Tue, 20 Jun 2017 21:55:02 UTC

Severity: normal

Tags: patch

Done: Leo Famulari <leo <at> famulari.name>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27434 in the body.
You can then email your comments to 27434 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Tue, 20 Jun 2017 21:55:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Gregor Giesen <giesen <at> zaehlwerk.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 20 Jun 2017 21:55:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gregor Giesen <giesen <at> zaehlwerk.net>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add mkvtoolnix.
Date: Tue, 20 Jun 2017 23:54:33 +0200
[Message part 1 (text/plain, inline)]
Hello everybody,

I have packed mkvtoolnix along with some dependencies.

Best,
Gregor
[0001-gnu-Add-mkvtoolnix.patch (text/plain, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Sun, 25 Jun 2017 13:45:02 GMT) Full text and rfc822 format available.

Message #8 received at 27434 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Gregor Giesen <giesen <at> zaehlwerk.net>
Cc: 27434 <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Sun, 25 Jun 2017 09:44:01 -0400
[Message part 1 (text/plain, inline)]
On Tue, Jun 20, 2017 at 11:54:33PM +0200, Gregor Giesen wrote:
> * gnu/packages/serialization.scm (nlohmann-json-cpp): New variable.
> * gnu/packages/video.scm (mkvtoolnix libmatroska): New variables.
> * gnu/packages/xml.scm (libebml): New variable.

Thank you!

I spent some time splitting this patch into "one patch per package",
which is how we like to do it.

nlohmnann-json-cpp, libebml, and libmatroska are done, in my opinion,
and I'll push them shortly.

> +(define-public mkvtoolnix
> +  (package
> +    (name "mkvtoolnix")
> +    (version "12.0.0")

When I built and ran mkvtoolnix-gui, it told me there was a new version
available (13.0.0). Can we use that version instead?

> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://mkvtoolnix.download/sources/"
> +                           name "-" version ".tar.xz"))

I noticed it includes some files in 'lib/', and at least some of them
appear to be bundled copies of 3rd-party libraries:

$ ls -l mkvtoolnix-12.0.0/lib
total 4
drwxr-xr-x 1 leo leo 116 May 20 13:25 avilib-0.6.10
drwxr-xr-x 1 leo leo  66 May 20 13:25 boost
drwxr-xr-x 1 leo leo 194 May 20 13:25 libebml
drwxr-xr-x 1 leo leo 236 May 20 13:25 libmatroska
drwxr-xr-x 1 leo leo 120 May 20 13:25 librmff
drwxr-xr-x 1 leo leo  70 May 20 13:25 nlohmann-json
drwxr-xr-x 1 leo leo  26 May 20 13:25 pugixml
-rw-r--r-- 1 leo leo 244 May 20 13:25 Rakefile
drwxr-xr-x 1 leo leo  18 May 20 13:25 utf8-cpp

After removing libebml, libmatroska, and nlohmann-json in an "origin
snippet" [0], mkvtoolnix still builds. We don't like to use or
distribute bundled libraries if we can help it. I didn't have time yet
to investigate the other directories in that list.

> +    (native-inputs
> +     `(("docbook-xsl" ,docbook-xsl)
> +       ("gettext" ,gettext-minimal)
> +       ("googletest" ,googletest)
> +       ("libxslt" ,libxslt)
> +       ("nlohmann-json-cpp" ,nlohmann-json-cpp)
> +       ("perl" ,perl)
> +       ("pkg-config" ,pkg-config)
> +       ("po4a" ,po4a)
> +       ("ruby" ,ruby)
> +       ("zsh", zsh)))

Does it need to use Zsh while building? Native-inputs are basically
build-time dependencies, and it's definitely unusual to require Zsh, so
that's why I'm asking. I removed Zsh from this list and the resulting
mkvtoolnix-gui seems to start without any problems.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Sun, 25 Jun 2017 14:01:01 GMT) Full text and rfc822 format available.

Message #11 received at 27434 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Gregor Giesen <giesen <at> zaehlwerk.net>
Cc: 27434 <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Sun, 25 Jun 2017 10:00:25 -0400
[Message part 1 (text/plain, inline)]
On Tue, Jun 20, 2017 at 11:54:33PM +0200, Gregor Giesen wrote:
> +    (description
> +     "JSON library for C++ trying to accomplish “Intuitive syntax”,
> +“Trivial integration”, and “Serious testing”.
> +However, “Memory efficiency” and “Speed” have not been primary goals.")

Most programs like to claim they were created with efficiency and speed
in mind, and I always thought it was funny, as if anyone would claim
otherwise. There's a first time for everything :)

One question about this package:

> +    (description
> +     "libebml is a C++ library to read and write EBML files.
> +EBML (Extensible Binary Meta Language) is a binary pendant to XML.")

What does "binary pendant to XML" mean? I'm not familiar with this
phrase.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Sun, 25 Jun 2017 14:51:01 GMT) Full text and rfc822 format available.

Message #14 received at 27434 <at> debbugs.gnu.org (full text, mbox):

From: Gregor Giesen <giesen <at> zaehlwerk.net>
To: Leo Famulari <leo <at> famulari.name>
Cc: 27434 <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Sun, 25 Jun 2017 16:50:37 +0200
Dear Leo,

thank you for taking your time for this blob of packages. 

On Sun, Jun 25, 2017 at 09:44:01AM -0400, Leo Famulari wrote:
> I spent some time splitting this patch into "one patch per package",
> which is how we like to do it.
Sorry, I wasn't aware of it. Won't happen again.

> nlohmnann-json-cpp, libebml, and libmatroska are done, in my opinion,
> and I'll push them shortly.
Thank you!

> > +(define-public mkvtoolnix
> > +  (package
> > +    (name "mkvtoolnix")
> > +    (version "12.0.0")
> 
> When I built and ran mkvtoolnix-gui, it told me there was a new version
> available (13.0.0). Can we use that version instead?
Yes, in fact, it has been released today.

> I noticed it includes some files in 'lib/', and at least some of them
> appear to be bundled copies of 3rd-party libraries:
> 
> $ ls -l mkvtoolnix-12.0.0/lib
> total 4
> drwxr-xr-x 1 leo leo 116 May 20 13:25 avilib-0.6.10
> drwxr-xr-x 1 leo leo  66 May 20 13:25 boost
> drwxr-xr-x 1 leo leo 194 May 20 13:25 libebml
> drwxr-xr-x 1 leo leo 236 May 20 13:25 libmatroska
> drwxr-xr-x 1 leo leo 120 May 20 13:25 librmff
> drwxr-xr-x 1 leo leo  70 May 20 13:25 nlohmann-json
> drwxr-xr-x 1 leo leo  26 May 20 13:25 pugixml
> -rw-r--r-- 1 leo leo 244 May 20 13:25 Rakefile
> drwxr-xr-x 1 leo leo  18 May 20 13:25 utf8-cpp
> 
> After removing libebml, libmatroska, and nlohmann-json in an "origin
> snippet" [0], mkvtoolnix still builds. We don't like to use or
> distribute bundled libraries if we can help it. I didn't have time yet
> to investigate the other directories in that list.
That is not very clean indeed. I just had had a look at the configure 
output and tried bundling those mentioned. It seems that I missed some.
Let me have another go and try to bundle or disable those dependencies.
E.g. librmff seems to be an ancient library for Real Media files; I
rather want to disable it.

> > +    (native-inputs
> > +     `(("docbook-xsl" ,docbook-xsl)
> > +       ("gettext" ,gettext-minimal)
> > +       ("googletest" ,googletest)
> > +       ("libxslt" ,libxslt)
> > +       ("nlohmann-json-cpp" ,nlohmann-json-cpp)
> > +       ("perl" ,perl)
> > +       ("pkg-config" ,pkg-config)
> > +       ("po4a" ,po4a)
> > +       ("ruby" ,ruby)
> > +       ("zsh", zsh)))
> 
> Does it need to use Zsh while building? Native-inputs are basically
> build-time dependencies, and it's definitely unusual to require Zsh, so
> that's why I'm asking. I removed Zsh from this list and the resulting
> mkvtoolnix-gui seems to start without any problems.
I recall some warning about ‘zsh’, but you are right we do not really
need it.

On Sun, Jun 25, 2017 at 10:00:25AM -0400, Leo Famulari wrote:
> On Tue, Jun 20, 2017 at 11:54:33PM +0200, Gregor Giesen wrote:
> > +    (description
> > +     "JSON library for C++ trying to accomplish “Intuitive syntax”,
> > +“Trivial integration”, and “Serious testing”.
> > +However, “Memory efficiency” and “Speed” have not been primary goals.")
> 
> Most programs like to claim they were created with efficiency and speed
> in mind, and I always thought it was funny, as if anyone would claim
> otherwise. There's a first time for everything :)
Yeah, I was surprised, too. However, the developer seems to be a humble guy...
 
> One question about this package:
> 
> > +    (description
> > +     "libebml is a C++ library to read and write EBML files.
> > +EBML (Extensible Binary Meta Language) is a binary pendant to XML.")
> 
> What does "binary pendant to XML" mean? I'm not familiar with this
> phrase.
I also never heard of it, but I understand that this is a binary language
in which you can store the same data structures like XML is able to. This
is probably a bit smaller and has less overhead.

Best,
Gregor




Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Sun, 25 Jun 2017 15:44:01 GMT) Full text and rfc822 format available.

Message #17 received at 27434 <at> debbugs.gnu.org (full text, mbox):

From: Gregor Giesen <giesen <at> zaehlwerk.net>
To: Leo Famulari <leo <at> famulari.name>
Cc: 27434 <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Sun, 25 Jun 2017 17:43:31 +0200
Dear Leo,

I had another look at those libraries:

On Sun, Jun 25, 2017 at 09:44:01AM -0400, Leo Famulari wrote:
> I noticed it includes some files in 'lib/', and at least some of them
> appear to be bundled copies of 3rd-party libraries:
>
> drwxr-xr-x 1 leo leo 194 May 20 13:25 libebml       -> libebml
> drwxr-xr-x 1 leo leo 236 May 20 13:25 libmatroska   -> libmatroska
> drwxr-xr-x 1 leo leo  70 May 20 13:25 nlohmann-json -> nlohmann-json-cpp
> drwxr-xr-x 1 leo leo  26 May 20 13:25 pugixml       -> pugixml
> drwxr-xr-x 1 leo leo  18 May 20 13:25 utf8-cpp      -> utfcpp
those can be removed, they are already included in ‘inputs’ and the 
configure script favours the system (guix) lib over them.

The remaining three libraries are referenced directly from the source
code. Here are comments from README.md:

> drwxr-xr-x 1 leo leo  66 May 20 13:25 boost
--8<---------------cut here---------------start------------->8---
A class, `utf8_codecvt_facet`, derived from `std::codecvt<wchar_t, char>`,
which can be used to convert utf8 data in files into `wchar_t` strings
in the application.

  * License: Boost Software License - Version 1.0 (see `doc/licenses/Boost-1.0.txt`)
  * URL: http://www.boost.org
--8<---------------cut here----------------end-------------->8---

The other two are some ancient and orphaned libraries for deprecated
video formats, however GPLv2/LGPLv2.1:

> drwxr-xr-x 1 leo leo 116 May 20 13:25 avilib-0.6.10
--8<---------------cut here---------------start------------->8---
Reading and writing avi files.

Copyright (C) 1999 Rainer Johanni <Rainer <at> Johanni.de>, originally part
of the transcode package.

  * License: GNU General Public License v2
  * URL: http://www.transcoding.org/

> drwxr-xr-x 1 leo leo 120 May 20 13:25 librmff
librmff is short for 'RealMedia file format access library'. It aims
at providing the programmer an easy way to read and write RealMedia
files.

  * License: GNU Lesser General Public License v2.1 (see `doc/licenses/LGPL-2.1.txt`)
  * URL: https://www.bunkus.org/videotools/librmff/index.html
--8<---------------cut here----------------end-------------->8---

Is it ok to just include them and adding those two licenses the package?

Best,
Gregor




Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Fri, 30 Jun 2017 16:36:02 GMT) Full text and rfc822 format available.

Message #20 received at 27434 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Gregor Giesen <giesen <at> zaehlwerk.net>
Cc: 27434 <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Fri, 30 Jun 2017 12:35:42 -0400
[Message part 1 (text/plain, inline)]
On Sun, Jun 25, 2017 at 04:50:37PM +0200, Gregor Giesen wrote:
> > Does it need to use Zsh while building? Native-inputs are basically
> > build-time dependencies, and it's definitely unusual to require Zsh, so
> > that's why I'm asking. I removed Zsh from this list and the resulting
> > mkvtoolnix-gui seems to start without any problems.
> I recall some warning about ‘zsh’, but you are right we do not really
> need it.

Those Zsh scripts seem to be used for other platforms (like MacOS and
Windows) or for developing mkvtoolnix. So I think it's okay to omit Zsh
here.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Leo Famulari <leo <at> famulari.name>:
You have taken responsibility. (Fri, 30 Jun 2017 16:46:03 GMT) Full text and rfc822 format available.

Notification sent to Gregor Giesen <giesen <at> zaehlwerk.net>:
bug acknowledged by developer. (Fri, 30 Jun 2017 16:46:03 GMT) Full text and rfc822 format available.

Message #25 received at 27434-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Gregor Giesen <giesen <at> zaehlwerk.net>
Cc: 27434-done <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Fri, 30 Jun 2017 12:45:46 -0400
[Message part 1 (text/plain, inline)]
On Sun, Jun 25, 2017 at 05:43:31PM +0200, Gregor Giesen wrote:
> Dear Leo,
> 
> I had another look at those libraries:
> 
> On Sun, Jun 25, 2017 at 09:44:01AM -0400, Leo Famulari wrote:
> > I noticed it includes some files in 'lib/', and at least some of them
> > appear to be bundled copies of 3rd-party libraries:
> >
> > drwxr-xr-x 1 leo leo 194 May 20 13:25 libebml       -> libebml
> > drwxr-xr-x 1 leo leo 236 May 20 13:25 libmatroska   -> libmatroska
> > drwxr-xr-x 1 leo leo  70 May 20 13:25 nlohmann-json -> nlohmann-json-cpp
> > drwxr-xr-x 1 leo leo  26 May 20 13:25 pugixml       -> pugixml
> > drwxr-xr-x 1 leo leo  18 May 20 13:25 utf8-cpp      -> utfcpp
> those can be removed, they are already included in ‘inputs’ and the 
> configure script favours the system (guix) lib over them.
> 
> The remaining three libraries are referenced directly from the source
> code. Here are comments from README.md:
> 
> > drwxr-xr-x 1 leo leo  66 May 20 13:25 boost
> --8<---------------cut here---------------start------------->8---
> A class, `utf8_codecvt_facet`, derived from `std::codecvt<wchar_t, char>`,
> which can be used to convert utf8 data in files into `wchar_t` strings
> in the application.
> 
>   * License: Boost Software License - Version 1.0 (see `doc/licenses/Boost-1.0.txt`)
>   * URL: http://www.boost.org
> --8<---------------cut here----------------end-------------->8---
> 
> The other two are some ancient and orphaned libraries for deprecated
> video formats, however GPLv2/LGPLv2.1:
> 
> > drwxr-xr-x 1 leo leo 116 May 20 13:25 avilib-0.6.10
> --8<---------------cut here---------------start------------->8---
> Reading and writing avi files.
> 
> Copyright (C) 1999 Rainer Johanni <Rainer <at> Johanni.de>, originally part
> of the transcode package.
> 
>   * License: GNU General Public License v2
>   * URL: http://www.transcoding.org/
> 
> > drwxr-xr-x 1 leo leo 120 May 20 13:25 librmff
> librmff is short for 'RealMedia file format access library'. It aims
> at providing the programmer an easy way to read and write RealMedia
> files.
> 
>   * License: GNU Lesser General Public License v2.1 (see `doc/licenses/LGPL-2.1.txt`)
>   * URL: https://www.bunkus.org/videotools/librmff/index.html
> --8<---------------cut here----------------end-------------->8---
> 
> Is it ok to just include them and adding those two licenses the package?

Thank you very much for investigating, and I'm sorry my response was
rather slow! I just pushed revisions of your patches, based on our
discussion, as 2973ebf504f4d958a8db40b09b210b237060fc92.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#27434; Package guix-patches. (Fri, 30 Jun 2017 17:42:01 GMT) Full text and rfc822 format available.

Message #28 received at 27434-done <at> debbugs.gnu.org (full text, mbox):

From: Gregor Giesen <giesen <at> zaehlwerk.net>
To: Leo Famulari <leo <at> famulari.name>
Cc: 27434-done <at> debbugs.gnu.org
Subject: Re: [bug#27434] [PATCH] gnu: Add mkvtoolnix.
Date: Fri, 30 Jun 2017 19:41:27 +0200
Dear Leo,

On Fri, Jun 30, 2017 at 12:45:46PM -0400, Leo Famulari wrote:
> Thank you very much for investigating, and I'm sorry my response was
> rather slow! I just pushed revisions of your patches, based on our
> discussion, as 2973ebf504f4d958a8db40b09b210b237060fc92.
don't worry, I'm sure you guys have plenty of patches to investigate and
it was not a very important package. Thanks a lot for pushing!

Best,
Gregor





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 29 Jul 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 331 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.