diff mbox series

[v1,1/3] package/libtomcrypt: add pkgconfig support

Message ID 20210412195527.9282-1-ps.report@gmx.net
State Rejected
Headers show
Series [v1,1/3] package/libtomcrypt: add pkgconfig support | expand

Commit Message

Peter Seiderer April 12, 2021, 7:55 p.m. UTC
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/libtomcrypt/libtomcrypt.mk    |  3 +++
 package/libtomcrypt/libtomcrypt.pc.in | 10 ++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 package/libtomcrypt/libtomcrypt.pc.in

Comments

Thomas Petazzoni April 12, 2021, 8:14 p.m. UTC | #1
On Mon, 12 Apr 2021 21:55:25 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Is there any specific motivation? Does this had a chance of going
upstream ?

Thanks!

Thomas
Peter Seiderer April 12, 2021, 9:15 p.m. UTC | #2
Hello Thomas,

On Mon, 12 Apr 2021 22:14:53 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> On Mon, 12 Apr 2021 21:55:25 +0200
> Peter Seiderer <ps.report@gmx.net> wrote:
>
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
>
> Is there any specific motivation? Does this had a chance of going
> upstream ?

For an custom project, previously developed on with cmake on ubuntu (which
provides the pkgconfig file)....

Can try to suggest upstream...

Regards,
Peter

>
> Thanks!
>
> Thomas
Arnout Vandecappelle May 1, 2021, 1:18 p.m. UTC | #3
On 12/04/2021 23:15, Peter Seiderer wrote:
> Hello Thomas,
> 
> On Mon, 12 Apr 2021 22:14:53 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> 
>> On Mon, 12 Apr 2021 21:55:25 +0200
>> Peter Seiderer <ps.report@gmx.net> wrote:
>>
>>> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
>>
>> Is there any specific motivation? Does this had a chance of going
>> upstream ?
> 
> For an custom project, previously developed on with cmake on ubuntu (which
> provides the pkgconfig file)....
> 
> Can try to suggest upstream...

 Adding a .pc file in Buildroot usually doesn't make much sense, because no
package that depends on it is going to use it. So yes, please organise this
upstream.

 Therefore, I've marked this patch as Rejected.

 Regards,
 Arnout
Peter Seiderer May 2, 2021, 10:27 a.m. UTC | #4
Hello Arnout,

On Sat, 1 May 2021 15:18:42 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:

> On 12/04/2021 23:15, Peter Seiderer wrote:
> > Hello Thomas,
> >
> > On Mon, 12 Apr 2021 22:14:53 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> >
> >> On Mon, 12 Apr 2021 21:55:25 +0200
> >> Peter Seiderer <ps.report@gmx.net> wrote:
> >>
> >>> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> >>
> >> Is there any specific motivation? Does this had a chance of going
> >> upstream ?
> >
> > For an custom project, previously developed on with cmake on ubuntu (which
> > provides the pkgconfig file)....
> >
> > Can try to suggest upstream...
>
>  Adding a .pc file in Buildroot usually doesn't make much sense, because no
> package that depends on it is going to use it. So yes, please organise this
> upstream.

But a buildroot provided library should be usable for buildroot packages AND
out-of-tree/custom packages?

Nevertheless, did take a second look at the libtomcrypt sources, already
providing a libtomcrypt.pc.in template (but only used/installed in case
of 'makefile.shared'/'makefile.unix' and the buildroot compile uses the
default 'makefile' one)...

Regards,
Peter

