Commit graph

65 commits

Author SHA1 Message Date
Jan Tojnar b766ec29a7
gobject-introspection.setupHook: limit XDG_DATA_DIRS
The setup hook was adding share directory to XDG_DATA_DIRS variable whenever
it existed, even when gir-1.0 subdirectory did not.
2019-01-20 04:04:44 +01:00
Will Dietz 21e32e803d gobject-introspection: 1.58.2 -> 1.58.3 2018-12-30 22:18:42 -06:00
Jan Tojnar 5e27842c8c
gobject-introspection: 1.58.1 → 1.58.2 2018-12-12 00:45:00 +01:00
Jan Tojnar a51a99c690
gobject-introspection: rename package
camelCase package name was a huge inconsistency in GNOME package set.
2018-12-02 12:42:29 +01:00
Tor Hedin Brønner 338b3fd11d
gobjectIntrospection: test our own patches
We patch gobject-introspection somewhat heavily, so add some unit tests that
will catch potential errors when we're eg. updating the patches.

There's two tests:

- Basic test for absolute nix store paths (testing absolute_shlib_path.patch)
- Test for macos `@rpath` sanitizing, including
  fallback_libpath (macos-shared-library.patch)
2018-11-30 21:35:30 +01:00
Jan Tojnar fe4b53b8c3
gobjectIntrospection: 1.56.0 → 1.58.1
Upstream now strips absolute paths to their basename on all platforms apart from
Darwin: a41abe1868

To get around this without modifying the basename test we simply pass in
`basename=False` when normally generating gir files.
2018-11-30 21:34:25 +01:00
Matthew Bauer 67b7a57e30
Merge pull request #46310 from hamishmack/gobject-introspection-macos
gobject-introspection: Fix macos shared lib paths
2018-11-21 15:39:38 -06:00
Markus Kowalewski 154e9e11f7
gobject-introspection: add licenses 2018-10-08 23:10:04 +02:00
Jan Tojnar 5cc18c4781
gnome3: remove versionBranch attribute
Standard library now contains stdenv.lib.versions.majorMinor,
which does the same.
2018-10-05 02:17:19 +02:00
Hamish Mackenzie 363f78fb4c gobject-introspection: Fix macos shared lib paths
Uses patch Nirbheek Chauhan's patch from this issue upstream issue:
https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222

Fixes #40599
2018-09-07 22:17:06 +12:00
Jan Malakhovski 7438083a4d tree-wide: disable doCheck and doInstallCheck where it fails (the trivial part) 2018-04-25 04:18:46 +00:00
Matthew Bauer ed2a9cf65f treewide: remove libintl hacks 2018-03-22 16:50:11 -05:00
Jan Tojnar 0973618e4e
gnome3: automated update 2018-03-22 07:46:42 +01:00
Jan Tojnar e468c04383
gobjectIntrospection: fix incorrect GIR shared library paths
When a library path contained the library name it was eagerly matched

    libfwupd.so.2 => /build/fwupd-1.0.5/build/libfwupd/libfwupd.so.2 (0x00007ffff7bbd000)
                                              ^^^^^^^^^^^^^^^^^^^^^^
    libgweather-3.so.15 => /build/libgweather-3.28.0/build/libgweather/libgweather-3.so.15 (0x00007ffff7bae000)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

which lead to a broken shared library path in the generated GIR file.

This patch allows the soname on the left-hand side of the arrow to
be matched to avoid the trap of the right-hand side. A negative
lookahead had to be added to select the store path, since only
the first match is taken into account.

    libglib-2.0.so.0 => /nix/store/dqlc8y4phlg1hmdbwkhqfwhnxcac88d1-glib-2.56.0/lib/libglib-2.0.so.0 (0x00007ffff6400000)

This will not fix non-GNU platforms, where the soname is not printed
first, but we cannot do much without structured ldd output.

Closes: https://github.com/NixOS/nixpkgs/issues/34988
2018-03-22 07:46:00 +01:00
Jan Malakhovski 7079e744d4 Merge branch 'master' into staging
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):

   pkgs/development/libraries/epoxy/default.nix
   pkgs/development/libraries/gtk+/3.x.nix
   pkgs/development/python-modules/asgiref/default.nix
   pkgs/development/python-modules/daphne/default.nix
   pkgs/os-specific/linux/systemd/default.nix
