aboutsummaryrefslogtreecommitdiff
path: root/academic/openboard
diff options
context:
space:
mode:
authorWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-05-06 09:00:18 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-05-08 00:48:23 +0700
commitd0dffc098f3a942316a0c2c2f18eeadc32d5ac32 (patch)
treefb1c89dff05c67cfb47d9c593f8d5c48bb701c68 /academic/openboard
parent7be081d225fe8936e28e70cf2742ce1df9d68666 (diff)
academic/openboard: Added.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'academic/openboard')
-rw-r--r--academic/openboard/README4
-rw-r--r--academic/openboard/doinst.sh3
-rw-r--r--academic/openboard/openboard.SlackBuild105
-rw-r--r--academic/openboard/openboard.desktop10
-rw-r--r--academic/openboard/openboard.info10
-rw-r--r--academic/openboard/quazip.patch41
-rw-r--r--academic/openboard/run-in-a-window.patch154
-rw-r--r--academic/openboard/slack-desc19
8 files changed, 346 insertions, 0 deletions
diff --git a/academic/openboard/README b/academic/openboard/README
new file mode 100644
index 0000000000000..22095c5febf6a
--- /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 0000000000000..f39d8d4dfa88a
--- /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 0000000000000..feefbf8db94df
--- /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 0000000000000..e6663332bae66
--- /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 0000000000000..96743ec67a3c4
--- /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 0000000000000..a5b121549dbc8
--- /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 0000000000000..84c9cca3eb7e3
--- /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 0000000000000..af65381fdcb16
--- /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: