# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DOTNET_PKG_COMPAT="10.0" NUGETS=" acornima@1.7.0 cyotek.drawing.bitmapfont@2.0.4 extendednumerics.bigdecimal@3003.2.0.161 fontstashsharp.base@1.2.9 fontstashsharp.platformagnostic@1.6.1 fontstashsharp.rasterizers.sharpastro@1.2.9 fontstashsharp.rasterizers.stbtruetypesharp@1.2.9 harmonyx@2.16.1 htmlagilitypack@1.13.1 jint@4.17.0 markdig@1.4.0 microsoft.dotnet.platformabstractions@3.1.6 microsoft.extensions.dependencyinjection.abstractions@10.0.12 microsoft.extensions.dependencyinjection.abstractions@7.0.0 microsoft.extensions.dependencymodel@10.0.12 microsoft.extensions.dependencymodel@9.0.9 microsoft.extensions.logging.abstractions@10.0.12 microsoft.netcore.platforms@1.1.0 microsoft.netcore.platforms@1.1.1 microsoft.netcore.targets@1.1.0 microsoft.netcore.targets@1.1.3 mono.cecil@0.11.6 monomod.backports@1.1.2 monomod.core@1.3.4 monomod.ilhelpers@1.1.0 monomod.runtimedetour@25.3.4 monomod.utils@25.0.12 nativefiledialogcore@1.0.3 naudio.core@3.0.1 naudio.core@3.1.0 naudio.flac.unknown.mod@1.0.5 ncalc.core@7.2.0 ncalc.domain@7.2.0 ncalc.parser@7.2.0 ncalcsync@7.2.0 nlayer@3.0.0 nlayer.naudiosupport@3.0.0 nuget.versioning@7.9.0 nvorbis@0.10.5 parlot@1.5.9 runtime.native.system@4.3.0 runtime.native.system.net.http@4.3.0 runtime.native.system.security.cryptography.openssl@4.3.2 sharpastro.codecs.abstractions@3.14.891 sharpastro.color.icc@3.14.891 sharpastro.fonts@1.11.851 sharpastro.fonts@1.13.931 sharpastro.png@3.14.891 sharpgltf.core@1.0.7 silk.net.core@2.23.0 silk.net.glfw@2.23.0 silk.net.input@2.23.0 silk.net.input.common@2.23.0 silk.net.input.glfw@2.23.0 silk.net.maths@2.23.0 silk.net.openal@2.23.0 silk.net.opengles@2.23.0 silk.net.windowing@2.23.0 silk.net.windowing.common@2.23.0 silk.net.windowing.glfw@2.23.0 sixlabors.imagesharp@3.1.12 stbimagesharp@2.30.16 stbtruetypesharp@1.26.13 system.net.http@4.3.4 system.numerics.tensors@9.0.0 system.private.uri@4.3.2 system.text.regularexpressions@4.3.1 textcopy@6.2.1 ultz.native.glfw@3.4.0 " NUGET_APIS=( "https://api.nuget.org/v3-flatcontainer" ) inherit dotnet-pkg desktop _FLAC_OLD="https://api.nuget.org/v3-flatcontainer/naudio.flac.unknown.mod/" _FLAC_NEW="https://nuget.fury.io/survivalcraftapi/v3/flat/naudio.flac.unknown.mod/" NUGET_URIS="${NUGET_URIS//"${_FLAC_OLD}"/${_FLAC_NEW}}" unset _FLAC_OLD _FLAC_NEW DESCRIPTION="SurvivalCraft 2 API (a fork that brings modding support)" HOMEPAGE="https://atomgit.com/SC-SPM/SurvivalcraftApi" SRC_URI=" https://raw.atomgit.com/SC-SPM/SurvivalcraftApi/archive/refs/heads/API_${PV}.tar.gz -> ${P}.tar.gz ${NUGET_URIS} " S="${WORKDIR}/SurvivalcraftApi-API_${PV}" DOTNET_PKG_BAD_PROJECTS=( "${S}/Engine.Android/Engine.Android.csproj" "${S}/Engine.Browser/Engine.Browser.csproj" "${S}/Engine.IOS/Engine.IOS.csproj" "${S}/Engine.Windows/Engine.Windows.csproj" "${S}/EntitySystem.Android/EntitySystem.Android.csproj" "${S}/EntitySystem.Browser/EntitySystem.Browser.csproj" "${S}/EntitySystem.IOS/EntitySystem.IOS.csproj" "${S}/EntitySystem.Windows/EntitySystem.Windows.csproj" "${S}/Survivalcraft.Android/Survivalcraft.Android.csproj" "${S}/Survivalcraft.Browser/Survivalcraft.Browser.csproj" "${S}/Survivalcraft.IOS/Survivalcraft.IOS.csproj" "${S}/Survivalcraft.Windows/Survivalcraft.Windows.csproj" ) LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="amd64" RESTRICT="bindist mirror" RDEPEND+=" media-libs/libglvnd media-libs/openal x11-libs/gtk+:3 x11-misc/xsel " BDEPEND+=" app-arch/zip media-libs/libwebp " DOTNET_PKG_PROJECTS=( Survivalcraft.Linux/Survivalcraft.Linux.csproj ) QA_PREBUILT="usr/share/${P}/*" src_compile() { pushd Survivalcraft/Content >/dev/null || die zip -qr ../Content.zip * || die popd >/dev/null || die dotnet-pkg_src_compile } src_install() { dotnet-pkg-base_install insinto "/usr/share/${P}" doins -r Survivalcraft/Content cat << 'EOF' > "${T}"/${PN} #!/bin/sh USER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/survivalcraft-api" mkdir -p "${USER_DIR}/Bugs" "${USER_DIR}/Mods" "${USER_DIR}/doc" if [ ! -f "${USER_DIR}/Survivalcraft" ]; then cp -r /usr/share/survivalcraft-api-1.9.5.1/* "${USER_DIR}/" fi cd "${USER_DIR}" exec ./Survivalcraft "${@}" EOF dobin "${T}"/${PN} dwebp "${S}/Survivalcraft/Content/icon.webp" -o "${T}/${PN}.png" || die "Failed to convert WEBP to PNG!" newicon "${T}/${PN}.png" "${PN}.png" make_desktop_entry "${PN}" "SurvivalCraft2 API" "${PN}" "Game;AdventureGame;" }