# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DOTNET_PKG_COMPAT="9.0"
NUGET_APIS=(
	"https://api.nuget.org/v3-flatcontainer"
)
NUGETS="
anglesharp@1.5.0
anglesharp@1.9.0
anglesharp.xml@1.2.0
autofac@8.0.0
autofac.extensions.dependencyinjection@9.0.0
bencodenet@4.0.0
commandlineparser@2.9.1
coverlet.msbuild@6.0.4
dotnet4.socksproxy@1.4.0.1
flaresolverrsharp@4.0.0
fluentassertions@7.2.2
microsoft.applicationinsights@2.23.0
microsoft.aspnetcore@2.3.13
microsoft.aspnetcore.antiforgery@2.3.11
microsoft.aspnetcore.authentication@2.3.12
microsoft.aspnetcore.authentication@2.3.13
microsoft.aspnetcore.authentication.abstractions@2.3.11
microsoft.aspnetcore.authentication.abstractions@2.3.9
microsoft.aspnetcore.authentication.cookies@2.3.13
microsoft.aspnetcore.authentication.core@2.1.1
microsoft.aspnetcore.authentication.core@2.3.10
microsoft.aspnetcore.authentication.core@2.3.12
microsoft.aspnetcore.authorization@2.3.9
microsoft.aspnetcore.authorization.policy@2.3.10
microsoft.aspnetcore.connections.abstractions@2.3.10
microsoft.aspnetcore.cors@2.3.11
microsoft.aspnetcore.cryptography.internal@2.3.11
microsoft.aspnetcore.cryptography.internal@9.0.22
microsoft.aspnetcore.dataprotection@2.3.10
microsoft.aspnetcore.dataprotection@2.3.12
microsoft.aspnetcore.dataprotection@9.0.22
microsoft.aspnetcore.dataprotection.abstractions@2.3.11
microsoft.aspnetcore.dataprotection.abstractions@9.0.22
microsoft.aspnetcore.diagnostics@2.3.12
microsoft.aspnetcore.diagnostics.abstractions@2.3.11
microsoft.aspnetcore.hostfiltering@2.3.12
microsoft.aspnetcore.hosting@2.3.11
microsoft.aspnetcore.hosting@2.3.12
microsoft.aspnetcore.hosting.abstractions@2.1.1
microsoft.aspnetcore.hosting.abstractions@2.3.10
microsoft.aspnetcore.hosting.abstractions@2.3.11
microsoft.aspnetcore.hosting.abstractions@2.3.12
microsoft.aspnetcore.hosting.server.abstractions@2.3.11
microsoft.aspnetcore.html.abstractions@2.3.0
microsoft.aspnetcore.html.abstractions@2.3.11
microsoft.aspnetcore.http@2.1.1
microsoft.aspnetcore.http@2.1.22
microsoft.aspnetcore.http@2.3.10
microsoft.aspnetcore.http@2.3.11
microsoft.aspnetcore.http@2.3.12
microsoft.aspnetcore.http@2.3.13
microsoft.aspnetcore.http.abstractions@2.1.1
microsoft.aspnetcore.http.abstractions@2.3.10
microsoft.aspnetcore.http.abstractions@2.3.11
microsoft.aspnetcore.http.abstractions@2.3.12
microsoft.aspnetcore.http.extensions@2.1.1
microsoft.aspnetcore.http.extensions@2.3.10
microsoft.aspnetcore.http.extensions@2.3.11
microsoft.aspnetcore.http.extensions@2.3.12
microsoft.aspnetcore.http.features@2.3.10
microsoft.aspnetcore.http.features@2.3.11
microsoft.aspnetcore.http.features@2.3.9
microsoft.aspnetcore.httpoverrides@2.1.1
microsoft.aspnetcore.jsonpatch@2.3.11
microsoft.aspnetcore.jsonpatch@9.0.22
microsoft.aspnetcore.localization@2.3.11
microsoft.aspnetcore.mvc@2.3.13
microsoft.aspnetcore.mvc.abstractions@2.3.10
microsoft.aspnetcore.mvc.apiexplorer@2.3.12
microsoft.aspnetcore.mvc.core@2.3.11
microsoft.aspnetcore.mvc.cors@2.3.12
microsoft.aspnetcore.mvc.dataannotations@2.3.11
microsoft.aspnetcore.mvc.dataannotations@2.3.12
microsoft.aspnetcore.mvc.formatters.json@2.3.11
microsoft.aspnetcore.mvc.formatters.json@2.3.12
microsoft.aspnetcore.mvc.localization@2.3.12
microsoft.aspnetcore.mvc.newtonsoftjson@9.0.22
microsoft.aspnetcore.mvc.razor@2.3.0
microsoft.aspnetcore.mvc.razor.extensions@2.3.0
microsoft.aspnetcore.mvc.razorpages@2.3.0
microsoft.aspnetcore.mvc.taghelpers@2.3.12
microsoft.aspnetcore.mvc.viewfeatures@2.3.0
microsoft.aspnetcore.mvc.viewfeatures@2.3.12
microsoft.aspnetcore.razor@2.3.0
microsoft.aspnetcore.razor.design@2.3.0
microsoft.aspnetcore.razor.language@2.3.0
microsoft.aspnetcore.razor.runtime@2.3.0
microsoft.aspnetcore.responsecaching.abstractions@2.3.10
microsoft.aspnetcore.responsecompression@2.3.13
microsoft.aspnetcore.rewrite@2.3.13
microsoft.aspnetcore.routing@2.3.10
microsoft.aspnetcore.routing@2.3.12
microsoft.aspnetcore.routing.abstractions@2.1.1
microsoft.aspnetcore.routing.abstractions@2.3.11
microsoft.aspnetcore.routing.abstractions@2.3.9
microsoft.aspnetcore.server.iisintegration@2.1.7
microsoft.aspnetcore.server.kestrel@2.3.12
microsoft.aspnetcore.server.kestrel.core@2.3.11
microsoft.aspnetcore.server.kestrel.https@2.3.11
microsoft.aspnetcore.server.kestrel.https@2.3.12
microsoft.aspnetcore.server.kestrel.transport.abstractions@2.3.10
microsoft.aspnetcore.server.kestrel.transport.abstractions@2.3.11
microsoft.aspnetcore.server.kestrel.transport.sockets@2.3.12
microsoft.aspnetcore.staticfiles@2.3.13
microsoft.aspnetcore.webutilities@2.3.10
microsoft.aspnetcore.webutilities@2.3.11
microsoft.aspnetcore.webutilities@2.3.12
microsoft.aspnetcore.webutilities@2.3.13
microsoft.bcl.asyncinterfaces@6.0.0
microsoft.bcl.asyncinterfaces@7.0.0
microsoft.bcl.asyncinterfaces@8.0.0
microsoft.bcl.asyncinterfaces@9.0.22
microsoft.bcl.cryptography@9.0.22
microsoft.bcl.timeprovider@8.0.0
microsoft.codeanalysis.analyzers@1.1.0
microsoft.codeanalysis.common@2.8.2
microsoft.codeanalysis.csharp@2.8.2
microsoft.codeanalysis.razor@2.3.0
microsoft.codecoverage@17.14.1
microsoft.csharp@4.5.0
microsoft.csharp@4.7.0
microsoft.diasymreader.native@1.7.0
microsoft.dotnet.platformabstractions@2.1.0
microsoft.extensions.caching.abstractions@8.0.0
microsoft.extensions.caching.memory@8.0.1
microsoft.extensions.configuration@8.0.0
microsoft.extensions.configuration@9.0.22
microsoft.extensions.configuration.abstractions@2.1.0
microsoft.extensions.configuration.abstractions@8.0.0
microsoft.extensions.configuration.abstractions@9.0.22
microsoft.extensions.configuration.binder@8.0.0
microsoft.extensions.configuration.binder@8.0.2
microsoft.extensions.configuration.commandline@8.0.0
microsoft.extensions.configuration.environmentvariables@8.0.0
microsoft.extensions.configuration.fileextensions@8.0.1
microsoft.extensions.configuration.json@8.0.1
microsoft.extensions.configuration.usersecrets@8.0.1
microsoft.extensions.dependencyinjection@8.0.0
microsoft.extensions.dependencyinjection@8.0.1
microsoft.extensions.dependencyinjection.abstractions@8.0.0
microsoft.extensions.dependencyinjection.abstractions@8.0.2
microsoft.extensions.dependencyinjection.abstractions@9.0.22
microsoft.extensions.dependencymodel@2.1.0
microsoft.extensions.diagnostics.abstractions@8.0.1
microsoft.extensions.diagnostics.abstractions@9.0.22
microsoft.extensions.fileproviders.abstractions@8.0.0
microsoft.extensions.fileproviders.abstractions@9.0.22
microsoft.extensions.fileproviders.composite@8.0.0
microsoft.extensions.fileproviders.physical@8.0.0
microsoft.extensions.filesystemglobbing@8.0.0
microsoft.extensions.hosting.abstractions@8.0.1
microsoft.extensions.hosting.abstractions@9.0.22
microsoft.extensions.localization@8.0.11
microsoft.extensions.localization.abstractions@8.0.11
microsoft.extensions.logging@2.1.0
microsoft.extensions.logging@8.0.0
microsoft.extensions.logging@8.0.1
microsoft.extensions.logging.abstractions@2.1.1
microsoft.extensions.logging.abstractions@8.0.0
microsoft.extensions.logging.abstractions@8.0.2
microsoft.extensions.logging.abstractions@9.0.22
microsoft.extensions.logging.configuration@8.0.1
microsoft.extensions.logging.console@8.0.1
microsoft.extensions.logging.debug@8.0.1
microsoft.extensions.objectpool@8.0.11
microsoft.extensions.options@2.1.1
microsoft.extensions.options@8.0.0
microsoft.extensions.options@8.0.2
microsoft.extensions.options@9.0.22
microsoft.extensions.options.configurationextensions@8.0.0
microsoft.extensions.primitives@8.0.0
microsoft.extensions.primitives@9.0.22
microsoft.extensions.webencoders@8.0.11
microsoft.netcore.platforms@1.1.0
microsoft.netcore.platforms@5.0.0
microsoft.netframework.referenceassemblies@1.0.3
microsoft.netframework.referenceassemblies.net471@1.0.3
microsoft.net.http.headers@2.3.10
microsoft.net.http.headers@2.3.11
microsoft.net.http.headers@2.3.12
microsoft.net.http.headers@2.3.9
microsoft.net.test.sdk@17.14.1
microsoft.testing.extensions.telemetry@1.8.4
microsoft.testing.extensions.trxreport.abstractions@1.8.4
microsoft.testing.extensions.vstestbridge@1.8.4
microsoft.testing.platform@1.8.4
microsoft.testing.platform.msbuild@1.8.4
microsoft.testplatform.adapterutilities@17.13.0
microsoft.testplatform.objectmodel@17.13.0
microsoft.testplatform.objectmodel@17.14.1
microsoft.testplatform.testhost@17.14.1
microsoft.win32.registry@4.5.0
microsoft.win32.registry@5.0.0
microsoft.win32.systemevents@6.0.0
microsoft.windowsdesktop.app.ref@9.0.11
mimemapping@1.0.1.50
mono.posix@7.1.0-final.1.21458.1
mono.unix@7.1.0-final.1.21458.1
mstest.analyzers@3.10.4
mstest.testadapter@3.10.4
mstest.testframework@3.10.4
netstandard.library@2.0.0
netstandard.library@2.0.3
newtonsoft.json@11.0.2
newtonsoft.json@12.0.1
newtonsoft.json@13.0.1
newtonsoft.json@13.0.3
newtonsoft.json@13.0.4
newtonsoft.json@9.0.1
newtonsoft.json.bson@1.0.2
nlog@5.5.0
nlog@5.5.1
nlog.extensions.logging@5.5.0
nlog.web.aspnetcore@5.5.0
nunit@3.14.0
nunit3testadapter@4.5.0
nunit.consolerunner@3.17.0
polly@8.9.0
polly.core@8.9.0
selenium.chrome.webdriver@85.0.0
selenium.webdriver@4.35.0
sharpziplib@1.4.2
system.appcontext@4.3.0
system.buffers@4.4.0
system.buffers@4.5.0
system.buffers@4.5.1
system.buffers@4.6.0
system.collections@4.3.0
system.collections.concurrent@4.3.0
system.collections.immutable@1.3.1
system.collections.immutable@1.5.0
system.collections.immutable@8.0.0
system.componentmodel.annotations@4.5.0
system.componentmodel.annotations@5.0.0
system.configuration.configurationmanager@6.0.0
system.console@4.3.0
system.diagnostics.debug@4.3.0
system.diagnostics.diagnosticsource@5.0.0
system.diagnostics.diagnosticsource@7.0.2
system.diagnostics.diagnosticsource@8.0.1
system.diagnostics.diagnosticsource@9.0.22
system.diagnostics.eventlog@9.0.22
system.diagnostics.fileversioninfo@4.3.0
system.diagnostics.stacktrace@4.3.0
system.diagnostics.tools@4.3.0
system.drawing.common@6.0.0
system.dynamic.runtime@4.3.0
system.formats.asn1@9.0.22
system.globalization@4.3.0
system.io@4.3.0
system.io.compression@4.3.0
system.io.filesystem@4.3.0
system.io.filesystem.accesscontrol@5.0.0
system.io.filesystem.primitives@4.3.0
system.io.pipelines@4.5.3
system.io.pipelines@4.6.0
system.io.pipelines@5.0.1
system.io.pipelines@8.0.0
system.io.pipelines@9.0.22
system.linq@4.3.0
system.linq.expressions@4.3.0
system.memory@4.5.1
system.memory@4.5.2
system.memory@4.5.3
system.memory@4.5.4
system.memory@4.5.5
system.memory@4.6.0
system.numerics.vectors@4.4.0
system.numerics.vectors@4.5.0
system.numerics.vectors@4.6.0
system.reflection@4.3.0
system.reflection.metadata@1.4.2
system.reflection.metadata@1.6.0
system.reflection.metadata@8.0.0
system.reflection.metadata@8.0.1
system.resources.resourcemanager@4.3.0
system.runtime@4.3.0
system.runtime.compilerservices.unsafe@4.5.2
system.runtime.compilerservices.unsafe@4.5.3
system.runtime.compilerservices.unsafe@5.0.0
system.runtime.compilerservices.unsafe@6.0.0
system.runtime.compilerservices.unsafe@6.1.0
system.runtime.extensions@4.3.0
system.runtime.interopservices@4.3.0
system.runtime.interopservices.runtimeinformation@4.0.0
system.runtime.interopservices.runtimeinformation@4.3.0
system.runtime.numerics@4.3.0
system.security.accesscontrol@4.5.0
system.security.accesscontrol@5.0.0
system.security.accesscontrol@6.0.0
system.security.cryptography.algorithms@4.3.0
system.security.cryptography.algorithms@4.3.1
system.security.cryptography.cng@5.0.0
system.security.cryptography.encoding@4.3.0
system.security.cryptography.pkcs@9.0.22
system.security.cryptography.primitives@4.3.0
system.security.cryptography.protecteddata@6.0.0
system.security.cryptography.protecteddata@9.0.22
system.security.cryptography.x509certificates@4.3.0
system.security.cryptography.xml@8.0.4
system.security.cryptography.xml@9.0.22
system.security.permissions@6.0.0
system.security.principal.windows@4.5.0
system.security.principal.windows@4.5.1
system.security.principal.windows@5.0.0
system.serviceprocess.servicecontroller@9.0.22
system.text.encoding@4.3.0
system.text.encoding.codepages@4.3.0
system.text.encoding.codepages@8.0.0
system.text.encoding.codepages@9.0.22
system.text.encoding.extensions@4.3.0
system.text.encodings.web@4.5.1
system.text.encodings.web@8.0.0
system.text.encodings.web@9.0.22
system.text.json@8.0.5
system.text.json@9.0.22
system.threading@4.3.0
system.threading.tasks@4.3.0
system.threading.tasks.extensions@4.5.1
system.threading.tasks.extensions@4.5.2
system.threading.tasks.extensions@4.5.4
system.threading.tasks.extensions@4.6.0
system.threading.tasks.parallel@4.3.0
system.threading.thread@4.3.0
system.valuetuple@4.3.0
system.valuetuple@4.5.0
system.windows.extensions@6.0.0
system.xml.readerwriter@4.3.0
system.xml.xdocument@4.3.0
system.xml.xmldocument@4.3.0
system.xml.xpath@4.3.0
system.xml.xpath.xdocument@4.3.0
yamldotnet@18.1.0
"

