Skip to contentSkip to conversation

QtSerialPort: new package

PATCH Superseded Thiago A. Correa 4 participants 6 messages Oct 29, 2012 – Nov 6, 2012

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 QtSerialPort: new package

---
 package/Config.in                    |    1 +
 package/qtserialport/Config.in       |   12 +++++++++++
 package/qtserialport/qtserialport.mk |   35 ++++++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+), 0 deletions(-)
 create mode 100644 package/qtserialport/Config.in
 create mode 100644 package/qtserialport/qtserialport.mk
package/Config.in +1 -0
index 331d879..e869c8a 100644
@@ -133,6 +133,7 @@ source "package/sdl_gfx/Config.in"
 comment "other GUIs"
 source "package/efl/Config.in"
 source "package/qt/Config.in"
+source "package/qtserialport/Config.in"
 source "package/x11r7/Config.in"
 
 comment "X libraries and helper libraries"
package/qtserialport/Config.in new file +12 -0
new file mode 100644
index 0000000..f84387a
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_QTSERIALPORT
+	bool "QtSerialPort"
+	depends on BR2_PACKAGE_QT
+	depends on BR2_PACKAGE_UDEV
+	help
+	  QtSerialPort module is an add-on for the Qt library, providing
+	  a single interface for both hardware and virtual serial ports.
+
+	  http://qt-project.org/wiki/QtSerialPort
+
+comment "QtSerialPort requires udev support"
+        depends on !(BR2_PACKAGE_UDEV)
package/qtserialport/qtserialport.mk new file +35 -0
new file mode 100644
index 0000000..cfd0518
@@ -0,0 +1,35 @@
+#############################################################
+#
+# QtSerialPort 
+#
+#############################################################
+QTSERIALPORT_VERSION = e831107f468618881e435932c8a42404c1dde13c
+QTSERIALPORT_SITE = git://gitorious.org/qtplayground/qtserialport.git
+QTSERIALPORT_LICENSE = LGPLv2
+QTSERIALPORT_LICENSE_FILES = LICENSE.LGPL
+QTSERIALPORT_INSTALL_STAGING = YES
+
+QTSERIALPORT_DEPENDENCIES = qt udev
+
+QTSERIALPORT_LDFLAGS = $(TARGET_LDFLAGS)
+
+define QTSERIALPORT_CONFIGURE_CMDS
+	(cd $(@D); \
+		$(QT_QMAKE) -recursive CONFIG+=release)
+endef
+
+define QTSERIALPORT_BUILD_CMDS
+	$(MAKE) -C $(@D)/src
+endef
+
+define QTSERIALPORT_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D)/src install
+	mv $(HOST_DIR)/usr/include/QtAddOnSerialPort $(STAGING_DIR)/usr/include/
+endef
+
+define QTSERIALPORT_INSTALL_TARGET_CMDS
+	cp -dpfr $(STAGING_DIR)/usr/lib/libSerialPort.so.* \
+	$(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
Signature · 1 line
1.7.3.4
#1 lore raw

PATCH v3 1/1 QtSerialPort: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thiago" == Thiago A Correa <[email protected]> writes:

Hi,

Thiago> Signed-off-by: Thiago A. Correa <[email protected]> Thiago> ---

 Thiago>  package/Config.in                    |    1 +
 Thiago>  package/qtserialport/Config.in       |   12 +++++++++++
 Thiago>  package/qtserialport/qtserialport.mk |   35 ++++++++++++++++++++++++++++++++++
 Thiago>  3 files changed, 48 insertions(+), 0 deletions(-)
 Thiago>  create mode 100644 package/qtserialport/Config.in
 Thiago>  create mode 100644 package/qtserialport/qtserialport.mk

Thiago> diff --git a/package/Config.in b/package/Config.in Thiago> index 331d879..e869c8a 100644
Thiago> --- a/package/Config.in
Thiago> +++ b/package/Config.in
Thiago> @@ -133,6 +133,7 @@ source "package/sdl_gfx/Config.in"

 Thiago>  comment "other GUIs"
 Thiago>  source "package/efl/Config.in"
 Thiago>  source "package/qt/Config.in"

Thiago> +source "package/qtserialport/Config.in"
Thiago> source "package/x11r7/Config.in"

Thomas a while ago posted patches for qtextserialport:

http://patchwork.ozlabs.org/patch/162431/

What is the relation between qtserialport and qtextserialport? Do we need both?

Thiago> +++ b/package/qtserialport/qtserialport.mk
Thiago> @@ -0,0 +1,35 @@
Thiago> +############################################################# Thiago> +#
Thiago> +# QtSerialPort
Thiago> +#
Thiago> +############################################################# Thiago> +QTSERIALPORT_VERSION = e831107f468618881e435932c8a42404c1dde13c Thiago> +QTSERIALPORT_SITE = git://gitorious.org/qtplayground/qtserialport.git
Thiago> +QTSERIALPORT_LICENSE = LGPLv2
Thiago> +QTSERIALPORT_LICENSE_FILES = LICENSE.LGPL
Thiago> +QTSERIALPORT_INSTALL_STAGING = YES
Thiago> +
Thiago> +QTSERIALPORT_DEPENDENCIES = qt udev
Thiago> +
Thiago> +QTSERIALPORT_LDFLAGS = $(TARGET_LDFLAGS)
Thiago> +
Thiago> +define QTSERIALPORT_CONFIGURE_CMDS
Thiago> + (cd $(@D); \
Thiago> + $(QT_QMAKE) -recursive CONFIG+=release)
Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_BUILD_CMDS
Thiago> + $(MAKE) -C $(@D)/src
Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_INSTALL_STAGING_CMDS
Thiago> + $(MAKE) -C $(@D)/src install
Thiago> + mv $(HOST_DIR)/usr/include/QtAddOnSerialPort $(STAGING_DIR)/usr/include/

That seems funky. Why is it installing under HOST_DIR in the first place?

Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_INSTALL_TARGET_CMDS
Thiago> + cp -dpfr $(STAGING_DIR)/usr/lib/libSerialPort.so.* \
Thiago> + $(TARGET_DIR)/usr/lib

Normally we install headers to target as well. Does the makefile install target not support DESTDIR?

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH v3 1/1 QtSerialPort: new package

Quoted 18 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thiago" == Thiago A Correa <[email protected]> writes:

Hi,

Thiago> Signed-off-by: Thiago A. Correa <[email protected]> Thiago> ---

 Thiago>  package/Config.in                    |    1 +
 Thiago>  package/qtserialport/Config.in       |   12 +++++++++++
 Thiago>  package/qtserialport/qtserialport.mk |   35 ++++++++++++++++++++++++++++++++++
 Thiago>  3 files changed, 48 insertions(+), 0 deletions(-)
 Thiago>  create mode 100644 package/qtserialport/Config.in
 Thiago>  create mode 100644 package/qtserialport/qtserialport.mk

Thiago> diff --git a/package/Config.in b/package/Config.in Thiago> index 331d879..e869c8a 100644
Thiago> --- a/package/Config.in
Thiago> +++ b/package/Config.in
Thiago> @@ -133,6 +133,7 @@ source "package/sdl_gfx/Config.in"

Quoted 4 lines
 Thiago>  comment "other GUIs"
 Thiago>  source "package/efl/Config.in"
 Thiago>  source "package/qt/Config.in"

Thiago> +source "package/qtserialport/Config.in"

Don't we want to pull all pure Qt libs under "Qt external packages" as was made with Python packages in Kconfig?

Quoted 8 lines

Thiago> source "package/x11r7/Config.in"

Thomas a while ago posted patches for qtextserialport:

http://patchwork.ozlabs.org/patch/162431/

What is the relation between qtserialport and qtextserialport? Do we need both?

The situation with serial port libraries under Qt is not so simple as with Python. I know at least 3 different libraries. So having them all won't hurt.

Quoted 48 lines

Thiago> +++ b/package/qtserialport/qtserialport.mk
Thiago> @@ -0,0 +1,35 @@
Thiago> +############################################################# Thiago> +#
Thiago> +# QtSerialPort
Thiago> +#
Thiago> +############################################################# Thiago> +QTSERIALPORT_VERSION = e831107f468618881e435932c8a42404c1dde13c Thiago> +QTSERIALPORT_SITE = git://gitorious.org/qtplayground/qtserialport.git
Thiago> +QTSERIALPORT_LICENSE = LGPLv2
Thiago> +QTSERIALPORT_LICENSE_FILES = LICENSE.LGPL
Thiago> +QTSERIALPORT_INSTALL_STAGING = YES
Thiago> +
Thiago> +QTSERIALPORT_DEPENDENCIES = qt udev
Thiago> +
Thiago> +QTSERIALPORT_LDFLAGS = $(TARGET_LDFLAGS)
Thiago> +
Thiago> +define QTSERIALPORT_CONFIGURE_CMDS
Thiago> + (cd $(@D); \
Thiago> + $(QT_QMAKE) -recursive CONFIG+=release)
Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_BUILD_CMDS
Thiago> + $(MAKE) -C $(@D)/src
Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_INSTALL_STAGING_CMDS
Thiago> + $(MAKE) -C $(@D)/src install
Thiago> + mv $(HOST_DIR)/usr/include/QtAddOnSerialPort $(STAGING_DIR)/usr/include/

That seems funky. Why is it installing under HOST_DIR in the first place?

Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_INSTALL_TARGET_CMDS
Thiago> + cp -dpfr $(STAGING_DIR)/usr/lib/libSerialPort.so.* \
Thiago> + $(TARGET_DIR)/usr/lib

Normally we install headers to target as well. Does the makefile install target not support DESTDIR?

--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#3 lore raw

PATCH v3 1/1 QtSerialPort: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yegor" == Yegor Yefremov <[email protected]> writes:

Thiago> +++ b/package/Config.in
Thiago> @@ -133,6 +133,7 @@ source "package/sdl_gfx/Config.in" Thiago> comment "other GUIs"
Thiago> source "package/efl/Config.in"
Thiago> source "package/qt/Config.in"
Thiago> +source "package/qtserialport/Config.in"

Yegor> Don't we want to pull all pure Qt libs under "Qt external packages" as Yegor> was made with Python packages in Kconfig?

Yes, we have "QT libraries and helper libraries" where it should go.

Quoted 2 lines
Quoted 2 lines

What is the relation between qtserialport and qtextserialport? Do we need both?

Yegor> The situation with serial port libraries under Qt is not so Yegor> simple as with Python. I know at least 3 different libraries. So Yegor> having them all won't hurt.

Ok.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH v3 1/1 QtSerialPort: new package

In reply to Peter Korsgaard

Hi Peter,

Quoted 7 lines · Peter Korsgaard

Thomas a while ago posted patches for qtextserialport:

http://patchwork.ozlabs.org/patch/162431/

What is the relation between qtserialport and qtextserialport? Do we need both?

I'm not sure if there is a relation between the two, but qtserialport (this package) is under the Qt Project umbrella (Repository, Gerrit code review, CI Servers/Tests). Currently it's under the playground repository but it has already been voted for graduation from playground on the development mailing list. Should be an "official" addon soon.

Quoted 6 lines

Thiago> +define QTSERIALPORT_INSTALL_STAGING_CMDS
Thiago> + $(MAKE) -C $(@D)/src install
Thiago> + mv $(HOST_DIR)/usr/include/QtAddOnSerialPort $(STAGING_DIR)/usr/include/

That seems funky. Why is it installing under HOST_DIR in the first place?

Beats me :(
The makefile generated by qmake is installing them there. Haven't found a better way to fix that so far.

Quoted 9 lines

Thiago> +endef
Thiago> +
Thiago> +define QTSERIALPORT_INSTALL_TARGET_CMDS
Thiago> + cp -dpfr $(STAGING_DIR)/usr/lib/libSerialPort.so.* \
Thiago> + $(TARGET_DIR)/usr/lib

Normally we install headers to target as well. Does the makefile install target not support DESTDIR?

Unfortunally, no.
Shouldn't the headers be installed to target only if the target has a compiler? Or should I copy there unconditionally?

Kind Regards,
Thiago A. Correa

#5 lore raw

PATCH v3 1/1 QtSerialPort: new package

Quoted 9 lines · Thiago A. Corr?a
Quoted 6 lines
Quoted 6 lines
   Thiago>  +define QTSERIALPORT_INSTALL_STAGING_CMDS
   Thiago>  +      $(MAKE) -C $(@D)/src install
   Thiago>  +      mv $(HOST_DIR)/usr/include/QtAddOnSerialPort $(STAGING_DIR)/usr/include/

That seems funky. Why is it installing under HOST_DIR in the first place?

Beats me:(
The makefile generated by qmake is installing them there. Haven't found a better way to fix that so far.

Yikes!

./host/usr/bin/qmake -query
QT_INSTALL_PREFIX:/home/arnout/src/buildroot/output/host/usr QT_INSTALL_DATA:/home/arnout/src/buildroot/output/host/usr QT_INSTALL_DOCS:/home/arnout/src/buildroot/output/host/usr/doc QT_INSTALL_HEADERS:/home/arnout/src/buildroot/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include QT_INSTALL_LIBS:/home/arnout/src/buildroot/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib QT_INSTALL_BINS:/home/arnout/src/buildroot/output/host/usr/bin QT_INSTALL_PLUGINS:/home/arnout/src/buildroot/output/host/usr/plugins QT_INSTALL_IMPORTS:/home/arnout/src/buildroot/output/host/usr/imports QT_INSTALL_TRANSLATIONS:/home/arnout/src/buildroot/output/host/usr/translations QT_INSTALL_CONFIGURATION:/home/arnout/src/buildroot/output/host/usr QT_INSTALL_EXAMPLES:/home/arnout/src/buildroot/output/host/usr QT_INSTALL_DEMOS:/home/arnout/src/buildroot/output/host/usr QMAKE_MKSPECS:/home/arnout/src/buildroot/output/host/usr/mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.8.3

This is because we install qmake in $(HOST_DIR) and use a qt.conf to make
the paths point back to staging, but only for headers and libraries. Thomas, do you remember why you didn't do that for prefix and data? (qt.mk:569-573, introduced by ca290e7e).

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F