network/qutebrowser-bin: Added (keyboard-focused browser)

Signed-off-by: Dave Woodfall <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Alexander Verbovetsky 2022-05-04 15:24:03 +01:00 committed by Willy Sudiarto Raharjo
parent 5bd631d21b
commit 703e0e772a
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
7 changed files with 255 additions and 0 deletions

View File

@ -0,0 +1,12 @@
Qutebrowser is a keyboard-focused browser with a minimal GUI. It's based
on Python and Qt and free software, licensed under the GPL.
It was inspired by other browsers/addons like dwb and
Vimperator/Pentadactyl.
This SlackBuild installs all needed dependencies in a virtual
environment subfolder. This comes with an up-to-date Qt/PyQt including a
pre-compiled QtWebEngine binary, but has a couple of caveats:
* It only works on 64-bit x86 systems.
* It comes with a QtWebEngine compiled without proprietary codec support
(such as h.264).

View File

@ -0,0 +1,37 @@
Qutebrowser crashes
===================
If qutebrowser starts to crash, its cache may be corrupt. This often
happens after an upgrade. To remove the cache run:
rm -rf ~/.cache/qutebrowser/
rm -rf ~/.local/share/qutebrowser/webengine/Application\ Cache/
rm -rf ~/.local/share/qutebrowser/webengine/GPUCache
rm -rf ~/.local/share/qutebrowser/webengine/Service\ Worker/CacheStorage
rm -rf ~/.local/share/qutebrowser/webengine/Service\ Worker/ScriptCache
Widevine support
================
Widevine DRM support requires libwidevinecdm.so plugin. Qutebrowser
searches for it in the following directories:
/opt/google/chrome
/usr/lib/chromium
/usr/lib64/chromium
/usr/lib/chromium-browser
Also the path to libwidevinecdm.so can be passed via qt.args setting:
:set qt.args "['widevine-path=/path/to/libwidevinecdm.so']"
libwidevinecdm.so can be download at
https://dl.google.com/widevine-cdm/X.X.X.X-linux-x64.zip
and manually put to one of the above directories. The version "X.X.X.X"
to download can be found at
https://dl.google.com/widevine-cdm/versions.txt
libwidevinecdm.so provided by google-chrome from /extra, Alien Bob's
chromium-widevine-plugin, etc. can be used as well.
To test the Widevine DRM support, go to
https://shaka-player-demo.appspot.com/demo/
and play the Sintel video.

View File

@ -0,0 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

View File

@ -0,0 +1,136 @@
#!/bin/bash
# Slackware build script for qutebrowser-bin
# Copyright 2019-2022, Alexander Verbovetsky, Moscow, Russia
# 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.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=qutebrowser-bin
VERSION=${VERSION:-2.5.0}
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
if [ "$ARCH" != "x86_64" ]; then
echo "Only x86_64 is supported."
exit 1
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG/opt $OUTPUT
cd $PKG/opt
tar xvf $CWD/qutebrowser-$VERSION.tar.gz
mv qutebrowser-$VERSION qutebrowser
cd qutebrowser
sed -i.bak "s|\(run_venv(venv_dir, 'python', '-m', 'pip', 'install',\)|\1 \
'--no-index', '--find-links=$CWD/',|" scripts/mkvenv.py
sed -i "/env\['PATH'\] = str(bin_path) + os.pathsep + env\['PATH'\]/d" \
scripts/asciidoc2html.py
chown -R root:root .
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 {} \;
python3 scripts/mkvenv.py --skip-smoke-test
mv scripts/mkvenv.py.bak scripts/mkvenv.py
find ./ -type f -name '*.pyc' -delete
find ./ -type d -name '__pycache__' -delete
find ./ -type f -exec sed -i -e "s|$PKG||" {} \;
find ./ -type f -exec sed -i -e \
'1,2 s|^#!/usr/bin/env python.*$|#!/opt/qutebrowser/.venv/bin/python3|' {} \;
.venv/bin/python3 -m compileall scripts/__init__.py \
scripts/setupcommon.py scripts/utils.py -fq
.venv/bin/python3 -m compileall .venv/lib -fq
.venv/bin/python3 scripts/asciidoc2html.py
a2x -f manpage doc/qutebrowser.1.asciidoc
gzip -9 doc/qutebrowser.1
mkdir -p $PKG/usr/man/man1
mv doc/qutebrowser.1.gz $PKG/usr/man/man1
mkdir -p $PKG/usr/share/{metainfo,applications,icons/hicolor/scalable/apps,pixmaps,qutebrowser/pdf.js}
install -m 0644 misc/org.qutebrowser.qutebrowser.appdata.xml \
$PKG/usr/share/metainfo/
install -m 0644 misc/org.qutebrowser.qutebrowser.desktop \
$PKG/usr/share/applications
for res in 16 24 32 48 64 96 128 256 512; do
mkdir -p $PKG/usr/share/icons/hicolor/${res}x${res}/apps/;
install -m 0644 "icons/qutebrowser-${res}x${res}.png" \
"$PKG/usr/share/icons/hicolor/${res}x${res}/apps/qutebrowser.png"
done
install -m 0644 "icons/qutebrowser.svg" \
$PKG/usr/share/icons/hicolor/scalable/apps/
install -m 0644 "icons/qutebrowser.xpm" $PKG/usr/share/pixmaps/
cp -a misc/userscripts $PKG/usr/share/qutebrowser
cp -a scripts $PKG/usr/share/qutebrowser
rm -rf $PKG/usr/share/qutebrowser/scripts/{__pycache__,dev,testbrowser,__init__.py,asciidoc2html.py,setupcommon.py,link_pyqt.py}
mkdir -p $PKG/usr/bin
install -m 0755 -o root -g root $CWD/wrapper.qutebrowser \
$PKG/usr/bin/qutebrowser
find ./ -type f -exec sed -i -e \
's|/usr/share/pdf.js|/usr/share/qutebrowser/pdf.js|' {} \;
cd $PKG/usr/share/qutebrowser/pdf.js
unzip $CWD/pdfjs-*-dist.zip
chown -R root:root $PKG/usr/share/qutebrowser/pdf.js
find ./ -type f -exec chmod 644 {} \;
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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/opt/qutebrowser/README.asciidoc $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

