mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 15:13:31 -04:00
www-apps/invidious: new package, add 2022.11.02
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
11
www-apps/invidious/Manifest
Normal file
11
www-apps/invidious/Manifest
Normal file
@@ -0,0 +1,11 @@
|
||||
DIST invidious-2022.11.02.tar.gz 3261663 BLAKE2B 066842f388aa34323d489634243ae93a7fdfaddab19a9860bd9f9747fd3579a7d0707d3ffc3d72f9379e35303bffb0bd8f755c1b209ae7976bf71ac0e7512920 SHA512 37fde6ea59a2dc90ad153b7f36718f2bacd9bb9282de7a7b1e878c9d694f6d2a6db00458acbb0d9178020840ecdb6ff0d2a30e1a7dfa4520fac7b4323e643e58
|
||||
DIST invidious-mocks-c401dd9.tar.gz 122433 BLAKE2B 9dd4e619071cd014dc83859c9f112a5af586d8c26c4b2f04764310c3e9459d9eb5f1ffe30d6e997b4366663179e69731eb95ff98260d79c435c3414dd126fe4b SHA512 8ed4303bf7ca15a035feb0b5d908e62cb428c6c125c4b22233196217c7ef68f7957999094609adb48ac6ee3f5e612dd2ea715ea4dfd93cba6639db1f78f302aa
|
||||
DIST video.js-7.12.1.tgz 3511060 BLAKE2B 9ae5b1f6a0afab918b7dc3555fff2708963d4abb6c7903e13145b2d5393fb80e4ab6302c423b0ba15c805a624a23c25dd3db7865f1510c44cfc5d1d5ab1dbf54 SHA512 d0ec25eeae196e6e981d7f783fd595a90daf9e97de3723ad4cdc2e4c41282a8bd9a20a2a57631c3949ac40633811db60e2f19388fef816fe8755ad55e857917e
|
||||
DIST videojs-contrib-quality-levels-2.1.0.tgz 18770 BLAKE2B f6c4789835379380bde941d032bb0afbc49d093eb9407308094afd0b9c1f25781f57d8f8db928e318eb270927574a5fd505f08af13f0baf55897723ec489b769 SHA512 76a19019b2fd00586e731922ed9874737908847d0f00f707121ea351d47268509578ebaa9c9ace62cff7c0db6ca240dd05d45fd83bb66a79e9bb86765da49946
|
||||
DIST videojs-http-source-selector-1.1.6.tgz 14270 BLAKE2B 232148058ced6926a6da669b443124a00489a5241c98d2b76a3e04dff818993a14a0edb1950db1adf86589fd3841e073b8cac23c142a7f276301c52b3b324359 SHA512 e9be4c98a4d3d9c567ae3b5d363e33d553bdd6e75b5e46644d803a2e50fc58dd9a1e51b6aea1539ad31a6f834ae279649246d19e6ddcdaad8875d2f78df7cb9a
|
||||
DIST videojs-markers-1.0.1.tgz 209230 BLAKE2B edaba80942103a60a173089666f76f81e60d0ee7f6cb3de412fc93c0a3f286d995358953ada8446d54818111fc7b5e4d059d1b39f53fd3d652eb21ed84c81e62 SHA512 8f0de34616a7c27a3462075147dfb3e9c6dd98cb3f8de5dcae090cafa9a510ff977d937e8ac58d629d069cfbdd5eb05c9dbe8000d7431e59d74a622f79c13358
|
||||
DIST videojs-mobile-ui-0.6.1.tgz 15408 BLAKE2B 3c0040710b644000c35333ae5b50421444d34b96c28a3a7a75d18ba13676086a1629bc1039509db0b6d7238e7133e03bc0a2b8f1bce2c6ee88332107f4f3a2fc SHA512 1eda0312745839a9c7470c050560a14df0fcb09e00009e328616d9889ed9624fe4cd0bb43dae1018e7897adbf4c319dcbb79f07dc68196235a751ee7974bd93d
|
||||
DIST videojs-overlay-2.1.4.tgz 26042 BLAKE2B 7c6279667bb0e7aef51af3e37c10aa791715ab4cafebbdfae8f8f427915579164c7b19b0965b10fb8e47e6ef51b4caadfd593ef53bc22da8e8cbcb75583674a1 SHA512 7a89dffa56b658764952f6995ed5f552da703517bc66ae475240578035fdcca38543da69322a3b2db60c0552a97a2e8172a38e81d3558add61ecd19eeb249edf
|
||||
DIST videojs-share-3.2.1.tgz 487816 BLAKE2B 8edb19cff9eb4f29f42e48a3bec3a180d8d38faca3adce8fc2b5eee5dcd369291056d9c815b152bbc298313d53a9a96be9db0774a8c156393279da2a9507e97e SHA512 a24034320950b9a497c1ca57641c77cf45887684b1d366ed8545ff82bdb504a481237011ae4fcf0fe1ac32d79178a5b6985869b7e5aca8a4583327e6c2d26d9a
|
||||
DIST videojs-vr-1.8.0.tgz 521483 BLAKE2B 21c49f7cecdc6561ee87a5cdc990d0af971a60cd07ab501a2a56cd357c75bdba3cb0652bdb124c6bc4190d4f9b5f632fa665b62976c5f7d5318df4f08dc9f554 SHA512 efbea05eab7c83afeb2de579ea79ff69470ed2c472fa68052130b0f1c22acd3ce5f77484d4f10afd013760daada6951f5398a06b2af1ed62ac5a10cea6c5cca7
|
||||
DIST videojs-vtt-thumbnails-0.0.13.tgz 440404 BLAKE2B 98bb2afb0a1b035210dc9bab3954c601a9b9e3e30300618d578c30ac4bed0c4d32b65a4a6156f871f8a3ba0820376d53369e478b543e2277751331b7ef37cf31 SHA512 ed519ca53445fa9a48b2cfcd899703915384d3693f1a8325b7152e990da3693a51d5989e61333e74fa299935ee6cbc4e8143f717bd6e4cb319567584b621e354
|
||||
2
www-apps/invidious/files/invidious.confd
Normal file
2
www-apps/invidious/files/invidious.confd
Normal file
@@ -0,0 +1,2 @@
|
||||
# Path to the config file
|
||||
#INVIDIOUS_CONFIG_FILE="/etc/invidious/config.yml"
|
||||
23
www-apps/invidious/files/invidious.initd
Normal file
23
www-apps/invidious/files/invidious.initd
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
: ${INVIDIOUS_CONFIG_FILE:=/etc/invidious/config.yml}
|
||||
|
||||
name="Invidious"
|
||||
description="An alternative YouTube front-end"
|
||||
command="/usr/bin/invidious"
|
||||
command_user="invidious:invidious"
|
||||
command_background=1
|
||||
pidfile="/run/invidious.pid"
|
||||
output_log="/var/log/invidious.log"
|
||||
error_log="${output_log}"
|
||||
|
||||
depend() {
|
||||
use logger net
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath -fo invidious:invidious /var/log/invidious.log
|
||||
export INVIDIOUS_CONFIG_FILE
|
||||
}
|
||||
16
www-apps/invidious/files/invidious.service
Normal file
16
www-apps/invidious/files/invidious.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Invidious (An alternative YouTube front-end)
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
RestartSec=2s
|
||||
Type=simple
|
||||
User=invidious
|
||||
Group=invidious
|
||||
Environment=INVIDIOUS_CONFIG_FILE="/etc/invidious/config.yml"
|
||||
ExecStart=invidious
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
174
www-apps/invidious/invidious-2022.11.02.ebuild
Normal file
174
www-apps/invidious/invidious-2022.11.02.ebuild
Normal file
@@ -0,0 +1,174 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit check-reqs multiprocessing shards systemd
|
||||
|
||||
COMMIT="09942dee6621e7047a63dffcc61b3bbf78cef2c6"
|
||||
MOCKS_COMMIT="c401dd9203434b561022242c24b0c200d72284c0"
|
||||
MOCKS_P="${PN}-mocks-${MOCKS_COMMIT:0:7}"
|
||||
DESCRIPTION="Invidious is an alternative front-end to YouTube"
|
||||
HOMEPAGE="
|
||||
https://invidious.io/
|
||||
https://github.com/iv-org/invidious
|
||||
"
|
||||
IV_ORG="https://github.com/iv-org"
|
||||
NPM="https://registry.npmjs.org"
|
||||
SRC_URI="
|
||||
${IV_ORG}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz
|
||||
${NPM}/video.js/-/video.js-7.12.1.tgz
|
||||
${NPM}/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-2.1.0.tgz
|
||||
${NPM}/videojs-http-source-selector/-/videojs-http-source-selector-1.1.6.tgz
|
||||
${NPM}/videojs-markers/-/videojs-markers-1.0.1.tgz
|
||||
${NPM}/videojs-mobile-ui/-/videojs-mobile-ui-0.6.1.tgz
|
||||
${NPM}/videojs-overlay/-/videojs-overlay-2.1.4.tgz
|
||||
${NPM}/videojs-share/-/videojs-share-3.2.1.tgz
|
||||
${NPM}/videojs-vr/-/videojs-vr-1.8.0.tgz
|
||||
${NPM}/videojs-vtt-thumbnails/-/videojs-vtt-thumbnails-0.0.13.tgz
|
||||
test? (
|
||||
${IV_ORG}/mocks/archive/${MOCKS_COMMIT}.tar.gz -> ${MOCKS_P}.tar.gz
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
||||
|
||||
LICENSE="AGPL-3 Apache-2.0 MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-libs/boehm-gc
|
||||
dev-libs/libevent:=
|
||||
dev-libs/libpcre:3
|
||||
dev-libs/libxml2:2
|
||||
dev-libs/libyaml
|
||||
dev-libs/openssl:=
|
||||
sys-libs/zlib:=
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-user/invidious
|
||||
gnome-base/librsvg"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-crystal/athena-negotiation
|
||||
dev-crystal/crystal-pg
|
||||
dev-crystal/crystal-sqlite3
|
||||
~dev-crystal/kemal-1.1.2
|
||||
dev-crystal/kilt
|
||||
dev-crystal/protodec
|
||||
test? (
|
||||
dev-crystal/spectator
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( {CHANGELOG,README}.md TRANSLATION )
|
||||
|
||||
CHECKREQS_MEMORY="2G"
|
||||
|
||||
src_unpack() {
|
||||
local src depname destname js css
|
||||
|
||||
for src in ${A}; do
|
||||
if [[ ${src} == "${P}.tar.gz" ]]; then
|
||||
unpack ${src}
|
||||
elif [[ ${src} == "${MOCKS_P}.tar.gz" ]]; then
|
||||
unpack "${src}"
|
||||
mkdir -p "${S}"/mocks || die
|
||||
rmdir "${S}"/mocks || die
|
||||
mv mocks-${MOCKS_COMMIT} "${S}"/mocks || die
|
||||
else
|
||||
depname="${src%-*}"
|
||||
|
||||
case ${depname} in
|
||||
video.js)
|
||||
js="video.js" ;;
|
||||
*)
|
||||
js="${depname}.js" ;;
|
||||
esac
|
||||
|
||||
case ${depname} in
|
||||
video.js)
|
||||
css="video-js.css" ;;
|
||||
videojs-markers)
|
||||
css="videojs.markers.css" ;;
|
||||
*)
|
||||
css="${depname}.css" ;;
|
||||
esac
|
||||
|
||||
# Create the destination directory
|
||||
destname="${S}/assets/videojs/${depname}"
|
||||
mkdir -p "${destname}" || die
|
||||
|
||||
# Create a temporary directory
|
||||
mkdir -p "${WORKDIR}"/${depname} || die
|
||||
cd "${WORKDIR}"/${depname} || die
|
||||
|
||||
# Copy assets
|
||||
unpack ${src}
|
||||
cd package/dist || die
|
||||
mv ${js} ${destname} || die
|
||||
if [[ -f ${css} ]]; then
|
||||
mv ${css} ${destname} || die
|
||||
fi
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
local datadir="${EPREFIX}/usr/share/invidious"
|
||||
sed -i src/invidious.cr \
|
||||
-e 's/\(CURRENT_BRANCH \) = .*/\1 = "master"/' \
|
||||
-e "s/\(CURRENT_COMMIT \) = .*/\1 = \"${COMMIT:0:7}\"/" \
|
||||
-e "s/\(CURRENT_VERSION\) = .*/\1 = \"${PV}\"/" \
|
||||
-e "s/\(ASSET_COMMIT\) = .*/\1 = \"${COMMIT:0:7}\"/" || die
|
||||
|
||||
# fix paths
|
||||
sed -i src/invidious.cr \
|
||||
-e "s|\(public_folder\) \"assets\"|\1 \"${datadir}/assets\"|" || die
|
||||
sed -i src/invidious/helpers/i18n.cr \
|
||||
-e "s|File.read(\"locales/|File.read(\"${datadir}/locales/|" || die
|
||||
sed -i src/invidious/database/base.cr \
|
||||
-e "s|config/sql|${datadir}/\0|g" || die
|
||||
|
||||
rm shard.lock || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycrystalargs=(
|
||||
-Dskip_videojs_download
|
||||
-Ddisable_quic
|
||||
)
|
||||
shards_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
ecrystal build src/invidious.cr --verbose --threads=$(makeopts_jobs)
|
||||
|
||||
if use doc; then
|
||||
ecrystal docs
|
||||
HTML_DOCS=( docs/. )
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin invidious
|
||||
einstalldocs
|
||||
|
||||
insinto /usr/share/invidious
|
||||
doins -r assets config locales
|
||||
|
||||
insinto /etc/invidious
|
||||
newins config/config.example.yml config.yml
|
||||
|
||||
systemd_dounit "${FILESDIR}"/invidious.service
|
||||
newinitd "${FILESDIR}"/invidious.initd ${PN}
|
||||
newconfd "${FILESDIR}"/invidious.confd ${PN}
|
||||
}
|
||||
8
www-apps/invidious/metadata.xml
Normal file
8
www-apps/invidious/metadata.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>cyber+gentoo@sysrq.in</email>
|
||||
<name>Anna</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user