gobject-introspection is now usable when cross-compiling, but only if
we can emulate the host platform, which is not the case in general.
For example, when cross-compiling from Linux to BSD.
Fixes: 1bd8727a4c ("various: enable gobject-introspection when cross-compiling")
This is the intended way to build harfbuzz, so we may as well do it.
Additionally it has the advantage that we only need to store and copy
the compressed variant of the source tree (that has a stable hash)
instead of the extracted variant like with fetchFromGitHub.
Upstream recommends cairo, but it is only used for development
purposes and is not part of the library.
This removes transitive (build) dependencies on various X11 or
other GUI-related libraries, which is desirable for minimizing
rebuilds and maximizing parallellism.
This also adds fontconfig to buildInputs, because this direct lib
dependency was previously found via cairo's propagatedBuildInputs.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
I made a mistake merge. Reverting it in c778945806 undid the state
on master, but now I realize it crippled the git merge mechanism.
As the merge contained a mix of commits from `master..staging-next`
and other commits from `staging-next..staging`, it got the
`staging-next` branch into a state that was difficult to recover.
I reconstructed the "desired" state of staging-next tree by:
- checking out the last commit of the problematic range: 4effe769e2
- `git rebase -i --preserve-merges a8a018ddc0` - dropping the mistaken
merge commit and its revert from that range (while keeping
reapplication from 4effe769e2)
- merging the last unaffected staging-next commit (803ca85c20)
- fortunately no other commits have been pushed to staging-next yet
- applying a diff on staging-next to get it into that state
* Upstream changed from freedesktop.org to GitHub,
so updateWalker is disabled and fetchFromGitHub used
* Build system now based on meson/ninja
* python3 instead of python
* postInstall hook moved to postFixup since it depends on
some files being moved around in fixupPhase
* Build developer manual using gtk-doc