chuso-overlay/www-apps/code-bin/code-bin-23.05.9.ebuild

159 lines
7.0 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WS_PV="${PV}.2-1"
BRAND_PV="23.05-29"
case "${ARCH}" in
"amd64")
MY_PV="${PV}-2_"
;;
"arm64")
MY_PV="${PV}-2_linux-5.15-"
;;
esac
inherit fcaps font systemd unpacker
DESCRIPTION="Collabora Online Development Edition"
HOMEPAGE="https://www.collaboraoffice.com/code/"
LANGUAGES="ar bg ca cs da de el en-GB:en-gb en:en-us en-US:en-us eo es eu fi fr gl he hr hu id is it ja ko lo nb nl oc pl pt pt-BR:pt-br pt-PT:pt ru sk sl sq sv tr uk vi zh-CN:zh-cn zh-TW:zh-tw"
LANGUAGES_DICT="ar bg ca cs da de el en eo es fr gl he hr hu id is it ko lo nl no oc pl pt:pt-pt pt-BR:pt-br pt-PT:pt-pt ru sk sl sq sv tr uk vi"
SRC_URI="
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/coolwsd_${WS_PV}_${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-base_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-calc_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-core_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-draw_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-extension-pdf-import_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-graphicfilter_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-images_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-impress_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-libreofficekit-data_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-math_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-ooofonts_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-ooolinguistic_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-writer_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-xsltfilter_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice-ure_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice_${MY_PV}${ARCH}.deb
!bindist? ( https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/code-brand_${BRAND_PV}_all.deb )
debug? (
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/coolwsd-dbgsym_${WS_PV}_${ARCH}.ddeb -> coolwsd-dbgsym_${WS_PV}_${ARCH}.deb
)
python? (
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-librelogo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-python-script-provider_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-pyuno_${MY_PV}${ARCH}.deb
)
"
if [[ "${ARCH}" = "amd64" ]]; then
SRC_URI+="
debug? (
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-base-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-calc-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-core-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-extension-pdf-import-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-graphicfilter-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-impress-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-math-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-writer-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice-debuginfo_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice-debugsource_${MY_PV}${ARCH}.deb
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice-ure-debuginfo_${MY_PV}${ARCH}.deb
python? (
https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-pyuno-debuginfo_${MY_PV}${ARCH}.deb
)
)
"
fi
LICENSE="MPL-2.0 !bindist? ( Collabora )"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="bindist debug python systemd"
RESTRICT="strip"
for l in ${LANGUAGES}; do
SRC_URI+=" l10n_${l%:*}? ( https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraofficebasis-${l#*:}_${MY_PV}${ARCH}.deb )"
IUSE+=" l10n_${l%:*}"
done
for l in ${LANGUAGES_DICT}; do
SRC_URI+=" l10n_${l%:*}? ( https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb/collaboraoffice-dict-${l#*:}_${MY_PV}${ARCH}.deb )"
IUSE+=" l10n_${l%:*}"
done
RDEPEND="
acct-user/cool
app-arch/cpio
media-libs/fontconfig
sys-devel/gcc
sys-libs/glibc
sys-libs/libcap
sys-libs/pam
sys-libs/zlib
"
FILECAPS=(
cap_fowner,cap_chown,cap_mknod,cap_sys_chroot=ep usr/bin/coolforkit --
"cap_sys_admin=ep" usr/bin/coolmount
)
S="${WORKDIR}"
src_install() {
docinto examples
newdoc etc/apache2/conf-available/coolwsd.conf apache.conf
newdoc etc/nginx/snippets/coolwsd.conf nginx.conf
keepdir /opt/cool/child-roots /var/log/coolwsd
mv usr/share/doc/coolwsd "usr/share/doc/${P}" || die
doins -r opt usr
insinto /etc
doins -r etc/coolwsd
fowners cool:cool /etc/coolwsd/coolwsd.xml /opt/cool/child-roots /var/log/coolwsd
fperms 640 /etc/coolwsd/coolwsd.xml
fperms 750 /opt/cool/child-roots /var/log/coolwsd
chmod 755 "${ED}/usr/bin"/* || die
systemd_dounit lib/systemd/system/coolwsd.service
newinitd "${FILESDIR}/coolwsd.initd" coolwsd
if use debug; then
insinto /usr/lib
doins -r usr/lib/debug
fi
}
pkg_postinst() {
fcaps_pkg_postinst
einfo "On new installs, you must generate the proof keys:"
einfo " coolwsd-generate-proof-key"
einfo "And after every install of upgrade, you are advised to update the system template:"
einfo " coolwsd-systemplate-setup /opt/cool/systemplate /opt/collaboraoffice"
einfo "Alternatively, you can run the config function of this package:"
einfo " emerge --config =${CATEGORY}/${PN}-${PVR}"
}
pkg_config() {
coolwsd-systemplate-setup /opt/cool/systemplate /opt/collaboraoffice
if use systemd; then
TZ=$(timedatectl show -p Timezone | cut -d = -f 2)
else
TZ=$(ls -l /etc/localtime | sed 's-.*/zoneinfo/--')
fi
test -f /opt/cool/systemplate/etc/timezone || echo "$TZ" > /opt/cool/systemplate/etc/timezone
coolwsd-generate-proof-key
}