EAPI=8 EGIT_REPO_URI="https://gitlab.com/kelseythedreamer/omorifortune.git" EGIT_COMMIT="v143.143143" inherit git-r3 DESCRIPTION="omori fortune generator but in 11 languages for no reason" HOMEPAGE="https://gitlab.com/kelseythedreamer/omorifortune" LICENSE="BSD-2" SLOT="143" KEYWORDS="~amd64" IUSE="+lua rust c cpp csharp python zig javascript brainfuck asm go webkit" DEPEND="" RDEPEND=" lua? ( >=dev-lang/lua-5.4 ) rust? ( dev-lang/rust ) c? ( llvm-core/clang ) cpp? ( llvm-core/clang ) csharp? ( dev-lang/mono ) python? ( >=dev-lang/python-3.10 ) zig? ( dev-lang/zig ) javascript? ( net-libs/nodejs ) go? ( dev-lang/go ) games-misc/cowsay webkit? ( net-libs/webkit-gtk:4.1 x11-libs/gtk+:3 ) " BDEPEND=" c? ( llvm-core/clang ) cpp? ( llvm-core/clang ) rust? ( dev-lang/rust ) go? ( dev-lang/go ) zig? ( dev-lang/zig ) asm? ( dev-lang/nasm ) " QA_FLAGS_IGNORED="usr/bin/omorifortune-rs" src_prepare() { default } src_compile() { if use csharp; then mcs -out:csharp/omorifortune-cs csharp/Program.cs || die fi if use python; then chmod +x python/omorifortune.py || die fi if use zig; then cd zig && zig build-exe main.zig -O ReleaseSmall -femit-bin=omorifortune-zig || die cd .. fi if use javascript; then chmod +x javascript/omorifortune.js || die fi use lua && { chmod +x lua/omorifortune.lua || die; } use c && { cd c && emake && cd .. || die; } use cpp && { cd cpp && emake && cd .. || die; } use rust && { cd rust && cargo build --release && cp target/release/omorifortune-rs . && cd .. || die; } use go && { cd go && go build -o omorifortune-go . && cd .. || die; } use asm && { cd asm && emake && cd .. || die; } use brainfuck && { cd brainfuck && emake && cd .. || die; } use webkit && { cd webkit && emake && cd .. || die; } } src_install() { insinto /usr/share/omorifortune doins -r messages/ doins -r web/ use rust && { dobin rust/omorifortune-rs || die; } use c && { dobin c/omorifortune-c || die; } use cpp && { dobin cpp/omorifortune-cpp || die; } use zig && { dobin zig/omorifortune-zig || die; } use asm && { dobin asm/omorifortune-asm || die; } use go && { dobin go/omorifortune-go || die; } use brainfuck && { dobin brainfuck/omorifortune-bf || die; } use brainfuck && { dobin brainfuck/bf_interp || die; } use brainfuck && { insinto /usr/share/omorifortune; doins brainfuck/omorifortune.bf; } use webkit && { dobin webkit/omorifortune-webkit || die; } insinto /usr/share/cowsay/cows doins "${FILESDIR}/omori.cow" if use lua; then insinto /usr/share/omorifortune newins lua/omorifortune.lua omorifortune.lua doins lua/messages-calm.lua lua/messages-dark.lua cat > "${T}/omorifortune-lua" <<- WRAPPER || die #!/bin/sh exec lua /usr/share/omorifortune/omorifortune.lua "\$@" WRAPPER dobin "${T}/omorifortune-lua" || die fi if use python; then insinto /usr/share/omorifortune newins python/omorifortune.py omorifortune.py cat > "${T}/omorifortune-py" <<- WRAPPER || die #!/bin/sh exec python3 /usr/share/omorifortune/omorifortune.py "\$@" WRAPPER dobin "${T}/omorifortune-py" || die fi if use javascript; then insinto /usr/share/omorifortune newins javascript/omorifortune.js omorifortune.js cat > "${T}/omorifortune-js" <<- WRAPPER || die #!/bin/sh exec node /usr/share/omorifortune/omorifortune.js "\$@" WRAPPER dobin "${T}/omorifortune-js" || die fi if use csharp; then insinto /usr/share/omorifortune newins csharp/omorifortune-cs omorifortune-cs cat > "${T}/omorifortune-cs" <<- WRAPPER || die #!/bin/sh exec mono /usr/share/omorifortune/omorifortune-cs "\$@" WRAPPER dobin "${T}/omorifortune-cs" || die fi } pkg_postinst() { elog "" elog "messages have two categories:" elog " calm - atmospheric, less intense" elog " dark - psychological horror. you were warned." elog "" elog " why did you do this" elog "" }