Skip to content
Snippets Groups Projects
PKGBUILD 4.98 KiB
Newer Older
Gus Fun's avatar
Gus Fun committed
# Obarun        : 66 init/supervisor
# Maintainer    : Eric Vidal <eric@obarun.org>
# Maintainer    : Jean-Michel T.Dydak <jean-michel@obarun.org>
# Maintainer	: YianIris <yianiris At Disroot Dot Org>
# PkgSource     : url="https://framagit.org/pkg/obextra/qt5-base"
#----------------------------------------------------------------------------
#--DESCRIPTION---------------------------------------------------------------

pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)

pkgdesc="A cross-platform application and UI framework"

_qtver=5.15.2
pkgver=${_qtver/-/}
pkgrel=7


_pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
url="https://www.qt.io"
source=(
    "http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
    'qt5-base-cflags.patch'
    'qt5-base-nostrip.patch'
    kdebug-428095.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch?id=c5336057"
)
#--BUILD CONFIGURATION-------------------------------------------------------

makedepends=(
    'libfbclient'
    'mariadb-libs'
    'sqlite'
    'unixodbc'
    'postgresql-libs'
    'alsa-lib'
    'gst-plugins-base-libs'
    'gtk3'
    'libpulse'
    'cups'
    'freetds'
    'vulkan-headers')

#--BUILD PREPARATION---------------------------------------------------------

prepare() {
    cd ${_pkgfqn}
    patch -p1 -i ../qt5-base-cflags.patch # Use system CFLAGS
    patch -p1 -i ../qt5-base-nostrip.patch # Don't strip binaries with qmake
    patch -p1 -i ../kdebug-428095.patch # Fix black border on some menus with Breeze
}

#--BUILD---------------------------------------------------------------------

build() {
    cd ${_pkgfqn}

    #echo "INCLUDEPATH += /usr/include/openssl" >> src/network/network.pro
    #export OPENSSL_LIBS='-L/usr/lib -lssl -lcrypto'

    ./configure \
        -confirm-license -opensource -v \
        -prefix /usr \
        -docdir /usr/share/doc/qt \
        -headerdir /usr/include/qt \
        -archdatadir /usr/lib/qt \
        -datadir /usr/share/qt \
        -sysconfdir /etc/xdg \
        -examplesdir /usr/share/doc/qt/examples \
        -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
        -system-sqlite \
        -openssl-linked \
        -nomake examples \
        -no-rpath \
        -dbus-linked \
        -system-harfbuzz \
        -no-mimetype-database \
        -no-use-gold-linker \
        -reduce-relocations \
        -no-strip
    make
}

#--PACKAGE-------------------------------------------------------------------

package_qt5-base() {
    pkgdesc='A cross-platform application and UI framework'

    cd ${_pkgfqn}
    make INSTALL_ROOT="${pkgdir}" install

    install -Dm644 LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase

    ## Drop QMAKE_PRL_BUILD_DIR because reference the build dir
    find "${pkgdir}/usr/lib" -type f -name '*.prl' \
     -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

    ## Fix wrong qmake path in pri file
    sed -i "s|${srcdir}/${_pkgfqn}|/usr|" \
     "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri

    ## Symlinks for backwards compatibility
    for b in "${pkgdir}"/usr/bin/*; do
     ln -s $(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
    done
}

package_qt5-xcb-private-headers() {
    pkgdesc='Private headers for Qt5 Xcb'

    depends=("qt5-base=$pkgver")
    optdepends=()
    groups=()
    conflicts=()

    cd ${_pkgfqn}
    install -d -m755 "$pkgdir"/usr/include/qtxcb-private
    cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/
}

#--INSTALL CONFIGURATION-----------------------------------------------------

arch=('x86_64')

conflicts=(
    'qtchooser')

groups=(
    'qt'
    'qt5')

depends=(
    'libjpeg-turbo'
    'xcb-util-keysyms'
    'xcb-util-renderutil'
    'libgl'
    'fontconfig'
    'xdg-utils'
    'shared-mime-info'
    'xcb-util-wm'
    'libxrender'
    'libxi'
    'sqlite'
    'xcb-util-image'
    'mesa'
    'tslib'
    'libinput'
    'libxkbcommon-x11'
    'libproxy'
    'libcups'
    'double-conversion'
    'md4c')

optdepends=(
    'qt5-svg: to use SVG icon themes'
    'qt5-wayland: to run Qt applications in a Wayland session'
    'qt5-translations: for some native UI translations'
    'postgresql-libs: PostgreSQL driver'
    'mariadb-libs: MariaDB driver'
    'unixodbc: ODBC driver'
    'libfbclient: Firebird/iBase driver'
    'freetds: MS SQL driver'
    'gtk3: GTK platform plugin'
    'perl: for fixqt4hearders and syncqt')

#--SECURITY AND LICENCE------------------------------------------------------

license=('GPL3' 'LGPL3' 'FDL' 'custom')

sha512sums=('a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9'
'fa3dddfe42b7f0ade45bd0530badfc3a3800adbd3798bd814597527713c9fe360a242f7cf39312f4cc3c88e9bd7aba233bd6674c0fc78e694a1fd868474c4240'
'3b96ca0fba36358d25643ecc999e94559ddf122ba490ef92c4587389b2162ec22835f0a64a6e3f940df511a359ae43345462722c2525c2f5f2660c65d65d3f1c'
'afc8c44cb2fdb1b07b8e88bda102791d4f807a00acc60aad98114b5a5b78336b4e6aeff59fa2795f3f83f196635d034c571859dab7c7c0443a913012944a45a7')