GNU bug report logs -
#27434
[PATCH] gnu: Add mkvtoolnix.
Previous Next
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.
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):
[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):
[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):
[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):
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):
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):
[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):
[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):
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.