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