Commit Graph

88 Commits

Author SHA1 Message Date
Artturin
da1ea54ad8 gobject-introspection: use objdump -p instead of prelink-rtld
Commit msg of 767e0880d4
> gobject-introspection: replace prelink-rtld with objdump -p
>
> g-i internally processes the output with regexes, and seems
> happy with what objdump is printing. It only needs to resolve
> the library name as passed to the linker to the library file name.
> Also recursive resolution (that ldd is doing and objdump is not)
> is not necessary.

Additional context section of https://github.com/NixOS/nixpkgs/issues/183071
> prelink is dropped by openembedded, support for prelink is removed from glibc,
> and itself is effectively abandoned by the upstream (yocto project).
> I think we may as well drop it rather than fix it.
> However gobject-introspection now relies on it as a runtime linker for use in cross compilation, we have to find an alternative.
2022-07-28 00:09:35 +03:00
Artturin
e8ecd00e46 gobject-introspection: override pkg-config variables in a setup hook
instead of substituteInPlace

fixes gtk2 because it needs g_ir_scanner to be a path
2022-07-14 07:14:41 +03:00
Artturin
a83d2f7c91 gobject-introspection: cross improvements
gobject-introspection: copy $dev/share/gobj.../tests when cross-compiling

gobject-introspection: add giscanner-ignore-error-return-codes-from-ldd-wrapper patch

