mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-02-16 23:01:07 +00:00
99 lines
3.3 KiB
Bash
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
|
|
}
|