summaryrefslogtreecommitdiffstats
path: root/network/vivaldi/vivaldi.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/vivaldi/vivaldi.SlackBuild')
-rw-r--r--network/vivaldi/vivaldi.SlackBuild70
1 files changed, 32 insertions, 38 deletions
diff --git a/network/vivaldi/vivaldi.SlackBuild b/network/vivaldi/vivaldi.SlackBuild
index dfc5521e1a..04c5a91efd 100644
--- a/network/vivaldi/vivaldi.SlackBuild
+++ b/network/vivaldi/vivaldi.SlackBuild
@@ -1,10 +1,10 @@
-#!/bin/sh
+#!/bin/bash
#
# Slackware build script for vivaldi.
#
# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# Copyright 2017-2019, Alexander Verbovetsky, Moscow, Russia
-# Copyright 2019-2020, Ruari Oedegaard, Oslo, Norway
+# Copyright 2019-2024, Ruari Oedegaard, Oslo, Norway
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,30 +24,26 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=vivaldi
-VERSION=${VERSION:-3.4.2066.106}
-FFMPEG_VERSION="86.0.4240.75"
-WIDEVINE_VERSION="4.10.1582.2"
+VERSION=${VERSION:-6.6.3271.53}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
-case "$ARCH" in
- i?86) BITS="i386" ; WBITS="ia32" ; PBITS="x86" ;;
- x86_64) BITS="amd64" ; WBITS="x64" ; PBITS="x64" ;;
- arm*) BITS="armhf" ;;
- *) echo "$ARCH is not supported."
- exit 1 ;;
-esac
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
-CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -57,21 +53,7 @@ set -e
rm -rf $PKG $TMP/$PRGNAM
mkdir -p $TMP/$PRGNAM $PKG $OUTPUT
cd $TMP/$PRGNAM
-ar p $CWD/${PRGNAM}-stable_${VERSION}-*_${BITS}.deb data.tar.xz | tar xvJ ./opt ./usr
-ar p $CWD/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}-*_${BITS}.deb \
- data.tar.xz | tar xOJ ./usr/lib/chromium-browser/libffmpeg.so \
- > opt/vivaldi/libffmpeg.so.${VERSION%\.*\.*}
-
-if [ "x$BITS" = "xarmhf" ] ; then
- echo "This script doesn't support installing Widevine on ARM."
-elif [ "x$BITS" = "xi386" ] ; then
- rm -f opt/vivaldi/WidevineCdm
- mkdir -p opt/vivaldi/WidevineCdm/_platform_specific/linux_${PBITS}
- unzip -oq $CWD/${WIDEVINE_VERSION}-linux-${WBITS}.zip \
- -d opt/vivaldi/WidevineCdm
- mv opt/vivaldi/WidevineCdm/libwidevinecdm.so \
- opt/vivaldi/WidevineCdm/_platform_specific/linux_${PBITS}
-fi
+ar p $CWD/${PRGNAM}-stable_${VERSION}-*.deb data.tar.xz | tar xJ ./opt ./usr
chown -R root:root .
find -L . \
@@ -80,13 +62,26 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-rm -r opt/vivaldi/cron
+rm -r opt/vivaldi/cron usr/share/doc
mv opt usr $PKG/
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-ln -sf /opt/vivaldi/vivaldi $PKG/usr/bin/vivaldi
+# Create relative symlinks (first removing any potentially non-relative
+# ones).
+
+rm -f $PKG/usr/bin/vivaldi* $PKG/opt/vivaldi/WidevineCdm
+ln -s ../../opt/vivaldi/vivaldi $PKG/usr/bin/vivaldi
+ln -s ../../opt/vivaldi/vivaldi $PKG/usr/bin/vivaldi-stable
+
+# This following may appear as a broken/dangling symlink but it actually
+# can be used by Vivaldi as a fallback source for Widevine in cases
+# where, Google Chrome is also installed (it bundles Widevine at the
+# linked location) and the components system in the browser
+# (vivaldi://components) is non-functional.
+
+ln -s ../google/chrome/WidevineCdm $PKG/opt/vivaldi/WidevineCdm
for res in 16 22 24 32 48 64 128 256; do
install -Dm644 "$PKG/opt/vivaldi/product_logo_${res}.png" \
@@ -99,16 +94,15 @@ sed \
> $PKG/usr/share/applications/vivaldi.desktop
rm $PKG/usr/share/applications/vivaldi-stable.desktop
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-gzip -dc $PKG/usr/share/doc/vivaldi-stable/changelog.gz > \
- $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog
-rm -rf $PKG/usr/share/doc
-cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+for doc in README README.SBo $PRGNAM.SlackBuild; do
+ install -Dm644 $CWD/$doc $PKG/usr/doc/$PRGNAM-$VERSION/$doc
+done
+lynx -dump file://$CWD/${VERSION}.html > $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+cat $CWD/douninst.sh > $PKG/install/douninst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE