You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-office/joplin-desktop/joplin-desktop-2.13.15.ebuild

104 lines
2.3 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# NOTICE: This is a Electron app (oh my) and the upstream only provides AppImages.
EAPI=8
APPIMAGE="Joplin-${PV}.AppImage"
inherit desktop xdg
DESCRIPTION="Secure note taking and to-do app with synchronization capabilities"
HOMEPAGE="https://joplinapp.org/
https://github.com/laurent22/joplin/"
SRC_URI="https://github.com/laurent22/joplin/releases/download/v${PV}/${APPIMAGE}"
LICENSE="AGPL-3+"
SLOT="0"
KEYWORDS="-* amd64"
RESTRICT="bindist"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libcanberra[gtk3]
media-libs/libglvnd
media-libs/mesa
net-misc/curl
net-print/cups
sys-apps/dbus
sys-libs/zlib
sys-process/lsof
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libnotify
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/pango
x11-misc/xdg-utils
"
QA_PREBUILT="*"
src_unpack() {
mkdir -p "${S}" || die
cp "${DISTDIR}/${APPIMAGE}" "${S}" || die
cd "${S}" || die # "appimage-extract" unpacks to current directory.
chmod +x "${S}/${APPIMAGE}" || die
"${S}/${APPIMAGE}" --appimage-extract || die
}
src_prepare() {
# Fix permissions.
find "${S}" -type d -exec chmod a+rx {} + || die
find "${S}" -type f -exec chmod a+r {} + || die
default
}
src_install() {
cd "${S}/squashfs-root" || die
insinto /usr/share
doins -r ./usr/share/icons
local apphome="/opt/${PN}"
local toremove=(
.DirIcon
@joplinapp-desktop.desktop
@joplinapp-desktop.png
AppRun
LICENSE.electron.txt
LICENSES.chromium.html
resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm
resources/app.asar.unpacked/node_modules/7zip-bin-linux/arm64
resources/app.asar.unpacked/node_modules/node-notifier
usr
)
rm -f -r "${toremove[@]}" || die
mkdir -p "${ED}/${apphome}" || die
cp -r . "${ED}/${apphome}" || die
dosym -r "${apphome}/@joplinapp-desktop" "/usr/bin/${PN}"
make_desktop_entry "${PN}" Joplin @joplinapp-desktop "Office;" \
"StartupWMClass=Joplin\nMimeType=x-scheme-handler/joplin;"
}