polkit-aarch64-unknown-linux-gnu> [102/104] Generating src/polkitagent/PolkitAgent-1.0.gir with a custom command
polkit-aarch64-unknown-linux-gnu> FAILED: src/polkitagent/PolkitAgent-1.0.gir
polkit-aarch64-unknown-linux-gnu> <storepath>-gobject-introspection-wrapped-1.72.0-dev/bin/g-ir-scanner --no-libtool --namespace=PolkitAgent --nsversion=1.0 --warn-all --output src/polkitagent/PolkitAgent-1.0.gir --c-include=polkitagent/polkitagent.h -
D_POLKIT_AGENT_COMPILATION -D_POLKIT_COMPILATION -I/build/source/src/polkitagent -I/build/source/build/src/polkitagent -I/build/source/. -I/build/source/build/. -I/build/source/src/. -I/build/source/build/src/. --filelist=/build/source/build/src/polkitagent/libpolkit-agent-1.so.0.0.0
.p/PolkitAgent_1.0_gir_filelist --include=Gio-2.0 --include-uninstalled=src/polkit/Polkit-1.0.gir --pkg-export=polkit-agent-1 --cflags-begin -DHAVE_CONFIG_H -I/build/source/. -I/build/source/build/. -I/build/source/src/. -I/build/source/build/src/. -I/nix/store/lqncny8acp6hkclsgbfnrb
65i9hscsmn-expat-aarch64-unknown-linux-gnu-2.4.8-dev/include -I<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2-dev/include/gio-unix-2.0 -I<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2-dev/include -I/nix/store/qm1wa
x4c7sgf5h3b6dhspxb5miayjyc9-glib-aarch64-unknown-linux-gnu-2.72.2-dev/include/glib-2.0 -I<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2/lib/glib-2.0/include -I<storepath>-gobject-introspection-aarch64-unknown-linux-gn
u-1.72.0-dev/include/gobject-introspection-1.0 --cflags-end --add-include-path=<storepath>-gobject-introspection-aarch64-unknown-linux-gnu-1.72.0-dev/share/gir-1.0 --add-include-path=/build/source/build/src/polkit -L/build/source/build/src/polkitagent
--library polkit-agent-1 -L/build/source/build/src/polkit -L<storepath>-expat-aarch64-unknown-linux-gnu-2.4.8/lib --extra-library=expat -L<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2/lib --extra-library=gio-2.0 --ex
tra-library=gobject-2.0 --extra-library=glib-2.0 -L<storepath>-gobject-introspection-aarch64-unknown-linux-gnu-1.72.0/lib --extra-library=girepository-1.0 --sources-top-dirs /build/source/subprojects/ --sources-top-dirs /build/source/build/subprojects/
polkit-aarch64-unknown-linux-gnu> g-ir-scanner: link: aarch64-unknown-linux-gnu-gcc -o /build/source/build/tmp-introspectzp2ldkyk/PolkitAgent-1.0 /build/source/build/tmp-introspectzp2ldkyk/PolkitAgent-1.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/build/source/build/src/polkitagent -Wl
,-rpath,/build/source/build/src/polkitagent -L/build/source/build/src/polkit -Wl,-rpath,/build/source/build/src/polkit -L<storepath>-expat-aarch64-unknown-linux-gnu-2.4.8/lib -Wl,-rpath,<storepath>-expat-aarch64-unknown-
linux-gnu-2.4.8/lib -L<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2/lib -Wl,-rpath,<storepath>-glib-aarch64-unknown-linux-gnu-2.72.2/lib -L<storepath>-gobject-introspection-aarch64-unk
nown-linux-gnu-1.72.0/lib -Wl,-rpath,<storepath>-gobject-introspection-aarch64-unknown-linux-gnu-1.72.0/lib -lpolkit-agent-1 -lexpat -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgirepository-1.0 -L<storepath>-glib-aarch64-unknow
n-linux-gnu-2.72.2/lib -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
polkit-aarch64-unknown-linux-gnu> Traceback (most recent call last):
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-gobject-introspection-wrapped-1.72.0-dev/bin/.g-ir-scanner-wrapped", line 99, in <module>
polkit-aarch64-unknown-linux-gnu>     sys.exit(scanner_main(sys.argv))
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-gobject-introspection-wrapped-1.72.0/lib/gobject-introspection/giscanner/scannermain.py", line 646, in scanner_main
polkit-aarch64-unknown-linux-gnu>     shlibs = create_binary(transformer, options, args)
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-gobject-introspection-wrapped-1.72.0/lib/gobject-introspection/giscanner/scannermain.py", line 471, in create_binary
polkit-aarch64-unknown-linux-gnu>     shlibs = resolve_shlibs(options, binary, options.libraries)
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-gobject-introspection-wrapped-1.72.0/lib/gobject-introspection/giscanner/shlibs.py", line 179, in resolve_shlibs
polkit-aarch64-unknown-linux-gnu>     _resolve_non_libtool(options, binary, non_libtool))
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-gobject-introspection-wrapped-1.72.0/lib/go
bject-introspection/giscanner/shlibs.py", line 112, in _resolve_non_libtool
polkit-aarch64-unknown-linux-gnu>     output = subprocess.check_output(args)
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-python3-3.10.5/lib/python3.10/subprocess.py", line 420, in check_output
polkit-aarch64-unknown-linux-gnu>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
polkit-aarch64-unknown-linux-gnu>   File "<storepath>-python3-3.10.5/lib/python3.10/subprocess.py", line 524, in run
polkit-aarch64-unknown-linux-gnu>     raise CalledProcessError(retcode, process.args,
polkit-aarch64-unknown-linux-gnu> subprocess.CalledProcessError: Command '['<storepath>-prelink-unstable-2019-06-24/bin/prelink-rtld', '/build/source/build/tmp-introspectzp2ldkyk/PolkitAgent-1.0']' returned non-zero exit status 127.
polkit-aarch64-unknown-linux-gnu> [103/104] Generating src/polkit/Polkit-1.0.typelib with a custom command
polkit-aarch64-unknown-linux-gnu> ninja: build stopped: subcommand failed.

exit status 127

gobject-introspection: this should fix pkgsMusl pkgsStatic

by not putting `/nix/store/iw35xj69w190w7vw17l8mac8srg0vpyz-gobject-introspection-static-x86_64-unknown-linux-musl-1.72.0.drv`

in their dependency tree when gobject-introspection is in
nativeBuildInputs ex .#pkgsStatic.libjxl

gobject-introspection: pc file: use binaries from path instead of a abs path to them

fixes issues in networkmanager and some other packages
```
gi._error.GError: g-invoke-error-quark: Could not locate g_option_error_quark: /nix/store/...-glib-aarch64-unknown-linux-gnu-2.72.2/lib/libglib-2.0.so.0:
cannot open shared object file: No such file or directory (1)
```

see comment

gobject-introspection: propagate gobject-introspection-unwrapped in wrapper

with this it is no longer needed to put gobject-introspection in
buildInputs in addition to nativeBuildInputs
2022-07-07 21:18:23 +03:00
Artturin
944781be23 gobject-introspection: revert patch to ignore return codes from ldd
we may not need this so reverting for now
2022-06-11 04:51:18 +03:00
Artturin
41f8722078 gobject-introspection: add artturin as maintainer 2022-06-11 04:51:18 +03:00
Artturin
79d349b087 gobject-introspection: support cross-compilation
used the following as references

https://github.com/void-linux/void-packages/blob/master/srcpkgs/gobject-introspection

and

https://git.busybox.net/buildroot/tree/package/gobject-introspection

thanks void and buildroot
2022-06-11 04:51:18 +03:00
Jan Tojnar
82632f000e gobject-introspection: 1.71.0 → 1.72.0
https://gitlab.gnome.org/GNOME/gobject-introspection/-/compare/1.71.0...1.72.0
2022-03-25 15:02:41 +01:00
Jan Tojnar
533adf2e55 gobject-introspection: 1.70.0 → 1.71.0
https://gitlab.gnome.org/GNOME/gobject-introspection/-/compare/1.70.0...1.71.0
2022-03-25 15:01:22 +01:00
Nick Cao
e35d74c3ec
gobject-introspection: prepare for meson 0.61 2022-01-15 17:25:08 +08:00
Maxine Aubrey
52f650a241 gobject-introspection: 1.68.0 -> 1.70.0
- https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/1.70.0/NEWS
2021-10-09 17:29:36 +02:00
Jan Tojnar
468cb5980b gnome: rename from gnome3
Since GNOME version is now 40, it no longer makes sense to use the old attribute name.
2021-05-08 09:47:42 +02:00
Jan Tojnar
58c6cbf78b
gobject-introspection: 1.66.1 → 1.68.0
Co-Authored-By: Maxine Aubrey <maxeaubrey@gmail.com>
2021-05-05 22:20:22 +02:00
Jan Tojnar
7d535edec5
gnome3: support new versioning scheme in the update script
https://discourse.gnome.org/t/new-gnome-versioning-scheme/4235
2021-05-05 22:20:20 +02:00
Ben Siraphob
66e44425c6 pkgs/development/libraries: stdenv.lib -> lib 2021-01-21 19:11:02 -08:00
Jan Tojnar
1e314c363d
gobject-introspection: 1.66.0 → 1.66.1
Fix vips build.
2020-10-24 03:48:19 +02:00
Doron Behar
469db7ce0e
gobject-introspection: 1.64.1 -> 1.66.0 2020-10-24 01:14:04 +02:00
Jan Tojnar
c9857dee7d
gobject-introspection: move build tools to nativeBuildInputs 2020-05-17 22:28:06 +02:00
Jan Tojnar
fd5ea9d5f2
gobject-introspection: add docs 2020-05-15 21:32:37 +02:00
Jan Tojnar
e4a009a109
gobject-introspection: consolidate patches
and add comments
2020-05-15 21:04:31 +02:00
Jan Tojnar
fbb86b1fa8
gobject-introspection: more clean-ups
* remove glibcLocales now that glibc contains C.UTF-8
* remove libintl, that should be in by default or something
* update homepage
* add gnome team to maintainers
* remove the temporary libregress closer its creation
2020-05-15 21:03:20 +02:00
Jan Tojnar
1bc7b68b1c
gobject-introspection: clean up the expression
* format with nixpkgs-fmt
* reorder the attributes
* use pkg-config instead of the pkgconfig alias
* optional → optionals
* remove top-level `with lib;`
2020-05-15 19:57:40 +02:00
Jan Tojnar
b4a6714571
Merge branch 'staging-next' into staging 2020-04-13 18:54:59 +02:00
Jan Tojnar
a04625379a
Merge branch 'master' into staging-next 2020-04-13 18:50:35 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Tor Hedin Brønner
247bddd311 gobject-introspection: 1.64.0 -> 1.64.1 2020-04-08 09:52:37 +02:00
Jan Tojnar
52f82285f6
gobject-introspection: Clean libregress symlink
Adding phases to preInstallPhases is not possible in preBuild since by that time, phases is already populated.
2020-04-05 00:02:54 +02:00
Jan Tojnar
48271f8db9
gobject-introspection: fix tests on darwin
We need to use platform specific shared library file extension when doing our symlink hack.
2020-04-04 04:07:29 +02:00
Tor Hedin Brønner
990b331734
gobject-introspection: 1.62.0 -> 1.64.0
- cairo and doctool is now auto features

Disable broken test. It tries to look up libs in their installed
location, which aren't accessible yet.
2020-03-24 07:06:58 +01:00
Tor Hedin Brønner
99fb5e3668 gobject-introspection: 1.60.2 → 1.62.0 2019-09-30 19:39:46 +02:00
R. RyanTM
76a765d1a1 gobject-introspection: 1.60.1 -> 1.60.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/gobject-introspection/versions
2019-07-01 09:45:42 -07:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Tor Hedin Brønner
d747f1602d gobject-introspection: 1.60.0 -> 1.60.1
Updated the shlib patches:

- Upstream now forces basename in sanitize_shlib_path(lib) if the system isn't
  darwin. We patch the function to always prefer absolute paths
- Due to the above we no longer need the macos patch
- `sanitize_shlib_path` is applied after `resolve_from_ldd_output` so we need to
  apply `fallback_libpath` afterwards too (else we get stuff like
  `/nix/store/...@rpath/foo.dylib` on darwin)
- Note that the `fallback_path` no longer have any unit tests

https://gitlab.gnome.org/GNOME/gobject-introspection/blob/1.60.1/NEWS
2019-04-27 07:09:47 +02:00
Tor Hedin Brønner
cd9aaebb78
gobject-introspection: disable tests on aarch64 2019-04-05 12:13:53 +02:00
Tor Hedin Brønner
f3911d3ff2
gobject-introspection: 1.58.3 -> 1.60.0 2019-04-05 11:39:59 +02: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 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