# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit desktop xdg MY_PN="AppFlowy" DESCRIPTION="AppFlowy is an open-source alternative to Notion" HOMEPAGE="https://appflowy.com/" SRC_URI=" https://github.com/AppFlowy-IO/AppFlowy/releases/download/${PV}/AppFlowy-${PV}-linux-x86_64.tar.gz " S="${WORKDIR}/${MY_PN}" LICENSE="AGPL-3" SLOT="0" KEYWORDS="-* ~amd64" IUSE="llvm-libunwind" DEPEND=" app-accessibility/at-spi2-core:2 app-arch/bzip2 app-arch/lz4 app-crypt/mit-krb5 dev-libs/glib:2 dev-libs/wayland dev-libs/openssl:0/3 dev-libs/keybinder:3 media-video/mpv:0[libmpv] media-libs/gst-plugins-base media-libs/harfbuzz media-libs/libepoxy media-libs/libpulse media-libs/libva llvm-libunwind? ( llvm-runtimes/libunwind:= ) !llvm-libunwind? ( sys-libs/libunwind:= ) x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/libXinerama x11-libs/libnotify x11-libs/libxkbcommon x11-libs/libvdpau x11-libs/pango x11-misc/xdg-user-dirs[gtk] " RDEPEND="${DEPEND}" BDEPEND="dev-util/patchelf" QA_PRESTRIPPED=" /opt/${PN}/lib/libapp.so /opt/${PN}/lib/libflutter_linux_gtk.so " QA_PREBUILT="*" src_install() { # 0.14.2 links against libmpv ABI 1; ::gentoo only ships ABI 2, and all # seven mpv_* symbols this build uses are exported by libmpv.so.2. local f old new while IFS= read -r -d '' f; do [[ -L ${f} ]] && continue for old in libbz2.so.1.0 libmpv.so.1; do case ${old} in libbz2.so.1.0) new=libbz2.so.1 ;; libmpv.so.1) new=libmpv.so.2 ;; esac patchelf --print-needed "${f}" 2>/dev/null | grep -qxF "${old}" || continue patchelf --replace-needed "${old}" "${new}" "${f}" || die done done < <(find "${S}" -type f -print0) rm lib/libmpv.so* || die # the bundled ffmpeg device/SDL/pulse stack was reachable only through the # bundled libmpv removed above; libpulsecommon needs libsystemd.so.0, which # a non-systemd profile does not provide. rm lib/libavdevice.so* lib/libSDL2* lib/libpulse* || die insinto "/opt/${PN}" doins -r data/ lib/ AppFlowy dosym -r /usr/lib64/libmpv.so.2 "/opt/${PN}/lib/libmpv.so" dosym -r /usr/lib64/libmpv.so.2 "/opt/${PN}/lib/libmpv.so.1" dosym -r /usr/lib64/libmpv.so.2 "/opt/${PN}/lib/libmpv.so.2" fperms +x /opt/${PN}/AppFlowy domenu "${FILESDIR}/AppFlowy.desktop" doicon -s scalable data/flutter_assets/assets/images/flowy_logo.svg }