View File

@ -0,0 +1,40 @@
PRGNAM="qutebrowser-bin"
VERSION="2.5.0"
HOMEPAGE="https://qutebrowser.org"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/qutebrowser/qutebrowser/archive/v2.5.0/qutebrowser-2.5.0.tar.gz \
https://files.pythonhosted.org/packages/fb/58/9efbfe68482dab9557c49d433a60fff9efd7ed8835f829eba8297c2c124a/setuptools-62.1.0-py3-none-any.whl \
https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl \
https://files.pythonhosted.org/packages/36/66/19983d471c702e551a19a7225a92a7c1efadd961f6c650110ed906dd0ed7/PyQt5-5.15.6-cp36-abi3-manylinux1_x86_64.whl \
https://files.pythonhosted.org/packages/83/d4/241a6a518d0bcf0a9fcdcbad5edfed18d43e884317eab8d5230a2b27e206/PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl \
https://files.pythonhosted.org/packages/71/f7/52c15afe87e769a5892cbe3da8e38db6dee8fc58ce1fb6091dba975c6202/PyQt5_sip-12.9.1-cp39-cp39-manylinux1_x86_64.whl \
https://files.pythonhosted.org/packages/a1/45/667e82a0f584be10d785213b04c8ce01ae4d2f63cd23ab6307312c69be89/PyQtWebEngine-5.15.5-cp36-abi3-manylinux1_x86_64.whl \
https://files.pythonhosted.org/packages/48/62/117c9c96837287b181fce6da481065ddda68b3a8c0fa5f00ea62cc08b877/PyQtWebEngine_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl \
https://files.pythonhosted.org/packages/27/2e/2d98eba665d3d70f4d0bc8e807bac660be0db66330e990978168c05a51a1/adblock-0.5.2-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl \
https://files.pythonhosted.org/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl \
https://files.pythonhosted.org/packages/76/02/af4045156cde8feeefa30cb1c051e10321d4960c418bd52346a497feb302/Jinja2-3.1.1-py3-none-any.whl \
https://files.pythonhosted.org/packages/df/06/c515c5bc43b90462e753bc768e6798193c6520c9c7eb2054c7466779a9db/MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl \
https://files.pythonhosted.org/packages/1d/17/ed4d2df187995561b28f1073df24137cb750e12f9879d291cc8ab67c65d2/Pygments-2.11.2-py3-none-any.whl \
https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl \
https://files.pythonhosted.org/packages/52/c5/df7953fe6065185af5956265e3b16f13c2826c2b1ba23d43154f3af453bc/zipp-3.7.0-py3-none-any.whl \
https://github.com/mozilla/pdf.js/releases/download/v2.13.216/pdfjs-2.13.216-dist.zip"
MD5SUM_x86_64="86dc62958e6eb9ca2fd28083c602079b \
101d2e2bf9b7682ab90d9a7bd487bdbe \
f7e1c5e641a4a0eea8379f43bceaa564 \
0e637e2d6f117699f41ba163e6a0e73e \
038f56bd7af99133f591c7497b64ea17 \
022756b2a8744a111f622092ed36dee4 \
094f8349af070ad35255184061b6d62a \
d9fe06e7758913f32dc09324ff9abfdf \
d45a0ceee0df8ec1a6f62c4697355074 \
1dcd07acf2b1875ed09428e1ddf7e028 \
cae2986094602b6c2d6f4405e8d0eb3b \
68a29c49e695e11d59af9e33d7e4cfd4 \
9b19b40b048b2897d0af1b6af62f3799 \
aba0c6954cd00aaf39f3619a0bfce3ae \
fe228758662bbf708699fe52d0232b3b \
172e0f11a156d3f3859d3aad37e3ff38"
REQUIRES=""
MAINTAINER="Alexander Verbovetsky"
EMAIL="alik@ejik.org"

View File

@ -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------------------------------------------------------|
qutebrowser-bin: qutebrowser-bin (keyboard-focused browser)
qutebrowser-bin:
qutebrowser-bin: Qutebrowser is a keyboard-focused browser with a minimal GUI. It's
qutebrowser-bin: based on Python and Qt and free software, licensed under the GPL.
qutebrowser-bin:
qutebrowser-bin: It was inspired by other browsers/addons like dwb and
qutebrowser-bin: Vimperator/Pentadactyl.
qutebrowser-bin:
qutebrowser-bin: This script installs all needed dependencies in a .venv subfolder.
qutebrowser-bin:
qutebrowser-bin: Homepage: https://www.qutebrowser.org

View File

@ -0,0 +1,2 @@
#!/bin/bash
setsid /opt/qutebrowser/.venv/bin/python3 -m qutebrowser "$@"