blob: ea0b814342bc44031fbbcab79f0f00415fb9760a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/qwt/qwt-6.0.2-r1.ebuild,v 1.2 2013/11/10 13:38:43 jlec Exp $
EAPI=5
inherit eutils multibuild qt4-r2
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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
SLOT="6"
IUSE="doc examples mathml static-libs svg"
DEPEND="
dev-qt/qtgui:4
doc? ( !<media-libs/coin-3.1.3[doc] )
svg? ( dev-qt/qtsvg:4 )"
RDEPEND="${DEPEND}"
S="${WORKDIR}"/${MY_P}
DOCS="CHANGES README"
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
VERSION = ${PV/_*}
QWT_VERSION = ${PV/_*}
QWT_INSTALL_PLUGINS = "${EPREFIX}/usr/$(get_libdir)/qt4/plugins/designer"
QWT_INSTALL_FEATURES = "${EPREFIX}/usr/share/qt4/mkspecs/features"
EOF
if use mathml; then
cat >> qwtconfig.pri <<-EOF
QWT_CONFIG += QwtMathML
EOF
fi
cat > qwtbuild.pri <<-EOF
QWT_CONFIG += qt warn_on thread release no_keywords
EOF
sed \
-e 's/target doc/target/' \
-i src/src.pro || die
# Renaming lib to libqwt6.so to enable slotting
sed \
-e "/^TARGET/s:(qwt):(qwt6):g" \
-i src/src.pro || die
sed \
-e '/qwtAddLibrary/s:(qwt):(qwt6):g' \
-i qwt.prf designer/designer.pro examples/examples.pri \
textengines/mathml/qwtmathml.prf textengines/textengines.pri || die
sed \
-e 's:libqwt:libqwt6:g' \
-i qwtbuild.pri || die
use svg && echo "QWT_CONFIG += QwtSvg" >> qwtconfig.pri
epatch "${FILESDIR}/${PN}-6.0.2-invalid-read.patch"
MULTIBUILD_VARIANTS=( shared )
use static-libs && MULTIBUILD_VARIANTS+=( static )
preparation() {
cp -rf "${S}" "${BUILD_DIR}" || die
[[ ${MULTIBUILD_VARIANT} == shared ]] && \
echo "QWT_CONFIG += QwtDll" >> "${BUILD_DIR}"/qwtconfig.pri
run_in_build_dir qt4-r2_src_prepare
}
multibuild_foreach_variant preparation
}
src_configure() {
multibuild_parallel_foreach_variant qt4-r2_src_configure
}
src_compile() {
compilation() {
# cd "${BUILD_DIR}" || die
# run_in_build_dir pwd
# run_in_build_dir ls -l
# run_in_build_dir default
cd "${BUILD_DIR}" || die
default
}
# multibuild_foreach_variant run_in_build_dir default
multibuild_foreach_variant compilation
building() {
# split compilation to allow parallel building
emake sub-src
emake
}
# building
# if use static-libs; then
# sed "/QwtDll/d" -i qwtconfig.pri || die
# eqmake4
# building
# echo "QWT_CONFIG += QwtDll" >> qwtconfig.pri || die
# fi
}
src_test() {
cd examples || die
eqmake4 examples.pro
emake
}
src_install () {
qt4-r2_src_install
# use static-libs && dolib.so lib/*.so*
use static-libs && dolib.a lib/*.a
if use doc; then
dohtml -r doc/html/*
fi
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
doins -r examples
fi
}
|