GNU bug report logs - #30340
[PATCH 0/6] Adopt NixOS patches for Qt5

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Sat, 3 Feb 2018 19:23:02 UTC

Severity: normal

Tags: patch

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Bug is archived. No further changes may be made.

Full log


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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: Marius Bakke <mbakke <at> fastmail.com>, 30340 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: Re: [bug#30340] [PATCH 1/6] gnu: qtbase: Use the store paths for
 other packages and dynamically loaded libs.
Date: Mon, 12 Feb 2018 16:37:18 +0100
[Message part 1 (text/plain, inline)]
Am 07.02.2018 um 17:16 schrieb Marius Bakke:
> Hartmut Goebel <h.goebel <at> crazy-compilers.com> writes:
>
>> Adobt the NixOS patches as of 2018-01-19:
> I don't see any patches in this series. 

I only *adopted* what NixOs does with patches, not the patches itself. I
will rework this.

>  FWIW I think we deviate enough
> from NixOS at this point that the comments are unnecessary.

Are you referring to patch (1/6)? Or do you mean patches 2, 3, 5 and 6
are unnecessary?

I do not care about the comments, but FMPOV it is important to document
somehow in the code or in the commits that all patches as of 2018-01-19
have been considered. an alternative would be to group these few commits
into a (very short) branch and documenting the fact in the merge-commit.

WDYT?

>> - src/corelib/tools/qtimezoneprivate_tz.cpp: NixOS uses $TZDIR, we use
>>   hardcoded path to tzdata.
> Why hardcode the path?  We set TZDIR as well in (gnu system).

The upstream code (qt.com) uses hard-coded path (/usr/share/zoneinfo/),
so for me it seems to be much more natural to simply change this - and
stay closer to upstream. NixOS seems to require TZDATA since some things
work differently compared to guix. E.g. nixos is deriving library search
paths from $PATH in some other patch. This is something guix does not need.

>> +         (add-after 'unpack 'patch-paths
>> +           ;; Use the absolute paths for dynamically loaded libs, otherwise
>> +           ;; the lib will be searched in the actual executable's RUNPATH,
>> +           ;; which may not include the requested lib.
> Is there any reason we cannot add these libraries to RUNPATH instead?
> The below approach seems somewhat fragile to me.

Rethinking this, this comment is wrong and I'll correct it. QLibrary
(which is used an all these cases) is documented with:

    When loading the library, QLibrary
    <http://doc.qt.io/qt-5/qlibrary.html> searches in all the
    system-specific library locations (e.g. |LD_LIBRARY_PATH| on Unix),
    unless the file name has an absolute path.

But guix does not set LD_LIBRARYPATH (e.g. in "guix environment"), thus
we need to have absolute paths for the libraries.

Does this make sense?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

[Message part 2 (text/html, inline)]

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

Previous Next


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