www-apps/invidious: add 2026.02.07.0

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
Anna (cybertailor) Vyalkova
2026-02-20 05:36:10 +05:00
parent c83e68cd1b
commit 259ea7dc30
2 changed files with 163 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST invidious-2025.09.13.0.tar.gz 3350901 BLAKE2B 2d11d31a52cb02b6266668bcee2d88687c4505b2879ec20485c5bdc09bfcd3904fd77e204c2b3af4c2a16720e1230b24baeaf29e54ca9d68b9170aeb8138aa45 SHA512 b27591283660c9f684f67c9e36036242a937c0d1377c1f69f39cc8e896ec82d40541bd4ab2d680a7ccbd08311f7b225190dc0f1742c2427b85098ce52d0d523a
DIST invidious-2026.02.07.0.tar.gz 3352877 BLAKE2B 86b103dc43c2f070919570b42904285c049ef2bfb1a994e768a85b26d7be7c323f76d89ca7f4c9b1d0d2d8ee3fe7b6826bfd86b9acdfaee5c2be5febac775a89 SHA512 a3a3c695b9bc887088a560db6b54494a7dee692d315e179240521f5ae9325a96f0da54eca7cff25cec4e37395f06dc3e27581b2d6b3cfe0be595cb6209abaf3f
DIST invidious-mocks-b55d58d.tar.gz 222861 BLAKE2B 3391b290be5e869610d8dfc31307fd046aa2fe726d6fe98323a5509da1ffcc838668ba3f6aaecce04cf1eee9c90f029a7b49b560b2c49a5905570117fc7f2cf0 SHA512 c19deb047baa570f16194ca26ca7e5eab3538b21db8e6139f404e6f3bcbe5f4f8aff9b45e7e5e9a3b525581da403e6d5bef10ac55a654e5b8f031565d472d625
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

View File

@@ -0,0 +1,162 @@
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit check-reqs shards systemd
MY_PV="2.$(ver_rs 1-2 '')"
MOCKS_COMMIT="b55d58dea94f7144ff0205857dfa70ec14eaa872"
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/refs/tags/v${MY_PV}.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}-${MY_PV}"
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/libpcre2:=
dev-libs/libxml2:2=
dev-libs/libyaml
dev-libs/openssl:=
virtual/zlib:=
"
RDEPEND="${COMMON_DEPEND}
acct-user/invidious
gnome-base/librsvg
"
DEPEND="${COMMON_DEPEND}
dev-crystal/athena-negotiation
dev-crystal/http_proxy
>=dev-crystal/kemal-1.6.0
>=dev-crystal/protodec-0.1.5
virtual/crystal-db[postgres,sqlite]
test? (
dev-crystal/spectator
)
"
DOCS=( {CHANGELOG,README}.md TRANSLATION )
CHECKREQS_MEMORY="2G"
CRYSTAL_DEFINES=( -Dskip_videojs_download )
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 = \"0bbbb5df\"/" \
-e "s/\(CURRENT_VERSION\) *= .*/\1 = \"$(ver_cut 1-3)\"/" \
-e "s/\(CURRENT_TAG\) *= .*/\1 = \"v${MY_PV}\"/" \
-e "s/\(ASSET_COMMIT\) *= .*/\1 = \"864893f4\"/" || 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_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}
}
pkg_postinst() {
elog "Follow the official instructions to set up Invidious Companion:"
elog "https://docs.invidious.io/installation/#set-up-invidious-companion"
}