source: packaging/qt4.spec@ 1129

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

packaging: Fix removal of .sym from bin/ and a typo.

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)
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}
[1097]506Requires: lib%{name}-designer = %{version}-%{release}
[1041]507
[1083]508%description -n lib%{name}-devel
[1041]509%{descr_brief}
510
511This package contains the headers, libraries and tools necessary to develop
[1068]512applications using the Qt toolkit.
[1041]513
[1083]514%files -n lib%{name}-devel
[1041]515%defattr(-,root,root,-)
[1078]516%if "%{qt_headerdir}" != "%{_includedir}"
517%dir %{qt_headerdir}/
518%endif
519%{qt_headerdir}/*
520%exclude %{qt_headerdir}/Qt/QtWebKit
521%exclude %{qt_headerdir}/Qt/qgraphicswebview.h
522%exclude %{qt_headerdir}/Qt/qweb*.h
523%exclude %{qt_headerdir}/QtWebKit/
524%{qt_libdir}/*.lib
525%{qt_libdir}/*.prl
526%exclude %{qt_libdir}/QtWebKit%{ver_major}.lib
527%exclude %{qt_libdir}/QtWebKit.prl
528%dir %{qt_datadir}/mkspecs/
529%{qt_datadir}/mkspecs/*
530%exclude %{qt_datadir}/mkspecs/modules/qt_webkit_version.pri
531%{qt_datadir}/q3porting.xml
532%{qt_bindir}/lrelease.exe
533%{qt_bindir}/lupdate.exe
[1068]534%{qt_bindir}/moc.exe
[1078]535%if "%{qt_bindir}" != "%{_bindir}"
536%{_bindir}/qmake.exe
537%endif
538%{qt_bindir}/qmake.exe
539%{qt_bindir}/rcc.exe
540%{qt_bindir}/uic.exe
[1041]541
542#------------------------------------------------------------------------------
[1083]543%package -n lib%{name}-webkit-devel
[1078]544#------------------------------------------------------------------------------
[1079]545Summary: Qt 4 WebKit development files
[1078]546Group: Development/Libraries
547
[1083]548Requires: lib%{name}-webkit = %{version}-%{release}
549Requires: lib%{name}-devel = %{version}-%{release}
[1078]550
[1083]551%description -n lib%{name}-webkit-devel
[1078]552%{descr_brief}
553
554This package contains the headers, libraries and tools necessary to
555develop applications using the Qt WebKit technology.
556
[1083]557%files -n lib%{name}-webkit-devel
[1078]558%defattr(-,root,root,-)
559%{qt_headerdir}/Qt/QtWebKit
560%{qt_headerdir}/Qt/qgraphicswebview.h
561%{qt_headerdir}/Qt/qweb*.h
562%{qt_headerdir}/QtWebKit/
563%{qt_libdir}/QtWebKit%{ver_major}.lib
564%{qt_libdir}/QtWebKit.prl
565%{qt_datadir}/mkspecs/modules/qt_webkit_version.pri
566
567#------------------------------------------------------------------------------
[1083]568%package devel-kit
[1068]569#------------------------------------------------------------------------------
[1079]570Summary: Qt 4 development kit
[1068]571Group: Development/Libraries
572
[1078]573Requires: %{name}-demos = %{version}-%{release}
574Requires: %{name}-qmlviewer = %{version}-%{release}
[1068]575Requires: %{name}-linguist = %{version}-%{release}
576Requires: %{name}-assistant = %{version}-%{release}
577Requires: %{name}-designer = %{version}-%{release}
578Requires: %{name}-devel-tools = %{version}-%{release}
579Requires: %{name}-doc = %{version}-%{release}
[1083]580Requires: lib%{name}-devel = %{version}-%{release}
581Requires: lib%{name}-webkit-devel = %{version}-%{release}
[1068]582
[1083]583%description devel-kit
[1068]584%{descr_brief}
585
586This meta package installs all individual packages containing various Qt
587development components, including the Qt headers and libraries, the Linguist,
[1079]588Assistant and Designer applications, development tools, example
[1068]589Qt applications and the API documentation.
590
[1083]591%files devel-kit
[1080]592
[1068]593#------------------------------------------------------------------------------
[1041]594%prep
595#------------------------------------------------------------------------------
596
[1068]597%if !0%{?skip_prep}
598
[1091]599%if 0%{?master_mode}
[1068]600%if !0%{?skip_prep_export}
[1091]601# get clean source tree from SVN (both for building and for SRPM)
[1068]602%setup -n "%{name}-%{version}" -Tc
[1091]603svn export %{svn_url} . --force
604rm -f "%{_sourcedir}/%{name}-%{version}.zip"
605(cd .. && zip -SrX9 "%{_sourcedir}/%{name}-%{version}.zip" "%{name}-%{version}")
[1041]606%else
[1091]607# use source tree in %{QT_SOURCE_TREE} (e.g. shadow build)
[1075]608%setup -n "%{name}-%{version}" -Tc%{?skip_prep_clean:D}
[1041]609%endif
[1068]610%else
611# use source zip
612%setup -q
613%endif
[1041]614
[1068]615%endif # if !0%{?skip_prep}
616
[1041]617#------------------------------------------------------------------------------
618%build
619#------------------------------------------------------------------------------
620
[1068]621%if !0%{?skip_build}
[1041]622
[1062]623die() { echo "ERROR: $@"; exit 1; }
624check_var() { eval "[ -n \"\$$1\" ] || die \"$1 variable is not set.\""; }
625
[1091]626%if "%{?svn_revision}" == ""
627QT_BUILD_ID=$(svn info %{svn_url} | sed -nre 's/^Last Changed Rev: ([0-9]+)$/\1/p')
628[ -z "$QT_BUILD_ID" ] && die "Cannot determine SVN revision."
629%else
630QT_BUILD_ID=%{svn_revision}
631%endif
632
[1068]633# Qt source tree (DOS format)
[1062]634QT_SOURCE_TREE_D=$(echo "%{QT_SOURCE_TREE}" | tr '/' '\\')
635
636# Sanity checks (laking these would turn off features that must be ON)
[1068]637check_var "CUPS_INCLUDEPATH"
[1062]638check_var "MYSQL_INCLUDEPATH"
639check_var "MYSQL_LIBS"
640check_var "PSQL_INCLUDEPATH"
641check_var "PSQL_LIBS"
642
[1091]643# Non-root UNIXROOT is not currently supported because of make install
644# that will install to a subtree in such case (which is not expected
645# by %install below). @todo One solution is to move everything from that
646# subtree right to %{buildroot}/@unixroot after make install.
647[ -z "$(echo "$UNIXROOT" | sed -re 's/^[a-bA-b]:$//')" ] || \
648 die "UNIXROOT must be the root directory"
649
[1075]650[ -z "$MAKE_JOBS" ] && MAKE_JOBS=1
651
[1068]652# Qt links to some OS/2 DLLs directly (w/o import libs)
653export LIBRARY_PATH=%{os2_boot_drive}/OS2/DLL\;%{os2_boot_drive}/MPTN/DLL\;$LIBRARY_PATH
654
[1062]655# CMD.EXE is required by the build process for now
656export MAKESHELL=%{os2_boot_drive}\\OS2\\CMD.EXE
657
658# Qt doesn't understand /@unixroot in library paths, replace it with $(UNIXROOT)
659library_paths=$(echo \
[1091]660 --official-build-quiet $QT_BUILD_ID \
[1062]661 -prefix "%{qt_prefix}" \
662 -datadir "%{qt_datadir}" \
663 -libdir "%{qt_libdir}" \
664 -headerdir "%{qt_headerdir}" \
665 -bindir "%{qt_bindir}" \
666 -plugindir "%{qt_plugindir}" \
667 -importdir "%{qt_importdir}" \
668 -demosdir "%{qt_demosdir}" \
669 -examplesdir "%{qt_examplesdir}" \
670 -docdir "%{qt_docdir}" \
671 -translationdir "%{qt_translationdir}" \
672 -sysconfdir "%{qt_sysconfdir}" \
673| sed -re 's,/@unixroot,$(UNIXROOT),g')
674
[1071]675BUILDDIR_D=$(echo "%{_builddir}/%{buildsubdir}" | sed -re 's,/,\\,g')
676
677# make sure the right DLLs are used by the build (and in particular by qdoc
[1075]678# in make docs) in case if there is another Qt version installed
[1071]679export PATH="$BUILDDIR_D\\bin\;$PATH"
680export BEGINLIBPATH="$BUILDDIR_D\\bin\;$BEGINLIBPATH"
681
[1062]682cmd /c $QT_SOURCE_TREE_D\\configure.cmd $library_paths
683
[1075]684make -j$MAKE_JOBS
685
686%if !0%{?skip_build_docs}
[1071]687# qdoc needs the qsqlite plugin but nothing is installed to target locations
688# yet, so generate qt.conf to override paths
689echo \
690"[Paths]
691Prefix = ..
692Settings = \$(ETC)/xdg
693Examples = examples
694Demos = demos" \
695> "%{_builddir}/%{buildsubdir}/bin/qt.conf"
[1068]696make docs -j$MAKE_JOBS
[1075]697rm -f "%{_builddir}/%{buildsubdir}/bin/qt.conf"
[1068]698%endif
699
700%endif # if !0%{?skip_build}
701
[1041]702#------------------------------------------------------------------------------
703%install
704#------------------------------------------------------------------------------
705
[1068]706%if !0%{?skip_install}
707
[1041]708rm -rf %{buildroot}
709
[1075]710# Qt links to some OS/2 DLLs directly (w/o import libs)
711export LIBRARY_PATH=%{os2_boot_drive}/OS2/DLL\;%{os2_boot_drive}/MPTN/DLL\;$LIBRARY_PATH
[1041]712
[1075]713# CMD.EXE is required by the build process for now
714export MAKESHELL=%{os2_boot_drive}\\OS2\\CMD.EXE
715
716# exclude install_htmldocs from install targets
717make install_subtargets install_qchdocs install_qmake install_mkspecs \
718 INSTALL_ROOT=$(echo "%{buildroot}/@unixroot" | sed -re 's,/,\\,g')
719
[1068]720# copy READMEs (make install doesn't do that)
[1078]721mkdir -p "%{buildroot}/%{pkg_docdir}/"
[1075]722cp -dp \
[1078]723 "%{QT_SOURCE_TREE}/LICENSE.*" \
724 "%{QT_SOURCE_TREE}/LGPL_EXCEPTION.txt" \
725 "%{QT_SOURCE_TREE}/README" \
726 "%{QT_SOURCE_TREE}/changes-%{ver_major}.%{ver_minor}.%{ver_patch}" \
727 "%{QT_SOURCE_TREE}/README.OS2" \
728 "%{QT_SOURCE_TREE}/CHANGES.OS2" \
729 "%{buildroot}/%{pkg_docdir}/"
[1041]730
[1129]731# remove *.dll from bin (they also live in %{qt_libdir})
732dlls=$(find "%{buildroot}/%{qt_bindir}/" -type f -name *.dll)
733rm -f $dlls ${dlls%.*}.sym
[1078]734
735# remove translations we don't need
736rm -f "%{buildroot}/%{qt_translationdir}/qtconfig_??.qm" \
737 "%{buildroot}/%{qt_translationdir}/qtconfig_??_??.qm"
738rm -f "%{buildroot}/%{qt_translationdir}/qvfb_??.qm" \
739 "%{buildroot}/%{qt_translationdir}/qvfb_??_??.qm"
740
741# move qmake.exe to %{_bindir} (to have it in PATH) and symlink back to qt4/bin
742%if "%{qt_bindir}" != "%{_bindir}"
743mkdir -p "%{buildroot}/%{_bindir}/"
744mv "%{buildroot}/%{qt_bindir}/qmake.exe" "%{buildroot}/%{_bindir}/"
745ln -s "%{_bindir}/qmake.exe" "%{buildroot}/%{qt_bindir}/qmake.exe"
[1094]746mv "%{buildroot}/%{qt_bindir}/qmake.sym" "%{buildroot}/%{_bindir}/"
[1078]747%endif
748
[1094]749# @todo temporarily split out .sym files (until we generate -debuginfo packages)
[1097]750rm -rf %{buildroot}.sym
[1094]751for f in $(cd "%{buildroot}" && find -type f -name "*.sym"); do
752 fd="${f%/*}"/
[1129]753 [ "$fd" = "$f/" ] && fd=
[1094]754 [ -d "%{buildroot}.sym/$fd" ] || mkdir -p "%{buildroot}.sym/$fd"
755 mv "%{buildroot}/$f" "%{buildroot}.sym/$fd"
756done
[1078]757
[1068]758%endif # if !0%{?skip_install}
759
[1041]760#------------------------------------------------------------------------------
761%clean
762#------------------------------------------------------------------------------
763
[1091]764%if !0%{?skip_clean}
[1041]765
[1091]766%if 0%{?master_mode}
767%if "%{?create_zips_script}" != ""
[1094]768# @todo put split out .sym files back
769(cd "%{buildroot}.sym" && find . -type f -name '*.sym' -exec mv "{}" "../%{buildroot}/{}" \;)
770rm -rf "%{buildroot}.sym"
771%{create_zips_script} "%{buildroot}" "%{_topdir}"
[1091]772%endif
773%endif
774
775rm -rf %{buildroot}
776
777%endif # if !0%{?skip_clean}
778
[1041]779#------------------------------------------------------------------------------
780%changelog
[1091]781* Thu Sep 15 2011 Dmitriy Kuminov <dmik/coding.org> 4.7.3-1
782- New release 4.7.3. See %{pkg_docdir}/changes-4.7.3 and
783 %{pkg_docdir}/CHANGES.OS2 for more information.
Note: See TracBrowser for help on using the repository browser.