guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCHES] Add Kodi


From: Thompson, David
Subject: Re: [PATCHES] Add Kodi
Date: Wed, 25 Nov 2015 11:50:15 -0500

On Wed, Nov 25, 2015 at 8:38 AM, Ludovic Courtès <address@hidden> wrote:
> David Thompson <address@hidden> skribis:
>
>> This one was a real hairball, but here is a patch set that adds the Kodi
>> media center!  I hope that I've explained all the craziness relatively
>> well in the comments.
>
> Wow, quite an achievement!
>
>> From d708d0c36e202bbad7255c3b8a55ca0afdd18cb3 Mon Sep 17 00:00:00 2001
>> From: David Thompson <address@hidden>
>> Date: Tue, 24 Nov 2015 13:35:44 -0500
>> Subject: [PATCH 1/3] gnu: Add tinyxml.
>>
>> * gnu/packages/xml.scm (tinyxml): New variable.
>> * gnu/packages/patches/tinyxml-use-stl.patch: New file.
>> * gnu-system.am (dist_patch_DATA): Add it.
>
> [...]
>
>> +From a53b6ee4519a7657164610ac14a82c57b1273bf6 Mon Sep 17 00:00:00 2001
>> +From: David Thompson <address@hidden>
>> +Date: Mon, 23 Nov 2015 06:54:36 -0500
>> +Subject: [PATCH] Use STL.
>
> Maybe just say why this is needed.

Sure.  I added an explanation.  Kodi, and presumably others, assume
that TinyXML was built with STL support on.

>> +               ;; Generate and install pkg-config file.
>> +               (mkdir-p pkgconfig)
>> +               (call-with-output-file (string-append pkgconfig 
>> "/tinyxml.pc")
>
> It’s OK to do that, but only if there are users that expect it (usually
> because a major distro has been doing it for some time.)  Maybe just add
> a something like “because Kodi expects it”, or “similar to what Debian
> does”.

Added a note along those lines.

>> From feb1a97e9d3c0e28ee265861bb34c90aa3e06265 Mon Sep 17 00:00:00 2001
>> From: David Thompson <address@hidden>
>> Date: Mon, 16 Nov 2015 22:31:26 -0500
>> Subject: [PATCH 3/3] gnu: Add kodi.
>
> + commit log and copyright header.
>
>> +     '(#:configure-flags '("--with-ffmpeg=shared") ; don't use bundled 
>> ffmpeg
>
> Would it be possible to delete the bundled ffmpeg in a snippet?

Sure, I removed it.  I also added a TODO to delete more bundled things
that are safe to delete in the future.

>> +             (let ((cwd (getcwd)))
>> +               (dynamic-wind
>> +                 (const #t)
>> +                 (lambda ()
>> +                   (chdir "tools/depends/native/JsonSchemaBuilder/src")
>> +                   (zero? (system* "sh" "autogen.sh")))
>> +                 (lambda ()
>> +                   (chdir cwd))))))
>
> Use ‘with-directory-excursion’ instead.

I should have known that this was already implemented.  :)

>> +    (native-inputs
>> +     `(("autoconf" ,autoconf)
>> +       ("automake" ,automake)
>> +       ("cmake" ,cmake)
>> +       ("doxygen" ,doxygen)
>> +       ("gawk" ,gawk)
>> +       ("gettext" ,gnu-gettext)
>
> We could remove autoconf/automake/libtool/gettext if they used ‘make
> dist’, but I guess they don’t.  Bah.
>
> We should start a “make dist” campaign; makedist.org appears to be
> available…  ;-)

I'm on board.  I spent 99% of packaging time trying to get the
bootstrapping process to work.  I don't think any of the devs realize
that they conflate bootstrapping with configuration, or maybe they
know and don't see a problem.

>> +       ("icedtea7" ,icedtea7)
>
> Is it a build-only dependency (it’s in ‘native-inputs’)?  Can it be
> avoided?

Yes, it is a build-only dependency.  Unfortunately, it is mandatory to
build some part of the application.  I added a comment for clarity.

Pushed with the suggested changes.  Thanks!

- Dave



reply via email to

[Prev in Thread] Current Thread [Next in Thread]