mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-04-29 17:42:40 +02:00
325 lines
12 KiB
Plaintext
325 lines
12 KiB
Plaintext
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=qt
|
|
pkgver=4.8.7
|
|
pkgrel=3
|
|
pkgdesc="A cross-platform application and UI framework"
|
|
url="http://qt-project.org/"
|
|
arch="all"
|
|
license="GPL3 LGPL"
|
|
depends="ca-certificates"
|
|
subpackages="$pkgname-dev $pkgname-doc $pkgname-assistant $pkgname-config
|
|
$pkgname-sqlite $pkgname-odbc $pkgname-postgresql $pkgname-mysql
|
|
$pkgname-tds $pkgname-webkit $pkgname-x11 $pkgname-private-dev:private
|
|
$pkgname-lang"
|
|
|
|
depends_dev="mesa-dev libice-dev libsm-dev libx11-dev libxext-dev
|
|
libxrender-dev alsa-lib-dev libressl-dev fontconfig-dev freetype-dev
|
|
glib-dev libpng-dev zlib-dev sqlite-dev dbus-dev"
|
|
makedepends="$depends_dev postgresql-dev mariadb-dev unixodbc-dev cups-dev
|
|
gtk+-dev tiff-dev libmng-dev libxrandr-dev libxv-dev libxi-dev perl
|
|
gawk paxmark rsync freetds-dev hicolor-icon-theme mesa-gl"
|
|
install=
|
|
source="http://download.qt-project.org/official_releases/qt/4.8/$pkgver/qt-everywhere-opensource-src-$pkgver.tar.gz
|
|
assistant.desktop
|
|
designer.desktop
|
|
linguist.desktop
|
|
qtconfig.desktop
|
|
|
|
qt-gtk-theme-fix.patch
|
|
qt-musl.patch
|
|
qt-musl-iconv-no-bom.patch
|
|
qt-clucene-timeb.patch
|
|
qsettings-recursive-global-mutex.patch
|
|
qt-everywhere-opensource-src-4.8.7-gcc6.patch
|
|
qt-aarch64.patch
|
|
qtcore-4.8.5-libressl.patch
|
|
gcc-6.2.1-workaround.patch
|
|
"
|
|
|
|
_builddir="$srcdir"/qt-everywhere-opensource-src-$pkgver
|
|
prepare() {
|
|
cd "$_builddir"
|
|
for i in $source; do
|
|
case $i in
|
|
*.patch)
|
|
msg "Applying $i"
|
|
patch -p1 -i "$srcdir"/$i || return 1
|
|
;;
|
|
esac
|
|
done
|
|
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
|
|
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
|
|
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
|
|
}
|
|
|
|
build() {
|
|
cd "$_builddir"
|
|
unset QMAKESPEC
|
|
export QT4DIR="$_builddir"
|
|
export PATH="${QT4DIR}/bin:${PATH}"
|
|
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1349951
|
|
export CXXFLAGS="$CXXFLAGS -std=gnu++98"
|
|
# note: not autotools
|
|
./configure -confirm-license -opensource \
|
|
-prefix /usr \
|
|
-docdir /usr/share/doc/qt \
|
|
-plugindir /usr/lib/qt/plugins \
|
|
-importdir /usr/lib/qt/imports \
|
|
-datadir /usr/share/qt \
|
|
-translationdir /usr/share/qt/translations \
|
|
-sysconfdir /etc \
|
|
-examplesdir /usr/share/doc/qt/examples \
|
|
-demosdir /usr/share/doc/qt/demos \
|
|
-largefile \
|
|
-no-pch \
|
|
-plugin-sql-psql \
|
|
-plugin-sql-mysql \
|
|
-plugin-sql-sqlite \
|
|
-plugin-sql-odbc \
|
|
-plugin-sql-tds \
|
|
-system-sqlite \
|
|
-xmlpatterns \
|
|
-no-phonon \
|
|
-no-phonon-backend \
|
|
-svg \
|
|
-webkit \
|
|
-script \
|
|
-scripttools \
|
|
-system-zlib \
|
|
-system-libtiff \
|
|
-system-libpng \
|
|
-system-libmng \
|
|
-system-libjpeg \
|
|
-nomake demos \
|
|
-nomake examples \
|
|
-nomake docs \
|
|
-no-rpath \
|
|
-openssl-linked \
|
|
-silent \
|
|
-optimized-qmake \
|
|
-dbus \
|
|
-reduce-relocations \
|
|
-no-separate-debug-info \
|
|
-gtkstyle \
|
|
-opengl \
|
|
-no-openvg \
|
|
-glib \
|
|
|| return 1
|
|
qmake && make
|
|
}
|
|
|
|
package() {
|
|
cd "$_builddir"
|
|
make INSTALL_ROOT="$pkgdir" install
|
|
rm -r "$pkgdir"/usr/tests || return 1
|
|
|
|
paxmark -m "$pkgdir"/usr/bin/qmlviewer "$pkgdir"/usr/bin/designer \
|
|
|| return 1
|
|
|
|
# install missing icons and desktop files
|
|
for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
|
|
size=$(echo $(basename ${icon}) | cut -d- -f2)
|
|
install -p -D -m644 ${icon} "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
|
|
done
|
|
install -p -Dm644 src/gui/dialogs/images/qtlogo-64.png \
|
|
"${pkgdir}"/usr/share/icons/hicolor/64x64/apps/qtlogo.png
|
|
install -p -Dm644 tools/assistant/tools/assistant/images/assistant.png \
|
|
"${pkgdir}"/usr/share/icons/hicolor/32x32/apps/assistant.png
|
|
install -p -Dm644 tools/designer/src/designer/images/designer.png \
|
|
"${pkgdir}"/usr/share/icons/hicolor/128x128/apps/designer.png
|
|
install -d ${pkgdir}/usr/share/applications
|
|
for i in linguist designer assistant qtconfig; do
|
|
install -m644 "${srcdir}"/$i.desktop \
|
|
"${pkgdir}"/usr/share/applications/ || return 1
|
|
done
|
|
|
|
# install license addition
|
|
install -D -m644 LGPL_EXCEPTION.txt \
|
|
"${pkgdir}"/usr/share/licenses/qt/LGPL_EXCEPTION.txt
|
|
|
|
# Fix wrong path in pkgconfig files
|
|
find "${pkgdir}"/usr/lib/pkgconfig -type f -name '*.pc' \
|
|
-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \; \
|
|
|| return 1
|
|
# Fix wrong path in prl files
|
|
find "${pkgdir}"/usr/lib -type f -name '*.prl' -exec sed -i \
|
|
-e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;\
|
|
|| return 1
|
|
}
|
|
|
|
_mv_files() {
|
|
local i
|
|
for i in "$@"; do
|
|
mkdir -p "$subpkgdir"/${i%/*}
|
|
mv "$pkgdir"/$i "$subpkgdir"/$i || return 1
|
|
done
|
|
}
|
|
|
|
dev() {
|
|
mkdir -p "$subpkgdir"/usr/share/qt \
|
|
"$subpkgdir"/usr/bin \
|
|
"$subpkgdir"/usr/lib \
|
|
|
|
mv "$pkgdir"/usr/share/qt/mkspecs \
|
|
"$pkgdir"/usr/share/qt/q3porting.xml \
|
|
"$subpkgdir"/usr/share/qt/ \
|
|
|| return 1
|
|
default_dev
|
|
|
|
cd "$pkgdir"/usr/bin
|
|
mv designer lconvert linguist lrelease lupdate moc pixeltool \
|
|
qcollectiongenerator qdbuscpp2xml qdbusxml2cpp qdoc3 \
|
|
qhelpconverter qhelpgenerator qmake qt3to4 qttracereplay \
|
|
rcc uic uic3 xmlpatterns xmlpatternsvalidator \
|
|
"$subpkgdir"/usr/bin/ || return 1
|
|
|
|
cd "$pkgdir"
|
|
_mv_files $(find * -name 'designer*') \
|
|
$(find * -name 'linguist*')
|
|
}
|
|
|
|
assistant() {
|
|
pkgdesc="Documentation browser for Qt"
|
|
cd "$pkgdir"
|
|
_mv_files $(find * -name 'assistant*') || return 1
|
|
}
|
|
|
|
config() {
|
|
pkgdesc="Graphical configuration tool for programs using Qt"
|
|
cd "$pkgdir"
|
|
_mv_files $(find * -name 'qt*config*') || return 1
|
|
}
|
|
|
|
sqlite() {
|
|
pkgdesc="SQLite driver for Qt's SQL classes"
|
|
cd "$pkgdir"
|
|
_mv_files usr/lib/qt/plugins/sqldrivers/libqsqlite*
|
|
}
|
|
|
|
odbc() {
|
|
pkgdesc="ODBC driver for Qt's SQL classes"
|
|
cd "$pkgdir"
|
|
_mv_files usr/lib/qt/plugins/sqldrivers/libqsqlodbc*
|
|
}
|
|
|
|
postgresql() {
|
|
pkgdesc="PostgreSQL driver for Qt's SQL classes"
|
|
cd "$pkgdir"
|
|
_mv_files usr/lib/qt/plugins/sqldrivers/libqsqlpsql*
|
|
}
|
|
|
|
mysql() {
|
|
pkgdesc="MySQL driver for Qt's SQL classes"
|
|
cd "$pkgdir"
|
|
_mv_files usr/lib/qt/plugins/sqldrivers/libqsqlmysql*
|
|
}
|
|
|
|
tds() {
|
|
pkgdesc="TDS driver for Qt's SQL classes"
|
|
cd "$pkgdir"
|
|
_mv_files usr/lib/qt/plugins/sqldrivers/libqsqltds*
|
|
}
|
|
|
|
|
|
webkit() {
|
|
pkgdesc="Qt Webkit libraries"
|
|
mkdir -p "$subpkgdir"/usr/lib/qt/imports
|
|
mv "$pkgdir"/usr/lib/libQtWebKit.so.* \
|
|
"$subpkgdir"/usr/lib/ || return 1
|
|
mv "$pkgdir"/usr/lib/qt/imports/QtWebKit \
|
|
"$subpkgdir"/usr/lib/qt/imports/ || return 1
|
|
}
|
|
|
|
x11() {
|
|
pkgdesc="Qt GUI-related libraries"
|
|
depends="hicolor-icon-theme"
|
|
replaces="qt"
|
|
cd "$pkgdir"
|
|
_mv_files \
|
|
usr/bin/qdbusviewer \
|
|
usr/bin/qmlviewer \
|
|
usr/bin/qmlplugindump \
|
|
usr/lib/libQt3Support.so.* \
|
|
usr/lib/libQtCLucene.so.* \
|
|
usr/lib/libQtDesigner.so.* \
|
|
usr/lib/libQtDeclarative.so.* \
|
|
usr/lib/libQtDesignerComponents.so.* \
|
|
usr/lib/libQtGui.so.* \
|
|
usr/lib/libQtHelp.so.* \
|
|
usr/lib/libQtMultimedia.so.* \
|
|
usr/lib/libQtOpenGL.so.* \
|
|
usr/lib/libQtScriptTools.so.* \
|
|
usr/lib/libQtSvg.so.* \
|
|
usr/share/icons \
|
|
usr/lib/qt/imports \
|
|
usr/lib/qt/plugins
|
|
}
|
|
|
|
private() {
|
|
pkgdesc="Private headers for Qt toolkit"
|
|
cd "$_builddir"
|
|
mkdir -p "$subpkgdir"/usr
|
|
rsync -aR \
|
|
include/QtCore/private \
|
|
include/QtDeclarative/private \
|
|
include/QtGui/private \
|
|
include/QtScript/private \
|
|
src/corelib/*/*_p.h \
|
|
src/declarative/*/*_p.h \
|
|
src/gui/*/*_p.h \
|
|
src/script/*/*_p.h \
|
|
"$subpkgdir"/usr || return 1
|
|
}
|
|
|
|
lang() {
|
|
pkgdesc="translations for Qt"
|
|
mkdir -p "$subpkgdir"/usr/share/qt/
|
|
mv "$pkgdir"/usr/share/qt/translations \
|
|
"$subpkgdir"/usr/share/qt/
|
|
}
|
|
|
|
md5sums="d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz
|
|
a445c6917086d80f1cfc1e40cb6b0132 assistant.desktop
|
|
d457f0a0ad68a3861c3cadefe3b42ded designer.desktop
|
|
668331d9798a0e2b94381efb7be4c513 linguist.desktop
|
|
c29f2993d6a0f73d756d2fa36e130e1c qtconfig.desktop
|
|
8eeac363a5d9bc1ca06501a7cbe59b08 qt-gtk-theme-fix.patch
|
|
bc83dc99f866423b4803453a0e2949d2 qt-musl.patch
|
|
077e31e0cb0d25637a3b3638fffbef3c qt-musl-iconv-no-bom.patch
|
|
14549e243772acfe2e9e0bf5d8d001f3 qt-clucene-timeb.patch
|
|
7467e168418c50b2737b4b2fab4448fe qsettings-recursive-global-mutex.patch
|
|
8ba77cd8f325c38daca8eadc982395a4 qt-everywhere-opensource-src-4.8.7-gcc6.patch
|
|
2a9572f3b758fc3ca9ff5fc40012a2a4 qt-aarch64.patch
|
|
5fb430ea26cc72dcb16164bd952c1b91 qtcore-4.8.5-libressl.patch
|
|
2cbcd6e279e50eb2f230960c235dd35f gcc-6.2.1-workaround.patch"
|
|
sha256sums="e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz
|
|
1094300e3d69e55eb69d87cbaac6724f68b0618938c6eb1b0ddd22ba99c7f8a2 assistant.desktop
|
|
74c2c5d27a1c1ad08ab01122bcf333f75d0a014b4755d3ddd8764c2425f6e320 designer.desktop
|
|
1b9ecd839c1a5dfcec87653849287c31bf2f4044300958be802ebb943e896998 linguist.desktop
|
|
1e5cb7c2f12d4db35d668f01548a2bef131fe92133d76c78170fb74a377d5ef8 qtconfig.desktop
|
|
b64ea69ca9ed18f464a3810964b340432c528ebb02c9c7851ecc8e99cfe74877 qt-gtk-theme-fix.patch
|
|
e70bdddf67c358c02099bebee460e3c5456666562bff9ef9ebaacf9f4ea7a6df qt-musl.patch
|
|
40b337c16bbb1d259f315fe5a1b110f9917223aee53b82809934efa4fa5e62a3 qt-musl-iconv-no-bom.patch
|
|
0c74a82080bcb8f4a700e907f4f1ed98a0338c6954620ee42c82002b199acedc qt-clucene-timeb.patch
|
|
8ef97783ff93a515a31c1e27c6b3b22e2ad2fd9cf0fa94965e5c413ae579e64c qsettings-recursive-global-mutex.patch
|
|
aaa073195b6fc47ebdc241574da4a29e7ba0a1ae51bdf9a64b866c683f30684a qt-everywhere-opensource-src-4.8.7-gcc6.patch
|
|
9269bd8552688b75be1468eaca6afdc0c054e644a73a9cffddb6855a96faf86f qt-aarch64.patch
|
|
0efa3b6f7f25e775874a5f2e09c4111143aafcf9b17b4494b0922a501750bc2c qtcore-4.8.5-libressl.patch
|
|
781d8ec3a2cfe4980e6707d1dcbb2a223c3aaa23f68a553527f0d38a765d98f6 gcc-6.2.1-workaround.patch"
|
|
sha512sums="f9f81a2e7205e1fd05c8d923dc73244f29aa33f951fa6b7c5c8193449328b37084796b9b71ad0c317e4e6fd00017c10ea5d67b1b2032551cde00548522218125 qt-everywhere-opensource-src-4.8.7.tar.gz
|
|
005ed6fe50b237e4541c0f30cbd87ec5425eff7e7c8d55d2b9b24ea8469e75e1fc8a3f26296841ab4cbd566517b3f1aa1fa7b36e1a9677d284cfff615fd24614 assistant.desktop
|
|
731aae6a0d776c1be5a49dadc5480b205ba5c8e056d108e2bb96a19dd52b6c6ca22387b37505cf97a2575228cd5dd65c773d0fde1c26299e47fdc11a49f651fd designer.desktop
|
|
70943d9ee9ac7ff6281079be14b741095c60428b30b27bafc42a8bb1729a6f7e8e163cff3d2b5d5a66bbdab464816eea479a3f822598ff2fe068d4025652a049 linguist.desktop
|
|
c38af96c9519767d09c36184d43c9177522f3a9e3eaa228f76e1dab324bbc462c3c135a3d51a1c8649c764d52196f27b8dd95e3780c5e79664136c03611dc13a qtconfig.desktop
|
|
4be22db63c27ce2fa8c4f0af47f951b3aebb1f41c63c1ff02cec429be26d86f869ce8d137e313ea59a7540ebf1866ef2245471b754588776d20f881041141b55 qt-gtk-theme-fix.patch
|
|
fb621e9e5a60bb5bd4ad86fa41772fd8db7e8ad3a6e8d36a3d720d493d462db618e4bf3187e3eb66d123fceca64bbbd2df2afba506cc4c79bafa456cd67e82aa qt-musl.patch
|
|
a185ea5e984d2636e3f9f6c4ed8fad66a17575da0679724da60a3dc519468ab45aa9369f43ce5c64f07cb730910e36623164aefafca3aabe0359c62becca870e qt-musl-iconv-no-bom.patch
|
|
a4947c7210f5b9a39f78b1056d2fe87bc9e25dda7d6287f138f8889ae8a3a8687ed7346261f219e9e39afb5143e895b52804347484d10c42907868c4eac9ef0a qt-clucene-timeb.patch
|
|
277e5ceec4fcc5d77a8591eafdb24125a54770576b7997aee6df39d85a7f1deabf8547fb42127cb118ebb8e7f81e3a3624a75d461581052dadf7abb99f1c9bd7 qsettings-recursive-global-mutex.patch
|
|
dd58096123e99d8cdd1a29dfca45d1f23c912a21edc6074a5398637ecca29b8b3535d862043c5d15b4ab44609d674242d93c31fcae835fede4ddfcc36e63ea26 qt-everywhere-opensource-src-4.8.7-gcc6.patch
|
|
c76f7cb83e3e48e9798ada7c1d2406d560294fe7c38a73e42317db8f83ff9e86fdf7c18bd408cf658c07782733b72dcf03328b267db30cb9bccc11394b2ee93a qt-aarch64.patch
|
|
bde982ca01a6ee6a5d10a08babd8474e67e84932d996b1e19970e75fa4a9b71a08e81065a13f0a1cce1ac681d44d2e559562ee5ab92e9dfd5fd2cafe28370a74 qtcore-4.8.5-libressl.patch
|
|
bf316db4fbd3dfae40aad25573a201c7acc2fb5e34daff73e074a7c0232d9952f392c08b3b1271c7444c5d7da4d7d03fc56efee86a58a4578a9140739d45a616 gcc-6.2.1-workaround.patch"
|