libqwt: new package

Patch initially written by Thomas Petazzoni, then reworked and updated
by Laurent Gonzalez, and finally cleaned up by Thomas again.

[Peter: generic-package, deps, download, rename to qwt, move under Qt]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Laurent GONZALEZ 2012-06-02 06:14:00 +00:00 committed by Peter Korsgaard
parent 9e02c32fd6
commit afba84d1fc
4 changed files with 107 additions and 0 deletions

View File

@ -143,6 +143,7 @@ comment "QT libraries and helper libraries"
source "package/grantlee/Config.in"
source "package/qextserialport/Config.in"
source "package/qtuio/Config.in"
source "package/qwt/Config.in"
endif
source "package/x11r7/Config.in"

22
package/qwt/Config.in Normal file
View File

@ -0,0 +1,22 @@
config BR2_PACKAGE_QWT
bool "qwt"
depends on BR2_PACKAGE_QT_GUI_MODULE
help
Qwt is a graphics extension to the Qt GUI application
framework. It provides a 2D plotting widget and more.
http://http://sourceforge.net/projects/qwt
if BR2_PACKAGE_QWT
config BR2_PACKAGE_QWT_SVG
bool "SVG support"
select BR2_PACKAGE_QT_SVG
config BR2_PACKAGE_QWT_MATHML
bool "MathML support"
endif
comment "qwt depends on QT gui module"
depends on !BR2_PACKAGE_QT_GUI_MODULE

View File

@ -0,0 +1,32 @@
Remove useless check at build time
At build time, Qwt looks whether the Qwt libraries are already
installed in the destination directory, to avoid confusion between
libraries installed system-wide and locally-built shared
libraries. However, this behaviour conflicts with how Buildroot builds
and installs libraries, so get rid of it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: qwt-6.0.0/qwtbuild.pri
===================================================================
--- qwt-6.0.0.orig/qwtbuild.pri 2011-09-12 19:37:35.663275952 +0200
+++ qwt-6.0.0/qwtbuild.pri 2011-09-12 19:37:41.913275949 +0200
@@ -53,17 +53,3 @@
!debug_and_release {
OBJECTS_DIR = obj
}
-
-unix {
-
- exists( $${QMAKE_LIBDIR_QT}/libqwt.* ) {
-
- # On some Linux distributions the Qwt libraries are installed
- # in the same directory as the Qt libraries. Unfortunately
- # qmake always adds QMAKE_LIBDIR_QT at the beginning of the
- # linker path, so that the installed libraries will be
- # used instead of the local ones.
-
- error( "local build will conflict with $${QMAKE_LIBDIR_QT}/libqwt.*" )
- }
-}

52
package/qwt/qwt.mk Normal file
View File

@ -0,0 +1,52 @@
#############################################################
#
# qwt
#
#############################################################
QWT_VERSION = 6.0.1
QWT_SOURCE = qwt-$(QWT_VERSION).tar.bz2
QWT_SITE = http://downloads.sourceforge.net/project/qwt/qwt/$(QWT_VERSION)
QWT_INSTALL_STAGING = YES
QWT_DEPENDENCIES = qt
QWT_CONFIG = 's%QWT_INSTALL_PREFIX.*/usr/local/.*%QWT_INSTALL_PREFIX = /usr%'
QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtDesigner.*$$/\# QWT_CONFIG += QwtDesigner/'
QWT_CONFIG += -e 's%/features%/mkspecs/features%'
ifeq ($(BR2_PACKAGE_QWT_SVG),y)
QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtSvg.*$$/QWT_CONFIG += QwtSvg/'
else
QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtSvg.*$$/\# QWT_CONFIG += QwtSvg/'
endif
ifeq ($(BR2_PACKAGE_QWT_MATHML),y)
QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtMathML.*$$/QWT_CONFIG += QwtMathML/'
else
QWT_CONFIG += -e 's/^.*QWT_CONFIG.*QwtMathML.*$$/\# QWT_CONFIG += QwtMathML/'
endif
define QWT_CONFIGURE_CMDS
$(SED) $(QWT_CONFIG) $(@D)/qwtconfig.pri
(cd $(@D); $(QT_QMAKE))
endef
define QWT_BUILD_CMDS
$(MAKE) -C $(@D)
endef
# After installation, we fixup the INSTALL_PREFIX in qwtconfig.pri so
# that when building with qmake, -L$(STAGING_DIR)/usr/lib is used and
# not -L/usr/lib.
define QWT_INSTALL_STAGING_CMDS
$(MAKE) -C $(@D) install INSTALL_ROOT=$(STAGING_DIR)
$(SED) "s%QWT_INSTALL_PREFIX = .*%QWT_INSTALL_PREFIX = $(STAGING_DIR)/usr%" \
$(STAGING_DIR)/usr/mkspecs/features/qwtconfig.pri
endef
define QWT_INSTALL_TARGET_CMDS
$(MAKE) -C $(@D) install INSTALL_ROOT=$(TARGET_DIR)
rm -Rf $(TARGET_DIR)/usr/mkspecs
endef
$(eval $(generic-package))