diff mbox series

[2/2] package/gcnano-binaries: set Version: field in .pc files

Message ID 20220804204157.30731-2-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series [1/2] package/gcnano-binaries: create symlinks for libGLESv2 and libGLESv1_CM.so | expand

Commit Message

Thomas Petazzoni Aug. 4, 2022, 8:41 p.m. UTC
All .pc files have a Version field set to #VERSION#, which needs to be
replaced, otherwise packages checking the version of OpenGL ES, EGL,
GBM, etc. will fail. For example:

Dependency gbm found: NO unknown version, but need: ['>=17.1.0']

Such problems have been seen with both libepoxy and SDL2.

The version 21.1.1 is chosen because it matches what the Yocto recipe
is doing for this package:

  https://github.com/STMicroelectronics/meta-st-stm32mp/blob/kirkstone/recipes-graphics/gcnano-userland/gcnano-userland.inc#L42

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 package/gcnano-binaries/gcnano-binaries.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Yann E. MORIN Aug. 5, 2022, 4:35 p.m. UTC | #1
Thomas, All,

On 2022-08-04 22:41 +0200, Thomas Petazzoni via buildroot spake thusly:
> All .pc files have a Version field set to #VERSION#, which needs to be
> replaced, otherwise packages checking the version of OpenGL ES, EGL,
> GBM, etc. will fail. For example:
> 
> Dependency gbm found: NO unknown version, but need: ['>=17.1.0']
> 
> Such problems have been seen with both libepoxy and SDL2.
> 
> The version 21.1.1 is chosen because it matches what the Yocto recipe
> is doing for this package:
> 
>   https://github.com/STMicroelectronics/meta-st-stm32mp/blob/kirkstone/recipes-graphics/gcnano-userland/gcnano-userland.inc#L42

... which they did not provide any explanation for...

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/gcnano-binaries/gcnano-binaries.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk
> index ce9b24cc3a..d9c47bf64e 100644
> --- a/package/gcnano-binaries/gcnano-binaries.mk
> +++ b/package/gcnano-binaries/gcnano-binaries.mk
> @@ -60,7 +60,7 @@ define GCNANO_BINARIES_INSTALL
>  	ln -sf gbm/gbm.h $(1)/usr/include/gbm.h
>  	cd $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/pkgconfig/ ; \
>  	for file in *.pc ; do \
> -		sed -e "s|#PREFIX#|/usr|" $$file > $$file.temp ; \
> +		sed -e "s|#PREFIX#|/usr|" -e "s|#VERSION#|21.1.1|" $$file > $$file.temp ; \
>  		$(INSTALL) -D -m 0644 $$file.temp $(1)/usr/lib/pkgconfig/$$file ; \
>  	done
>  endef
> -- 
> 2.37.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Thomas Petazzoni Aug. 6, 2022, 1:40 p.m. UTC | #2
On Fri, 5 Aug 2022 18:35:34 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> > The version 21.1.1 is chosen because it matches what the Yocto recipe
> > is doing for this package:
> > 
> >   https://github.com/STMicroelectronics/meta-st-stm32mp/blob/kirkstone/recipes-graphics/gcnano-userland/gcnano-userland.inc#L42  
> 
> ... which they did not provide any explanation for...

It matches a somewhat corresponding mesa3d version, I suppose. This is
at least how some packages detect if libgbm is recent enough for their
needs (I've seen a package require >= 17 for example).

Thomas
diff mbox series

Patch

diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk
index ce9b24cc3a..d9c47bf64e 100644
--- a/package/gcnano-binaries/gcnano-binaries.mk
+++ b/package/gcnano-binaries/gcnano-binaries.mk
@@ -60,7 +60,7 @@  define GCNANO_BINARIES_INSTALL
 	ln -sf gbm/gbm.h $(1)/usr/include/gbm.h
 	cd $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/pkgconfig/ ; \
 	for file in *.pc ; do \
-		sed -e "s|#PREFIX#|/usr|" $$file > $$file.temp ; \
+		sed -e "s|#PREFIX#|/usr|" -e "s|#VERSION#|21.1.1|" $$file > $$file.temp ; \
 		$(INSTALL) -D -m 0644 $$file.temp $(1)/usr/lib/pkgconfig/$$file ; \
 	done
 endef