inherit dotnet-pkg git-r3 systemd

EGIT_REPO_URI="https://github.com/Jackett/Jackett.git"
DESCRIPTION="API support for your favorite torrent trackers"
HOMEPAGE="https://github.com/Jackett/Jackett"
SRC_URI="${NUGET_URIS}"

S="${WORKDIR}/${P}"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
RESTRICT="test"

DOTNET_PKG_PROJECTS=( "src/Jackett.sln" )
DOTNET_PKG_BAD_PROJECTS=(
	"src/Jackett.Service/Jackett.Service.csproj"
	"src/Jackett.Tray/Jackett.Tray.csproj"
	"src/Jackett.Updater/Jackett.Updater.csproj"
	"src/Jackett.Test/Jackett.Test.csproj"
	"src/Jackett.IntegrationTests/Jackett.IntegrationTests.csproj"
)

RDEPEND="
	acct-group/jackett
	acct-user/jackett
"

pkg_setup() {
	dotnet-pkg_pkg_setup

	export DOTNET_PKG_RESTORE_EXTRA_ARGS=(
		-p:TargetFrameworks=net9.0
	)
	export DOTNET_PKG_BUILD_EXTRA_ARGS=(
		-p:TargetFrameworks=net9.0
	)
}

src_prepare() {
	dotnet-pkg_src_prepare
	dotnet-pkg_remove-bad "${DOTNET_PKG_PROJECTS[0]}"
}

src_install() {
	dotnet-pkg_src_install

	systemd_newunit "${FILESDIR}/jackett.service" "jackett.service"
	newinitd "${FILESDIR}/jackett.init" "jackett"
}