mirror of
https://gitdl.cn/https://github.com/chakralinux/lib32.git
synced 2025-02-16 16:00:50 +08:00
145 lines
5.0 KiB
Bash
145 lines
5.0 KiB
Bash
_pkgbasename=qt
|
|
pkgname="lib32-${_pkgbasename}"
|
|
pkgver=4.8.7
|
|
pkgrel=8
|
|
pkgdesc='A cross-platform application and UI framework. (ELF32)'
|
|
arch=('x86_64')
|
|
url='http://www.qt.io'
|
|
license=('GPL3' 'LGPL')
|
|
depends=(lib32-{fontconfig,sqlite3,alsa-lib,glib2,dbus-core,openssl,gstreamer,gst-plugins-base}
|
|
lib32-lib{png,tiff,mng,gl,sm,xrandr,xv,xi,xinerama,xcursor,xfixes,ffi,xml2}
|
|
"${_pkgbasename}=${pkgver}")
|
|
makedepends=('cups' lib32-{mesa,libcups,libxfixes,icu} )
|
|
_pkgfqn="${_pkgbasename}-everywhere-opensource-src-${pkgver}"
|
|
source=("http://download.qt.io/official_releases/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
|
|
'improve-cups-support.patch'
|
|
'moc-boost-workaround.patch'
|
|
'kubuntu_14_systemtrayicon.diff'
|
|
'kde4-settings.patch'
|
|
'glib-honor-ExcludeSocketNotifiers-flag.diff'
|
|
'disable-sslv3.patch'
|
|
'l-qclipboard_fix_recursive.patch'
|
|
'l-qclipboard_delay.patch'
|
|
'qt4-gcc6.patch'
|
|
'qt4-glibc-2.25.patch'
|
|
'qt4-icu59.patch'
|
|
'qt4-openssl-1.1.patch')
|
|
md5sums=('d990ee66bf7ab0c785589776f35ba6ad'
|
|
'c439c7731c25387352d8453ca7574971'
|
|
'da387bde22ae1c446f12525d2a31f070'
|
|
'a523644faa8f98a73f55c4aa23c114a6'
|
|
'66dfea63916c8dbf47b23cb012ffdccc'
|
|
'85679531c8a7310317adfb7002d9f99a'
|
|
'1803ab6313df762d807678e58fc85f53'
|
|
'009de09b4e589a7770fba74405656c99'
|
|
'addc5e88d538ee55e17bd49ba337ca67'
|
|
'98e00c5c7e5fee12e11ecbedd03f01ff'
|
|
'296a06554222ff5839cccc41c5d3987e'
|
|
'dbd1bec8c33c27ec0ae640b25801d25b'
|
|
'543b8d1f220bfe6116c3d08584c260e6')
|
|
|
|
|
|
prepare() {
|
|
cd "${srcdir}/${_pkgfqn}"
|
|
|
|
# (FS#28381) (KDEBUG#180051)
|
|
patch -p1 -i "${srcdir}"/improve-cups-support.patch
|
|
|
|
# QTBUG#22829
|
|
patch -p1 -i "${srcdir}"/moc-boost-workaround.patch
|
|
|
|
# http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
|
|
patch -p1 -i "${srcdir}"/kubuntu_14_systemtrayicon.diff
|
|
|
|
# FS#45106
|
|
patch -p0 -i "${srcdir}"/kde4-settings.patch
|
|
|
|
# React to OpenSSL's OPENSSL_NO_SSL3 define
|
|
patch -p1 -i "${srcdir}"/disable-sslv3.patch
|
|
|
|
sed -i "s|-O2|${CXXFLAGS} -m32|" mkspecs/common/{g++,gcc}-base.conf
|
|
sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf
|
|
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS} -m32|g" mkspecs/common/gcc-base.conf
|
|
|
|
sed -i "/^QMAKE_LINK\s/s|g++|g++ -m32|g" mkspecs/common/g++-base.conf
|
|
sed -i "s|-Wl,-O1|-m32 -Wl,-O1|" mkspecs/common/g++-unix.conf
|
|
sed -e "s|-O2|${CXXFLAGS} -m32|" \
|
|
-e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \
|
|
-e "/^QMAKE_LINK\s/s|g++|g++ -m32|g" \
|
|
-e "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS} -m32|g" \
|
|
-i mkspecs/common/g++.conf
|
|
|
|
cp mkspecs/common/linux{,32}.conf
|
|
sed -i "/^QMAKE_LIBDIR\s/s|=|= /usr/lib32|g" mkspecs/common/linux32.conf
|
|
sed -i "s|common/linux.conf|common/linux32.conf|" mkspecs/linux-g++-32/qmake.conf
|
|
|
|
# Fix build with GCC6 (Fedora)
|
|
patch -p1 -i "$srcdir"/qt4-gcc6.patch
|
|
|
|
# Fix build of Qt4 applications with glibc 2.25 (Fedora)
|
|
patch -p1 -i "$srcdir"/qt4-glibc-2.25.patch
|
|
|
|
# Fix build with ICU 59 (pld-linux)
|
|
patch -p1 -i "$srcdir"/qt4-icu59.patch
|
|
|
|
# Fix build with OpenSSL 1.1 (Debian + OpenMandriva)
|
|
#patch -p1 -i "$srcdir"/qt4-openssl-1.1.patch
|
|
|
|
echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
|
|
echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/plugins/accessible/qaccessiblebase.pri
|
|
}
|
|
|
|
build() {
|
|
cd "${srcdir}/${_pkgfqn}"
|
|
|
|
#export CC='clang'
|
|
#export CXX='clang++'
|
|
#export CXXFLAGS+=" -std=gnu++98"
|
|
export QT4DIR=$srcdir/$_pkgfqn
|
|
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
|
|
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
|
|
|
|
./configure -confirm-license -opensource -v -platform linux-g++-32 \
|
|
-prefix /usr \
|
|
-libdir /usr/lib32 \
|
|
-plugindir /usr/lib32/qt/plugins \
|
|
-importdir /usr/lib32/qt/imports \
|
|
-datadir /usr/share/qt \
|
|
-translationdir /usr/share/qt/translations \
|
|
-sysconfdir /etc \
|
|
-system-sqlite \
|
|
-no-phonon \
|
|
-no-phonon-backend \
|
|
-no-webkit \
|
|
-graphicssystem raster \
|
|
-openssl-linked \
|
|
-nomake demos \
|
|
-nomake examples \
|
|
-nomake docs \
|
|
-nomake tools \
|
|
-optimized-qmake \
|
|
-no-rpath \
|
|
-dbus-linked \
|
|
-reduce-relocations \
|
|
-no-openvg \
|
|
-xcursor
|
|
|
|
make
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/${_pkgfqn}"
|
|
make install INSTALL_ROOT="${pkgdir}"
|
|
|
|
# Fix wrong path in pkgconfig files
|
|
find "${pkgdir}/usr/lib32/pkgconfig" -type f -name '*.pc' \
|
|
-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
|
|
# Fix wrong path in prl files
|
|
find "${pkgdir}/usr/lib32" -type f -name '*.prl' \
|
|
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
|
|
|
|
rm -rf "${pkgdir}/usr"/{include,share,bin}
|
|
mkdir -p "${pkgdir}/usr/share/licenses"
|
|
ln -s "${_pkgbasename}" "${pkgdir}/usr/share/licenses/${pkgname}"
|
|
}
|