>
>  Therefore, I've marked this patch as Rejected.
>
>  Regards,
>  Arnout
Arnout Vandecappelle May 3, 2021, 7:58 a.m. UTC | #5
On 02/05/2021 12:27, Peter Seiderer wrote:
> Hello Arnout,
> 
> On Sat, 1 May 2021 15:18:42 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:
> 
>> On 12/04/2021 23:15, Peter Seiderer wrote:
>>> Hello Thomas,
>>>
>>> On Mon, 12 Apr 2021 22:14:53 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
>>>
>>>> On Mon, 12 Apr 2021 21:55:25 +0200
>>>> Peter Seiderer <ps.report@gmx.net> wrote:
>>>>
>>>>> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
>>>>
>>>> Is there any specific motivation? Does this had a chance of going
>>>> upstream ?
>>>
>>> For an custom project, previously developed on with cmake on ubuntu (which
>>> provides the pkgconfig file)....
>>>
>>> Can try to suggest upstream...
>>
>>  Adding a .pc file in Buildroot usually doesn't make much sense, because no
>> package that depends on it is going to use it. So yes, please organise this
>> upstream.
> 
> But a buildroot provided library should be usable for buildroot packages AND
> out-of-tree/custom packages?

 What I mean is the following. A .pc file is useless unless a package that uses
libtomcrypt actually uses pkg-config to configure it. If the .pc file is not
provided by libtomcrypt itself, but only by buildroot, then no package that
depends on libtomcrypt is going to use pkg-config, because they "think" there is
no .pc file for libtomcrypt. So we would have to patch each and every user of
libtomcrypt to use pkg-config instead of whatever discovery mechanism they have.
And none of these patches are upstreamable, because there is no .pc file outside
of buildroot.


> Nevertheless, did take a second look at the libtomcrypt sources, already
> providing a libtomcrypt.pc.in template (but only used/installed in case
> of 'makefile.shared'/'makefile.unix' and the buildroot compile uses the
> default 'makefile' one)...

 That of course changes the story completely.

 Do you know if there is a reason for us not to use makefile.unix, so we don't
need to sed the .pc file ourselves?

 Regards,
 Arnout

> 
> Regards,
> Peter
> 
>>
>>  Therefore, I've marked this patch as Rejected.
>>
>>  Regards,
>>  Arnout
>
Peter Seiderer May 3, 2021, 7:38 p.m. UTC | #6
Hello Arnout,

On Mon, 3 May 2021 09:58:26 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:

> On 02/05/2021 12:27, Peter Seiderer wrote:
> > Hello Arnout,
> >
> > On Sat, 1 May 2021 15:18:42 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:
> >
> >> On 12/04/2021 23:15, Peter Seiderer wrote:
> >>> Hello Thomas,
> >>>
> >>> On Mon, 12 Apr 2021 22:14:53 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> >>>
> >>>> On Mon, 12 Apr 2021 21:55:25 +0200
> >>>> Peter Seiderer <ps.report@gmx.net> wrote:
> >>>>
> >>>>> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> >>>>
> >>>> Is there any specific motivation? Does this had a chance of going
> >>>> upstream ?
> >>>
> >>> For an custom project, previously developed on with cmake on ubuntu (which
> >>> provides the pkgconfig file)....
> >>>
> >>> Can try to suggest upstream...
> >>
> >>  Adding a .pc file in Buildroot usually doesn't make much sense, because no
> >> package that depends on it is going to use it. So yes, please organise this
> >> upstream.
> >
> > But a buildroot provided library should be usable for buildroot packages AND
> > out-of-tree/custom packages?
>
>  What I mean is the following. A .pc file is useless unless a package that uses
> libtomcrypt actually uses pkg-config to configure it. If the .pc file is not
> provided by libtomcrypt itself, but only by buildroot, then no package that
> depends on libtomcrypt is going to use pkg-config, because they "think" there is
> no .pc file for libtomcrypt. So we would have to patch each and every user of
> libtomcrypt to use pkg-config instead of whatever discovery mechanism they have.
> And none of these patches are upstreamable, because there is no .pc file outside
> of buildroot.
>
>
> > Nevertheless, did take a second look at the libtomcrypt sources, already
> > providing a libtomcrypt.pc.in template (but only used/installed in case
> > of 'makefile.shared'/'makefile.unix' and the buildroot compile uses the
> > default 'makefile' one)...
>
>  That of course changes the story completely.
>
>  Do you know if there is a reason for us not to use makefile.unix, so we don't
> need to sed the .pc file ourselves?

