source: packaging/qt4.spec@ 1094

Last change on this file since 1094 was 1094, checked in by Dmitry A. Kuminov, 14 years ago

packaging. qt4.spec: Restore deleted .sym after packing to RPMs.

.sym are already necessary for CreateZIPs.

File size: 24.6 KB
RevLine 
[1041]1#
2# http://svn.netlabs.org/qt4
3#
[1068]4# If you are a packager, please read HowToDistribute.txt for general
5# instructions.
6#
[1041]7
[1079]8Name: qt4
[1068]9Vendor: netlabs.org
10License: LGPLv2 with exceptions or GPLv3 with exceptions
11Url: http://www.qtsoftware.com/
12
[1041]13%define ver_major 4
[1068]14%define ver_minor 7
[1041]15%define ver_patch 3
16
[1068]17%define os2_release 0
18
[1041]19%define rpm_release 1
20
[1091]21%define svn_url http://svn.netlabs.org/repos/qt4/tags/%{version}
[1041]22
23%define descr_brief Qt is a software toolkit for developing applications.
24
25%define pkg_wps_base QT4
26%define pkg_wps_folder_id <%{pkg_wps_base}_FOLDER>
27%define pkg_wps_folder_create %{pkg_wps_base}_FOLDER:WPFolder|Qt 4|<WP_DESKTOP>
28%define pkg_wps_view_txt() EXENAME=e.exe;PROGTYPE=PROG_PM;PARAMETERS=((%*))
29
[1079]30%define pkg_docdir %{_docdir}/%{name}
[1041]31
[1068]32%if 0%{?os2_release}
33Version: %{ver_major}.%{ver_minor}.%{ver_patch}.%{os2_release}
34%else
35Version: %{ver_major}.%{ver_minor}.%{ver_patch}
36%endif
37Release: %{rpm_release}
38
39Source: %{name}-%{version}.zip
40
41#BuildRequires: gnumake (when available)
42BuildRequires: libc-devel
43BuildRequires: gcc
44BuildRequires: gcc-wlink
45BuildRequires: gcc-wrc
46#BuildRequires: cups-devel (when available)
47BuildRequires: openssl-devel
48BuildRequires: pthread-devel
49#BuildRequires: mysql-devel (when available)
50#BuildRequires: psql-devel (when available)
51
[1094]52# @todo add wrc support to Qt
53# @todo add proper %attr for .exe files
[1068]54
55#------------------------------------------------------------------------------
56# commons
57#------------------------------------------------------------------------------
58
59# process command line arguments
60%if "%{?QT_SOURCE_TREE}" == ""
61%define QT_SOURCE_TREE .
[1091]62%else
63%define skip_prep_export 1
[1068]64%endif
65
66# installation paths
[1079]67%define qt_prefix %{_libdir}/%{name}
[1041]68%define qt_libdir %{_libdir}
[1082]69%define qt_headerdir %{_includedir}
[1041]70%define qt_bindir %{qt_prefix}/bin
71%define qt_plugindir %{qt_prefix}/plugins
[1062]72%define qt_importdir %{qt_prefix}/imports
[1041]73%define qt_demosdir %{qt_prefix}/demos
74%define qt_examplesdir %{qt_prefix}/examples
[1079]75%define qt_datadir %{_datadir}/%{name}
[1041]76%define qt_docdir %{qt_datadir}/doc
77%define qt_translationdir %{qt_datadir}/translations
78%define qt_sysconfdir %{_sysconfdir}/xdg
79
[1075]80# disable lxlite compression (Qt EXEs and DLLs are already compressed)
81%define __os_install_post %{nil}
82
[1041]83#------------------------------------------------------------------------------
84# main package
85#------------------------------------------------------------------------------
86
[1083]87Summary: Qt 4 (dummy package)
[1041]88Group: System Environment/Libraries
89
[1062]90%description
[1041]91%{descr_brief}
92
[1083]93This package is not actually generated (due to the missing %files section).
94It is present only because RPM requires Summary: and %description sections for
95the main package to exist.
96
97#------------------------------------------------------------------------------
98%package -n lib%{name}
99#------------------------------------------------------------------------------
100
101Summary: Qt 4 runtime libraries
102Group: System Environment/Libraries
103
104%description -n lib%{name}
105%{descr_brief}
106
[1041]107This package contains runtime Qt libraries for console applications, including
108core, network and XML modules.
109
[1083]110%files -n lib%{name}
[1041]111%defattr(-,root,root,-)
[1082]112%dir %{pkg_docdir}/
[1078]113%docdir %{pkg_docdir}/
[1080]114%{pkg_docdir}/*
[1078]115%if "%{qt_prefix}" != "%{_prefix}"
116%dir %{qt_prefix}/
117%endif
118%if "%{qt_libdir}" != "%{_libdir}"
119%dir %{qt_libdir}/
120%endif
121%if "%{qt_bindir}" != "%{_bindir}"
122%dir %{qt_bindir}/
123%endif
124%dir %{qt_plugindir}
125%{qt_plugindir}/bearer/
126%{qt_plugindir}/codecs/
127%dir %{qt_plugindir}/sqldrivers/
128%{qt_plugindir}/sqldrivers/*
[1081]129%exclude %{qt_plugindir}/sqldrivers/qmysql%{ver_major}.dll
130%exclude %{qt_plugindir}/sqldrivers/qpsql%{ver_major}.dll
[1078]131%dir %{qt_datadir}/
132%dir %{qt_docdir}/
133%dir %{qt_docdir}/qch/
134%dir %{qt_translationdir}/
135%{qt_translationdir}/qt_??.qm
136%{qt_translationdir}/qt_??_??.qm
137%if "%{qt_sysconfdir}" != "%{_sysconfdir}" && "%{qt_sysconfdir}" != "%{_sysconfdir}/xdg"
138%dir %{qt_sysconfdir}/
139%endif
[1068]140%{qt_libdir}/QtCore%{ver_major}.dll
[1078]141%{qt_libdir}/QtNet%{ver_major}.dll
142%{qt_libdir}/QtScri%{ver_major}.dll
143%{qt_libdir}/QtSql%{ver_major}.dll
144%{qt_libdir}/QtTest%{ver_major}.dll
145%{qt_libdir}/QtXml%{ver_major}.dll
146%{qt_libdir}/QtXmlP%{ver_major}.dll
[1041]147
[1083]148%pre -n lib%{name}
[1068]149%warpin_conflicts_begin
150netlabs.org\Qt4\Runtime
151%warpin_conflicts_end
[1041]152
[1083]153%post -n lib%{name}
[1080]154# clean up the plugin/font cache to remove old entries (@todo other users?)
155rm -f "$HOME/.config/Trolltech.ini"
156
[1041]157#------------------------------------------------------------------------------
[1083]158%package -n lib%{name}-sql-mysql
[1081]159#------------------------------------------------------------------------------
160
161Summary: Qt 4 MySQL database driver
162Group: System Environment/Libraries
163
[1083]164Requires: lib%{name} = %{version}-%{release}
[1081]165
[1083]166%description -n lib%{name}-sql-mysql
[1081]167%{descr_brief}
168
169This package contains the MySQL plugin for Qt 4.
170
[1083]171%files -n lib%{name}-sql-mysql
[1081]172%defattr(-,root,root,-)
173%{qt_plugindir}/sqldrivers/qmysql%{ver_major}.dll
174
175#------------------------------------------------------------------------------
[1083]176%package -n lib%{name}-sql-psql
[1081]177#------------------------------------------------------------------------------
178
179Summary: Qt 4 PostgreSQL database driver
180Group: System Environment/Libraries
181
[1083]182Requires: lib%{name} = %{version}-%{release}
[1081]183
[1083]184%description -n lib%{name}-sql-psql
[1081]185%{descr_brief}
186
187This package contains the PostgreSQL plugin for Qt 4.
188
[1083]189%files -n lib%{name}-sql-psql
[1081]190%defattr(-,root,root,-)
191%{qt_plugindir}/sqldrivers/qpsql%{ver_major}.dll
192
193#------------------------------------------------------------------------------
[1083]194%package -n lib%{name}-gui
[1041]195#------------------------------------------------------------------------------
196
[1083]197Summary: Qt 4 GUI runtime libraries
[1041]198Group: System Environment/Libraries
199
[1083]200Requires: lib%{name} = %{version}-%{release}
[1041]201
[1083]202%description -n lib%{name}-gui
[1041]203%{descr_brief}
204
205This package contains runtime Qt libraries for Presentation Manager GUI
206applications.
207
[1083]208%files -n lib%{name}-gui
[1041]209%defattr(-,root,root,-)
[1078]210%dir %{qt_plugindir}/designer
211%{qt_plugindir}/designer/qdeclv.dll
212%{qt_plugindir}/accessible/
213%{qt_plugindir}/graphicssystems/
214%{qt_plugindir}/iconengines/
215%{qt_plugindir}/imageformats/
216%{qt_plugindir}/qmltooling/
217%{qt_translationdir}/qt_help_??.qm
218%{qt_translationdir}/qt_help_??_??.qm
219%dir %{qt_importdir}/
220%{qt_importdir}/Qt/
221%{qt_libdir}/QtCLuc%{ver_major}.dll
222%{qt_libdir}/QtDecl%{ver_major}.dll
[1068]223%{qt_libdir}/QtGui%{ver_major}.dll
[1078]224%{qt_libdir}/QtHelp%{ver_major}.dll
225%{qt_libdir}/QtScTl%{ver_major}.dll
226%{qt_libdir}/QtSvg%{ver_major}.dll
[1041]227
228#------------------------------------------------------------------------------
[1083]229%package -n lib%{name}-webkit
[1041]230#------------------------------------------------------------------------------
[1078]231
[1083]232Summary: Qt 4 WebKit runtime libraries
[1078]233Group: System Environment/Libraries
234
[1083]235Requires: lib%{name}-gui = %{version}-%{release}
[1078]236
[1083]237%description -n lib%{name}-webkit
[1078]238%{descr_brief}
239
240This package contains runtime Qt libraries for applications based on the WebKit
241technology.
242
[1083]243%files -n lib%{name}-webkit
[1078]244%defattr(-,root,root,-)
245%{qt_plugindir}/designer/qwebv.dll
246%{qt_importdir}/QtWebKit/
247%{qt_libdir}/QtWebK%{ver_major}.dll
248
249#------------------------------------------------------------------------------
[1083]250%package -n lib%{name}-designer
251#------------------------------------------------------------------------------
252
253Summary: Qt 4 Designer runtime libraries
254Group: System Environment/Libraries
255
256Requires: lib%{name}-gui = %{version}-%{release}
257
258%description -n lib%{name}-designer
259%{descr_brief}
260
261This package contains runtime Qt libraries for Designer components.
262
263%files -n lib%{name}-designer
264%defattr(-,root,root,-)
265%{qt_libdir}/QtDsgC%{ver_major}.dll
266%{qt_libdir}/QtDsgn%{ver_major}.dll
267
268#------------------------------------------------------------------------------
[1078]269%package demos
270#------------------------------------------------------------------------------
[1079]271Summary: Qt 4 demos and examples
[1041]272Group: Documentation
273
[1083]274Requires: lib%{name}-gui = %{version}-%{release}
275Requires: lib%{name}-designer = %{version}-%{release}
276Requires: lib%{name}-webkit = %{version}-%{release}
[1080]277Requires: %{name}-doc = %{version}-%{release}
[1041]278
[1078]279%description demos
[1041]280%{descr_brief}
281
[1062]282This package contains the demo and example Qt applications and their
283source code. These applications demonstrate the possibilities of the
284Qt toolkit.
[1041]285
[1078]286%files demos
[1041]287%defattr(-,root,root,-)
[1078]288%{qt_plugindir}/designer/
289%exclude %{qt_plugindir}/designer/qdeclv.dll
290%exclude %{qt_plugindir}/designer/qwebv.dll
[1041]291%{qt_bindir}/qtdemo.exe
[1078]292%{qt_examplesdir}
293%{qt_demosdir}
[1041]294
[1078]295%post demos
296%wps_object_create_begin -n %{name}-demos
297%{pkg_wps_folder_create}
298%{pkg_wps_base}_DEMO:WPProgram|Examples and Demos|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/qtdemo.exe))
299%wps_object_create_end
[1062]300
[1080]301# clean up the qtdemo doc cache, otherwise the demo descriptions may not show up
302# if the old cache contains links to non-existent doc files (@todo other users?)
303rm -f "$HOME/.local/share/data/Trolltech/Assistant/qtdemo_%{ver_major}.%{ver_minor}.%{ver_patch}.qhc"
304
[1078]305%postun demos
306%wps_object_delete_all -n %{name}-demos
307
308#------------------------------------------------------------------------------
309%package qmlviewer
310#------------------------------------------------------------------------------
[1079]311Summary: Qt 4 QML Viewer tool
[1078]312Group: Development/Tools
313
[1083]314Requires: lib%{name}-gui = %{version}-%{release}
[1078]315
316%description qmlviewer
317%{descr_brief}
318
319This package contains the Qt QML Viewer tool that allows to view QML files.
320
321%files qmlviewer
322%defattr(-,root,root,-)
323%{qt_bindir}/qmlviewer.exe
324
325%post qmlviewer
326%wps_object_create_begin -n %{name}-qmlviewer
327%{pkg_wps_folder_create}
[1081]328%{pkg_wps_base}_QMLVIEWER:WPProgram|QML Viewer|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/qmlviewer.exe))
[1041]329%wps_object_create_end
330
[1078]331%postun qmlviewer
332%wps_object_delete_all -n %{name}-qmlviewer
[1041]333
334#------------------------------------------------------------------------------
335%package linguist
336#------------------------------------------------------------------------------
[1079]337Summary: Qt 4 Linguist tool
[1041]338Group: Development/Tools
339
[1083]340Requires: lib%{name}-gui = %{version}-%{release}
[1041]341
342%description linguist
343%{descr_brief}
344
345This package contains the Qt Linguist tool used to edit the translation files
346for Qt applications.
347
348%files linguist
349%defattr(-,root,root,-)
[1078]350%{qt_translationdir}/linguist_??.qm
351%{qt_translationdir}/linguist_??_??.qm
352%dir %{qt_datadir}/phrasebooks/
353%{qt_datadir}/phrasebooks/*
[1041]354%{qt_bindir}/linguist.exe
355
356%post linguist
357%wps_object_create_begin -n %{name}-linguist
[1080]358%{pkg_wps_folder_create}
[1078]359%{pkg_wps_base}_LINGUIST:WPProgram|Linguist|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/linguist.exe))
[1041]360%wps_object_create_end
361
362%postun linguist
363%wps_object_delete_all -n %{name}-linguist
364
365#------------------------------------------------------------------------------
366%package assistant
367#------------------------------------------------------------------------------
[1079]368Summary: Qt 4 Assistant tool
[1041]369Group: Development/Tools
370
[1083]371Requires: lib%{name}-gui = %{version}-%{release}
[1041]372
373%description assistant
374%{descr_brief}
375
376This package contains the Qt Assistant tool used to read and search the Qt
377Toolkit reference documentation.
378
379%files assistant
380%defattr(-,root,root,-)
[1078]381%{qt_translationdir}/assistant_??.qm
382%{qt_translationdir}/assistant_??_??.qm
[1041]383%{qt_bindir}/assistant.exe
384
[1078]385%post assistant
386%wps_object_create_begin -n %{name}-assistant
[1080]387%{pkg_wps_folder_create}
[1078]388%{pkg_wps_base}_ASSISTANT:WPProgram|Assistant|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/assistant.exe))
389%wps_object_create_end
390
[1080]391# clean up the assistant cache & search index (@todo other users?)
392rm -f "$HOME/.local/share/data/Trolltech/Assistant/assistant.qch.%{ver_major}.%{ver_minor}"
393rm -f "$HOME/.local/share/data/Trolltech/Assistant/qthelpcollection_%{ver_major}.%{ver_minor}.%{ver_patch}.qhc"
394rm -rf "$HOME/.local/share/data/Trolltech/Assistant/.qthelpcollection_%{ver_major}.%{ver_minor}.%{ver_patch}"
395
[1078]396%postun assistant
397%wps_object_delete_all -n %{name}-assistant
398
[1041]399#------------------------------------------------------------------------------
[1068]400%package designer
401#------------------------------------------------------------------------------
[1079]402Summary: Qt 4 Designer tool
[1068]403Group: Development/Tools
404
[1083]405Requires: lib%{name}-gui = %{version}-%{release}
406Requires: lib%{name}-designer = %{version}-%{release}
[1068]407
408%description designer
409%{descr_brief}
410
411This package contains the Qt Designer tool used to for designing and building
412graphical user interfaces from Qt components.
413
414%files designer
415%defattr(-,root,root,-)
[1078]416%{qt_translationdir}/designer_??.qm
417%{qt_translationdir}/designer_??_??.qm
[1068]418%{qt_bindir}/designer.exe
419
[1078]420%post designer
421%wps_object_create_begin -n %{name}-designer
[1080]422%{pkg_wps_folder_create}
[1078]423%{pkg_wps_base}_DESIGNER:WPProgram|Designer|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/designer.exe))
424%wps_object_create_end
425
426%postun designer
427%wps_object_delete_all -n %{name}-designer
428
[1068]429#------------------------------------------------------------------------------
430%package devel-tools
431#------------------------------------------------------------------------------
[1079]432Summary: Qt 4 development tools
[1068]433Group: Development/Tools
434
[1083]435Requires: lib%{name}-gui = %{version}-%{release}
[1068]436
437%description devel-tools
438%{descr_brief}
439
440This package contains tools used to assist in Qt development, including
[1078]441PixelTool, Help Converter and other applications.
[1068]442
443%files devel-tools
444%defattr(-,root,root,-)
[1078]445%{qt_bindir}/lconvert.exe
[1068]446%{qt_bindir}/pixeltool.exe
[1078]447%{qt_bindir}/qcollectiongenerator.exe
448%{qt_bindir}/qdoc3.exe
449%{qt_bindir}/qhelpconverter.exe
450%{qt_bindir}/qhelpgenerator.exe
451%{qt_bindir}/qt3to4.exe
452%{qt_bindir}/qttracereplay.exe
453%{qt_bindir}/xmlpatterns.exe
454%{qt_bindir}/xmlpatternsvalidator.exe
[1068]455
[1080]456%post devel-tools
457%wps_object_create_begin -n %{name}-devel-tools
458%{pkg_wps_folder_create}
459%{pkg_wps_base}_PIXELTOOL:WPProgram|Pixel Tool|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/pixeltool.exe))
460%{pkg_wps_base}_HELPCONVERTER:WPProgram|Help Converter|%{pkg_wps_folder_id}|EXENAME=((%{qt_bindir}/qhelpconverter.exe))
461%wps_object_create_end
462
463%postun devel-tools
464%wps_object_delete_all -n %{name}-devel-tools
465
[1068]466#------------------------------------------------------------------------------
[1041]467%package doc
468#------------------------------------------------------------------------------
[1079]469Summary: Qt 4 API documentation
[1041]470Group: Documentation
471BuildArch: noarch
472
[1094]473Requires: lib%{name} = %{version}-%{release}
[1068]474Requires: %{name}-assistant = %{version}-%{release}
[1041]475
476%description doc
477%{descr_brief}
478
479This package contains the Qt Toolkit reference documentation that provides the
480detailed description of all Qt classes and tools.
481
482%files doc
483%defattr(-,root,root,-)
[1094]484%doc %{qt_docdir}/qch/*.qch
[1041]485
[1080]486%post doc
487%wps_object_create_begin -n %{name}-doc
488%{pkg_wps_folder_create}
489%{pkg_wps_base}_README_FOLDER:WPFolder|Readme Files|%{pkg_wps_folder_id}
490%{pkg_wps_base}_README:WPShadow|README|<%{pkg_wps_base}_README_FOLDER>|SHADOWID=((%{pkg_docdir}/README))
491%{pkg_wps_base}_CHANGES:WPShadow|CHANGES|<%{pkg_wps_base}_README_FOLDER>|SHADOWID=((%{pkg_docdir}/changes-4.7.3))
492%{pkg_wps_base}_README_OS2:WPShadow|README.OS2|<%{pkg_wps_base}_README_FOLDER>|SHADOWID=((%{pkg_docdir}/README.OS2))
493%{pkg_wps_base}_CHANGES_OS2:WPShadow|CHANGES.OS2|<%{pkg_wps_base}_README_FOLDER>|SHADOWID=((%{pkg_docdir}/CHANGES.OS2))
494%wps_object_create_end
495
496%postun doc
497%wps_object_delete_all -n %{name}-doc
498
[1041]499#------------------------------------------------------------------------------
[1083]500%package -n lib%{name}-devel
[1041]501#------------------------------------------------------------------------------
[1079]502Summary: Qt 4 development files
[1041]503Group: Development/Libraries
504
[1083]505Requires: lib%{name}-gui = %{version}-%{release}
[1041]506
[1083]507%description -n lib%{name}-devel
[1041]508%{descr_brief}
509
510This package contains the headers, libraries and tools necessary to develop
[1068]511applications using the Qt toolkit.
[1041]512
[1083]513%files -n lib%{name}-devel
[1041]514%defattr(-,root,root,-)
[1078]515%if "%{qt_headerdir}" != "%{_includedir}"
516%dir %{qt_headerdir}/
517%endif
518%{qt_headerdir}/*
519%exclude %{qt_headerdir}/Qt/QtWebKit
520%exclude %{qt_headerdir}/Qt/qgraphicswebview.h
521%exclude %{qt_headerdir}/Qt/qweb*.h
522%exclude %{qt_headerdir}/QtWebKit/
523%{qt_libdir}/*.lib
524%{qt_libdir}/*.prl
525%exclude %{qt_libdir}/QtWebKit%{ver_major}.lib
526%exclude %{qt_libdir}/QtWebKit.prl
527%dir %{qt_datadir}/mkspecs/
528%{qt_datadir}/mkspecs/*
529%exclude %{qt_datadir}/mkspecs/modules/qt_webkit_version.pri
530%{qt_datadir}/q3porting.xml
531%{qt_bindir}/lrelease.exe
532%{qt_bindir}/lupdate.exe
[1068]533%{qt_bindir}/moc.exe
[1078]534%if "%{qt_bindir}" != "%{_bindir}"
535%{_bindir}/qmake.exe
536%endif
537%{qt_bindir}/qmake.exe
538%{qt_bindir}/rcc.exe
539%{qt_bindir}/uic.exe
[1041]540
541#------------------------------------------------------------------------------
[1083]542%package -n lib%{name}-webkit-devel
[1078]543#------------------------------------------------------------------------------
[1079]544Summary: Qt 4 WebKit development files
[1078]545Group: Development/Libraries
546
[1083]547Requires: lib%{name}-webkit = %{version}-%{release}
548Requires: lib%{name}-devel = %{version}-%{release}
[1078]549
[1083]550%description -n lib%{name}-webkit-devel
[1078]551%{descr_brief}
552
553This package contains the headers, libraries and tools necessary to
554develop applications using the Qt WebKit technology.
555
[1083]556%files -n lib%{name}-webkit-devel
[1078]557%defattr(-,root,root,-)
558%{qt_headerdir}/Qt/QtWebKit
559%{qt_headerdir}/Qt/qgraphicswebview.h
560%{qt_headerdir}/Qt/qweb*.h
561%{qt_headerdir}/QtWebKit/
562%{qt_libdir}/QtWebKit%{ver_major}.lib
563%{qt_libdir}/QtWebKit.prl
564%{qt_datadir}/mkspecs/modules/qt_webkit_version.pri
565
566#------------------------------------------------------------------------------
[1083]567%package devel-kit
[1068]568#------------------------------------------------------------------------------
[1079]569Summary: Qt 4 development kit
[1068]570Group: Development/Libraries
571
[1078]572Requires: %{name}-demos = %{version}-%{release}
573Requires: %{name}-qmlviewer = %{version}-%{release}
[1068]574Requires: %{name}-linguist = %{version}-%{release}
575Requires: %{name}-assistant = %{version}-%{release}
576Requires: %{name}-designer = %{version}-%{release}
577Requires: %{name}-devel-tools = %{version}-%{release}
578Requires: %{name}-doc = %{version}-%{release}
[1083]579Requires: lib%{name}-devel = %{version}-%{release}
580Requires: lib%{name}-webkit-devel = %{version}-%{release}
[1068]581
[1083]582%description devel-kit
[1068]583%{descr_brief}
584
585This meta package installs all individual packages containing various Qt
586development components, including the Qt headers and libraries, the Linguist,
[1079]587Assistant and Designer applications, development tools, example
[1068]588Qt applications and the API documentation.
589
[1083]590%files devel-kit
[1080]591
[1068]592#------------------------------------------------------------------------------
[1041]593%prep
594#------------------------------------------------------------------------------
595
[1068]596%if !0%{?skip_prep}
597
[1091]598%if 0%{?master_mode}
[1068]599%if !0%{?skip_prep_export}
[1091]600# get clean source tree from SVN (both for building and for SRPM)
[1068]601%setup -n "%{name}-%{version}" -Tc
[1091]602svn export %{svn_url} . --force
603rm -f "%{_sourcedir}/%{name}-%{version}.zip"
604(cd .. && zip -SrX9 "%{_sourcedir}/%{name}-%{version}.zip" "%{name}-%{version}")
[1041]605%else
[1091]606# use source tree in %{QT_SOURCE_TREE} (e.g. shadow build)
[1075]607%setup -n "%{name}-%{version}" -Tc%{?skip_prep_clean:D}
[1041]608%endif
[1068]609%else
610# use source zip
611%setup -q
612%endif
[1041]613
[1068]614%endif # if !0%{?skip_prep}
615
[1041]616#------------------------------------------------------------------------------
617%build
618#------------------------------------------------------------------------------
619
[1068]620%if !0%{?skip_build}
[1041]621
[1062]622die() { echo "ERROR: $@"; exit 1; }
623check_var() { eval "[ -n \"\$$1\" ] || die \"$1 variable is not set.\""; }
624
[1091]625%if "%{?svn_revision}" == ""
626QT_BUILD_ID=$(svn info %{svn_url} | sed -nre 's/^Last Changed Rev: ([0-9]+)$/\1/p')
627[ -z "$QT_BUILD_ID" ] && die "Cannot determine SVN revision."
628%else
629QT_BUILD_ID=%{svn_revision}
630%endif
631
[1068]632# Qt source tree (DOS format)
[1062]633QT_SOURCE_TREE_D=$(echo "%{QT_SOURCE_TREE}" | tr '/' '\\')
634
635# Sanity checks (laking these would turn off features that must be ON)
[1068]636check_var "CUPS_INCLUDEPATH"
[1062]637check_var "MYSQL_INCLUDEPATH"
638check_var "MYSQL_LIBS"
639check_var "PSQL_INCLUDEPATH"
640check_var "PSQL_LIBS"
641
[1091]642# Non-root UNIXROOT is not currently supported because of make install
643# that will install to a subtree in such case (which is not expected
644# by %install below). @todo One solution is to move everything from that
645# subtree right to %{buildroot}/@unixroot after make install.
646[ -z "$(echo "$UNIXROOT" | sed -re 's/^[a-bA-b]:$//')" ] || \
647 die "UNIXROOT must be the root directory"
648
[1075]649[ -z "$MAKE_JOBS" ] && MAKE_JOBS=1
650
[1068]651# Qt links to some OS/2 DLLs directly (w/o import libs)
652export LIBRARY_PATH=%{os2_boot_drive}/OS2/DLL\;%{os2_boot_drive}/MPTN/DLL\;$LIBRARY_PATH
653
[1062]654# CMD.EXE is required by the build process for now
655export MAKESHELL=%{os2_boot_drive}\\OS2\\CMD.EXE
656
657# Qt doesn't understand /@unixroot in library paths, replace it with $(UNIXROOT)
658library_paths=$(echo \
[1091]659 --official-build-quiet $QT_BUILD_ID \
[1062]660 -prefix "%{qt_prefix}" \
661 -datadir "%{qt_datadir}" \
662 -libdir "%{qt_libdir}" \
663 -headerdir "%{qt_headerdir}" \
664 -bindir "%{qt_bindir}" \
665 -plugindir "%{qt_plugindir}" \
666 -importdir "%{qt_importdir}" \
667 -demosdir "%{qt_demosdir}" \
668 -examplesdir "%{qt_examplesdir}" \
669 -docdir "%{qt_docdir}" \
670 -translationdir "%{qt_translationdir}" \
671 -sysconfdir "%{qt_sysconfdir}" \
672| sed -re 's,/@unixroot,$(UNIXROOT),g')
673
[1071]674BUILDDIR_D=$(echo "%{_builddir}/%{buildsubdir}" | sed -re 's,/,\\,g')
675
676# make sure the right DLLs are used by the build (and in particular by qdoc
[1075]677# in make docs) in case if there is another Qt version installed
[1071]678export PATH="$BUILDDIR_D\\bin\;$PATH"
679export BEGINLIBPATH="$BUILDDIR_D\\bin\;$BEGINLIBPATH"
680
[1062]681cmd /c $QT_SOURCE_TREE_D\\configure.cmd $library_paths
682
[1075]683make -j$MAKE_JOBS
684
685%if !0%{?skip_build_docs}
[1071]686# qdoc needs the qsqlite plugin but nothing is installed to target locations
687# yet, so generate qt.conf to override paths
688echo \
689"[Paths]
690Prefix = ..
691Settings = \$(ETC)/xdg
692Examples = examples
693Demos = demos" \
694> "%{_builddir}/%{buildsubdir}/bin/qt.conf"
[1068]695make docs -j$MAKE_JOBS
[1075]696rm -f "%{_builddir}/%{buildsubdir}/bin/qt.conf"
[1068]697%endif
698
699%endif # if !0%{?skip_build}
700
[1041]701#------------------------------------------------------------------------------
702%install
703#------------------------------------------------------------------------------
704
[1068]705%if !0%{?skip_install}
706
[1041]707rm -rf %{buildroot}
708
[1075]709# Qt links to some OS/2 DLLs directly (w/o import libs)
710export LIBRARY_PATH=%{os2_boot_drive}/OS2/DLL\;%{os2_boot_drive}/MPTN/DLL\;$LIBRARY_PATH
[1041]711
[1075]712# CMD.EXE is required by the build process for now
713export MAKESHELL=%{os2_boot_drive}\\OS2\\CMD.EXE
714
715# exclude install_htmldocs from install targets
716make install_subtargets install_qchdocs install_qmake install_mkspecs \
717 INSTALL_ROOT=$(echo "%{buildroot}/@unixroot" | sed -re 's,/,\\,g')
718
[1068]719# copy READMEs (make install doesn't do that)
[1078]720mkdir -p "%{buildroot}/%{pkg_docdir}/"
[1075]721cp -dp \
[1078]722 "%{QT_SOURCE_TREE}/LICENSE.*" \
723 "%{QT_SOURCE_TREE}/LGPL_EXCEPTION.txt" \
724 "%{QT_SOURCE_TREE}/README" \
725 "%{QT_SOURCE_TREE}/changes-%{ver_major}.%{ver_minor}.%{ver_patch}" \
726 "%{QT_SOURCE_TREE}/README.OS2" \
727 "%{QT_SOURCE_TREE}/CHANGES.OS2" \
728 "%{buildroot}/%{pkg_docdir}/"
[1041]729
[1078]730# remove *.dll from bin (they will live in %{qt_libdir})
731rm -f "%{buildroot}/%{qt_bindir}/*.dll" "%{buildroot}/%{qt_bindir}/*.sym"
732
733# remove translations we don't need
734rm -f "%{buildroot}/%{qt_translationdir}/qtconfig_??.qm" \
735 "%{buildroot}/%{qt_translationdir}/qtconfig_??_??.qm"
736rm -f "%{buildroot}/%{qt_translationdir}/qvfb_??.qm" \
737 "%{buildroot}/%{qt_translationdir}/qvfb_??_??.qm"
738
739# move qmake.exe to %{_bindir} (to have it in PATH) and symlink back to qt4/bin
740%if "%{qt_bindir}" != "%{_bindir}"
741mkdir -p "%{buildroot}/%{_bindir}/"
742mv "%{buildroot}/%{qt_bindir}/qmake.exe" "%{buildroot}/%{_bindir}/"
743ln -s "%{_bindir}/qmake.exe" "%{buildroot}/%{qt_bindir}/qmake.exe"
[1094]744mv "%{buildroot}/%{qt_bindir}/qmake.sym" "%{buildroot}/%{_bindir}/"
[1078]745%endif
746
[1094]747# @todo temporarily split out .sym files (until we generate -debuginfo packages)
748for f in $(cd "%{buildroot}" && find -type f -name "*.sym"); do
749 fd="${f%/*}"/
750 [ "$fp" = "$f/" ] && fd=
751 [ -d "%{buildroot}.sym/$fd" ] || mkdir -p "%{buildroot}.sym/$fd"
752 mv "%{buildroot}/$f" "%{buildroot}.sym/$fd"
753done
[1078]754
[1068]755%endif # if !0%{?skip_install}
756
[1041]757#------------------------------------------------------------------------------
758%clean
759#------------------------------------------------------------------------------
760
[1091]761%if !0%{?skip_clean}
[1041]762
[1091]763%if 0%{?master_mode}
764%if "%{?create_zips_script}" != ""
[1094]765# @todo put split out .sym files back
766(cd "%{buildroot}.sym" && find . -type f -name '*.sym' -exec mv "{}" "../%{buildroot}/{}" \;)
767rm -rf "%{buildroot}.sym"
768%{create_zips_script} "%{buildroot}" "%{_topdir}"
[1091]769%endif
770%endif
771
772rm -rf %{buildroot}
773
774%endif # if !0%{?skip_clean}
775
[1041]776#------------------------------------------------------------------------------
777%changelog
[1091]778* Thu Sep 15 2011 Dmitriy Kuminov <dmik/coding.org> 4.7.3-1
779- New release 4.7.3. See %{pkg_docdir}/changes-4.7.3 and
780 %{pkg_docdir}/CHANGES.OS2 for more information.
Note: See TracBrowser for help on using the repository browser.