libation-12.5.3guru
download
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DOTNET_PKG_COMPAT=9.0
NUGETS="
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
"
inherit desktop xdg dotnet-pkg
DESCRIPTION="Libation: Free, open-source Audible library manager"
HOMEPAGE="https://github.com/rmcrackan/Libation"
SRC_URI="https://github.com/rmcrackan/Libation/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz ${NUGET_URIS}"
S="${WORKDIR}/Libation-${PV}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
# Required by dotnet-pkg.eclass
DOTNET_PKG_PROJECTS=( "Source/LibationAvalonia/LibationAvalonia.csproj" )
DEPEND="
>=dev-dotnet/dotnet-sdk-9.0
x11-libs/libX11
dev-dotnet/libgdiplus
media-libs/fontconfig
media-libs/libglvnd
media-gfx/icoutils
"
RDEPEND="${DEPEND}
>=dev-dotnet/csharp-gentoodotnetinfo-0
"
pkg_setup() {
dotnet-pkg_pkg_setup
}
src_unpack() {
dotnet-pkg_src_unpack
}
src_prepare() {
dotnet-pkg_src_prepare
sed -i -e 's#<OutputType>WinExe</OutputType>#<OutputType>Exe</OutputType>#' \
-e 's#net9.0-windows7.0#net9.0#' \
-e 's#win-x64#linux-x64#' \
"${S}/Source/LibationAvalonia/LibationAvalonia.csproj" || die "Failed to patch csproj"
}
src_configure() {
dotnet-pkg_src_configure
}
src_compile() {
dotnet-pkg_src_compile
}
src_install() {
# Install the built binaries using dotnet-pkg.eclass
dotnet-pkg_src_install
# Create a launcher script
dosym -r /usr/bin/Libation /usr/bin/libation
# Install desktop entry
echo '[Desktop Entry]' > "${T}/libation.desktop"
echo 'Name=Libation' >> "${T}/libation.desktop"
echo 'Exec=/usr/bin/libation' >> "${T}/libation.desktop"
echo 'Type=Application' >> "${T}/libation.desktop"
echo 'Terminal=false' >> "${T}/libation.desktop"
echo 'Categories=Utility;Audio;AudioVideo' >> "${T}/libation.desktop"
echo 'Icon=libation' >> "${T}/libation.desktop"
domenu "${T}/libation.desktop"
# Install icons if available
if [[ -d "${S}/Source/LibationAvalonia/Assets" ]]; then
# Extract all images from .ico to .png
mkdir -p "${T}/icons"
icotool -x -o "${T}/icons" "${S}/Source/LibationAvalonia/Assets/libation.ico" || die "Failed to extract icons"
newicon -s 16 "${T}/icons/libation_1_16x16x32.png" libation.png
newicon -s 24 "${T}/icons/libation_3_24x24x32.png" libation.png
newicon -s 32 "${T}/icons/libation_4_32x32x32.png" libation.png
newicon -s 48 "${T}/icons/libation_6_48x48x32.png" libation.png
newicon -s 64 "${T}/icons/libation_7_64x64x32.png" libation.png
newicon -s 96 "${T}/icons/libation_8_96x96x32.png" libation.png
newicon -s 128 "${T}/icons/libation_9_128x128x32.png" libation.png
newicon -s 256 "${T}/icons/libation_10_256x256x32.png" libation.png
fi
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}