blob: 8ea5b89c2dd7af76d667230085fcc5456e16329d (
plain)
1 # Description: Qt Free Edition, version 5.x.
2 # URL: http://www.qt.io/
3 # Maintainer: Danny Rawlins, crux at romster dot me
4 # Packager: predrag ivanovic, predivan at open dot telekom dot rs
5 # Depends on: dbus gdk-pixbuf gst-plugins-base libepoxy libmng mtdev xorg-libxcomposite xorg-libxcursor xorg-libxi xorg-libxinerama xorg-libxrandr xorg-xcb-util-image xorg-xcb-util-keysyms xorg-xcb-util-wm
6
7 name=qt5
8 version=5.8.0
9 release=1
10 source=(http://download.qt.io/official_releases/qt/${version::3}/$version/single/qt-everywhere-opensource-src-$version.tar.xz
11 qt5-logo.png
12 plasma-crash-1.patch
13 plasma-crash-2.patch
14 plasma-crash-3.patch)
15
16 build() {
17 cd qt-everywhere-opensource-src-$version
18
19 # Fix some Plasma taskbar crashes https://bugs.kde.org/show_bug.cgi?id=342763
20 patch -p1 -d qtbase -i $SRC/plasma-crash-1.patch
21 patch -p1 -d qtbase -i $SRC/plasma-crash-2.patch
22 patch -p1 -d qtbase -i $SRC/plasma-crash-3.patch
23
24 # Respect system CXX
25 [ "$CXX" ] || CXX=g++
26 sed -i "/^QMAKE_CXX\s/s|=.*|= $CXX|" qtbase/mkspecs/common/g++-base.conf
27
28 # Remove obsolete xorg path
29 sed -i 's|X11R6/||g' qtbase/mkspecs/*/*.conf
30
31 # Respect system CXXFLAGS
32 sed -i "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CXXFLAGS}|" \
33 qtbase/mkspecs/common/gcc-base.conf
34
35 # Respect system LDFLAGS
36 sed -i "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
37 qtbase/mkspecs/common/g++-unix.conf
38
39 export QTDIR="$PWD"
40 export LD_LIBRARY_PATH="$QTDIR/qtbase/lib:$QTDIR/qttools/lib:$LD_LIBRARY_PATH"
41 export QT_PLUGIN_PATH="$QTDIR/qtbase/plugins"
42
43 ./configure \
44 -prefix /usr/ \
45 -archdatadir /usr/lib/qt5 \
46 -bindir /usr/lib/qt5/bin \
47 -datadir /usr/share/qt5 \
48 -docdir /usr/share/doc/qt5-$version \
49 -examplesdir /usr/share/doc/qt5-$version/examples \
50 -headerdir /usr/include/qt5 \
51 -libdir /usr/lib \
52 -sysconfdir /usr/etc/xdg \
53 -confirm-license \
54 -dbus-linked \
55 -no-egl \
56 -nomake examples \
57 -no-pch \
58 -no-rpath \
59 -no-separate-debug-info \
60 -no-strip \
61 -opengl desktop \
62 -opensource \
63 -openssl-linked \
64 -optimized-qmake \
65 -qt-xkbcommon-x11 \
66 -reduce-relocations \
67 -release \
68 -shared \
69 -skip qtwebengine
70
71 make
72 make -j1 INSTALL_ROOT=$PKG install
73
74 # Fix paths
75 find $PKG/usr/lib/ -type f -name '*.prl' \
76 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
77
78 sed -e "s|$PWD/qtbase|/usr/lib/qt5|g" \
79 -i $PKG/usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri
80
81 rm -r $PKG/usr/share/doc
82
83 # Install useful symlinks
84 install -d $PKG/usr/bin
85 for file in $PKG/usr/lib/qt5/bin/*; do
86 ln -s ../lib/qt5/bin/$(basename $file) $PKG/usr/bin/$(basename $file)-qt5
87 done
88
89 # Add menu entries for all those hidden but great Qt applications:
90 # # Qt5 logo:
91 install -d $PKG/usr/share/icons/hicolor/48x48/apps
92 # requires imagemagick
93 # convert qtdoc/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png
94 install -m 0644 $SRC/qt5-logo.png $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png
95
96 # Assistant icons
97 install -m 0644 -D qttools/src/assistant/assistant/images/assistant.png \
98 $PKG/usr/share/icons/hicolor/32x32/apps/qt5-assistant.png
99 install -m 0644 -D qttools/src/assistant/assistant/images/assistant-128.png \
100 $PKG/usr/share/icons/hicolor/128x128/apps/qt5-assistant.png
101
102 # Designer icon
103 install -m 0644 -D qttools/src/designer/src/designer/images/designer.png \
104 $PKG/usr/share/icons/hicolor/128x128/apps/qt5-designer.png
105
106 # QDbusViewer icons
107 install -m 0644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer.png \
108 $PKG/usr/share/icons/hicolor/32x32/apps/qt5-qdbusviewer.png
109 install -m 0644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
110 $PKG/usr/share/icons/hicolor/128x128/apps/qt5-qdbusviewer.png
111
112 # Linguist icons
113 for icon in qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
114 size=$(echo $(basename ${icon}) | cut -d- -f2)
115 install -m 0644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/qt5-linguist.png
116 done
117
118 # And the .desktop files too:
119 install -d $PKG/usr/share/applications
120 cat <<EOF > $PKG/usr/share/applications/qt5-designer.desktop
121 [Desktop Entry]
122 Name=Qt5 Designer
123 GenericName=Interface Designer
124 Comment=Design GUIs for Qt5 applications
125 Exec=designer-qt5 -qt=5
126 Icon=qt5-designer
127 MimeType=application/x-designer;
128 Terminal=false
129 Encoding=UTF-8
130 Type=Application
131 Categories=Qt;Development;
132 EOF
133 cat <<EOF > $PKG/usr/share/applications/qt5-assistant.desktop
134 [Desktop Entry]
135 Name=Qt5 Assistant
136 Comment=Shows Qt5 documentation and examples
137 Exec=assistant-qt5 -qt=5
138 Icon=qt5-assistant
139 Terminal=false
140 Encoding=UTF-8
141 Type=Application
142 Categories=Qt;Development;Documentation;
143 EOF
144 cat <<EOF > $PKG/usr/share/applications/qt5-linguist.desktop
145 [Desktop Entry]
146 Name=Qt5 Linguist
147 Comment=Add translations to Qt5 applications
148 Exec=linguist-qt5 -qt=5
149 Icon=qt5-linguist
150 MimeType=text/vnd.trolltech.linguist;application/x-linguist;
151 Terminal=false
152 Encoding=UTF-8
153 Type=Application
154 Categories=Qt;Development;
155 EOF
156 cat <<EOF > $PKG/usr/share/applications/qt5-qdbusviewer.desktop
157 [Desktop Entry]
158 Name=Qt5 QDbusViewer
159 GenericName=Qt5 D-Bus Debugger
160 Comment=Debug D-Bus applications
161 Exec=qdbusviewer-qt5
162 Icon=qt5-qdbusviewer
163 Terminal=false
164 Type=Application
165 Categories=Qt;Development;Debugger;
166 EOF
167 }
|