source: packaging/qt4.spec@ 1139

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

packaging: Use /@unixroot for Qt system paths (it now works) and fix zip generation.

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