# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 #inherit distutils-r1 DESCRIPTION="Orca Slicer is a free 3D printing slicer created by SoftFever." HOMEPAGE="https://orca-slicer.com/" INSTALL_DIR="/opt/orcaslicer/" if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/SoftFever/OrcaSlicer" EGIT_BRANCH="main" #EGIT_CHECKOUT_DIR="${S}${INSTALL_DIR}" inherit git-r3 SRC_URI="" KEYWORDS="" MY_PV=${PV//_} MY_P=${PN}-${MY_PV} MY_PN="orcaslicer" S="${WORKDIR}" else MY_PV=${PV//_} MY_PN="OrcaSlicer" MY_P=${MY_PN}-${MY_PV} SRC_URI="https://github.com/SoftFever/OrcaSlicer/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" KEYWORDS="~amd64 ~arm ~arm64 ~x86" S="${WORKDIR}" fi LICENSE="GPL-3" SLOT="0" DEPEND=" app-containers/docker-cli app-containers/docker " RDEPEND="${DEPEND}" BDEPEND="" src_prepare() { default sed "s/FROM docker\.io\/ubuntu\:.*/FROM docker\.io\/ubuntu\:22\.04/g" -i "${S}/${MY_P}/Dockerfile" || die sed "s/RUN \[\[ \"\$UID\" \!\= \"0\" \]\] \\\\.*/\# RUN \[\[ \"\$UID\" \!\= \"0\" \]\] \\\\/g" -i "${S}/${MY_P}/Dockerfile" || die sed "s/\&\& groupadd -f -g \$GID \$USER \\\\.*/\#\&\& groupadd -f -g \$GID \$USER \\\\/g" -i "${S}/${MY_P}/Dockerfile" || die sed "s/\&\& useradd -u \$UID -g \$GID \$USER.*/\#\&\& useradd -u \$UID -g \$GID \$USER/g" -i "${S}/${MY_P}/Dockerfile" || die sed "s/orcaslicer/orcaslicergentoo/" -i "${S}/${MY_P}/DockerRun.sh" || die sed "s/\-ti/\-dit/" -i "${S}/${MY_P}/DockerRun.sh" || die cd "${S}/${MY_P}" die() { echo "$*" 1>&2 ; exit 1; } ./DockerBuild.sh || die " [ ERROR ] Could not build docker. Please check if portage user is in docker group. If not, please add, then re-run, smth like this: sudo usermod -aG docker portage" } src_install() { mkdir -p "${D}${INSTALL_DIR}" mkdir -p "${D}/usr/share/icons/hicolor/192x192/apps/" mkdir -p "${D}/usr/share/applications/" cp -R -f "${WORKDIR}/${MY_P}/." "${D}${INSTALL_DIR}" || die "Install failed!" cp -f "${FILESDIR}/orcaslicer_runner.sh" "${D}${INSTALL_DIR}" cp -f "${FILESDIR}/Dockerfile2" "${D}${INSTALL_DIR}" cp -f "${FILESDIR}/DockerBuild2.sh" "${D}${INSTALL_DIR}" cp -f "${FILESDIR}/OrcaSlicer.png" "${D}/usr/share/icons/hicolor/192x192/apps/" cp -f "${FILESDIR}/orcaslicer.desktop" "${D}/usr/share/applications/" echo "${PV}-${RANDOM}" > "${D}${INSTALL_DIR}package_version.txt" dosym "${INSTALL_DIR}orcaslicer_runner.sh" "usr/bin/orcaslicer" }