GNU bug report logs - #26157
[PATCH 1/2] gnu: Add fmt.

Previous Next

Package: guix-patches;

Reported by: Marius Bakke <mbakke <at> fastmail.com>

Date: Sat, 18 Mar 2017 15:55:01 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Leo Famulari <leo <at> famulari.name>
Cc: 26157 <at> debbugs.gnu.org
Subject: Re: bug#26157: [PATCH 2/2] gnu: kodi: Update to 18.0_alpha-0-4912f8f.
Date: Mon, 20 Mar 2017 17:39:05 +0100
[Message part 1 (text/plain, inline)]
Leo Famulari <leo <at> famulari.name> writes:

> On Sat, Mar 18, 2017 at 04:56:22PM +0100, Marius Bakke wrote:
>> * gnu/packages/kodi.scm (libdvdnav/kodi, libdvdread/kodi, libdvdcss/kodi): New
>> variables.
>> (kodi): Update to 18.0_alpha-0-4912f8f.
>> [source]: Download from git. Unbundle more stuff.
>> [build-system]: Change to CMAKE-BUILD-SYSTEM.
>> [arguments]: Add #:configure-flag to disable nonfree components. Rework phases
>> to patch bundled software and bootstrap more libraries.
>> [native-inputs]: Remove CMAKE. Add LIBDVDCSS/KODI, LIBDVDNAV/KODI and
>> LIBDVDREAD/KODI.
>> [inputs]: Remove BOOST, BZIP2, ENCA, GPERF, JASPER, LIBMODPLUG, LIBSAMPLERATE,
>> MESA-UTILS and SDL2. Add FMT, GIFLIB, LCMS and LIBDRM.
>> [license]: Update for remaining software bundles.
>
> Wow!
>
>> +;; Kodi requires special forks of these libraries. In addition,
>> +;; it insists on downloading and building these as part of the
>> +;; standard build process. To make things easier, we bootstrap
>> +;; them here, so we don't have to worry about it later.
>
> Can you add a sentence stating that these forks are contained in the
> Kodi / XBMC repository? For a minute, I wondered how you figured out
> which commit to use.

Yep, thanks for pointing it out.

>
>>  (define-public kodi
>
> [...]
>
>> -         ;; JsonSchemaBuilder is a small tool needed by the build system that
>> -         ;; comes bundled with the source.  The build system tries to build it
>> -         ;; during the bootstrapping phase, which causes serious issues
>> +         ;; The build system tries to bootstrap these components
>> +         ;; during the build phase, which causes serious issues
>
> Nit-pick: these lines could be longer :)
>
>> +         (add-after 'bootstrap-bundled-software 'patch-stuff
>>             (lambda _
>> +             ;; Prevent the build scripts from calling autoreconf in
>> +             ;; the build stage.  Otherwise, it would undo the careful
>> +             ;; bootstrapping that we've worked so hard for.
>> +             (substitute* "cmake/modules/FindLibDvd.cmake"
>> +               ;; Let's also use this opportunity to make the freshly
>> +               ;; unpackaged source directory writable.
>> +               (("autoreconf -vif") "chmod -R u+w ."))
>
> Clever, but perhaps too clever :) I think we should use the Scheme
> (chmod) procedure to do this separately, if there is a point where the
> files are unpacked between build phases.

Unfortunately, this is the only good opportunity to do this. They are
"downloaded", unpacked and bootstrapped from that cmake file, which is
invoked in the 'build' phase, and my attempts to wrangle this in a
separate phase were unsuccessful (hence the top-level bootstrapped
variables). I will make it clearer why we have to do this.

Will test the latest upstream git source and commit these later today
unless there are more comments :)
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 8 years and 67 days ago.

Previous Next


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