summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/joplin-desktop/joplin-desktop-3.0.12.ebuild')
-rw-r--r--app-office/joplin-desktop/joplin-desktop-3.0.12.ebuild103
1 files changed, 103 insertions, 0 deletions
diff --git a/app-office/joplin-desktop/joplin-desktop-3.0.12.ebuild b/app-office/joplin-desktop/joplin-desktop-3.0.12.ebuild
new file mode 100644
index 000000000000..a9c365263d83
--- /dev/null
+++ b/app-office/joplin-desktop/joplin-desktop-3.0.12.ebuild
@@ -0,0 +1,103 @@
+# 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;"
+}