opt/qt5/Pkgfile

180 lines
6.0 KiB
Plaintext
Raw Normal View History

# Description: Qt Free Edition, version 5.x.
# URL: http://www.qt.io/
2014-11-10 13:25:50 +01:00
# Maintainer: Danny Rawlins, crux at romster dot me
# 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 xorg-xcb-util-renderutil
2020-04-10 07:40:53 +02:00
# Optional: icu
2014-08-17 09:00:26 +02:00
name=qt5
2020-11-21 04:08:48 +01:00
version=5.15.2
2022-02-21 23:13:56 +01:00
release=3
2017-12-24 04:04:31 +01:00
source=(https://download.qt.io/official_releases/qt/${version::4}/$version/single/qt-everywhere-src-$version.tar.xz
2022-02-21 23:13:56 +01:00
https://www.linuxfromscratch.org/patches/blfs/svn/qt-everywhere-src-5.15.2-kf5.15-2.patch
2020-09-19 15:01:52 +02:00
qt5-cflags.patch
qt5-logo.png
qtbase-everywhere-src-5.11.1-python3.patch
qtbase-everywhere-src-5.14.2-no_relocatable.patch
qtbase-everywhere-src-5.15.2-libglvnd.patch
qtbase-filechooser-portal-send-window-id-in-hex.patch
qtbase-use-wayland-on-gnome.patch
qt-everywhere-src-5.15.2-CVE-2021-3481-1.patch)
2014-08-17 09:00:26 +02:00
build() {
2017-12-24 04:04:31 +01:00
cd qt-everywhere-src-$version
2017-10-09 14:45:31 +02:00
2022-02-21 23:13:56 +01:00
patch -p1 -i $SRC/qt-everywhere-src-5.15.2-kf5.15-2.patch
2020-09-19 15:01:52 +02:00
patch -d qtbase -p1 -i $SRC/qt5-cflags.patch
patch -d qtbase -p1 -i $SRC/qtbase-everywhere-src-5.11.1-python3.patch
patch -d qtbase -p1 -i $SRC/qtbase-everywhere-src-5.14.2-no_relocatable.patch
patch -d qtbase -p1 -i $SRC/qtbase-everywhere-src-5.15.2-libglvnd.patch
patch -d qtbase -p1 -i $SRC/qtbase-filechooser-portal-send-window-id-in-hex.patch
patch -d qtbase -p1 -i $SRC/qtbase-use-wayland-on-gnome.patch
2022-02-21 23:13:56 +01:00
#patch -p1 -i $SRC/qt-everywhere-src-5.15.2-CVE-2021-3481-1.patch
export PYTHON='/usr/bin/python3'
mkdir $SRC/bin
ln -s /usr/bin/python3 $SRC/bin/python
export PATH="$SRC/bin:$PATH"
2014-09-28 09:40:04 +02:00
export QTDIR="$PWD"
export LD_LIBRARY_PATH="$QTDIR/qtbase/lib:$QTDIR/qttools/lib:$LD_LIBRARY_PATH"
export QT_PLUGIN_PATH="$QTDIR/qtbase/plugins"
2014-08-17 09:00:26 +02:00
prt-get isinst ccache && PKGMK_QT5+=' -ccache' && \
PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
sed -i '/utility/a #include <limits>' qtbase/src/corelib/global/qglobal.h
sed -i '/string/a #include <limits>' qtbase/src/corelib/global/qfloat16.h
sed -i '/qbytearray/a #include <limits>' qtbase/src/corelib/text/qbytearraymatcher.h
sed -i '/type_traits/a #include <limits>' qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h
2019-07-14 16:17:09 +02:00
./configure $PKGMK_QT5 \
-prefix /usr/ \
-archdatadir /usr/lib/qt5 \
-bindir /usr/lib/qt5/bin \
-plugindir /usr/lib/qt5/plugins \
-importdir /usr/lib/qt5/imports \
-datadir /usr/share/qt5 \
-docdir /usr/share/doc/qt5 \
-translationdir /usr/share/qt5/translations \
-examplesdir /usr/share/doc/qt5/examples \
-headerdir /usr/include/qt5 \
-libdir /usr/lib \
-sysconfdir /usr/etc/xdg \
-confirm-license \
-dbus-linked \
-nomake examples \
-no-pch \
-no-rpath \
-no-separate-debug-info \
-no-strip \
-opengl desktop \
-opensource \
-openssl-linked \
-reduce-relocations \
-release \
-shared \
2017-11-25 01:01:51 +01:00
-plugin-sql-sqlite \
-system-sqlite \
-system-harfbuzz \
2019-01-01 05:19:19 +01:00
-skip qtwebengine \
-silent
2014-08-17 09:00:26 +02:00
2014-09-28 09:40:04 +02:00
make
make -j1 INSTALL_ROOT=$PKG install
2014-09-28 09:40:04 +02:00
# Fix paths
2020-09-19 15:01:52 +02:00
find "$PKG/usr/lib" -type f -name '*.prl' \
-exec sed -e '/^QMAKE_PRL_BUILD_DIR/d' -i {} \;
sed -e "s|$PWD/qtbase|/usr/lib/qt5|g" \
-i $PKG/usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri
2014-09-28 09:40:04 +02:00
rm -r $PKG/usr/share/doc
2014-09-28 09:40:04 +02:00
# Install useful symlinks
install -d $PKG/usr/bin
for file in $PKG/usr/lib/qt5/bin/*; do
ln -s ../lib/qt5/bin/$(basename $file) $PKG/usr/bin/$(basename $file)-qt5
2020-02-01 07:12:31 +01:00
ln -s ../lib/qt5/bin/$(basename $file) $PKG/usr/bin/$(basename $file)
2014-09-28 09:40:04 +02:00
done
2015-11-28 08:21:13 +01:00
# Add menu entries for all those hidden but great Qt applications:
# # Qt5 logo:
install -d $PKG/usr/share/icons/hicolor/48x48/apps
# requires imagemagick
#convert qtdoc/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png
install -m 0644 $SRC/qt5-logo.png $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png
# Assistant icons
install -m 0644 -D qttools/src/assistant/assistant/images/assistant.png \
$PKG/usr/share/icons/hicolor/32x32/apps/qt5-assistant.png
install -m 0644 -D qttools/src/assistant/assistant/images/assistant-128.png \
$PKG/usr/share/icons/hicolor/128x128/apps/qt5-assistant.png
# Designer icon
install -m 0644 -D qttools/src/designer/src/designer/images/designer.png \
$PKG/usr/share/icons/hicolor/128x128/apps/qt5-designer.png
# QDbusViewer icons
install -m 0644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer.png \
$PKG/usr/share/icons/hicolor/32x32/apps/qt5-qdbusviewer.png
install -m 0644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
$PKG/usr/share/icons/hicolor/128x128/apps/qt5-qdbusviewer.png
# Linguist icons
for icon in qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
size=$(echo $(basename ${icon}) | cut -d- -f2)
install -m 0644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/qt5-linguist.png
done
# And the .desktop files too:
install -d $PKG/usr/share/applications
cat <<EOF > $PKG/usr/share/applications/qt5-designer.desktop
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=designer-qt5 -qt=5
Icon=qt5-designer
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat <<EOF > $PKG/usr/share/applications/qt5-assistant.desktop
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=assistant-qt5 -qt=5
Icon=qt5-assistant
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF
cat <<EOF > $PKG/usr/share/applications/qt5-linguist.desktop
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=linguist-qt5 -qt=5
Icon=qt5-linguist
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat <<EOF > $PKG/usr/share/applications/qt5-qdbusviewer.desktop
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=Qt5 D-Bus Debugger
Comment=Debug D-Bus applications
Exec=qdbusviewer-qt5
Icon=qt5-qdbusviewer
Terminal=false
Type=Application
Categories=Qt;Development;Debugger;
EOF
2014-08-17 09:00:26 +02:00
}