qt5.düzenlendi,

This commit is contained in:
giresun28 2016-07-18 23:03:56 +00:00
parent 62f2a8fccf
commit 27301f2944
2 changed files with 142 additions and 52 deletions

View File

@ -0,0 +1,28 @@
# Description: Classes for a WebKit2 based implementation and a new QML API
# URL: http://qt-project.org/
# Packager: alihan-ozturk28@hotmail.com
# Depends on: gstreamer1-plugins-base libwebp xorg-libxcomposite libxslt gstreamer1-plugins-good python ruby qt5
name=qt5-webkit
version=5.6.0
release=1
_version=${version/-/}
_name=qtwebkit-opensource-src-${_version}
_namefqn="${name/5-/}-opensource-src-${_version}"
source=(http://download.qt-project.org/community_releases/${_version%.*}/${_version}/${_name}.tar.xz)
build() {
cd ${_namefqn}
syncqt.pl-qt5 -version $version Source/sync.profile
qmake-qt5
make
make INSTALL_ROOT="$PKG" install
rm -rf /usr/share/doc
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
find "$PKG/usr/lib" -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
}

View File

@ -19,6 +19,10 @@ source=(http://download.qt.io/official_releases/qt/${version%.*}/$version/single
qt5-webengine-nss.patch)
build() {
QT5PREFIX=/usr
QT5BINDIR=$QT5PREFIX/lib/qt5/bin
cd qt-everywhere-opensource-src-$version
# Backport fixes for QtDBus deadlocks
@ -63,67 +67,125 @@ build() {
export LD_LIBRARY_PATH="$QTDIR/qtbase/lib:$QTDIR/qttools/lib:$LD_LIBRARY_PATH"
export QT_PLUGIN_PATH="$QTDIR/qtbase/plugins"
./configure -prefix /usr/share/qt5 \
-bindir /usr/share/qt5/bin \
-headerdir /usr/share/qt5/include \
-libdir /usr/share/qt5/lib \
-libexecdir /usr/share/qt5/lib \
-plugindir /usr/share/qt5/plugins \
-sysconfdir /usr/etc/xdg \
-openssl-linked -dbus-linked \
-system-lib{png,jpeg} -system-{zlib,sqlite} \
-no-cups -optimized-qmake \
-x{cursor,inerama,kb,randr,render} \
-nomake examples \
-no-separate-debug-info -no-strip -shared -no-rpath \
-opensource -confirm-license -release -reduce-relocations
./configure -opensource -confirm-license \
-prefix $QT5PREFIX \
-sysconfdir /etc/xdg \
-bindir $QT5BINDIR \
-plugindir /usr/lib/qt5/plugins \
-importdir /usr/lib/qt5/imports \
-headerdir /usr/include/qt5 \
-datadir /usr/share/qt5 \
-translationdir /usr/share/qt5/translations \
-plugin-sql-{psql,mysql,sqlite,odbc} \
-openssl-linked -dbus-linked \
-system-lib{png,jpeg} -system-{zlib,sqlite} \
-no-cups -optimized-qmake \
-x{cursor,inerama,kb,randr,render} \
-nomake examples \
-no-separate-debug-info -no-strip -shared -no-rpath \
-release -reduce-relocations
make
make INSTALL_ROOT=$PKG install
# Fix paths
find $PKG/usr/share/qt5/lib -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
sed -e "s|$PWD/qtbase|/usr/share/qt5/lib|g" \
-i $PKG/usr/share/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri
find $PKG/usr/ -name qt_lib_bootstrap_private.pri \
-exec sed -i -e "s:$PWD/qtbase:/$QT5PREfiX/lib/:g" {} \; &&
# Remove unnecessary files
rm -rf $(find $PKG/usr/share/qt5/mkspecs/* | \
egrep -v '(linux-g++|common|modules|pri|features)')
find $PKG/usr -name \*.prl \
-exec sed -i -e '/^QmAKE_PRL_BUiLD_DiR/d' {} \;
rm -f $PKG/usr/share/qt5/mkspecs/linux-g++/linux-g++
rm -rf $PKG/usr/share/qt5/mkspecs/features/{mac,win32}
rm -rf $PKG/usr/share/qt5/mkspecs/common/mac*
rm -rf $PKG/usr/share/qt5/{phrasebooks,translations}
rm -r $PKG/usr/share/doc
# Install linker config
install -d $PKG/{etc/ld.so.conf.d,usr/{bin,lib,include}}
echo "/usr/share/qt5/lib" > $PKG/etc/ld.so.conf.d/qt5.conf
install -v -dm755 $PKG/usr/share/pixmaps/
ln -s ../share/qt5/include $PKG/usr/include/qt5
ln -s ../share/qt5/lib $PKG/usr/lib/qt5
ln -s linux-g++ $PKG/usr/share/qt5/mkspecs/default
install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
$PKG/usr/share/pixmaps/assistant-qt5.png
# Install pkg config
mv $PKG/usr/share/qt5/lib/pkgconfig $PKG/usr/lib
install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
$PKG/usr/share/pixmaps/designer-qt5.png
# Fix paths
sed \
-e "s|-L$SRC/qt-everywhere-opensource-src-$version/lib ||g" \
-e "s|$SRC/qt-everywhere-opensource-src-$version/bin|/usr/share/qt5/bin|g" \
-i $PKG/usr/lib/pkgconfig/*.pc
install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
$PKG/usr/share/pixmaps/linguist-qt5.png
# Install useful symlinks
install -d $PKG/usr/bin
for b in $PKG/usr/share/qt5/bin/*; do
ln -s /usr/share/qt5/bin/$(basename $b) $PKG/usr/bin/$(basename $b)-qt5
install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
$PKG/usr/share/pixmaps/qdbusviewer-qt5.png
install -dm755 $PKG/usr/share/applications
cat > $PKG/usr/share/applications/assistant-qt5.desktop << "EOf"
[Desktop Entry]
Name=Qt5 Assistant
comment=Shows Qt5 documentation and examples
Exec=$QT5BINDIR/assistant-qt5
icon=assistant-qt5
Terminal=false
Encoding=UTf-8
Type=Application
categories=Qt;Development;Documentation;
EOf
cat > $PKG/usr/share/applications/designer-qt5.desktop << "EOf"
[Desktop Entry]
Name=Qt5 Designer
GenericName=interface Designer
comment=Design GUis for Qt5 applications
Exec=$QT5BINDIR/designer-qt5
icon=designer-qt5
mimeType=application/x-designer;
Terminal=false
Encoding=UTf-8
Type=Application
categories=Qt;Development;
EOf
cat > $PKG/usr/share/applications/linguist-qt5.desktop << "EOf"
[Desktop Entry]
Name=Qt5 Linguist
comment=Add translations to Qt5 applications
Exec=$QT5BINDIR/linguist-qt5
icon=linguist-qt5
mimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTf-8
Type=Application
categories=Qt;Development;
EOf
cat > $PKG/usr/share/applications/qdbusviewer-qt5.desktop << "EOf"
[Desktop Entry]
Name=Qt5 QDbusviewer
GenericName=D-Bus Debugger
comment=Debug D-Bus applications
Exec=$QT5BINDIR/qdbusviewer-qt5
icon=qdbusviewer-qt5
Terminal=false
Encoding=UTf-8
Type=Application
categories=Qt;Development;Debugger;
EOf
mkdir -p $PKG/etc/profile.d
cat > $PKG/etc/profile.d/qt5.sh << EOf
# Begin /etc/profile.d/qt5.sh
QT5PREFIX=$QT5PREFIX
QT5DIR=$QT5PREFIX
QT5BINDIR=$QT5PREFIX/lib/qt5/bin
export QT5PREFIX QT5BINDIR QT5DIR
# End /etc/profile.d/qt5.sh
EOf
### Creation des liens /usr/bin vers les binaires se trouvant
### dans le dossier /usr/lib/qt5/bin en ajoutant qt5 Ã la fin du lien
mkdir -p $PKG/usr/bin
for i in $PKG/usr/lib/qt5/bin/*; do
ln -sv /usr/lib/qt5/bin/$(basename $i) $PKG/usr/bin/$(basename $i)-qt5
done
# cmake
install -d $PKG/usr/lib/cmake
for b in $PKG/usr/share/qt5/lib/cmake/*; do
ln -s /usr/share/qt5/lib/cmake/$(basename $b) $PKG/usr/lib/cmake/$(basename $b)
done
cat > $PKG/usr/bin/setqt5 << EOF
if [ "x\$QT4BINDIR" != "x/usr/bin" ] && [ "x\$QT4BINDIR" != "x" ]; then pathremove $QT4BINDIR; fi
if [ "x\$QT5BINDIR" != "x/usr/bin" ]; then pathprepend $QT5BINDIR; fi
echo \$PATH
EOF
}