No..., it is used since the introduction of libtomcrypt (2016), maybe because it
is the default or because it uses less/no predefined compile vars which needs
to be patched/overwritten...

By the way, libtomcrypt depends on libtommath which used -fPIC unconditionally...

Regards,
Peter

>
>  Regards,
>  Arnout
>
> >
> > Regards,
> > Peter
> >
> >>
> >>  Therefore, I've marked this patch as Rejected.
> >>
> >>  Regards,
> >>  Arnout
> >
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Arnout Vandecappelle May 4, 2021, 7:28 a.m. UTC | #7
On 03/05/2021 21:38, Peter Seiderer wrote:
> By the way, libtomcrypt depends on libtommath which used -fPIC unconditionally...

 So, apparently I'm just full of s**t when I say -fPIC sometimes fails in static
builds... Weird, I really *do* remember that...

 Ah, here I have it: [1] It doesn't lead to build failures, it's just less
performant and useless in static builds. It turns out, however, that we
unconditionally pass -fPIC in dozens of packages. So one more doesn't really
hurt I guess.

 Regards,
 Arnout


[1]
https://patchwork.ozlabs.org/project/buildroot/patch/20210209104726.20132-1-kremneva@synopsys.com/
Peter Seiderer May 6, 2021, 7:45 p.m. UTC | #8
Hello Arnout,

On Tue, 4 May 2021 09:28:35 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:

> On 03/05/2021 21:38, Peter Seiderer wrote:
> > By the way, libtomcrypt depends on libtommath which used -fPIC unconditionally...
>
>  So, apparently I'm just full of s**t when I say -fPIC sometimes fails in static
> builds... Weird, I really *do* remember that...
>
>  Ah, here I have it: [1] It doesn't lead to build failures, it's just less
> performant and useless in static builds. It turns out, however, that we
> unconditionally pass -fPIC in dozens of packages. So one more doesn't really
> hurt I guess.

Thanks for insight, can send (at least) a patch for libtommath to change the
-fPIC usage only for the non static case...

Regards,
Peter

>
>  Regards,
>  Arnout
>
>
> [1]
> https://patchwork.ozlabs.org/project/buildroot/patch/20210209104726.20132-1-kremneva@synopsys.com/
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/libtomcrypt/libtomcrypt.mk b/package/libtomcrypt/libtomcrypt.mk
index fccd4b051c..fa6dde64cd 100644
--- a/package/libtomcrypt/libtomcrypt.mk
+++ b/package/libtomcrypt/libtomcrypt.mk
@@ -27,6 +27,9 @@  define LIBTOMCRYPT_INSTALL_STAGING_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" \
 		PREFIX=/usr NODOCS=1 INSTALL_USER=$(shell id -u) \
 		INSTALL_GROUP=$(shell id -g) install
+	$(INSTALL) -D -m 0644 package/libtomcrypt/libtomcrypt.pc.in \
+		$(STAGING_DIR)/usr/lib/pkgconfig/libtomcrypt.pc
+	$(SED) "s/@PACKAGE_VERSION@/${LIBTOMCRYPT_VERSION}/" $(STAGING_DIR)/usr/lib/pkgconfig/libtomcrypt.pc
 endef
 
 $(eval $(generic-package))
diff --git a/package/libtomcrypt/libtomcrypt.pc.in b/package/libtomcrypt/libtomcrypt.pc.in
new file mode 100644
index 0000000000..14a010e216
--- /dev/null
+++ b/package/libtomcrypt/libtomcrypt.pc.in
@@ -0,0 +1,10 @@ 
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: LibTomCrypt
+Description: public domain open source cryptographic toolkit
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -ltomcrypt
+Cflags: -I${includedir}