Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Using pkgconf instead of pkg-config #3391

Closed
Cogitri opened this issue Oct 3, 2018 · 17 comments
Closed

[RFC] Using pkgconf instead of pkg-config #3391

Cogitri opened this issue Oct 3, 2018 · 17 comments

Comments

@Cogitri
Copy link
Contributor

Cogitri commented Oct 3, 2018

I propose to use pkgconf instead of pkg-config for building. pkgconf has some advantages to pkg-config:

Other distros such as Arch, Fedora, Mageia and most of the BSDs already use pkg-conf. Also see the Arch ML for their thread about this topic: https://lists.archlinux.org/pipermail/arch-dev-public/2018-May/029252.html

@maxice8
Copy link
Contributor

maxice8 commented Oct 3, 2018

+1 for me i can start working on it

@maxice8
Copy link
Contributor

maxice8 commented Oct 3, 2018

@void-linux/pkg-committers

@the-maldridge
Copy link
Member

Lets do this with alternatives and a slow cutover so that we can migrate people slowly.

Gottox pushed a commit to Gottox/void-packages that referenced this issue Oct 4, 2018
* libpkgconf is removed.
* provides pkg-config
* correctly conflicts with pkg-config
* set a link from /usr/bin/pkg-config to pkgconf

addresses void-linux#3391.
Gottox pushed a commit to Gottox/void-packages that referenced this issue Oct 4, 2018
* libpkgconf is removed.
* provides pkg-config
* correctly conflicts with pkg-config
* set a link from /usr/bin/pkg-config to pkgconf

addresses void-linux#3391.
Gottox pushed a commit to Gottox/void-packages that referenced this issue Oct 4, 2018
* libpkgconf is removed.
* correctly conflicts with pkg-config
* set a link from /usr/bin/pkg-config to pkgconf

addresses void-linux#3391.
Gottox pushed a commit to Gottox/void-packages that referenced this issue Oct 4, 2018
* libpkgconf is removed.
* correctly conflicts with pkg-config
* set a link from /usr/bin/pkg-config to pkgconf

addresses void-linux#3391.
Gottox pushed a commit to Gottox/void-packages that referenced this issue Oct 4, 2018
* libpkgconf is removed.
* pkgconf-devel package is removed
* correctly conflicts with pkg-config
* set a link from /usr/bin/pkg-config to pkgconf

addresses void-linux#3391.
@Gottox
Copy link
Member

Gottox commented Oct 4, 2018

...while providing a more accurate dependency graph (which prevents excessive overlinking)

Overlinking isn't an issue for void, as we use as-needed whenever possible. Nontheless, it might have a positive effect on the build time.

With #3412 we can slowly migrate to pkgconf by replacing the dependency in depending packages. I consider the risk of this change negligible. The worst case are a few broken packages that can be fixed by switching back to pkg-config.

@Cogitri
Copy link
Contributor Author

Cogitri commented Nov 17, 2018

Sorry, what's the status on this?

@maxice8
Copy link
Contributor

maxice8 commented Jan 18, 2019

@Gottox when (and how) will we change to pkgconf ?

@maxice8
Copy link
Contributor

maxice8 commented Feb 20, 2019

I Have started automatically replacing pkg-config with pkgconf on hostmakedepends= on my script https://github.com/maxice8/meltryllis/commit/c402020b9662042ac26c66fba2845575dbcdb320

@maxice8
Copy link
Contributor

maxice8 commented Feb 25, 2019

I'd like to revert this:

pkgconf is not bug compatiable with pkg-config, it prefixes all values returned by pkg-config --variable with PC_SYSROOT_DIR prefixed, pkg-config itself requires the ${pc_sysrootdir} variable to be in the .pc file itself this massively breaks most packages cross compilation. That behavior is not in line with the spec.

Doesn't help that pkgconf upstream moved to self-hosting and closed their issue section so i can't search if someone raised that issue up or not and what their response is.

pkg-config is good enough and doesn't break cross packages and follows the spec.

@the-maldridge
Copy link
Member

sgtm

@maxice8
Copy link
Contributor

maxice8 commented Feb 25, 2019 via email

@Johnnynator
Copy link
Member

Packages that are broken (when Cross compiling, misses every pacakge that depends on libX11):

Not compiling:

Wrong install paths

  • fuse3
  • lastpass-cli
  • ndctl
  • pcsc-acsccid
  • pcsc-ccid
  • udftools

@ericonr
Copy link
Member

ericonr commented Apr 22, 2020

Is it still intended to get this working?

@Cogitri
Copy link
Contributor Author

Cogitri commented Apr 22, 2020

As noted in #3391 (comment) this has been reverted.

@ericonr
Copy link
Member

ericonr commented Apr 23, 2020

@Cogitri do you think the issue can be closed, then? Or is it still a possibility?

@Logarithmus
Copy link
Contributor

@ericonr what about reconsidering pkgconf? Are there only 7 packages broken? If yes then maybe it's better to try fixing them instead of keeping to use technically inferior pkg-config?

@ericonr
Copy link
Member

ericonr commented Jun 26, 2021

I sure don't want to deal with the churn and take care of fixing any bugs that may appear. And don't revive old issues.

@Logarithmus
Copy link
Contributor

Logarithmus commented Jun 26, 2021

@ericonr OK, seems like there are many packages which will be broken by pkgconf:

this massively breaks most packages cross compilation. That behavior is not in line with the spec.

It would be nice tho either to fix pkgconf to make it match the spec in this aspect or to alter ./xbps-src to not to rely on this behaviour. But someone has to do this dirty job :( Certainly, not anytime soon.

P. S. Arch Linux has been using pkgconf for 3 years, but they don't have to support multiple architectures (Arch is x86_64/i686 only), so their experience isn't applicable to Void.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants