mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [RFC PATCH 0/1] building qmake based target packages
@ 2023-10-17 11:35 Alexander Dahl
  2023-10-17 11:35 ` [ptxdist] [RFC PATCH 1/1] WIP: rtklib-demo5: Add new package Alexander Dahl
  2023-11-10  7:51 ` [ptxdist] [RFC PATCH 0/1] building qmake based target packages Michael Olbrich
  0 siblings, 2 replies; 5+ messages in thread
From: Alexander Dahl @ 2023-10-17 11:35 UTC (permalink / raw)
  To: ptxdist; +Cc: Roelf-Erik Carsjens

Hello everyone,

I currently have some kind of weird requirement: building a target
package with qmake, but not linking against Qt.  It's a fork of RTKlib
which is itself a university project (with hand written makefiles, but
not for the part I'm interested in):

https://github.com/rtklibexplorer/RTKLIB/releases/tag/b34h

I actually achieved building it with the attached make rule.  Note it
has a dependency to QT5, but I had to manually add the Qt mkspec file
ptxdist creates as an option to the _CONF_OPT variable.

Two things are bad about this:

1.) I don't think it should be necessary to let the make rule set the
correct mkspec file.  There is only one and IMHO ptxdist should handle
this internally if CONF_TOOL is qmake?

2.) rather large Qt libraries are installed to the target now.  I guess
I might be able to avoid this by setting 'select QT5 if BUILDTIME' in
the in rule, but I would have expected HOST_QT5 to be sufficient.  This
does not work however for two reasons: a) ptxdist complains it needs QT5
if CONF_TOOL is qmake and b) if I only select HOST_QT5 that mkspec is
not generated.

I saw ptxdist having nearly zero packages selecting QT5, and none
requiring HOST_QT5 (?) so it's difficult to learn from examples here.
Maybe this usecase is quite esoteric?  Don't know.

In the end I would only need qmake, nothing more.  That one generates a
Makefile which is then used to compile the package.

Would take directions to improve ptxdist for qmake based packages.

Greets
Alex

Alexander Dahl (1):
  WIP: rtklib-demo5: Add new package

 rules/rtklib-demo5.in   | 23 ++++++++++++++++
 rules/rtklib-demo5.make | 58 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+)
 create mode 100644 rules/rtklib-demo5.in
 create mode 100644 rules/rtklib-demo5.make


base-commit: 90875f8af4f6f1dd9f8eda71df8e8a90866f9839
-- 
2.30.2




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [ptxdist] [RFC PATCH 1/1] WIP: rtklib-demo5: Add new package
  2023-10-17 11:35 [ptxdist] [RFC PATCH 0/1] building qmake based target packages Alexander Dahl
@ 2023-10-17 11:35 ` Alexander Dahl
  2023-11-10  7:51 ` [ptxdist] [RFC PATCH 0/1] building qmake based target packages Michael Olbrich
  1 sibling, 0 replies; 5+ messages in thread
From: Alexander Dahl @ 2023-10-17 11:35 UTC (permalink / raw)
  To: ptxdist; +Cc: Roelf-Erik Carsjens

---
 rules/rtklib-demo5.in   | 23 ++++++++++++++++
 rules/rtklib-demo5.make | 58 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+)
 create mode 100644 rules/rtklib-demo5.in
 create mode 100644 rules/rtklib-demo5.make

