From 65e06dd673aa7cdb38d703162a146f9c417ddea7 Mon Sep 17 00:00:00 2001 From: thomas Date: Tue, 19 Jul 2022 13:49:36 +0200 Subject: [PATCH 1/7] qt5: build Qt5 from the KDE fork This saves some patches, since they are already included. Preparing the source tree is described here: https://wiki.qt.io/Building_Qt_5_from_Git The helper script is located at: /project/admin/tools/qt_source_preparation --- qt5.be0 | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/qt5.be0 b/qt5.be0 index d26de8eae..5ad7c0b8d 100755 --- a/qt5.be0 +++ b/qt5.be0 @@ -1,9 +1,9 @@ #!/usr/bin/env beesh -# BEE_VERSION qt5-5.15.2-1 +# BEE_VERSION qt5-5.15.5_20220705_ea4efc06-0 -# SRCURL[0]="https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz" -SRCURL[0]="https://beehive.molgen.mpg.de/e1447db4f06c841d8947f0a6ce83a7b5/qt-everywhere-src-5.15.2.tar.xz" +# origin: https://invent.kde.org/qt/qt/qt5.git - branch kde/5.15 +SRCURL[0]="https://beehive.molgen.mpg.de/1566026e325525d550c60fee32ecc2b8/qt-everywhere-src-5.15.5_20220705_ea4efc06.tar.lz" PREFIX=/usr/local/qt5 @@ -13,27 +13,11 @@ BMF=$(beegetopt --option j: -- ${BEE_MAKEFLAGS}) # export for build and install export NINJAJOBS=${BMF/ -- */} -# build_in_sourcedir - -############################################################################### -# NOTE: -# webengine is the new webkit (sigh). To obtain a 'lean and mean' qt toolkit, -# this is the way to dump all web related stuff. -# mee_extract_post() { -# start_cmd rm -rf ${S}/qtweb* -# } - -# At the time of building the system libevent is a complete mess. But it also makes -# sense to keep this in future builds. - -mee_patch() { - bee_patch "${@}" - sed -e '/webengine-system-libevent/ s/=true\s*$/=false/' -i ${S}/qtwebengine/src/core/config/linux.pri -} - mee_configure() { MAKEFLAGS=${BEE_MAKEFLAGS} \ - start_cmd ${S}/configure \ + ${S}/configure \ + -confirm-license \ + -opensource \ -prefix ${PREFIX} \ -bindir ${BINDIR} \ -libdir ${LIBDIR} \ @@ -41,21 +25,20 @@ mee_configure() { -headerdir ${INCLUDEDIR} \ -sysconfdir ${SYSCONFDIR} \ -nomake examples \ - -opensource \ - -confirm-license \ + -nomake tests \ -no-strip \ -no-pch \ -verbose \ -xcb \ - -qpa xcb \ + -qpa "xcb;wayland" \ -opengl } mee_build() { - start_cmd make ${BEE_MAKEFLAGS} + make ${BEE_MAKEFLAGS} } mee_install() { - start_cmd make INSTALL_ROOT=${D} install + make INSTALL_ROOT=${D} install } From 752f10a0c053e5a46316cf29c485276c4cbb1fa0 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 13:39:44 +0200 Subject: [PATCH 2/7] qwt: update to version 6.2.0 Also account for the changed location of the plugins directory, which is under lib. --- qwt.be0 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/qwt.be0 b/qwt.be0 index 9e30a0cc4..8eb5320b0 100755 --- a/qwt.be0 +++ b/qwt.be0 @@ -1,10 +1,9 @@ #!/usr/bin/env beesh -# BEE_VERSION qwt-6.1.5-0 +# BEE_VERSION qwt-6.2.0-0 -#SRCURL[0]="https://downloads.sourceforge.net/project/qwt/qwt/${PKGVERSION}/qwt-${PKGVERSION}.tar.bz2" - -SRCURL[0]="https://beehive.molgen.mpg.de/d65582f99312796ed42c3be3208ed3db/qwt-6.1.5.tar.bz2" +# Origin https://sourceforge.net/projects/qwt/files/qwt/6.2.0/qwt-6.2.0.tar.bz2 +SRCURL[0]="https://beehive.molgen.mpg.de/00c94f0af8b29d4785cec47351127c00/qwt-6.2.0.tar.bz2" # PATCHURL[0]="" @@ -25,7 +24,9 @@ build_in_sourcedir #} mee_patch_post() { - sed -i ${S}/qwtconfig.pri -e '/^\s\s*QWT_INSTALL_PREFIX/ s,QWT,# QWT,' + sed -i ${S}/qwtconfig.pri \ + -e '/^\s\s*QWT_INSTALL_PREFIX/ s,QWT,# QWT,' \ + -e '/^QWT_INSTALL_PLUGINS/ s,/plugins,/lib/plugins,' } mee_configure() { From 346a6833b23d08dcacde43239b13c6d837af3104 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 13:41:06 +0200 Subject: [PATCH 3/7] QScintilla: update to 2.13.3 --- QScintilla.be0 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/QScintilla.be0 b/QScintilla.be0 index 6b83247a4..030510c8a 100755 --- a/QScintilla.be0 +++ b/QScintilla.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION QScintilla-2.11.6-0 +# BEE_VERSION QScintilla-2.13.3-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) @@ -9,8 +9,8 @@ ## The source URL(s) define the location of the sources that will be ## downloaded. Version variables may be used to simplify reuse of this bee-file. -#SRCURL[0]="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${PKGVERSION}/QScintilla_gpl-${PKGVERSION}.tar.gz" -SRCURL[0]="https://beehive.molgen.mpg.de/343cd0c2c8b425518df2e51eb994fbc6/QScintilla-2.11.6.tar.gz" +#SRCURL[0]="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${PKGVERSION}/QScintilla_src-${PKGVERSION}.tar.gz" +SRCURL[0]="https://beehive.molgen.mpg.de/af0dab4ff9908e0d41934aff6ce2348d/QScintilla_src-2.13.3.tar.gz" ############################################################################### ## Add URLs/pathes to patch files to the PATCHURL array. @@ -31,7 +31,7 @@ build_in_sourcedir ## 'src' or 'cmake' or .. ## use 'sourcesubdir_append' to specify this directory if known. -sourcesubdir_append Qt4Qt5 +sourcesubdir_append src ############################################################################### ## Change the default (auto-detected) steps to From e1d89f0e7b4912ae952862df39d019bca4fcc62c Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 13:45:25 +0200 Subject: [PATCH 4/7] QScintilla_designer_plugin: create from QScintilla.be0 Rationale: building the plugin requires QScintilla to be installed. --- QScintilla_designer_plugin.be0 | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 QScintilla_designer_plugin.be0 diff --git a/QScintilla_designer_plugin.be0 b/QScintilla_designer_plugin.be0 new file mode 100755 index 000000000..030510c8a --- /dev/null +++ b/QScintilla_designer_plugin.be0 @@ -0,0 +1,79 @@ +#!/usr/bin/env beesh + +# BEE_VERSION QScintilla-2.13.3-0 + +## this file was created by bee init and should be executed to build a +## bee-package. (Additional hints are located at the end of this file.) + +############################################################################### +## The source URL(s) define the location of the sources that will be +## downloaded. Version variables may be used to simplify reuse of this bee-file. + +#SRCURL[0]="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${PKGVERSION}/QScintilla_src-${PKGVERSION}.tar.gz" +SRCURL[0]="https://beehive.molgen.mpg.de/af0dab4ff9908e0d41934aff6ce2348d/QScintilla_src-2.13.3.tar.gz" + +############################################################################### +## Add URLs/pathes to patch files to the PATCHURL array. +## The sources will be patched in the order of the array. + +# PATCHURL+=() + +############################################################################### +## Uncomment the next statement, if the software may not be able to be built +## outside the source directory and needs to be built inside the source +## directory. + +build_in_sourcedir + +############################################################################### +## bee cannot detect buildtypes specified in subdirectories. +## Sometimes packages "hide" the real sources in a subdirectory named +## 'src' or 'cmake' or .. +## use 'sourcesubdir_append' to specify this directory if known. + +sourcesubdir_append src + +############################################################################### +## Change the default (auto-detected) steps to +## extract, patch, configure/setup, build and install the software. +## Make sure the mee_install function does install everything to the +## image directory "${D}" + +#mee_extract() { +# bee_extract "${@}" +#} + +#mee_patch() { +# bee_patch "${@}" +#} + +mee_configure() { + qmake +} + +mee_build() { + make ${BEE_MAKEFLAGS} +} + +mee_install() { + make install INSTALL_ROOT=${D} +} +## by default this may be 'make install DESTDIR="${D}"' + +############################################################################### +## +## Additional hints: +## +## The name of this bee-file should follow the following naming convention: +## pkgname-pkgversion-pkgrevision.bee +## +## You may remove all comments as long as SRCURL[0] is set. +## +## Everything in this file will be executed in a bash environment. +## +## Build the package by executing +## './pkg-version-N.bee' or +## 'beesh ./pkg-version-N.bee' +## +## see http://beezinga.org/ +## From 8f0fc8d5a874c0b8baeb3192398586d6eade8ce4 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 13:47:15 +0200 Subject: [PATCH 5/7] QScintilla_designer_plugin: adjust name and source directory --- QScintilla_designer_plugin.be0 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/QScintilla_designer_plugin.be0 b/QScintilla_designer_plugin.be0 index 030510c8a..1e1a19a49 100755 --- a/QScintilla_designer_plugin.be0 +++ b/QScintilla_designer_plugin.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION QScintilla-2.13.3-0 +# BEE_VERSION QScintilla_designer_plugin-2.13.3-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) @@ -31,7 +31,7 @@ build_in_sourcedir ## 'src' or 'cmake' or .. ## use 'sourcesubdir_append' to specify this directory if known. -sourcesubdir_append src +sourcesubdir_append designer ############################################################################### ## Change the default (auto-detected) steps to From d83cd3d91dfcfe074e324f184738eeb5b5e9d501 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 13:54:38 +0200 Subject: [PATCH 6/7] qt4_compat: keep the few referenced Qt4 libs found in the system QT4 is supposed to be history. Well, very old packages might need help from .compatlibs, but that is how the cookie crumbles :) The only dependencies in the system belong to /usr/lib/liblastfm.so.1 and /usr/lib/libpoppler-qt4.so.4.0.0. Better make this a task on its own to check if they are needed. --- qt4_compat-4.7.4-0.be0 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 qt4_compat-4.7.4-0.be0 diff --git a/qt4_compat-4.7.4-0.be0 b/qt4_compat-4.7.4-0.be0 new file mode 100755 index 000000000..e04c7d15a --- /dev/null +++ b/qt4_compat-4.7.4-0.be0 @@ -0,0 +1,17 @@ +#!/usr/bin/env beesh + +# BEE_VERSION qt4_compat-4.7.4-0 + +mee_install() { + cd ${D} + tar xvpf /src/mariux/beeroot/packages/qt4-4.7.4-0.x86_64.bee.tar.bz2 \ + /usr/local/qt4/lib/libQtCore.so.4.7.4 \ + /usr/local/qt4/lib/libQtCore.so.4.7 \ + /usr/local/qt4/lib/libQtCore.so.4 \ + /usr/local/qt4/lib/libQtGui.so.4.7.4 \ + /usr/local/qt4/lib/libQtGui.so.4.7 \ + /usr/local/qt4/lib/libQtGui.so.4 \ + /usr/local/qt4/lib/libQtXml.so.4.7.4 \ + /usr/local/qt4/lib/libQtXml.so.4.7 \ + /usr/local/qt4/lib/libQtXml.so.4 +} From f35b4ccb94575d87bc17dd0da176fc7a1a12077f Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 21 Jul 2022 14:18:50 +0200 Subject: [PATCH 7/7] qtlinks: almost dump Qt4, unify creation of config & plugin links Note, bee throws a warning ... WARNING: system and image files named '/usr/local/lib/plugins' differ image : directory system: symbolic link to /usr/local/qt5/lib/plugins What is correct, so instead of update it is: #> bee remove qtlinks-1.0.1-5.x86_64 #> bee install qtlinks-1.0.2 --- qtlinks.be0 | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/qtlinks.be0 b/qtlinks.be0 index d1392cc9a..cdf63ac86 100755 --- a/qtlinks.be0 +++ b/qtlinks.be0 @@ -1,26 +1,12 @@ #!/bin/env beesh -# BEE_VERSION qtlinks-1.0.1-5 +# BEE_VERSION qtlinks-1.0.2-0 mee_install() { mkdir -p $D/usr/local/bin mkdir -p $D/usr/local/lib mkdir $D/usr/local/lib/pkgconfig - mkdir $D/usr/local/lib/cmake - - # qt4 - - ln -s /usr/local/qt4/bin/qmake $D/usr/local/bin/qmake4 - - for f in /usr/local/qt4/lib/pkgconfig/*.pc;do - ln -s $f $D/usr/local/lib/pkgconfig/ - done - - for f in /usr/local/qt4/lib/lib*.so*;do - ln -s $f $D/usr/local/lib/ - done - - # qt5 + mkdir $D/usr/local/lib/plugins for f in /usr/local/qt5/bin/*; do ln -s $f $D/usr/local/bin/ @@ -30,10 +16,15 @@ mee_install() { ln -s $f $D/usr/local/lib/ done - ln -s /usr/local/qt5/lib/plugins $D/usr/local/lib/ + for part in pkgconfig plugins; do + for f in /usr/local/qt5/lib/$part/*;do + ln -s $f $D/usr/local/lib/$part/ + done + done - for f in /usr/local/qt5/lib/pkgconfig/*.pc;do - ln -s $f $D/usr/local/lib/pkgconfig/ + # handle remaining qt4_compat libs + for f in /usr/local/qt4/lib/lib*.so*;do + ln -s $f $D/usr/local/lib/ done # this doesn't work as the files (eg Qt5Core/Qt5CoreConfig.cmake) use expressions like