2018-03-10 20:38:13 +00:00
Jan Tojnar 91db9292fa
gobjectIntrospection: add updateScript 2018-03-04 20:05:52 +01:00
Shea Levy c54730dde8
gobjectIntrospection: Enable building without X11 support.
Also disable it when noXlibs in NixOS.
2018-03-01 07:36:36 -05:00
Jan Tojnar e44038bcca
gobjectIntrospection: use absolute path for cairo GIR
Cairo does not provide its own GObject bindinds so they are provided
by gobject-introspection package. Unfortunately, this means that if we
want to use the absolute path, we need gi to depend on cairo, which
increases the closure size from 41M to 56M. We will probably want
to split the typelib into a separate output.

Closes: #34080
2018-01-20 15:58:20 +01:00
Yegor Timoshenko d3e821156e
Merge pull request #31094 from yegortimoshenko/ibus/update
ibus: 1.5.16 -> 1.5.17, fix
2017-12-31 21:23:05 +03:00
John Ericson 046f091e0d treewide: Don't use envHook anymore
This commits needs a MAJOR audit as I oftentimes just guessed which of
`$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-12-30 22:04:22 -05:00
Yegor Timoshenko 0dff26daa4
gobjectIntrospection: add giDiscoverSelf preFixupPhase hook
Some derivations need to discover their own typelibs. giDiscoverSelf
runs as a preFixupPhase and populates GI_TYPELIB_PATH with an entry
pointing to $prefix/lib/girepository-1.0, if it exists.
2017-12-30 02:57:37 +00:00
Jan Tojnar c2bc772203
gobjectIntrospection: 1.52.1 → 1.54.1 2017-11-05 20:44:12 +01:00
John Ericson 531e4b80c9 misc pkgs: Basic sed to get fix pkgconfig and autoreconfHook buildInputs
Only acts on one-line dependency lists.
2017-09-21 15:49:53 -04:00
Linus Heckemann b73e3b6095 GNOME: 3.22 -> 3.24
This is a squash commit of the joint work from:

* Jan Tojnar (@jtojnar)
* Linus Heckemann (@lheckemann)
* Ryan Mulligan (@ryantm)
* romildo (@romildo)
* Tom Hunger (@teh)
2017-08-28 15:32:49 +01:00
Hamish Mackenzie da1d13bc07 webkgitgtk: fix 2.14 on macOS
Includes the patches from macports and fixes an issue with the
`otool -L` output that was causing g-ir-scanner to fail.
The paths in the macports patches have been modified so that they
will work with `patches` in nix (an extra directory level was
added).
2017-04-10 23:11:16 -07:00
Vladimír Čunát 96d41e393d
treewide: purge maintainers.urkud
It's sad, but he's been inactive for the last five years.
Keeping such people in meta.maintainers is counter-productive.
2017-03-27 19:52:29 +02:00
Alexander Ried 2ca5adbfe8 gobjectIntrospection: 1.48.0 -> 1.50.0 2016-09-22 22:35:59 +02:00
Tuomas Tynkkynen a17216af4c treewide: Shuffle outputs
Make either 'bin' or 'out' the first output.
2016-08-29 14:49:51 +03:00
Tobias Geerinckx-Rice 271443daa1
gobject-introspection: remove unused separate-rpath-arg.patch 2016-06-22 03:58:55 +02:00
Vincent Laporte 0452b58f0f gobject-introspection: fix on darwin 2016-04-28 18:36:09 +02:00
Damien Cassou 39af1c76e1 gobject-introspection: 1.46.0 -> 1.48.0 2016-04-20 16:45:58 +02:00
Vladimír Čunát ab15a62c68 Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Ryan Trinkle 8605dab964 webkitgtk: add darwin support 2016-03-30 09:40:36 +02:00
Ryan Artecona bb63c6a4c4 gobjectIntrospection: fix darwin build
Stop using obsolete `otool` package, preferring `cctools` (which
includes otool), on darwin.

Remove autoconf & automake from reqs, as they were unused.

Fixes #12670
2016-03-22 21:40:15 -04:00
Peter Simons 1c49f8fe33 gobject-introspection: mark broken on Darwin
http://hydra.nixos.org/build/33311502
2016-03-16 22:28:50 +01:00
Vladimír Čunát 09af15654f Merge master into closure-size
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
aszlig 740b30b937
gobject-introspection: Deal with $outputLib
Once #7701 gets merged, we have another environment variable called
$outputLib, which then points to another environment variable which is
the final library output.

This was brought up in discussion with @lethalman and @vcunat in:

https://github.com/NixOS/nixpkgs/pull/12558#discussion_r50599813

The closure-size branch is not yet merged into master, so this is only
a preparation and we're still falling back to $out and $lib whenever
$outputLib isn't available.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-01-23 16:36:14 +01:00
aszlig b3b444a79e
gobject-introspection: Improve comment in patch
As the comment needed explanation, that it's about temporary build
files, this should do better.

Thanks again to @lethalman for pointing that out.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-01-23 00:14:53 +01:00
aszlig 723f7f8f4f
gobject-introspection: Don't hardcode /nix/store
If no config.nix.storeDir has been set, don't fall back to "/nix/store"
but use builtins.storeDir instead so we always should end up with the
correct store path no matter whether config.nix.storeDir has been set.

Thanks to @lethalman for pointing this out.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-01-22 23:55:31 +01:00
aszlig c83e697aa0
gobject-introspection: Add fallback for libraries
After patching up the shared libraries in c420de6 to use absolute paths,
there are still some libraries left which do not get an absolute paths
assigned.

Those libraries are the ones which have an absolute path outside of the
Nix store, so we assume that they're build products of the current build
and make them absolute by prepending "$out/lib" or "$lib/lib" (depending
on whether it's a multiple output derivation or not) to its basename.

So for my test case, the resulting library paths now look like this:

  /nix/store/...-libblockdev-1.3/lib/libblockdev.so.0
  /nix/store/...-glibc-2.21/lib/libm.so.6
  /nix/store/...-dmraid-1.0.0.rc16/lib/libdmraid.so.1.0.0.rc16
  /nix/store/...-libblockdev-1.3/lib/libbd_utils.so.0

Which is perfectly fine and everything gets resolved correctly after
importing the library using GI.

However, I didn't test it against other libraries and programs, so this
still needs testing, especially for Darwin.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-01-22 22:46:14 +01:00
aszlig c420de6b05
gobject-introspection: Fix patching shared objects
The gi-r-scanner is generating a list of shared libraries that are
referenced in the shared-library attribute of the <namespace/> element
of the GIR file. However, this attribute only contains the names of the
libraries and not the full store paths, like for example while preparing
to package libblockdev, the following items were included in the
shared-library attribute:

  /nix/store/...-libblockdev-1.3/lib/libblockdev.so.0
  libm.so.6
  libdmraid.so.1.0.0.rc16
  libbd_utils.so.0

Unfortunately, loading such a library without setting LD_LIBRARY_PATH is
going to fail finding libm.so.6 and libdmraid.so.1.0.0.rc16.

Now the first attempt at solving this was to put absolute paths of all
the libraries referenced in the shared-library attribute, but this also
led up to including paths of build-time shared objects into that
attribute:

  /nix/store/...-libblockdev-1.3/lib/libblockdev.so.0
  /nix/store/...-glibc-2.21/lib/libm.so.6
  /nix/store/...-dmraid-1.0.0.rc16/lib/libdmraid.so.1.0.0.rc16
  /tmp/nix-build-libblockdev-1.3.drv-0/.../utils/.libs/libbd_utils.so.0

This of course is not what we want, so the final solution is to only
use the absolute path whenever it is a Nix path and leave the library
name as-is if the path doesn't reside within the store, like this:

  /nix/store/...-libblockdev-1.3/lib/libblockdev.so.0
  /nix/store/...-glibc-2.21/lib/libm.so.6
  /nix/store/...-dmraid-1.0.0.rc16/lib/libdmraid.so.1.0.0.rc16
  libbd_utils.so.0

The downside of this approach is that if not even the output path of the
library is in LD_LIBRARY_PATH, even loading of libbd_utils.so.0 could
fail, so we need to patch the loader as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-01-22 22:46:02 +01:00
Luca Bruno e289717414 rename moveToOutput and propagatedBuildInputs 2015-12-02 10:05:36 +01:00
Vladimír Čunát dd6912a95e gobject-introspection: auto-move *.gir into $dev 2015-10-28 11:59:42 +01:00
Tuomas Tynkkynen 8ec6f85c4e gobject-introspection: Don't delete $out/share/gobject-introspection-1.0/tests
Otherwise breaks pygobject3 compilation.
vcunat added comment. (Commit reordering changed this a bit.)
2015-10-28 10:22:15 +01:00
Vladimír Čunát 5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
Luca Bruno 6858ca17db gobject-introspection: 1.44.0 -> 1.46.0 2015-09-25 10:48:40 +02:00
Vladimír Čunát 0b216645bd gtk+ stack: leftover "major" updates 2015-06-07 09:22:13 +02:00
Vladimír Čunát 375bc8def7 Merge staging into closure-size 2015-05-05 11:49:03 +02:00
Luca Bruno db3b86560f GNOME 3.16.1, closes #7357 2015-04-25 12:02:33 +02:00
Vladimír Čunát bf414c9d4f Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00