From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:49116) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hkWXg-0005bu-6I for guix-patches@gnu.org; Mon, 08 Jul 2019 12:31:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hkWXe-0003M4-Ls for guix-patches@gnu.org; Mon, 08 Jul 2019 12:31:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50562) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hkWXe-0003LM-Ew for guix-patches@gnu.org; Mon, 08 Jul 2019 12:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hkWXe-0002hj-9w for guix-patches@gnu.org; Mon, 08 Jul 2019 12:31:02 -0400 Subject: [bug#36535] [PATCH] gnu: gobject-introspection: Update absolute-shlib-path.patch. Resent-Message-ID: From: Marius Bakke In-Reply-To: <87bly4a566.fsf@cbaines.net> References: <20190707104803.23662-1-mail@cbaines.net> <87d0il9deh.fsf@cbaines.net> <875zocr4hl.fsf@devup.no> <87bly4a566.fsf@cbaines.net> Date: Mon, 08 Jul 2019 18:29:56 +0200 Message-ID: <87zhlopjzv.fsf@devup.no> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Christopher Baines Cc: 36535@debbugs.gnu.org --=-=-= Content-Type: text/plain Christopher Baines writes: > Marius Bakke writes: > >> Hi Chris, >> >> Christopher Baines writes: >> >>> Christopher Baines writes: >>> >>>> Incorporate some changes from nixpkgs to the gobject-introspection package >>>> patches. This is motivated by looking at issues with libsoup and lollypop. >>>> This changes means that the share/gir-1.0/Soup-2.4.gir file within libsoup >>>> references libsoup-2.4.so.1 with an absolute filename, whereas previously, the >>>> filename wasn't absolute. >>>> >>>> * gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch: >>>> Incorporate changes from nixpkgs. >>>> --- >>>> ...ct-introspection-absolute-shlib-path.patch | 141 +++++++++++++++++- >>>> 1 file changed, 137 insertions(+), 4 deletions(-) >>>> >>> >>> I've pushed this as [1] to core-updates now, as I wanted to get it in >>> before the freeze. >> >> Thank you for addressing this. IIUC previously lollypop failed to >> retain a reference to libsoup-2.4.so.1, whereas with this patch it does? > > Not quite... I think lollypop was reading the typelib in libsoup, but > the shared library was just referenced by filename, not the absolute > filename, and I think this was causing issues when trying to use libsoup > from lollypop. I see, thanks for explaining. In Guix, we usually resolve these situations by native-search-paths, do you know if gobject-introspection supports looking up the 'share/gir-1.0' directory from an environment variable (similar to how GI_TYPELIB_PATH works today)? However... > > On master: > > grep shared-library /gnu/store/bafaiiblr2vmmf1zvidkw1137ndqnqg2-libsoup-2.66.2/share/gir-1.0/Soup-2.4.gir > shared-library="libsoup-2.4.so.1" > > On core-updates: > > grep shared-library /gnu/store/b1ykh6xj11v7zav4r68v8qflk31cnddm-libsoup-2.66.2/share/gir-1.0/Soup-2.4.gir > shared-library="/gnu/store/b1ykh6xj11v7zav4r68v8qflk31cnddm-libsoup-2.66.2/lib/libsoup-2.4.so.1" ...this is even better, so I am mostly just curious :-) >> A few comments about the patch: >> >>> diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch >>> index d00cc5a420..3c0bb1c6cf 100644 >>> --- a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch >>> +++ b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch >>> @@ -2,10 +2,131 @@ >>> # add the full path. >>> # >>> # This patch was provided by Luca Bruno for >>> -# 'gobject-introspection' 1.40.0 in Nix. >>> ---- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 >>> -+++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 >>> -@@ -110,17 +110,11 @@ >>> +# 'gobject-introspection' 1.40.0 in Nix. >>> +# >>> +# It has since been updated to work with newer versions of >>> +# gobject-introspection. >>> +--- a/giscanner/scannermain.py >>> ++++ b/giscanner/scannermain.py >>> +@@ -95,6 +95,39 @@ def get_windows_option_group(parser): >>> + return group >>> + >>> + >>> ++def _get_default_fallback_libpath(): >>> ++ # Newer multiple-output-optimized stdenv has an environment variable >>> ++ # $outputLib which in turn specifies another variable which then is used as >>> ++ # the destination for the library contents (${!outputLib}/lib). >>> ++ store_path = os.environ.get(os.environ.get("outputLib")) if "outputLib" in os.environ else None >>> ++ if store_path is None: >>> ++ outputs = os.environ.get("outputs", "out").split() >> >> gnu-build-system does not currently export an "outputs" variable. >> Perhaps it should? > > Ah, I didn't realise this part of the patch was as Nix specific as it > is... > > At least for the change I was trying to affect, this seems to be > probably redundant, or somehow doing the job. Maybe this part of the > patch relating to the fallback_libpath should be removed. I'd keep the "$outputs" logic, it sounds like a useful and easy change to do in gnu-build-system, although maybe not for this 'core-updates' round. We can use it in package recipes for fun and profit meanwhile. However I doubt we'll ever use "outputLib", so it would be good to remove that. If you are updating the patch, could you also add a link to the upstream patch, as well as one to this discussion? Thank you! --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl0jb4QACgkQoqBt8qM6 VPqcDAgAzh5OBm920W7x3miCb3EamzZSzWij+OMp0q+3vl0UU5bYaOQeUNlOJiZO REkwR9cVwVobqiUAgBi5YOOsNa5tk6g/brC/1Pr4Z8QBtewmy6BR0hw5q40ywCaw pf2Y4h2JR5rWBbMmoltN5ltJQv4kbbBAGZe0DQUDFNNhDFctTS/A9DXJB72bLPot ag7xy6wYow2xUnYz7SAmfU1g835Mm9VhsaMHrvBL5/+nejHmt6dTarr+pszRqIRu oEFznl+8MoK3z1W6R6GiYLezyR6RkMwOp1+H8gEVwJN1AWgiWgobKAbH4BjcWFxk MFEZ8Mai3Pv7nr/BfxlzKWFOq+U3GQ== =N53A -----END PGP SIGNATURE----- --=-=-=--