diff --git a/rules/rtklib-demo5.in b/rules/rtklib-demo5.in
new file mode 100644
index 000000000..61b69c58c
--- /dev/null
+++ b/rules/rtklib-demo5.in
@@ -0,0 +1,23 @@
+## SECTION=system_libraries
+
+config RTKLIB_DEMO5
+	tristate
+	select QT5
+	prompt "rtklib-demo5"
+	help
+	  RTKLIB Demo5 is an open source version of RTKLIB optimized for
+	  low cost receivers and for practical use.
+	  It includes additional solution features to deal with the
+	  sometimes very challenging measurements from lower cost
+	  receivers and is also optimized to work with
+	  multi-constellation solutions.
+	  This is a good choice for those interested in learning more
+	  about GNSS technologies.
+	  It is also a solid solution for almost any real-time or
+	  post-processing high precision positioning needs.
+
+	  This package contains the library only.
+
+	  https://rtkexplorer.com
+
+# vim: ft=kconfig noet tw=72 ts=8 sw=8
diff --git a/rules/rtklib-demo5.make b/rules/rtklib-demo5.make
new file mode 100644
index 000000000..3f0d1fd7e
--- /dev/null
+++ b/rules/rtklib-demo5.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2023 by Alexander Dahl <ada@thorsis.com>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_RTKLIB_DEMO5) += rtklib-demo5
+
+#
+# Paths and names
+#
+RTKLIB_DEMO5_VERSION	:= b34h
+RTKLIB_DEMO5_MD5	:= 404e8e0c98471358d203a5ab2e830098
+RTKLIB_DEMO5		:= rtklib-demo5-$(RTKLIB_DEMO5_VERSION)
+# release asset "demo5_b34h.zip" did not allow clean extract
+RTKLIB_DEMO5_SUFFIX	:= tar.gz
+RTKLIB_DEMO5_URL	:= https://github.com/rtklibexplorer/RTKLIB/archive/refs/tags/$(RTKLIB_DEMO5_VERSION).$(RTKLIB_DEMO5_SUFFIX)
+RTKLIB_DEMO5_SOURCE	:= $(SRCDIR)/$(RTKLIB_DEMO5).$(RTKLIB_DEMO5_SUFFIX)
+RTKLIB_DEMO5_DIR	:= $(BUILDDIR)/$(RTKLIB_DEMO5)
+RTKLIB_DEMO5_SUBDIR	:= src
+RTKLIB_DEMO5_LICENSE	:= BSD-2-Clause
+RTKLIB_DEMO5_LICENSE_FILES := file://license.txt;md5=0a9df7c41dafcfa98b6372cd36eae07b
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+RTKLIB_DEMO5_CONF_TOOL	:= qmake
+# ptxdist should pass this -spec option on its own
+RTKLIB_DEMO5_CONF_OPT	:=  \
+	$(CROSS_QMAKE_OPT) \
+	-spec "$(PTXDIST_SYSROOT_TARGET)/usr/lib/qt5/mkspecs/linux-ptx-g++"
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/rtklib-demo5.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, rtklib-demo5)
+	@$(call install_fixup, rtklib-demo5,PRIORITY,optional)
+	@$(call install_fixup, rtklib-demo5,SECTION,base)
+	@$(call install_fixup, rtklib-demo5,AUTHOR,"Alexander Dahl <ada@thorsis.com>")
+	@$(call install_fixup, rtklib-demo5,DESCRIPTION,missing)
+
+	@$(call install_lib, rtklib-demo5, 0, 0, 0644, libRTKLib)
+
+	@$(call install_finish, rtklib-demo5)
+
+	@$(call touch)
+
+# vim: ft=make noet tw=72 ts=8 sw=8
-- 
2.30.2




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [RFC PATCH 0/1] building qmake based target packages
  2023-10-17 11:35 [ptxdist] [RFC PATCH 0/1] building qmake based target packages Alexander Dahl
  2023-10-17 11:35 ` [ptxdist] [RFC PATCH 1/1] WIP: rtklib-demo5: Add new package Alexander Dahl
@ 2023-11-10  7:51 ` Michael Olbrich
  2023-11-20 13:55   ` Alexander Dahl
  1 sibling, 1 reply; 5+ messages in thread
From: Michael Olbrich @ 2023-11-10  7:51 UTC (permalink / raw)
  To: Alexander Dahl; +Cc: Roelf-Erik Carsjens, ptxdist

On Tue, Oct 17, 2023 at 01:35:14PM +0200, Alexander Dahl wrote:
> Hello everyone,
> 
> I currently have some kind of weird requirement: building a target
> package with qmake, but not linking against Qt.  It's a fork of RTKlib
> which is itself a university project (with hand written makefiles, but
> not for the part I'm interested in):
> 
> https://github.com/rtklibexplorer/RTKLIB/releases/tag/b34h
> 
> I actually achieved building it with the attached make rule.  Note it
> has a dependency to QT5, but I had to manually add the Qt mkspec file
> ptxdist creates as an option to the _CONF_OPT variable.
> 
> Two things are bad about this:
> 
> 1.) I don't think it should be necessary to let the make rule set the
> correct mkspec file.  There is only one and IMHO ptxdist should handle
> this internally if CONF_TOOL is qmake?

I'm pretty sure you're calling the wrong qmake here. You need to modify
PATH the same way e.g. rules/qwt5.make does.

> 2.) rather large Qt libraries are installed to the target now.  I guess
> I might be able to avoid this by setting 'select QT5 if BUILDTIME' in
> the in rule, but I would have expected HOST_QT5 to be sufficient.  This
> does not work however for two reasons: a) ptxdist complains it needs QT5
> if CONF_TOOL is qmake and b) if I only select HOST_QT5 that mkspec is
> not generated.

Do you need qmake from qt5 or would qt6 work as well? We already have a
host-qt6 package and if we build the binary there and split out the qmake
config stuff from qt6 into a new cross-qmake package.
It would need to copy the mkspecs from the host package I think before
adding the custom mkspecs stuff.

Michael

> I saw ptxdist having nearly zero packages selecting QT5, and none
> requiring HOST_QT5 (?) so it's difficult to learn from examples here.
> Maybe this usecase is quite esoteric?  Don't know.
> 
> In the end I would only need qmake, nothing more.  That one generates a
> Makefile which is then used to compile the package.
> 
> Would take directions to improve ptxdist for qmake based packages.
> 
> Greets
> Alex
> 
> Alexander Dahl (1):
>   WIP: rtklib-demo5: Add new package
> 
>  rules/rtklib-demo5.in   | 23 ++++++++++++++++
>  rules/rtklib-demo5.make | 58 +++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 81 insertions(+)
>  create mode 100644 rules/rtklib-demo5.in
>  create mode 100644 rules/rtklib-demo5.make
> 
> 
> base-commit: 90875f8af4f6f1dd9f8eda71df8e8a90866f9839
> -- 
> 2.30.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [RFC PATCH 0/1] building qmake based target packages
  2023-11-10  7:51 ` [ptxdist] [RFC PATCH 0/1] building qmake based target packages Michael Olbrich
