summaryrefslogtreecommitdiffstats
path: root/network/vivaldi
diff options
context:
space:
mode:
Diffstat (limited to 'network/vivaldi')
-rw-r--r--network/vivaldi/README7
-rw-r--r--network/vivaldi/README.SBo40
-rw-r--r--network/vivaldi/doinst.sh3
-rw-r--r--network/vivaldi/douninst.sh11
-rw-r--r--network/vivaldi/slack-desc8
-rw-r--r--network/vivaldi/vivaldi.SlackBuild73
-rw-r--r--network/vivaldi/vivaldi.info24
7 files changed, 98 insertions, 68 deletions
diff --git a/network/vivaldi/README b/network/vivaldi/README
index 6654f9bad4..a6b095a1b1 100644
--- a/network/vivaldi/README
+++ b/network/vivaldi/README
@@ -1,6 +1,7 @@
vivaldi (web browser).
-A Browser for Our Friends. An advanced browser made with the power user
-in mind. Finally you can surf your way.
+Experience the web in a whole new way with Vivaldi.
-Vivaldi for ARM can be downloaded at https://vivaldi.com/download/
+Vivaldi is a browser that has the features you need, a style that fits
+and values you can stand by. Your browser matters. Take control with
+Vivaldi.
diff --git a/network/vivaldi/README.SBo b/network/vivaldi/README.SBo
index 13e8edce7d..91f83743fa 100644
--- a/network/vivaldi/README.SBo
+++ b/network/vivaldi/README.SBo
@@ -1,4 +1,38 @@
-This SlackBuild used to support a variable CUSTOM_CSS that made it
-possible to customize the user interface using a css file.
+# Proprietary media support
-Now the same can be done via vivaldi://experiments/
+Vivaldi does not directly bundle any library with support for
+"proprietary media" (H.264/AAC), since this would make redistribution of
+the output package difficult (due to software patent licensing).
+Instead, the script '/opt/vivaldi/update-ffmpeg' fetches a suitable lib
+from a third party (and verifies it). This can be run in two ways.
+
+## System-wide install
+
+The recommended method is for the user to run it as root (with no
+arguments) immediately after installing (or upgrading) Vivaldi, but
+before first run. The file will then be placed in '/var/opt/vivaldi' and
+found by Vivaldi when you launch it afterwards.
+
+Files installed this way will even be cleaned up automatically on
+uninstall by 'douninst.sh'. Alternatively running 'update-ffmpeg' again
+(as root) with '--undo' will also remove the lib and associated
+directories.
+
+## Per-user install
+
+If you do not run the 'update-ffmpeg' as root before first run, Vivaldi
+will call this script itself, automatically on first launch (with the
+option '--user'). In this case the lib will be installed into
+'~/.local/lib/vivaldi' (for each user who launches Vivaldi) and will
+then be available, from the next restart (of the browser).
+
+If you wish to remove the file from '~/.local/lib/vivaldi', you can run
+'update-ffmpeg' as follows:
+
+ /opt/vivaldi/update-ffmpeg --user --undo
+
+Alternatively look in '~/.local/lib/vivaldi' and remove the files
+manually.
+
+NOTE: Keep in mind the lib will be automatically reinstalled in
+'~/.local/lib/vivaldi' if any user on the system launches Vivaldi again.
diff --git a/network/vivaldi/doinst.sh b/network/vivaldi/doinst.sh
index 1a8085ae10..65c7e2eeb9 100644
--- a/network/vivaldi/doinst.sh
+++ b/network/vivaldi/doinst.sh
@@ -7,6 +7,3 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
-
-rm -f /opt/vivaldi/libffmpeg.so
-rm -f /opt/vivaldi/libwidevinecdm.so
diff --git a/network/vivaldi/douninst.sh b/network/vivaldi/douninst.sh
new file mode 100644
index 0000000000..879cbcec64
--- /dev/null
+++ b/network/vivaldi/douninst.sh
@@ -0,0 +1,11 @@
+# Remove any lib fetched by '/opt/vivaldi/update-ffmpeg' that was
+# installed system-wide into '/var/opt'
+rm -f /var/opt/vivaldi/media-codecs-*/libffmpeg.so
+if [ -d /var/opt/vivaldi ]; then
+ # This removes directory trees that are empty or only populated by other
+ # empty directories.
+ find /var/opt/vivaldi -depth -type d -empty -exec rmdir {} \;
+ # '/var/opt' is not part of the default Slackware install, so we will
+ # remove it, if it is now empty (following the above).
+ rmdir --ignore-fail-on-non-empty /var/opt
+fi
diff --git a/network/vivaldi/slack-desc b/network/vivaldi/slack-desc
index fb2335b9c7..9d1efaa13e 100644
--- a/network/vivaldi/slack-desc
+++ b/network/vivaldi/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
vivaldi: vivaldi (web browser)
vivaldi:
-vivaldi: A Browser for Our Friends.
+vivaldi: Experience the web in a whole new way with Vivaldi.
vivaldi:
-vivaldi: An advanced browser made with the power user in mind. Finally you
-vivaldi: can surf your way.
+vivaldi: Vivaldi is a browser that has the features you need, a style that fits
+vivaldi: and values you can stand by. Your browser matters. Take control with
+vivaldi: Vivaldi.
vivaldi:
vivaldi: Home Page: https://vivaldi.com
vivaldi:
vivaldi:
-vivaldi:
diff --git a/network/vivaldi/vivaldi.SlackBuild b/network/vivaldi/vivaldi.SlackBuild
index d3ffcf4502..0b8ba3e053 100644
--- a/network/vivaldi/vivaldi.SlackBuild
+++ b/network/vivaldi/vivaldi.SlackBuild
@@ -1,9 +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-2024, Ruari Oedegaard, Oslo, Norway
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,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:-2.9.1705.41}
-FFMPEG_VERSION="78.0.3904.70"
-WIDEVINE_VERSION="4.10.1440.18"
+VERSION=${VERSION:-6.6.3271.61}
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}
@@ -55,22 +52,8 @@ 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
-if [ "x$BITS" = "xarmhf" ] ; then
- echo "This script doesn't support installing proprietary media codecs on ARM."
-else
- mkdir -p var/opt/vivaldi/WidevineCdm/_platform_specific/linux_${PBITS}
- mkdir -p var/opt/vivaldi/media-codecs-${FFMPEG_VERSION}
- ar p $CWD/chromium-codecs-ffmpeg-extra_${FFMPEG_VERSION}-*_${BITS}.deb \
- data.tar.xz | tar xJf - ./usr/lib/chromium-browser/libffmpeg.so --strip 4
- mv libffmpeg.so var/opt/vivaldi/media-codecs-${FFMPEG_VERSION}
- unzip -oq $CWD/${WIDEVINE_VERSION}-linux-${WBITS}.zip \
- -d var/opt/vivaldi/WidevineCdm
- mv var/opt/vivaldi/WidevineCdm/libwidevinecdm.so \
- var/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 . \
@@ -79,15 +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 -f opt/vivaldi/WidevineCdm
-mv opt usr var $PKG/
+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
-ln -fs /var/opt/vivaldi/WidevineCdm $PKG/opt/vivaldi/WidevineCdm
+# 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" \
@@ -100,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
diff --git a/network/vivaldi/vivaldi.info b/network/vivaldi/vivaldi.info
index fc626f4946..2dddcfae85 100644
--- a/network/vivaldi/vivaldi.info
+++ b/network/vivaldi/vivaldi.info
@@ -1,18 +1,12 @@
PRGNAM="vivaldi"
-VERSION="2.9.1705.41"
+VERSION="6.6.3271.61"
HOMEPAGE="https://vivaldi.com"
-DOWNLOAD="https://downloads.vivaldi.com/stable/vivaldi-stable_2.9.1705.41-1_i386.deb \
- https://launchpadlibrarian.net/449418163/chromium-codecs-ffmpeg-extra_78.0.3904.70-0ubuntu0.16.04.2_i386.deb \
- https://dl.google.com/widevine-cdm/4.10.1440.18-linux-ia32.zip"
-MD5SUM="150c2ea15bcdf534198b4e4d9aac9bca \
- 9dd2ba0d979042d75987f881842c0351 \
- c151f6314712678ac81b6298bc36c997"
-DOWNLOAD_x86_64="https://downloads.vivaldi.com/stable/vivaldi-stable_2.9.1705.41-1_amd64.deb \
- https://launchpadlibrarian.net/449403909/chromium-codecs-ffmpeg-extra_78.0.3904.70-0ubuntu0.16.04.2_amd64.deb \
- https://dl.google.com/widevine-cdm/4.10.1440.18-linux-x64.zip"
-MD5SUM_x86_64="915726cc2bac8e85db00a6edab97f43b \
- 05224151a111339651b3d19999b65a51 \
- fc6cf66cdff7c57d367b317505f086d1"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://downloads.vivaldi.com/stable/vivaldi-stable_6.6.3271.61-1_amd64.deb \
+ https://update.vivaldi.com/update/1.0/relnotes/6.6.3271.61.html"
+MD5SUM_x86_64="8f5399008b3ce407841768b2e88d84cf \
+ 5dcbd276bf780eb1106b8ac254e2a223"
REQUIRES=""
-MAINTAINER="Alexander Verbovetsky"
-EMAIL="alik@ejik.org"
+MAINTAINER="Ruari Oedegaard"
+EMAIL="sbo@ruari.com"