M-Reimer / wine-lol

PKGBUILDs to package GloriousEggroll's LoL-patched wine version
163 stars 20 forks source link

Add pkgconf as a build dependency #64

Closed Chostakovitch closed 3 years ago

Chostakovitch commented 3 years ago

As it may strange, I accidentally remove pkgconf from my system, ending up with Wine build errors like :

configure:14948: checking ft2build.h usability
configure:14948: gcc -m32 -c -m32 -march=x86-64 -mtune=generic -O2 -pipe  -fcommon -D_FORTIFY_SOURCE=2  conftest.c >&5
conftest.c:219:10: fatal error: ft2build.h: No such file or directory
  219 | #include <ft2build.h>
      |          ^~~~~~~~~~~~
compilation terminated.

Indeed ft2build.h is in /usr/include/freetype2, and the configure script of Wine have these lines :

if ${PKG_CONFIG+:} false; then :
  FREETYPE_CFLAGS=`$PKG_CONFIG --cflags freetype2 2>/dev/null`
fi

And /usr/lib32/pkgconfig/freetype2.pc has an additional include path for freetype2 : Cflags: -I${includedir}/freetype2.

I don't really know Arch packaging but it may help to add pkgconf as a build dependency to avoid this kind of errors (even if it's kind of my fault in this case).

M-Reimer commented 3 years ago

To build anything on Arch you have to have "base-devel" installed. By uninstalling pkgconf you damaged your "base-devel" group as pkgconf is part of base-devel: https://www.archlinux.org/groups/x86_64/base-devel/

If there is a risk that you uninstalled even more stuff from base-devel, you should run

pacman -S --needed base-devel

To fix your base-devel group.

Chostakovitch commented 3 years ago

Oh, right, so anyone making a package on AUR should expect the base-devel group to be installed. Sorry for the inconvenience. :)

M-Reimer commented 3 years ago

Exactly. It is also documented this way in the Arch Wiki:

https://wiki.archlinux.org/index.php/PKGBUILD#makedepends

Note: The group base-devel is assumed to be already installed when building with makepkg. Members of this group should not be included in makedepends array.