@ 2023-11-20 13:55   ` Alexander Dahl
  2023-11-27 16:16     ` Michael Olbrich
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Dahl @ 2023-11-20 13:55 UTC (permalink / raw)
  To: Michael Olbrich; +Cc: Alexander Dahl, Roelf-Erik Carsjens, ptxdist

Hello Michael,

Am Fri, Nov 10, 2023 at 08:51:01AM +0100 schrieb Michael Olbrich:
> On Tue, Oct 17, 2023 at 01:35:14PM +0200, Alexander Dahl wrote:
> > Hello everyone,
> > 
> > I currently have some kind of weird requirement: building a target
> > package with qmake, but not linking against Qt.  It's a fork of RTKlib
> > which is itself a university project (with hand written makefiles, but
> > not for the part I'm interested in):
> > 
> > https://github.com/rtklibexplorer/RTKLIB/releases/tag/b34h
> > 
> > I actually achieved building it with the attached make rule.  Note it
> > has a dependency to QT5, but I had to manually add the Qt mkspec file
> > ptxdist creates as an option to the _CONF_OPT variable.
> > 
> > Two things are bad about this:
> > 
> > 1.) I don't think it should be necessary to let the make rule set the
> > correct mkspec file.  There is only one and IMHO ptxdist should handle
> > this internally if CONF_TOOL is qmake?
> 
> I'm pretty sure you're calling the wrong qmake here. You need to modify
> PATH the same way e.g. rules/qwt5.make does.

This works, thanks.

(If not setting that, the qmake of my host system was taken.  Double
checked that by removing that qmake for now.)

> > 2.) rather large Qt libraries are installed to the target now.  I guess
> > I might be able to avoid this by setting 'select QT5 if BUILDTIME' in
> > the in rule, but I would have expected HOST_QT5 to be sufficient.  This
> > does not work however for two reasons: a) ptxdist complains it needs QT5
> > if CONF_TOOL is qmake and b) if I only select HOST_QT5 that mkspec is
> > not generated.
> 
> Do you need qmake from qt5 or would qt6 work as well? We already have a
> host-qt6 package and if we build the binary there and split out the qmake
> config stuff from qt6 into a new cross-qmake package.

Tested with 'select QT5' and 'select QT6' now and both work.
Only doing 'select HOST_QT5' or 'HOST_QT6' yields this:

    [ 35/171] started : rtklib-demo5.prepare
    
    ptxdist: error: 'rtklib-demo5' uses 'qmake' but does not select 'qt5' or 'qt6'

(With ptxdist-2023.03.0 at least.)

> It would need to copy the mkspecs from the host package I think before
> adding the custom mkspecs stuff.

This is not yet in place, right?  At least I could not see any related
changes between ptxdist-2023.05.0 and master.

Greets
Alex

> 
> Michael
> 
> > I saw ptxdist having nearly zero packages selecting QT5, and none
> > requiring HOST_QT5 (?) so it's difficult to learn from examples here.
> > Maybe this usecase is quite esoteric?  Don't know.
> > 
> > In the end I would only need qmake, nothing more.  That one generates a
> > Makefile which is then used to compile the package.
> > 
> > Would take directions to improve ptxdist for qmake based packages.
> > 
> > Greets
> > Alex
> > 
> > Alexander Dahl (1):
> >   WIP: rtklib-demo5: Add new package
> > 
> >  rules/rtklib-demo5.in   | 23 ++++++++++++++++
> >  rules/rtklib-demo5.make | 58 +++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 81 insertions(+)
> >  create mode 100644 rules/rtklib-demo5.in
> >  create mode 100644 rules/rtklib-demo5.make
> > 
> > 
> > base-commit: 90875f8af4f6f1dd9f8eda71df8e8a90866f9839
> > -- 
> > 2.30.2
> > 
> > 
> > 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [RFC PATCH 0/1] building qmake based target packages
  2023-11-20 13:55   ` Alexander Dahl
@ 2023-11-27 16:16     ` Michael Olbrich
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Olbrich @ 2023-11-27 16:16 UTC (permalink / raw)
  To: ptxdist, Roelf-Erik Carsjens

