x11-libs/qwt: Add qt5 support #517866, thanks Eugene Shalygin for the ebuild
authorJustin Lecher <jlec@gentoo.org>
Wed, 28 Jan 2015 13:31:18 +0000 (13:31 +0000)
committerJustin Lecher <jlec@gentoo.org>
Wed, 28 Jan 2015 13:31:18 +0000 (13:31 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0xB9D4F231BD1558AB!

x11-libs/qwt/ChangeLog
x11-libs/qwt/Manifest
x11-libs/qwt/qwt-6.1.2-r1.ebuild [new file with mode: 0644]

index 6c2e082dcdcaaee59b89608dfd917e387d12793e..87483a7c2b7d36798927fda72d87c3b58f5a6958 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for x11-libs/qwt
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/qwt/ChangeLog,v 1.137 2015/01/15 20:09:17 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qwt/ChangeLog,v 1.138 2015/01/28 13:31:17 jlec Exp $
+
+*qwt-6.1.2-r1 (28 Jan 2015)
+
+  28 Jan 2015; Justin Lecher <jlec@gentoo.org> +qwt-6.1.2-r1.ebuild:
+  Add qt5 support #517866, thanks Eugene Shalygin for the ebuild
 
   15 Jan 2015; Justin Lecher <jlec@gentoo.org> qwt-6.1.2.ebuild:
   Add missing dep on dev-qt/qtopengl, #536642
index d44722a50be63aea7dff43b0dcbefe79877e11b0..7429000d0963677adff4b962032217f3b606c5f1 100644 (file)
@@ -13,25 +13,26 @@ EBUILD qwt-5.2.3-r2.ebuild 2725 SHA256 aa01e7b17a086a6e37788d1c7863d6ea9915936da
 EBUILD qwt-6.0.0.ebuild 2278 SHA256 ade33991445f88cbf715a62dc9bc6acd93d0b8f0d4e52561a39a2cf82a001d68 SHA512 3359a28784a8a6f2818728043ff531ea82ee88873c106a7cffc24f5e45b77cff1a8dc1e993f11172f3ab46a4858f302804eaff7a1e1421da8526d49ad91b0964 WHIRLPOOL 79c763fb7434194bdbf1f11b6a61bbbddd60652558475a9ecbe96d9e867caeaa95309c0026d486d7e5aa3e78f2b86e1f1ef7469565e539c183446d79b516dca9
 EBUILD qwt-6.1.0.ebuild 3132 SHA256 9e00e0e13515f4020b6916619e3418f20a37df4c25e9ea4904b5ae7c932f0085 SHA512 23070b70188b2c51689ae37f7e5b117e36512882bb9ae5fd9e9677c9e7e34de6bbcb2bee99682e90591da694657e77cdbd4f53d01361f000fae347205b6ec247 WHIRLPOOL af3dac9017e1f494b4b380aee4998df03baec70f9e798937ae1a2903ef1ddde2c564d0aaada2573db3361aa61d6c0f50f336ebeca529ec14be109a24fd0b0609
 EBUILD qwt-6.1.1.ebuild 3183 SHA256 619b1936c8fe43a2f3b6389ec16bdb9523ae932b99becc6cb3b54431778a88d5 SHA512 49576b220ec6995e5377b39c41ed47e93b7552a394ff741a1f249386e1267417d47d4f9eb8721b1c055ab70ce8cf89d42a7f99d2c13e0ba87f008f541cc5c314 WHIRLPOOL 41c7aa8d83122ac8bb5e7ac87adad543f7c38e74d33af7a6ad81bd22863dd2d609ed1b821daabc7298bb9554322909d403cdfc231ad2b15f26603c60f5a5fded
+EBUILD qwt-6.1.2-r1.ebuild 4972 SHA256 0cf4ef2205ec1131b392cf005cd73d4e92b32ce5358e8438db2e58405e6f63e6 SHA512 db23dd398f54dccb170670e1728d814b1ec4854b5a5ceb2ca561da5ac95d3ce5c95964335b82749509236fc363713527c9efb448386238a7d8d1ad6f2d0960e6 WHIRLPOOL 8f9aba3eaf3cd3ec75df8872336fdcec97133c1a9bb08683e5ce4decdce75269a6fc08698f4667229e1457a89735987c0e2ebc274a7238ec1811933b4295db16
 EBUILD qwt-6.1.2.ebuild 3477 SHA256 960fd31f5275563042ac494f4b08f42b210f63a03a31e59fcd5eff29321b5dc6 SHA512 cc01d9fa7f657caa4dd7a1ec53252cbedbd5f5295d9de66acb3fb3ce9e74164288cb174f85802f2a25caa2dbb1c8040d719d9452780e9e825bc1593793c4fe13 WHIRLPOOL ef0a4a430b01de0e1676c58d9f33d86ea46af3bd0d878b20f78498834d8c032cdf283cef91e4d22a49f3999d7d3c4481249ef8ab9302618ca41187d927cd8123
-MISC ChangeLog 18544 SHA256 85a5c8649717b18d38a5dc09537e8cddf404ba6002e591d9d6e7ecf07b55500f SHA512 bd76c4207ba7e9c24313374eb16a978d4cfa4eeaaf799999f40f406907d4de49e87e2cbbae289714a5ecf66aa6868954261335192d4463a7a7fd0a5630c7c0f5 WHIRLPOOL 9e2970955a72276dc2b4ff4beb3e2d4ddb24cae54680544c0ceb094a5d1e11923a049731f0aa5b95b8f17850bf487dcab86ce7e7668a001fe7fec1798fcaa33e
+MISC ChangeLog 18708 SHA256 cf46c9c3928f69f7c6285e9e52b9d8888fe3efa7ae8ba8ee9adae998cf3cd6dd SHA512 f86d15fbb0507d61dc5531dd2a10a29ec53eafb16c49b54099f32c07ddb07d4f1f6c1dcb17e7748475c37cad79eb91509f7b20621cccbdcd17db34508ab1123c WHIRLPOOL 13bbc7a93caef80a3cb838ed8ed1f9a609e0ee8af7eeea0a347557eb8ddade01580060854e5cb1ba9db636c9102e356222750f21d06df18005acc3fc2224467f
 MISC metadata.xml 615 SHA256 143e1e3cfb374536ae429ca941b781a34060906c17144a72f95c6717c9f9dc91 SHA512 dce756ddd462905a17ff1504eb3615cf652e2da0dae7678689d5880940601a4ecce8dbc2808feb6de9061fbf602c8d8a19d0f17a3ea7e0ec4af38688a9a6d466 WHIRLPOOL e89713d285d300cd40c9691b3e36581d300fc7e5877d8c0c6e0013ea74e761354416e44a5137b2c234b20b2e6fa9e759e6127c9b182628679ce418d695b120de
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0
 
-iQJ8BAEBCgBmBQJUuB83XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ8BAEBCgBmBQJUyOSmXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyQ0JDQjFGMzBDQ0UxMjFGNENDNDgxMDdC
-OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVirGWoP/2dap/dyS8E1pxd8XeYTi9Yi
-t3GdaHHCJj34kxe7u+Jg0EHLywnLVrg2d0WWpJiebtBORp2IbpOafYmthOwnC9Aw
-QhV7hIC8QMy/XLwec19/j8WHAaWsij6efWdDFW3sM2IaJwdTLpb5MpMz4JJKG1M1
-E1+wm0rYwcJOUMM56I+TptbTyiMkZw/O265W2XAcc3+vrGcNvEQkbMn5BvvUAT5o
-I6o6QJcC5knBzbl9GNXID2I1FL892vGqPfXe25lUdRQ/LJnSCs+isLhJQtHpf7ae
-skNMqcVaMihIwVAuEgkUDDWc3qyWcZBlxei+WDtabcTYfzziMHlmjB1Cm1urf/DZ
-wsz0zFWWCONWG4Yrg9lCiSsZSt9ucdYXND79WPyQFRpAHDPGn5R7rT1Kdb9EoPPO
-3kfyDlFexXJB26bea3hf6bL3358FACnnhSwKHVS1ukwLNdCOnQOgYDw+WhdSmZWU
-3pNogFZn6lG2SOIIzPlCjrNe41dtDSXQUcdlMzUG4qtEpKsOEv/+ClQ/RzJx6+ZB
-Vu5yo+Sh803+vcxijzlYFCo7mJtmEwlMS2elfiReDA1A5runrefDTZsQKUGxXgr5
-2x2p2JrUcQOtGSF0KboEdm6n1tTVl99i56v8om7zDuzTee0C5NQ1iMJK3i5pFKqg
-47pNnX64R0aD8SrDyNDU
-=20mU
+OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVir8u8P/3ERYHTxmwoyNAR19eY8voIA
+6m4yOSvLJL92ISycuI4cLMLgY3d02Td3+kgDduhcN7wcH4+d+HFcWyaP5+DHRL0L
+9qNW6ite32RInGReqrvwxs7L3H/+meHrF8mdbth/H/RdhSlfJHNQZ/st9at5lpjl
+tbAGzpe9+yuCZKtxTQUfJf7oYOTZ1Rce5Bqr7RCcuVNKt0ZahUAMfxMm5OgVkGiB
+ZSbnJ+aJXEP1kLw4nyeEE8Z3K4NzntZfeiVrkpPNfTXE8Ax4Gn1R0GLHTbxHxGi9
+oQCgYcwg4XOVTPtm2cBF8w/nuvXA4hKvuBuSwweexxXEkK7Q+pUyw+or4sJ+NDkC
+3p/mZ3HHCn4YidmKxipumqMLecae93VhYIn/O0RnveL+O6DkbbcdaHId+K1LVggG
+wCabbQsR/tkvkHfruRMnBBJBW47oyAMPAxgrxBEdrs1CIzp75V5dlgmLOfjrwMYj
+Xp60YE63nltsm9cIWOwvPkmADnCH/VMVEMABfGs8idF0AB7pyvfdiGp9nB00gCvn
+FApAKAm3Txthvaa6LcynoKPridkh1AHc5YfLNN7aTC/lRGjZXiJ61wVivcOCv4oe
++ILd38czjw1pA+o0ydabKOqm5/y8ltOFpQFq/u3+p+Os8wTKbRUdJj8/ccq0ETGY
+HgPO2GJFljiYWa4n/a+1
+=RDiz
 -----END PGP SIGNATURE-----
diff --git a/x11-libs/qwt/qwt-6.1.2-r1.ebuild b/x11-libs/qwt/qwt-6.1.2-r1.ebuild
new file mode 100644 (file)
index 0000000..4598741
--- /dev/null
@@ -0,0 +1,198 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qwt/qwt-6.1.2-r1.ebuild,v 1.1 2015/01/28 13:31:17 jlec Exp $
+
+EAPI=5
+
+inherit eutils multibuild multilib qmake-utils
+
+MY_P="${PN}-${PV/_/-}"
+
+DESCRIPTION="2D plotting library for Qt4"
+HOMEPAGE="http://qwt.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV/_/-}/${MY_P}.tar.bz2"
+
+LICENSE="qwt mathml? ( LGPL-2.1 Nokia-Qt-LGPL-Exception-1.1 )"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+SLOT="6"
+IUSE="doc examples mathml opengl qt4 qt5 static-libs svg"
+
+DEPEND="
+       !<x11-libs/qwt-5.2.3
+       qt4? (
+               dev-qt/designer:4
+               dev-qt/qtcore:4
+               dev-qt/qtgui:4
+               opengl? ( dev-qt/qtopengl:4 )
+               svg? ( dev-qt/qtsvg:4 )
+       )
+       qt5? (
+               dev-qt/designer:5
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtconcurrent:5
+               dev-qt/qtwidgets:5
+               opengl? ( dev-qt/qtopengl:5 )
+               svg? ( dev-qt/qtsvg:5 )
+       )
+       doc? ( !<media-libs/coin-3.1.3[doc] )
+       opengl? ( virtual/opengl )
+       "
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+DOCS="README"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.0.2-invalid-read.patch
+       "${FILESDIR}"/${PN}-6.1.1-pc-destdir.patch
+       )
+
+src_prepare() {
+       cat > qwtconfig.pri <<-EOF
+               QWT_INSTALL_LIBS = "${EPREFIX}/usr/$(get_libdir)"
+               QWT_INSTALL_HEADERS = "${EPREFIX}/usr/include/qwt6"
+               QWT_INSTALL_DOCS = "${EPREFIX}/usr/share/doc/${PF}"
+               QWT_CONFIG += QwtPlot QwtWidgets QwtDesigner QwtPkgConfig
+               VERSION = ${PV/_*}
+               QWT_VERSION = ${PV/_*}
+       EOF
+
+       use mathml && echo "QWT_CONFIG += QwtMathML" >> qwtconfig.pri
+       use opengl && echo "QWT_CONFIG += QwtOpenGL" >> qwtconfig.pri
+       use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
+
+       cat > qwtbuild.pri <<-EOF
+               QWT_CONFIG += qt warn_on thread release no_keywords
+       EOF
+
+       MULTIBUILD_VARIANTS=( )
+
+       if use qt4; then
+               use static-libs && MULTIBUILD_VARIANTS+=( qt4-static )
+               MULTIBUILD_VARIANTS+=( qt4-shared )
+       fi
+
+       if use qt5; then
+               use static-libs && MULTIBUILD_VARIANTS+=( qt5-static )
+               MULTIBUILD_VARIANTS+=( qt5-shared )
+       fi
+
+       multibuild_copy_sources
+
+       preparation() {
+               if [[ ${MULTIBUILD_VARIANT} == *-shared ]]; then
+                       echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri
+               fi
+
+               case "${MULTIBUILD_VARIANT}" in
+                       qt4-*)
+                               cat >> qwtconfig.pri <<-EOF
+                                       QWT_INSTALL_PLUGINS   = "${EPREFIX}/usr/$(get_libdir)/qt4/plugins/designer"
+                                       QWT_INSTALL_FEATURES  = "${EPREFIX}/usr/share/qt4/mkspecs/features"
+                               EOF
+                               sed \
+                                       -e 's/target doc/target/' \
+                                       -e "/^TARGET/s:(qwt):(qwt6-qt4):g" \
+                                       -e "/^TARGET/s:qwt):qwt6-qt4):g" \
+                                       -i src/src.pro || die
+
+                               sed \
+                                       -e '/qwtAddLibrary/s:(qwt):(qwt6-qt4):g' \
+                                       -e '/qwtAddLibrary/s:qwt):qwt6-qt4):g' \
+                                       -i qwt.prf designer/designer.pro examples/examples.pri \
+                                       textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
+
+                       ;;
+                       qt5-*)
+                               cat >> qwtconfig.pri <<-EOF
+                                       QWT_INSTALL_PLUGINS   = "${EPREFIX}/usr/$(get_libdir)/qt5/plugins/designer"
+                                       QWT_INSTALL_FEATURES  = "${EPREFIX}/usr/share/qt5/mkspecs/features"
+                               EOF
+                               sed \
+                                       -e 's/target doc/target/' \
+                                       -e "/^TARGET/s:(qwt):(qwt6-qt5):g" \
+                                       -e "/^TARGET/s:qwt):qwt6-qt5):g" \
+                                       -i src/src.pro || die
+
+                               sed \
+                                       -e '/qwtAddLibrary/s:(qwt):(qwt6-qt5):g' \
+                                       -e '/qwtAddLibrary/s:qwt):qwt6-qt5):g' \
+                                       -i qwt.prf designer/designer.pro examples/examples.pri \
+                                       textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
+                       ;;
+               esac
+               epatch "${PATCHES[@]}"
+       }
+
+       multibuild_foreach_variant run_in_build_dir preparation
+}
+
+src_configure() {
+       configuration() {
+               case "${MULTIBUILD_VARIANT}" in
+                       qt4-*)
+                               eqmake4
+                               ;;
+                       qt5-*)
+                               eqmake5
+                               ;;
+               esac
+       }
+       multibuild_parallel_foreach_variant run_in_build_dir configuration
+}
+
+src_compile() {
+       multibuild_foreach_variant run_in_build_dir default
+}
+
+src_test() {
+       testing() {
+               cd examples || die
+               case "${MULTIBUILD_VARIANT}" in
+                       qt4-*)
+                               eqmake4 examples.pro
+                               ;;
+                       qt5-*)
+                               eqmake5 examples.pro
+                               ;;
+               esac
+               emake
+       }
+       multibuild_foreach_variant run_in_build_dir testing
+}
+
+src_install () {
+       rm -f doc/man/*/{_,deprecated}* || die
+
+       multibuild_foreach_variant run_in_build_dir emake INSTALL_ROOT="${D}" install
+
+       if use qt4; then
+               mv "${ED}"/usr/$(get_libdir)/pkgconfig/qwt6{-qt4,}.pc || die
+       fi
+
+       if use mathml; then
+               sed \
+                       -e "s: -L${WORKDIR}.* -lqwt6: -lqwt6:g" \
+                       -i "${ED}"/usr/$(get_libdir)/pkgconfig/qwtmathml.pc || die
+       fi
+
+       use doc && dohtml -r doc/html/*
+
+       if use examples; then
+               # don't build examples - fix the qt files to build once installed
+               cat > examples/examples.pri <<-EOF
+                       include( qwtconfig.pri )
+                       TEMPLATE     = app
+                       MOC_DIR      = moc
+                       INCLUDEPATH += "${EPREFIX}/usr/include/qwt6"
+                       DEPENDPATH  += "${EPREFIX}/usr/include/qwt6"
+                       LIBS        += -lqwt6
+               EOF
+               sed -i -e 's:../qwtconfig:qwtconfig:' examples/examples.pro || die
+               cp *.pri examples/ || die
+               insinto /usr/share/${PN}6
+               doins -r examples
+       fi
+}