wok-next annotate qt5/receipt @ rev 20095
Update/add packages needed for building MATE desktop:
Add: gnome-keyring3, gtkmm3, libappindicator-gtk[23], libfakekey, libgnome-keyring3, libindicator-gtk[23], libpeas.
Update: atkmm, cairomm, gcr, glibmm, gssdp, gupnp, icon-naming-utils, libcap-ng, libspectre, libwnck3, libxklavier, pangomm, perl-xml-sax.
Add: gnome-keyring3, gtkmm3, libappindicator-gtk[23], libfakekey, libgnome-keyring3, libindicator-gtk[23], libpeas.
Update: atkmm, cairomm, gcr, glibmm, gssdp, gupnp, icon-naming-utils, libcap-ng, libspectre, libwnck3, libxklavier, pangomm, perl-xml-sax.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Sat Oct 28 16:45:22 2017 +0300 (2017-10-28) |
parents | 26b78719991d |
children | 624992409fdb |
rev | line source |
---|---|
al@19988 | 1 # SliTaz package receipt v2. |
al@19988 | 2 |
al@19988 | 3 PACKAGE="qt5" |
al@19988 | 4 VERSION="5.9.1" |
al@19988 | 5 CATEGORY="meta" |
al@19988 | 6 SHORT_DESC="Cross-platform application framework" |
al@19988 | 7 MAINTAINER="al.bobylev@gmail.com" |
al@19988 | 8 LICENSE="LGPL3 GPL3" |
al@19988 | 9 WEB_SITE="https://www.qt.io/" |
al@19988 | 10 LFS="http://www.linuxfromscratch.org/blfs/view/stable/x/qt5.html" |
al@19988 | 11 |
al@19988 | 12 TARBALL="qt-everywhere-opensource-src-$VERSION.tar.xz" |
al@19988 | 13 WGET_URL="https://download.qt.io/archive/qt/${VERSION%.*}/$VERSION/single/$TARBALL" |
al@19988 | 14 |
psychomaniak@20086 | 15 PATCH="Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch" |
psychomaniak@20086 | 16 PATCH_URL="https://anonscm.debian.org/cgit/pkg-kde/qt/qtdeclarative.git/plain/debian/patches/" |
psychomaniak@20086 | 17 |
al@19988 | 18 BUILD_DEPENDS="dbus-dev eudev-dev zlib-dev glib-dev icu-dev pcre-dev \ |
al@19988 | 19 openssl-dev sqlite3-dev xorg-libxcb-dev mesa17-dev freetype-dev fontconfig-dev \ |
al@19988 | 20 libinput-dev harfbuzz-dev libjpeg-turbo-dev libpng16-dev tslib-dev \ |
al@19988 | 21 xorg-libX11-dev libxkbcommon-dev xorg-libXrender-dev cups-dev \ |
al@19988 | 22 xorg-libXcomposite-dev alsa-lib-dev gst1-plugins-base-dev gtk+3-dev" |
al@19988 | 23 # Name split packages according to sources structure, for example: |
al@19988 | 24 # $src/qtgamepad/ -> qt5-gamepad |
al@19988 | 25 SPLIT="qt5-3d qt5-base qt5-base-gtk3 \ |
al@19988 | 26 qt5-canvas3d qt5-charts qt5-connectivity \ |
al@19988 | 27 qt5-datavis3d qt5-declarative qt5-gamepad \ |
al@19988 | 28 qt5-graphicaleffects qt5-imageformats qt5-location \ |
al@19988 | 29 qt5-multimedia qt5-networkauth qt5-purchasing \ |
al@19988 | 30 qt5-quickcontrols qt5-quickcontrols2 qt5-remoteobjects \ |
al@19988 | 31 qt5-script qt5-scxml qt5-sensors \ |
al@19988 | 32 qt5-serialbus qt5-serialport qt5-speech \ |
al@19988 | 33 qt5-svg qt5-tools qt5-virtualkeyboard \ |
al@19988 | 34 qt5-wayland qt5-webchannel qt5-websockets \ |
al@19988 | 35 qt5-x11extras qt5-xmlpatterns \ |
al@19988 | 36 \ |
al@19988 | 37 qt5-locale-ar qt5-locale-ca qt5-locale-cs qt5-locale-da \ |
al@19988 | 38 qt5-locale-de qt5-locale-en qt5-locale-es qt5-locale-fa \ |
al@19988 | 39 qt5-locale-fi qt5-locale-fr qt5-locale-gl qt5-locale-he \ |
al@19988 | 40 qt5-locale-hu qt5-locale-it qt5-locale-ja qt5-locale-ko \ |
al@19988 | 41 qt5-locale-lt qt5-locale-lv qt5-locale-pl qt5-locale-pt \ |
al@19988 | 42 qt5-locale-ru qt5-locale-sk qt5-locale-sl qt5-locale-sv \ |
al@19988 | 43 qt5-locale-uk qt5-locale-zh_CN qt5-locale-zh_TW \ |
al@19988 | 44 \ |
al@19988 | 45 qt5-doc qt5-dev" |
al@19988 | 46 |
al@19988 | 47 compile_rules() { |
al@19988 | 48 export QT5PREFIX=/usr # or /opt/qt5 |
al@19988 | 49 if [ "$QT5PREFIX" == '/usr' ]; then |
al@19988 | 50 QT5OPTS="\ |
al@19988 | 51 -archdatadir /usr/lib/qt5 \ |
al@19988 | 52 -bindir /usr/bin \ |
al@19988 | 53 -plugindir /usr/lib/qt5/plugins \ |
al@19988 | 54 -importdir /usr/lib/qt5/imports \ |
al@19988 | 55 -headerdir /usr/include/qt5 \ |
al@19988 | 56 -datadir /usr/share/qt5 \ |
al@19988 | 57 -docdir /usr/share/doc/qt5 \ |
al@19988 | 58 -translationdir /usr/share/qt5/translations \ |
al@19988 | 59 -examplesdir /usr/share/doc/qt5/examples \ |
al@19988 | 60 " |
al@19988 | 61 fi |
al@19988 | 62 |
al@19988 | 63 echo "INCLUDEPATH += /usr/include/openssl-1.0" >> qtbase/src/network/network.pro |
al@19988 | 64 export OPENSSL_LIBS='-L/usr/lib/openssl-1.0 -lssl -lcrypto' |
al@19988 | 65 |
psychomaniak@20086 | 66 [ -s $SOURCES_REPOSITORY/$PATCH ] || \ |
psychomaniak@20086 | 67 wget -O $SOURCES_REPOSITORY/$PATCH ${PATCH_URL}$PATCH |
psychomaniak@20086 | 68 cd $src/qtdeclarative |
psychomaniak@20086 | 69 cp $SOURCES_REPOSITORY/$PATCH ./$PATCH |
psychomaniak@20086 | 70 patch -p1 -i $PATCH |
psychomaniak@20086 | 71 cd .. |
psychomaniak@20086 | 72 |
al@19988 | 73 ./configure \ |
al@19988 | 74 -prefix $QT5PREFIX \ |
al@19988 | 75 $QT5OPTS \ |
al@19988 | 76 -sysconfdir /etc/xdg \ |
al@19988 | 77 -confirm-license \ |
al@19988 | 78 -opensource \ |
al@19988 | 79 -dbus-linked \ |
al@19988 | 80 -openssl-linked \ |
al@19988 | 81 -system-harfbuzz \ |
al@19988 | 82 -system-sqlite \ |
al@19988 | 83 -nomake examples \ |
al@19988 | 84 -no-rpath \ |
psychomaniak@20056 | 85 -no-sse2 \ |
al@19988 | 86 -skip qtwebengine && |
al@19988 | 87 make && |
al@19988 | 88 make INSTALL_ROOT=$install install || exit 1 |
al@19988 | 89 |
al@19988 | 90 # find $install$QT5PREFIX/lib/pkgconfig -name '*.pc' \ |
al@19988 | 91 # -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \; && |
al@19988 | 92 # find $install$QT5PREFIX/ -name qt_lib_bootstrap_private.pri \ |
al@19988 | 93 # -exec sed -i -e "s:$PWD/qtbase:/$QT5PREFIX/lib/:g" {} \; && |
al@19988 | 94 find $install$QT5PREFIX/ -name '*.prl' \ |
al@19988 | 95 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' '{}' \; |
al@19988 | 96 |
al@19988 | 97 QT5BINDIR=$QT5PREFIX/bin |
al@19988 | 98 |
al@19988 | 99 install -v -dm755 $install/usr/share/pixmaps/ |
al@19988 | 100 |
al@19988 | 101 install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png $install/usr/share/pixmaps/assistant-qt5.png |
al@19988 | 102 install -v -Dm644 qttools/src/designer/src/designer/images/designer.png $install/usr/share/pixmaps/designer-qt5.png |
al@19988 | 103 install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png $install/usr/share/pixmaps/linguist-qt5.png |
al@19988 | 104 install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png $install/usr/share/pixmaps/qdbusviewer-qt5.png |
al@19988 | 105 |
al@19988 | 106 mkdir -p $install/usr/share/applications |
al@19988 | 107 for i in $stuff/apps/*.desktop.in; do |
al@19988 | 108 sed "s|@QT5BINDIR@|$QT5BINDIR|" $i > $install/usr/share/applications/$(basename $i .in) |
al@19988 | 109 done |
al@19988 | 110 |
al@19988 | 111 for file in moc uic rcc qmake lconvert lrelease lupdate; do |
al@19988 | 112 if [ "$QT5BINDIR" == '/usr/bin' ]; then |
al@19988 | 113 ln -sfvn $file $install/usr/bin/$file-qt5 |
al@19988 | 114 else |
al@19988 | 115 ln -sfvn $QT5BINDIR/$file $install/usr/bin/$file-qt5 |
al@19988 | 116 fi |
al@19988 | 117 done |
al@19988 | 118 |
al@19988 | 119 # tweak permissions |
al@19988 | 120 find $install -type f -perm 664 -exec chmod 644 '{}' \; |
al@19988 | 121 find $install -type f -perm 775 -exec chmod 755 '{}' \; |
al@19988 | 122 } |
al@19988 | 123 |
al@19988 | 124 genpkg_rules() { |
al@19988 | 125 # How to split Qt5? |
al@19988 | 126 # It contains: 41 executables in bin/, 61 different libraries in lib/, |
al@19988 | 127 # 27 folders in plugins/, 27 languages in translations/. |
al@19988 | 128 # 156 packages for Qt5? It's a bit too much, isn't it? |
al@19988 | 129 # |
al@19988 | 130 # Let's deep into $src... |
al@19988 | 131 # Each folder here is a module (with rare exceptions). 41 pieces. |
al@19988 | 132 # Let use these folders as a landmark to make Qt5 packages. |
al@19988 | 133 # Each folder may contain: executables (examine bin/ subfolder), libraries |
al@19988 | 134 # (lib/), plugins (plugins/), and qml (not sure what is it, but examine |
al@19988 | 135 # qml/ subfolder). Note, some qml directories may be shared across different |
al@19988 | 136 # Qt5 packages, so add only sub(-sub(-sub))-folders that contain "qmldir" |
al@19988 | 137 # inside it. |
al@19988 | 138 # |
al@19988 | 139 # Let's begin. |
al@19988 | 140 # |
al@19988 | 141 case $PACKAGE in |
al@19988 | 142 qt5) |
al@19988 | 143 COOKOPTS="!pixmaps !menus" |
al@19988 | 144 DEPENDS="$SPLIT";; |
al@19988 | 145 qt5-locale-*) |
al@19988 | 146 la=${PACKAGE#qt5-locale-} |
al@19988 | 147 copy *_$la.qm |
al@19988 | 148 case $la in |
al@19988 | 149 ar) lo='Arabic';; ca) lo='Catalan';; |
al@19988 | 150 cs) lo='Czech';; da) lo='Danish';; |
al@19988 | 151 de) lo='German';; en) lo='English';; |
al@19988 | 152 es) lo='Spanish';; fa) lo='Persian';; |
al@19988 | 153 fi) lo='Finnish';; fr) lo='French';; |
al@19988 | 154 gl) lo='Galician';; he) lo='Hebrew';; |
al@19988 | 155 hu) lo='Hungarian';; it) lo='Italian';; |
al@19988 | 156 ja) lo='Japanese';; ko) lo='Korean';; |
al@19988 | 157 lt) lo='Lithuanian';; lv) lo='Latvian';; |
al@19988 | 158 pl) lo='Polish';; pt) lo='Portuguese';; |
al@19988 | 159 ru) lo='Russian';; sk) lo='Slovak';; |
al@19988 | 160 sl) lo='Slovenian';; sv) lo='Swedish';; |
al@19988 | 161 uk) lo='Ukrainian';; zh_CN) lo='Chinese simplified';; |
al@19988 | 162 zh_TW) lo='Chinese traditional';; |
al@19988 | 163 esac |
al@19988 | 164 CAT="localization|$lo locale" |
al@19988 | 165 DEPENDS=" ";; |
al@19988 | 166 qt5-doc) |
al@19988 | 167 copy doc/ |
al@19988 | 168 CAT="docs|documentation" |
al@19988 | 169 DEPENDS="qt5-base";; |
al@19988 | 170 qt5-dev) |
al@19988 | 171 copy @dev qt5/include/ mkspecs/ *.cmake *.prl qmake.conf |
al@19988 | 172 # Binaries from qt5-base: |
al@19988 | 173 copy fixqt4headers.pl moc moc-qt5 qdbuscpp2xml qdbusxml2cpp qlalr \ |
al@19988 | 174 qmake qmake-qt5 rcc rcc-qt5 syncqt.pl uic uic-qt5 \ |
al@19988 | 175 builtins.qmltypes |
al@19988 | 176 DEPENDS="qt5";; |
al@19988 | 177 qt5-base-gtk3) |
al@19988 | 178 copy libqgtk3.so |
al@19988 | 179 CAT="development|GTK+3 theme support" |
al@19988 | 180 DEPENDS="qt5-base atk cairo gdk-pixbuf glib gtk+3 mesa17 pango \ |
al@19988 | 181 xorg-libX11 xorg-libXext";; |
al@19988 | 182 *) |
al@19988 | 183 # examine folders in $src to understand what we need to copy from $install |
al@19988 | 184 examine="$src/qt${PACKAGE#qt5-}" |
al@19988 | 185 |
al@19988 | 186 unset binaries libraries plugins qml |
al@19988 | 187 |
al@19988 | 188 # output "base names" of files found in bin/ subfolder |
al@19988 | 189 [ -d "$examine/bin" ] && |
al@19988 | 190 binaries=$(find $examine/bin -type f | awk -F/ '{print $NF}') |
al@19988 | 191 |
al@19988 | 192 # the same thing with lib/ |
al@19988 | 193 [ -d "$examine/lib" ] && |
al@19988 | 194 libraries=$(find $examine/lib -name '*.so' | awk -F/ '{print $NF}') |
al@19988 | 195 |
al@19988 | 196 # libraries in plugins/ sub-folder |
al@19988 | 197 [ -d "$examine/plugins" ] && |
al@19988 | 198 plugins=$(find $examine/plugins -name '*.so' | awk -F/ '{print $NF}') |
al@19988 | 199 |
al@19988 | 200 # libraries in qml/ sub-folder |
al@19988 | 201 [ -d "$examine/qml" ] && |
al@19988 | 202 qml=$(cd $examine; find ./qml -name 'qmldir' | sed 's|^./||; s|qmldir$||') |
al@19988 | 203 |
al@19988 | 204 copy $binaries $plugins $( |
al@19988 | 205 for i in $libraries; do echo "$i*"; done |
al@19988 | 206 for i in $qml; do echo $i; done) |
al@19988 | 207 ;; |
al@19988 | 208 esac |
al@19988 | 209 case $PACKAGE in |
al@19988 | 210 qt5-3d) |
al@19988 | 211 CAT="development|3D module" |
al@19988 | 212 DEPENDS="qt5-base qt5-declarative qt5-gamepad mesa17 zlib";; |
al@19988 | 213 qt5-base) |
al@19988 | 214 # Move binaries (that required for compiling the packages) to qt5-dev |
al@19988 | 215 rm -r $fs/usr/bin |
al@19988 | 216 |
al@19988 | 217 # Move to qt5-base-gtk3 because only it depends on GTK3 and friends |
al@19988 | 218 rm $fs/usr/lib/qt5/plugins/platformthemes/libqgtk3.so |
al@19988 | 219 |
al@19988 | 220 CAT="development|Base module" |
al@19988 | 221 DEPENDS="dbus eudev fontconfig freetype glib icu libcrypto libcups \ |
al@19988 | 222 libdrm libharfbuzz libicu libinput libjpeg-turbo libpng16 \ |
al@19988 | 223 libsqlite3 libssl libxkbcommon mesa17 mesa17-libegl mesa17-libgbm \ |
al@19988 | 224 mtdev tslib xorg-libICE xorg-libSM xorg-libX11 xorg-libXext \ |
al@19988 | 225 xorg-libXi xorg-libxcb zlib";; |
al@19988 | 226 qt5-canvas3d) |
al@19988 | 227 CAT="development|Canvas3D module" |
al@19988 | 228 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 229 qt5-charts) |
al@19988 | 230 CAT="development|Charts module" |
al@19988 | 231 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 232 qt5-connectivity) |
al@19988 | 233 CAT="development|Connectivity module" |
al@19988 | 234 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 235 qt5-datavis3d) |
al@19988 | 236 CAT="development|DataVisualization module" |
al@19988 | 237 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 238 qt5-declarative) |
al@19988 | 239 CAT="development|Declarative module" |
al@19988 | 240 DEPENDS="qt5-base qt5-remoteobjects qt5-xmlpatterns mesa17";; |
al@19988 | 241 qt5-gamepad) |
al@19988 | 242 CAT="development|Gamepad module" |
al@19988 | 243 DEPENDS="qt5-base qt5-declarative eudev mesa17";; |
al@19988 | 244 qt5-graphicaleffects) |
al@19988 | 245 CAT="development|GraphicalEffects module" |
al@19988 | 246 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 247 qt5-imageformats) |
al@19988 | 248 CAT="development|imageformats module" |
al@19988 | 249 DEPENDS="qt5-base mesa17 tiff";; |
al@19988 | 250 qt5-location) |
al@19988 | 251 CAT="development|Location module" |
al@19988 | 252 DEPENDS="qt5-base qt5-declarative icu libcrypto libicu libssl \ |
al@19988 | 253 mesa17 zlib";; |
al@19988 | 254 qt5-multimedia) |
al@19988 | 255 CAT="development|Multimedia module" |
al@19988 | 256 DEPENDS="qt5-base qt5-declarative alsa-lib glib gst1-plugins-base \ |
al@19988 | 257 gstreamer1 mesa17";; |
al@19988 | 258 qt5-networkauth) |
al@19988 | 259 CAT="development|NetworkAuth module" |
al@19988 | 260 DEPENDS="qt5-base mesa17";; |
al@19988 | 261 qt5-purchasing) |
al@19988 | 262 CAT="development|Purchasing module" |
al@19988 | 263 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 264 qt5-quickcontrols) |
al@19988 | 265 CAT="development|QuickControls module" |
al@19988 | 266 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 267 qt5-quickcontrols2) |
al@19988 | 268 CAT="development|QuickControls2 module" |
al@19988 | 269 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 270 qt5-remoteobjects) |
al@19988 | 271 rm -r $fs/usr/lib/qt5/ # interception with qt5-declarative |
al@19988 | 272 CAT="development|RemoteObjects module" |
al@19988 | 273 DEPENDS="qt5-base";; |
al@19988 | 274 qt5-script) |
al@19988 | 275 CAT="development|Script module" |
al@19988 | 276 DEPENDS="qt5-base mesa17";; |
al@19988 | 277 qt5-scxml) |
al@19988 | 278 CAT="development|SCXML module" |
al@19988 | 279 DEPENDS="qt5-base qt5-declarative";; |
al@19988 | 280 qt5-sensors) |
al@19988 | 281 CAT="development|Sensors module" |
al@19988 | 282 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 283 qt5-serialbus) |
al@19988 | 284 CAT="development|SerialBus module" |
al@19988 | 285 DEPENDS="qt5-base qt5-serialport";; |
al@19988 | 286 qt5-serialport) |
al@19988 | 287 CAT="development|SerialPort module" |
al@19988 | 288 DEPENDS="qt5-base eudev";; |
al@19988 | 289 qt5-speech) |
al@19988 | 290 CAT="development|Speech module" |
al@19988 | 291 DEPENDS="qt5-base";; |
al@19988 | 292 qt5-svg) |
al@19988 | 293 CAT="development|SVG module" |
al@19988 | 294 DEPENDS="qt5-base mesa17 zlib";; |
al@19988 | 295 qt5-tools) |
al@19988 | 296 copy applications/ pixmaps/ phrasebooks/ lconvert-qt5 lrelease-qt5 \ |
al@19988 | 297 lupdate-qt5 |
al@19988 | 298 CAT="development|Tools module" |
al@19988 | 299 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 300 qt5-virtualkeyboard) |
al@19988 | 301 CAT="development|VirtualKeyboard module" |
al@19988 | 302 DEPENDS="qt5-base qt5-declarative qt5-svg mesa17 xorg-libxcb";; |
al@19988 | 303 qt5-wayland) |
al@19988 | 304 CAT="development|Wayland module" |
al@19988 | 305 DEPENDS="qt5-base qt5-declarative fontconfig freetype glib \ |
al@19988 | 306 libxkbcommon mesa17 mesa17-libegl mesa17-libwayland-egl wayland \ |
al@19988 | 307 xorg-libX11 xorg-libXcomposite xorg-libXext";; |
al@19988 | 308 qt5-webchannel) |
al@19988 | 309 CAT="development|WebChannel module" |
al@19988 | 310 DEPENDS="qt5-base qt5-declarative mesa17";; |
al@19988 | 311 qt5-websockets) |
al@19988 | 312 CAT="development|WebSockets module" |
al@19988 | 313 DEPENDS="qt5-base qt5-declarative";; |
al@19988 | 314 qt5-x11extras) |
al@19988 | 315 CAT="development|X11Extras module" |
al@19988 | 316 DEPENDS="qt5-base mesa17";; |
al@19988 | 317 qt5-xmlpatterns) |
al@19988 | 318 CAT="development|XmlPatterns module" |
al@19988 | 319 DEPENDS="qt5-base";; |
al@19988 | 320 esac |
al@19988 | 321 } |