diff options
author | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-05-06 09:00:18 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-05-08 00:48:23 +0700 |
commit | d0dffc098f3a942316a0c2c2f18eeadc32d5ac32 (patch) | |
tree | fb1c89dff05c67cfb47d9c593f8d5c48bb701c68 | |
parent | 7be081d225fe8936e28e70cf2742ce1df9d68666 (diff) |
academic/openboard: Added.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | academic/openboard/README | 4 | ||||
-rw-r--r-- | academic/openboard/doinst.sh | 3 | ||||
-rw-r--r-- | academic/openboard/openboard.SlackBuild | 105 | ||||
-rw-r--r-- | academic/openboard/openboard.desktop | 10 | ||||
-rw-r--r-- | academic/openboard/openboard.info | 10 | ||||
-rw-r--r-- | academic/openboard/quazip.patch | 41 | ||||
-rw-r--r-- | academic/openboard/run-in-a-window.patch | 154 | ||||
-rw-r--r-- | academic/openboard/slack-desc | 19 |
8 files changed, 346 insertions, 0 deletions
diff --git a/academic/openboard/README b/academic/openboard/README new file mode 100644 index 000000000000..22095c5febf6 --- /dev/null +++ b/academic/openboard/README @@ -0,0 +1,4 @@ +OpenBoard is an open source cross-platform teaching software for +interactive whiteboard designed primarily for use in schools and +universities. It can be used both with interactive whiteboards or +in a dual-screen setup with a pen-tablet display and a beamer. diff --git a/academic/openboard/doinst.sh b/academic/openboard/doinst.sh new file mode 100644 index 000000000000..f39d8d4dfa88 --- /dev/null +++ b/academic/openboard/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications +fi diff --git a/academic/openboard/openboard.SlackBuild b/academic/openboard/openboard.SlackBuild new file mode 100644 index 000000000000..feefbf8db94d --- /dev/null +++ b/academic/openboard/openboard.SlackBuild @@ -0,0 +1,105 @@ +#!/bin/sh + +# Slackware build script for openboard + +# Copyright 2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=openboard +SRCNAM=OpenBoard +VERSION=${VERSION:-1.6.1} +SRCVER=$(echo $VERSION | tr _ -) +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$SRCVER +tar xvf $CWD/$SRCNAM-$SRCVER.tar.gz +cd $SRCNAM-$SRCVER +chown -R root:root . +find . -type d -exec chmod 0755 {} \; +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Thanks to ArchLinux for these patches +patch -p1 < $CWD/quazip.patch + +# Patch to run in a window +patch -p1 < $CWD/run-in-a-window.patch + +qmake-qt5 OpenBoard.pro -spec linux-g++ +make + +mkdir -p $PKG/opt/openboard $PKG/usr/share/applications/ $PKG/usr/bin +for i in customizations etc i18n library; do + cp -rp resources/$i $PKG/opt/openboard; +done + +cp -rp resources/images/OpenBoard.png $PKG/opt/openboard/ +cp -rp build/linux/release/product/OpenBoard $PKG/opt/openboard/ + +install -D -m 644 $CWD/openboard.desktop $PKG/usr/share/applications/openboard.desktop +( + cd $PKG/usr/bin + ln -s /opt/openboard/OpenBoard $PKG/usr/bin/openboard +) + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/academic/openboard/openboard.desktop b/academic/openboard/openboard.desktop new file mode 100644 index 000000000000..e6663332bae6 --- /dev/null +++ b/academic/openboard/openboard.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=OpenBoard +Comment=OpenBoard, an interactive white board application +Exec=openboard %f +Icon=/opt/openboard/OpenBoard.png +StartupNotify=true +Terminal=false +MimeType=application/ubz +Categories=Education; diff --git a/academic/openboard/openboard.info b/academic/openboard/openboard.info new file mode 100644 index 000000000000..96743ec67a3c --- /dev/null +++ b/academic/openboard/openboard.info @@ -0,0 +1,10 @@ +PRGNAM="openboard" +VERSION="1.6.1" +HOMEPAGE="https://github.com/OpenBoard-org/OpenBoard/" +DOWNLOAD="https://github.com/OpenBoard-org/OpenBoard/archive/v1.6.1/OpenBoard-1.6.1.tar.gz" +MD5SUM="e99a4d32bd85bd15bcd6d6e3f2820733" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="libpaper libass x264 libfdk-aac quazip-qt5" +MAINTAINER="Willy Sudiarto Raharjo" +EMAIL="willysr@slackbuilds.org" diff --git a/academic/openboard/quazip.patch b/academic/openboard/quazip.patch new file mode 100644 index 000000000000..a5b121549dbc --- /dev/null +++ b/academic/openboard/quazip.patch @@ -0,0 +1,41 @@ +--- OpenBoard-1.6.0a/plugins/cffadaptor/UBCFFAdaptor.pro.orig 2020-04-07 08:26:29.240677360 +0700 ++++ OpenBoard-1.6.0a/plugins/cffadaptor/UBCFFAdaptor.pro 2020-04-07 08:27:03.695993158 +0700 +@@ -39,7 +39,7 @@ + QMAKE_POST_LINK += bash postScript_mac.sh "$$DESTDIR" "$$SANKORE_DIR/$$BUILD_DIR/product/Open-Sankore.app/Contents/MacOS" + } + +-LIBS += "-L$$THIRD_PARTY_PATH/quazip/lib/$$SUB_DIR" "-lquazip" ++LIBS += "-lquazip5" + + QT += xml xmlpatterns core + QT += gui +@@ -51,10 +51,7 @@ + + INCLUDEPATH += src + +-DEPENDPATH += $$THIRD_PARTY_PATH/quazip/ +-INCLUDEPATH += $$THIRD_PARTY_PATH/quazip/ +-include($$THIRD_PARTY_PATH/quazip/quazip.pri) +- ++INCLUDEPATH += /usr/include/quazip5/ + + SOURCES += \ + src/UBCFFAdaptor.cpp +@@ -66,4 +63,4 @@ + src/UBCFFConstants.h + + RESOURCES += \ +- resources/resources.qrc +\ No newline at end of file ++ resources/resources.qrc +--- OpenBoard-1.6.0a3/OpenBoard.pro.orig 2020-07-20 08:23:09.859918480 +0700 ++++ OpenBoard-1.6.0a3/OpenBoard.pro 2020-07-20 08:23:17.762002419 +0700 +@@ -434,7 +434,7 @@ + #LIBS += -lprofiler + LIBS += -lX11 + LIBS += -lquazip5 +- INCLUDEPATH += "/usr/include/quazip" ++ INCLUDEPATH += "/usr/include/quazip5" + + LIBS += -lpoppler + INCLUDEPATH += "/usr/include/poppler" diff --git a/academic/openboard/run-in-a-window.patch b/academic/openboard/run-in-a-window.patch new file mode 100644 index 000000000000..84c9cca3eb7e --- /dev/null +++ b/academic/openboard/run-in-a-window.patch @@ -0,0 +1,154 @@ +Patch for OpenBoard v. 1.6.0a3 by Roberto Puzzanghera roberto.puzzanghera at sagredo.eu +based on this patch http://webdiis.unizar.es/~spd/openboard/index.html.en + +OpenBoard runs in fullscreen mode. This seems to prevent the possibility to be recognized +by Google meet as an application to share. This patch gets OpenBoard to optionally run in +a window and solves the issue. + +With this patch OB runs in fullscreen mode by default. To run it in a window simply +adjust this option to true in the config file: + +RunInWindow=true + +On linux the location of the config file is /opt/openboard/etc/OpenBoard.config. A user +can override this file acting in local config file ~/.local/share/OpenBoard/OpenBoardUser.config + +============================================================================================= + +diff -ruN OpenBoard-1.6.0a3-original/OpenBoard.pro OpenBoard-1.6.0a3/OpenBoard.pro +--- OpenBoard-1.6.0a3-original/OpenBoard.pro 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/OpenBoard.pro 2020-10-24 10:58:50.421254271 +0200 +@@ -442,6 +442,10 @@ + QMAKE_CFLAGS += -fopenmp + QMAKE_CXXFLAGS += -fopenmp + QMAKE_LFLAGS += -fopenmp ++# RunInWindow patch ++ # Necessary for CentOS/RHEL and won't harm in other distributions ++ INCLUDEPATH += /usr/include/ffmpeg ++# end patch + UB_LIBRARY.path = $$DESTDIR + UB_I18N.path = $$DESTDIR/i18n + UB_ETC.path = $$DESTDIR +diff -ruN OpenBoard-1.6.0a3-original/resources/etc/OpenBoard.config OpenBoard-1.6.0a3/resources/etc/OpenBoard.config +--- OpenBoard-1.6.0a3-original/resources/etc/OpenBoard.config 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/resources/etc/OpenBoard.config 2020-10-24 10:59:50.005263852 +0200 +@@ -14,6 +14,7 @@ + PageCacheSize=20 + PreferredLanguage=fr_CH + ProductWebAddress=http://www.openboard.ch ++RunInWindow=false + SoftwareUpdateURL=http://www.openboard.ch/update.json + StartMode= + SwapControlAndDisplayScreens=false +diff -ruN OpenBoard-1.6.0a3-original/src/core/UBApplication.cpp OpenBoard-1.6.0a3/src/core/UBApplication.cpp +--- OpenBoard-1.6.0a3-original/src/core/UBApplication.cpp 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/src/core/UBApplication.cpp 2020-10-24 11:03:09.881941449 +0200 +@@ -277,8 +277,21 @@ + gs->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); + gs->setAttribute(QWebSettings::DnsPrefetchEnabled, true); + ++ /* RunInWindow patch */ ++ if (UBSettings::settings()->appRunInWindow->get().toBool()) { ++ mainWindow = new UBMainWindow(0, ++ Qt::Window | ++ Qt::WindowCloseButtonHint | ++ Qt::WindowMinimizeButtonHint | ++ Qt::WindowMaximizeButtonHint | ++ Qt::WindowShadeButtonHint ++ ); // deleted by application destructor ++ } else { ++ mainWindow = new UBMainWindow(0, Qt::FramelessWindowHint); // deleted by application destructor ++ } ++ /* mainWindow = new UBMainWindow(0, Qt::FramelessWindowHint); // deleted by application destructor */ ++ /* end patch */ + +- mainWindow = new UBMainWindow(0, Qt::FramelessWindowHint); // deleted by application destructor + mainWindow->setAttribute(Qt::WA_NativeWindow, true); + + mainWindow->actionCopy->setShortcuts(QKeySequence::Copy); +diff -ruN OpenBoard-1.6.0a3-original/src/core/UBSettings.cpp OpenBoard-1.6.0a3/src/core/UBSettings.cpp +--- OpenBoard-1.6.0a3-original/src/core/UBSettings.cpp 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/src/core/UBSettings.cpp 2020-10-24 11:02:43.074387051 +0200 +@@ -265,6 +265,9 @@ + appLookForOpenSankoreInstall = new UBSetting(this, "App", "LookForOpenSankoreInstall", true); + + appStartMode = new UBSetting(this, "App", "StartMode", ""); ++ /* RunInWindow patch */ ++ appRunInWindow = new UBSetting(this, "App", "RunInWindow", false); ++ /* end patch */ + + featureSliderPosition = new UBSetting(this, "Board", "FeatureSliderPosition", 40); + +diff -ruN OpenBoard-1.6.0a3-original/src/core/UBSettings.h OpenBoard-1.6.0a3/src/core/UBSettings.h +--- OpenBoard-1.6.0a3-original/src/core/UBSettings.h 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/src/core/UBSettings.h 2020-10-24 11:06:13.206894166 +0200 +@@ -260,7 +260,9 @@ + UBSetting* appHideSwapDisplayScreens; + UBSetting* appToolBarOrientationVertical; + UBSetting* appPreferredLanguage; +- ++ /* RunInWindow patch */ ++ UBSetting* appRunInWindow; ++ /* end patch */ + UBSetting* appIsInSoftwareUpdateProcess; + + UBSetting* appLastSessionDocumentUUID; +diff -ruN OpenBoard-1.6.0a3-original/src/frameworks/UBPlatformUtils_linux.cpp OpenBoard-1.6.0a3/src/frameworks/UBPlatformUtils_linux.cpp +--- OpenBoard-1.6.0a3-original/src/frameworks/UBPlatformUtils_linux.cpp 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/src/frameworks/UBPlatformUtils_linux.cpp 2020-10-24 11:00:43.708371185 +0200 +@@ -36,7 +36,9 @@ + #include <X11/keysym.h> + + #include "frameworks/UBFileSystemUtils.h" +- ++/* RunInWindow patch */ ++#include "core/UBSettings.h" ++/* end patch */ + + void UBPlatformUtils::init() + { +@@ -439,7 +441,14 @@ + + void UBPlatformUtils::showFullScreen(QWidget *pWidget) + { +- pWidget->showFullScreen(); ++ /* RunInWindow patch */ ++ /* pWidget->showFullScreen(); */ ++ if (UBSettings::settings()->appRunInWindow->get().toBool()) { ++ pWidget->showNormal(); ++ } else { ++ pWidget->showFullScreen(); ++ } ++ /* end patch */ + } + + void UBPlatformUtils::showOSK(bool show) +diff -ruN OpenBoard-1.6.0a3-original/src/frameworks/UBPlatformUtils_win.cpp OpenBoard-1.6.0a3/src/frameworks/UBPlatformUtils_win.cpp +--- OpenBoard-1.6.0a3-original/src/frameworks/UBPlatformUtils_win.cpp 2020-05-22 18:40:49.000000000 +0200 ++++ OpenBoard-1.6.0a3/src/frameworks/UBPlatformUtils_win.cpp 2020-10-24 11:01:26.170665369 +0200 +@@ -36,6 +36,9 @@ + + #include "frameworks/UBFileSystemUtils.h" + #include "core/memcheck.h" ++/* RunInWindow patch */ ++#include "core/UBSettings.h" ++/* end patch */ + + void UBPlatformUtils::init() + { +@@ -436,7 +439,14 @@ + + void UBPlatformUtils::showFullScreen(QWidget *pWidget) + { +- pWidget->showFullScreen(); ++ /* RunInWindow patch */ ++ /* pWidget->showFullScreen(); */ ++ if (UBSettings::settings()->appRunInWindow->get().toBool()) { ++ pWidget->showNormal(); ++ } else { ++ pWidget->showFullScreen(); ++ } ++ /* end patch */ + } + + void UBPlatformUtils::showOSK(bool show) diff --git a/academic/openboard/slack-desc b/academic/openboard/slack-desc new file mode 100644 index 000000000000..af65381fdcb1 --- /dev/null +++ b/academic/openboard/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +openboard: openboard (Interactive whiteboard) +openboard: +openboard: OpenBoard is an open source cross-platform teaching software for +openboard: interactive whiteboard designed primarily for use in schools and +openboard: universities. It can be used both with interactive whiteboards or +openboard: in a dual-screen setup with a pen-tablet display and a beamer. +openboard: +openboard: +openboard: +openboard: +openboard: |