On Mon, Nov 20, 2023 at 02:55:39PM +0100, Alexander Dahl wrote:
> Am Fri, Nov 10, 2023 at 08:51:01AM +0100 schrieb Michael Olbrich:
> > On Tue, Oct 17, 2023 at 01:35:14PM +0200, Alexander Dahl wrote:
> > > I currently have some kind of weird requirement: building a target
> > > package with qmake, but not linking against Qt.  It's a fork of RTKlib
> > > which is itself a university project (with hand written makefiles, but
> > > not for the part I'm interested in):
> > > 
> > > https://github.com/rtklibexplorer/RTKLIB/releases/tag/b34h
> > > 
> > > I actually achieved building it with the attached make rule.  Note it
> > > has a dependency to QT5, but I had to manually add the Qt mkspec file
> > > ptxdist creates as an option to the _CONF_OPT variable.
> > > 
> > > Two things are bad about this:
> > > 
> > > 1.) I don't think it should be necessary to let the make rule set the
> > > correct mkspec file.  There is only one and IMHO ptxdist should handle
> > > this internally if CONF_TOOL is qmake?
> > 
> > I'm pretty sure you're calling the wrong qmake here. You need to modify
> > PATH the same way e.g. rules/qwt5.make does.
> 
> This works, thanks.
> 
> (If not setting that, the qmake of my host system was taken.  Double
> checked that by removing that qmake for now.)
> 
> > > 2.) rather large Qt libraries are installed to the target now.  I guess
> > > I might be able to avoid this by setting 'select QT5 if BUILDTIME' in
> > > the in rule, but I would have expected HOST_QT5 to be sufficient.  This
> > > does not work however for two reasons: a) ptxdist complains it needs QT5
> > > if CONF_TOOL is qmake and b) if I only select HOST_QT5 that mkspec is
> > > not generated.
> > 
> > Do you need qmake from qt5 or would qt6 work as well? We already have a
> > host-qt6 package and if we build the binary there and split out the qmake
> > config stuff from qt6 into a new cross-qmake package.
> 
> Tested with 'select QT5' and 'select QT6' now and both work.
> Only doing 'select HOST_QT5' or 'HOST_QT6' yields this:
> 
>     [ 35/171] started : rtklib-demo5.prepare
>     
>     ptxdist: error: 'rtklib-demo5' uses 'qmake' but does not select 'qt5' or 'qt6'
> 
> (With ptxdist-2023.03.0 at least.)
> 
> > It would need to copy the mkspecs from the host package I think before
> > adding the custom mkspecs stuff.
> 
> This is not yet in place, right?  At least I could not see any related
> changes between ptxdist-2023.05.0 and master.

Correct. It's just an idea how this could work in the future. It's not
implemented at all.

Michael

> > > I saw ptxdist having nearly zero packages selecting QT5, and none
> > > requiring HOST_QT5 (?) so it's difficult to learn from examples here.
> > > Maybe this usecase is quite esoteric?  Don't know.
> > > 
> > > In the end I would only need qmake, nothing more.  That one generates a
> > > Makefile which is then used to compile the package.
> > > 
> > > Would take directions to improve ptxdist for qmake based packages.
> > > 
> > > Greets
> > > Alex
> > > 
> > > Alexander Dahl (1):
> > >   WIP: rtklib-demo5: Add new package
> > > 
> > >  rules/rtklib-demo5.in   | 23 ++++++++++++++++
> > >  rules/rtklib-demo5.make | 58 +++++++++++++++++++++++++++++++++++++++++
> > >  2 files changed, 81 insertions(+)
> > >  create mode 100644 rules/rtklib-demo5.in
> > >  create mode 100644 rules/rtklib-demo5.make
> > > 
> > > 
> > > base-commit: 90875f8af4f6f1dd9f8eda71df8e8a90866f9839
> > > -- 
> > > 2.30.2
> > > 
> > > 
> > > 
> > 
> > -- 
> > Pengutronix e.K.                           |                             |
> > Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> > 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> > Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-11-27 16:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-17 11:35 [ptxdist] [RFC PATCH 0/1] building qmake based target packages Alexander Dahl
2023-10-17 11:35 ` [ptxdist] [RFC PATCH 1/1] WIP: rtklib-demo5: Add new package Alexander Dahl
2023-11-10  7:51 ` [ptxdist] [RFC PATCH 0/1] building qmake based target packages Michael Olbrich
2023-11-20 13:55   ` Alexander Dahl
2023-11-27 16:16     ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox