Files
termux-packages/packages/jackett/build.sh
termux-pacman-bot 99289c00df bump(main/jackett): 0.24.879
This commit has been automatically submitted by Github Actions.
2026-01-18 18:44:10 +00:00

99 lines
3.3 KiB
Bash

TERMUX_PKG_HOMEPAGE="https://github.com/jackett/jackett"
TERMUX_PKG_DESCRIPTION="API Support for your favorite torrent trackers"
TERMUX_PKG_LICENSE="GPL-2.0-or-later"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.24.879"
TERMUX_PKG_SRCURL="https://github.com/Jackett/Jackett/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=54e4c1b44644f3cf49cbeb1551b6a293d054ea35154c69fc2ef9ff284d2ccfbe
TERMUX_PKG_BUILD_DEPENDS="aspnetcore-targeting-pack-9.0, dotnet-targeting-pack-9.0"
TERMUX_PKG_DEPENDS="aspnetcore-runtime-9.0, dotnet-host, dotnet-runtime-9.0"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_SERVICE_SCRIPT=("jackett" "exec ${TERMUX_PREFIX}/bin/jackett --DataFolder ${TERMUX_ANDROID_HOME}/.config/jackett 2>&1")
TERMUX_PKG_EXCLUDED_ARCHES="arm"
TERMUX_PKG_RM_AFTER_INSTALL="
lib/jackett/README.md
lib/jackett/LICENSE
lib/jackett/jackett.pdb
lib/jackett/Jackett.Common.pdb
lib/jackett/DateTimeRoutines.pdb
"
# This auto update function throttles the update frequency
# of the package to set `$update_interval`, this is useful
# for packages that make very frequent tags like `jackett`
# or `llama-cpp` to not spam the commit history, CI and repos.
termux_pkg_auto_update() {
local origin_url last_autoupdate
# Throttle auto updates to once a week.
local update_interval="$((7 * 86400))"
# Get the git history
if origin_url="$(git config --get remote.origin.url)"; then
git fetch --quiet "${origin_url}" || {
echo "WARN: Unable to fetch '${origin_url}'"
echo "WARN: Skipping auto update for '$TERMUX_PKG_NAME'"
return
}
fi
# When was `jackett` last autoupdated? (Unix epoch timestamp)
last_autoupdate="$(
git log \
--author="Termux Github Actions <contact@termux.dev>" \
-n1 \
--pretty=format:%at \
-- "$TERMUX_PKG_BUILDER_DIR/build.sh"
)"
if (( last_autoupdate > EPOCHSECONDS - update_interval )); then
local t days hrs mins secs
(( t = EPOCHSECONDS - last_autoupdate, days = t/86400, t %= 86400, secs= t%60, t /= 60, mins = t%60, hrs = t/60 ))
printf 'INFO: Last updated %dd%dh%02dm%02ds ago.\n' "$days" "$hrs" "$mins" "$secs"
printf 'INFO: Which is less than the desired %sd minimum update interval.\n' "$(( update_interval / 86400 ))"
return
fi
local latest_tag
latest_tag="$(
termux_github_api_get_tag "${TERMUX_PKG_SRCURL}" "${TERMUX_PKG_UPDATE_TAG_TYPE}"
)"
if [[ -z "${latest_tag}" ]]; then
termux_error_exit "Unable to get tag from ${TERMUX_PKG_SRCURL}"
fi
termux_pkg_upgrade_version "${latest_tag}"
}
termux_step_pre_configure() {
TERMUX_DOTNET_VERSION=9.0
termux_setup_dotnet
}
termux_step_make() {
dotnet publish src/Jackett.Server \
--framework "net${TERMUX_DOTNET_VERSION}" \
--no-self-contained \
--runtime "$DOTNET_TARGET_NAME" \
--configuration Release \
--output build/ \
/p:AssemblyVersion="${TERMUX_PKG_VERSION}" \
/p:FileVersion="${TERMUX_PKG_VERSION}" \
/p:InformationalVersion="${TERMUX_PKG_VERSION}" \
/p:Version="${TERMUX_PKG_VERSION}"
dotnet build-server shutdown
}
termux_step_make_install() {
rm -fr "${TERMUX_PREFIX}/lib/jackett"
mkdir -p "${TERMUX_PREFIX}/lib"
cp -r build "${TERMUX_PREFIX}/lib/jackett"
cat > $TERMUX_PREFIX/bin/jackett <<-HERE
#!$TERMUX_PREFIX/bin/sh
exec dotnet $TERMUX_PREFIX/lib/jackett/jackett.dll --NoUpdates "\$@"
HERE
chmod u+x $TERMUX_PREFIX/bin/jackett
}