103 ) | %{l_rpmtool} msg -b -t notice |
103 ) | %{l_rpmtool} msg -b -t notice |
104 |
104 |
105 %setup -q -n qt-x11-opensource-src-%{version} |
105 %setup -q -n qt-x11-opensource-src-%{version} |
106 x11_incdir=`%{l_rc} --query x11_incdir` |
106 x11_incdir=`%{l_rc} --query x11_incdir` |
107 x11_libdir=`%{l_rc} --query x11_libdir` |
107 x11_libdir=`%{l_rc} --query x11_libdir` |
108 fontconf=`%{l_prefix}/bin/pkg-config --libs-only-l --static fontconfig` |
108 fontconflibs=`%{l_prefix}/bin/pkg-config --libs-only-l --static fontconfig` |
|
109 openssllibs=`%{l_prefix}/bin/pkg-config --libs --static openssl` |
|
110 |
109 loclibs='' |
111 loclibs='' |
110 case "%{l_platform -t}" in |
112 case "%{l_platform -t}" in |
111 *-sunos* ) |
113 *-sunos* ) |
112 loclibs='-lsocket -lnsl' |
114 loclibs='-lsocket -lnsl' |
113 ;; |
115 ;; |
117 do |
119 do |
118 ln -s $plat `echo $plat | %{l_shtool} subst -e 's;\(.*\)-generic-\(.*\);\1-x86-\2;'` |
120 ln -s $plat `echo $plat | %{l_shtool} subst -e 's;\(.*\)-generic-\(.*\);\1-x86-\2;'` |
119 done |
121 done |
120 ) || exit $? |
122 ) || exit $? |
121 %{l_shtool} subst \ |
123 %{l_shtool} subst \ |
122 -e 's;\(-z[ \t][ \t]*\)\([^ \t\"][^ \t\"]*\);\1"\2";g' \ |
124 -e 's;\(-z[\t ][\t ]*\)\([^\t \"][^\t \"]*\);\1"\2";g' \ |
123 configure |
125 configure |
124 %{l_shtool} subst \ |
126 %{l_shtool} subst \ |
125 -e "s;\(QMAKE_LIBS_X11.*\)-lfreetype -lfontconfig;\1$fontconf;" \ |
127 -e "s;\(QMAKE_LIBS_X11.*\)-lfreetype -lfontconfig;\1$fontconflibs;" \ |
|
128 configure |
|
129 %{l_shtool} subst \ |
|
130 -e "s;\(OPENSSL_LIBS *=\) *-lssl -lcrypto;\1 $openssllibs;" \ |
126 configure |
131 configure |
127 %{l_shtool} subst \ |
132 %{l_shtool} subst \ |
128 -e 's;-silent|;-rpath|-silent|;' \ |
133 -e 's;-silent|;-rpath|-silent|;' \ |
129 -e 's;\(RPATH_FLAGS="\)\\"\$QT_INSTALL_LIBS\\" \($RPATH_FLAGS"\);\1\2;' \ |
134 -e 's;\(RPATH_FLAGS="\)\\"\$QT_INSTALL_LIBS\\" \($RPATH_FLAGS"\);\1\2;' \ |
130 -e "s;\(echo.*QMAKE_RPATHDIR +=\).*\$QT_INSTALL_LIBS\\\\\"\\\";\1 $x11_libdir\";" \ |
135 -e "s;\(echo.*QMAKE_RPATHDIR +=\).*\$QT_INSTALL_LIBS\\\\\"\\\";\1 $x11_libdir\";" \ |
132 %{l_shtool} subst \ |
137 %{l_shtool} subst \ |
133 -e 's;\(TRY_INCLUDEPATHS = \).*\(\$\$INCLUDEPATH\);\1\2;' \ |
138 -e 's;\(TRY_INCLUDEPATHS = \).*\(\$\$INCLUDEPATH\);\1\2;' \ |
134 -e 's;/freetype2;/freetype;' \ |
139 -e 's;/freetype2;/freetype;' \ |
135 config.tests/unix/freetype/freetype.pri |
140 config.tests/unix/freetype/freetype.pri |
136 %{l_shtool} subst \ |
141 %{l_shtool} subst \ |
137 -e "s;^\(LIBS += \)-lfreetype -lfontconfig;\1$fontconf;" \ |
142 -e "s;^\(LIBS += \)-lfreetype -lfontconfig;\1$fontconflibs;" \ |
138 config.tests/x11/fontconfig/fontconfig.pro |
143 config.tests/x11/fontconfig/fontconfig.pro |
139 %{l_shtool} subst \ |
144 %{l_shtool} subst \ |
140 -e "s;\(LIBS += -lpq\);\1 -lssl -lcrypto $loclibs;" \ |
145 -e "s;\(LIBS += -lpq\);\1 -lssl -lcrypto $loclibs;" \ |
141 config.tests/unix/psql/psql.pro |
146 config.tests/unix/psql/psql.pro |
142 %{l_shtool} subst \ |
147 %{l_shtool} subst \ |
151 src/gui/kernel/kernel.pri |
156 src/gui/kernel/kernel.pri |
152 %{l_shtool} subst \ |
157 %{l_shtool} subst \ |
153 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_PSQL;INCPATH += `pg_config --includedir 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
158 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_PSQL;INCPATH += `pg_config --includedir 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
154 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_MYSQL;INCPATH += `mysql_config --include 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
159 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_MYSQL;INCPATH += `mysql_config --include 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
155 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_SQLITE;INCPATH += `pkg-config --cflags-only-I sqlite3 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
160 -e "s;QMAKE_CXXFLAGS \*= \$\$QT_CFLAGS_SQLITE;INCPATH += `pkg-config --cflags-only-I sqlite3 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
|
161 src/plugins/sqldrivers/mysql/mysql.pro \ |
|
162 src/plugins/sqldrivers/psql/psql.pro \ |
|
163 src/plugins/sqldrivers/sqlite/sqlite.pro \ |
156 src/sql/drivers/drivers.pri |
164 src/sql/drivers/drivers.pri |
157 %{l_shtool} subst \ |
165 %{l_shtool} subst \ |
158 -e "s;QMAKE_CXXFLAGS += \$\$QT_CFLAGS_DBUS;INCPATH += `pkg-config --cflags-only-I dbus-1 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
166 -e "s;QMAKE_CXXFLAGS += \$\$QT_CFLAGS_DBUS;INCPATH += `pkg-config --cflags-only-I dbus-1 2>/dev/null | %{l_shtool} subst -e 's;-I;;g'`;g" \ |
159 src/dbus/dbus.pro |
167 src/dbus/dbus.pro |
160 %{l_shtool} subst \ |
168 %{l_shtool} subst \ |
178 -e 's;^\( *contains(QT_CONFIG, freetype) {\);\1 LIBS += -lfreetype;' \ |
186 -e 's;^\( *contains(QT_CONFIG, freetype) {\);\1 LIBS += -lfreetype;' \ |
179 src/gui/text/text.pri |
187 src/gui/text/text.pri |
180 %{l_shtool} subst \ |
188 %{l_shtool} subst \ |
181 -e 's;\(#include *"\)\(tiffio.h"\);\1tiff/\2;' \ |
189 -e 's;\(#include *"\)\(tiffio.h"\);\1tiff/\2;' \ |
182 src/plugins/imageformats/tiff/qtiffhandler.cpp |
190 src/plugins/imageformats/tiff/qtiffhandler.cpp |
|
191 %{l_shtool} subst \ |
|
192 -e 's;\(CONFIG[\t ]*+=[\t ]*qt\);\1 x11;' \ |
|
193 tools/qtconfig/qtconfig.pro |
183 # for projfile in `find examples/ -name '*.pro' -print`; do |
194 # for projfile in `find examples/ -name '*.pro' -print`; do |
184 # echo 'CONFIG += release' >>$projfile |
195 # echo 'CONFIG += release' >>$projfile |
185 # done |
196 # done |
186 |
197 |
187 %build |
198 %build |
188 # protect against sloppy code inclusion of all unused subprojects |
199 # protect against sloppy code inclusion of all unused subprojects |
189 rm -rf src/3rdparty/[^cdhmsw]* src/3rdparty/sql* src/3rdparty/win* |
200 rm -rf src/3rdparty/[^cdhmsw]* src/3rdparty/sql* src/3rdparty/win* |
190 |
201 |
|
202 # detect which platform for which to build |
191 case "%{l_platform -t}" in |
203 case "%{l_platform -t}" in |
192 sun4[uv]-sunos* | amd64-sunos* ) platcomp="solaris-g++-64" ;; |
204 sun4[uv]-sunos* | amd64-sunos* ) platcomp="solaris-g++-64" ;; |
193 i?86-sunos* ) platcomp="solaris-g++" ;; |
205 i?86-sunos* ) platcomp="solaris-g++" ;; |
194 amd64-linux* ) platcomp="linux-g++-64" ;; |
206 amd64-linux* ) platcomp="linux-g++-64" ;; |
195 i?86-linux* ) platcomp="linux-g++" ;; |
207 i?86-linux* ) platcomp="linux-g++" ;; |
199 *-hpux* ) platcomp="hpux-g++" ;; |
211 *-hpux* ) platcomp="hpux-g++" ;; |
200 *-irix* ) platcomp="irix-g++" ;; |
212 *-irix* ) platcomp="irix-g++" ;; |
201 * ) echo "Platform '%{l_platform -t}' is not supported." 2>&1; exit 1 ;; |
213 * ) echo "Platform '%{l_platform -t}' is not supported." 2>&1; exit 1 ;; |
202 esac |
214 esac |
203 |
215 |
|
216 # detect which architecture extensions are available |
|
217 archflags='' |
|
218 case "%{l_platform -t}" in |
|
219 amd64-* ) |
|
220 break |
|
221 ;; |
|
222 * ) |
|
223 archflags='-no-sse2 -no-3dnow' |
|
224 ;; |
|
225 esac |
|
226 |
204 %if "%{with_shared}" == "yes" |
227 %if "%{with_shared}" == "yes" |
205 # optional shared build (precedes mandatory static build) |
228 # optional shared build (precedes mandatory static build) |
206 echo 'yes' | ./configure \ |
229 echo 'yes' | ./configure \ |
|
230 $archflags \ |
207 -prefix %{l_prefix} \ |
231 -prefix %{l_prefix} \ |
208 -bindir %{l_prefix}/bin \ |
232 -bindir %{l_prefix}/bin \ |
209 -libdir %{l_prefix}/lib/qt \ |
233 -libdir %{l_prefix}/lib/qt \ |
210 -docdir %{l_prefix}/share/qt/doc \ |
234 -docdir %{l_prefix}/share/qt/doc \ |
211 -headerdir %{l_prefix}/include \ |
235 -headerdir %{l_prefix}/include \ |
268 %{l_make} %{l_mflags -O} \ |
292 %{l_make} %{l_mflags -O} \ |
269 sub-corelib sub-xml sub-network sub-gui sub-sql \ |
293 sub-corelib sub-xml sub-network sub-gui sub-sql \ |
270 sub-script sub-testlib sub-qt3support sub-dbus \ |
294 sub-script sub-testlib sub-qt3support sub-dbus \ |
271 sub-opengl sub-xmlpatterns sub-svg sub-plugins |
295 sub-opengl sub-xmlpatterns sub-svg sub-plugins |
272 ) || exit $? |
296 ) || exit $? |
|
297 ( cd demos |
|
298 %{l_make} %{l_mflags -O} sub-arthurplugin |
|
299 ) || exit $? |
273 |
300 |
274 # cache shared libs and initialize the build configuration, which |
301 # cache shared libs and initialize the build configuration, which |
275 # would otherwise still contain references to our shared libs build |
302 # would otherwise still contain references to our shared libs build |
276 %{l_shtool} mkdir -f -p -m 755 dynamic |
303 %{l_shtool} mkdir -f -p -m 755 dynamic |
277 mv lib/* dynamic/ |
304 mv lib/* dynamic/ |
281 rm -f .qmake.cache |
308 rm -f .qmake.cache |
282 %endif |
309 %endif |
283 |
310 |
284 # mandatory static build (follows optional shared build) |
311 # mandatory static build (follows optional shared build) |
285 echo 'yes' | ./configure \ |
312 echo 'yes' | ./configure \ |
|
313 $archflags \ |
286 -prefix %{l_prefix} \ |
314 -prefix %{l_prefix} \ |
287 -bindir %{l_prefix}/bin \ |
315 -bindir %{l_prefix}/bin \ |
288 -libdir %{l_prefix}/lib \ |
316 -libdir %{l_prefix}/lib \ |
289 -docdir %{l_prefix}/share/qt/doc \ |
317 -docdir %{l_prefix}/share/qt/doc \ |
290 -headerdir %{l_prefix}/include \ |
318 -headerdir %{l_prefix}/include \ |
385 %{l_tar} cf - dynamic | %{l_tar} xf - -C $RPM_BUILD_ROOT%{l_prefix}/lib/qt |
413 %{l_tar} cf - dynamic | %{l_tar} xf - -C $RPM_BUILD_ROOT%{l_prefix}/lib/qt |
386 |
414 |
387 # offer limited support of pkg-config(1) for shared libs |
415 # offer limited support of pkg-config(1) for shared libs |
388 # substitution unfortunately only handles paths with no whitespace |
416 # substitution unfortunately only handles paths with no whitespace |
389 %{l_shtool} subst \ |
417 %{l_shtool} subst \ |
390 -e "s;[\ \t][\ \t]*qt-x11-opensource-src-%{version};%{l_prefix};g" \ |
418 -e "s;[^\t ][^\t ]*qt-x11-opensource-src-%{version};%{l_prefix};g" \ |
391 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/pkgconfig/* |
419 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/pkgconfig/* |
392 |
420 |
393 # explain nonstandard shared library placement |
421 # explain nonstandard shared library placement |
394 ( echo "This OpenPKG Qt build is using the with_shared option." |
422 ( echo "This OpenPKG Qt build is using the with_shared option." |
395 echo "" |
423 echo "" |
404 echo "please direct pkg-config(1) to use the properdefinitions" |
432 echo "please direct pkg-config(1) to use the properdefinitions" |
405 echo "by setting the environment variable PKG_CONFIG_PATH to " |
433 echo "by setting the environment variable PKG_CONFIG_PATH to " |
406 echo "%{l_prefix}/lib/qt/dynamic/pkgconfig." |
434 echo "%{l_prefix}/lib/qt/dynamic/pkgconfig." |
407 ) >$RPM_BUILD_ROOT%{l_prefix}/lib/qt/README |
435 ) >$RPM_BUILD_ROOT%{l_prefix}/lib/qt/README |
408 |
436 |
409 # install plugins, which are otherwise only useless static objects |
|
410 for plug in accessible codecs designer iconengines \ |
|
411 imageformats inputmethods script sqldrivers; do \ |
|
412 %{l_shtool} mkdir -f -p -m 755 \ |
|
413 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/plugins/${plug}; \ |
|
414 %{l_shtool} install -c -m 644 \ |
|
415 plugins/${plug}/*.so plugins/${plug}/*.so.debug \ |
|
416 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/plugins/${plug}/; \ |
|
417 done |
|
418 |
|
419 # remove temporary dynamic link paths |
437 # remove temporary dynamic link paths |
420 %{l_shtool} subst \ |
438 %{l_shtool} subst \ |
421 -e 's;\(QMAKE_PRL_BUILD_DIR[^=]*=\).*\(qt-x11-opensource-src.*\);\1 /tmp/\2;' \ |
439 -e "s;-L\([\t ]*\)[^\t ][^\t ]*qt-x11-opensource-src-%{version}\(/[^\t ][^\t ]*\);-L\1%{l_prefix}\2;g" \ |
422 $RPM_BUILD_ROOT%{l_prefix}/lib/*.prl |
440 -e "s;\([\t ][\t ]*\)[^\t ][^\t ]*\(qt-x11-opensource-src-%{version}.*\);\1/tmp/\2;" \ |
|
441 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/*.prl \ |
|
442 $RPM_BUILD_ROOT%{l_prefix}/lib/qt/dynamic/*.la |
423 %endif |
443 %endif |
424 |
444 |
425 # determine internal file listing |
445 # determine internal file listing |
426 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
446 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
427 %{l_files_std} \ |
447 %{l_files_std} \ |