159 lines
7.0 KiB
Bash
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
|
|
}
|