From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id E76991584AD for ; Tue, 22 Apr 2025 20:41:57 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id D1BD7335DC0 for ; Tue, 22 Apr 2025 20:41:57 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id C74B811029A; Tue, 22 Apr 2025 20:41:56 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id BEBD011029A for ; Tue, 22 Apr 2025 20:41:56 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 50546335DC0 for ; Tue, 22 Apr 2025 20:41:56 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B1C3C2511 for ; Tue, 22 Apr 2025 20:41:54 +0000 (UTC) From: "Joe Kappus" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Joe Kappus" Message-ID: <1745354503.4462203df88ce99785e2b17b7d26d4efdd47bdbc.joe@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: app-office/obsidian/ X-VCS-Repository: repo/proj/guru X-VCS-Files: app-office/obsidian/Manifest app-office/obsidian/obsidian-1.8.10.ebuild X-VCS-Directories: app-office/obsidian/ X-VCS-Committer: joe X-VCS-Committer-Name: Joe Kappus X-VCS-Revision: 4462203df88ce99785e2b17b7d26d4efdd47bdbc X-VCS-Branch: dev Date: Tue, 22 Apr 2025 20:41:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e05b8977-c000-464b-bbd0-7cd8121559a6 X-Archives-Hash: 6ff2efb0f1d7d81356e8eb020b0429b1 commit: 4462203df88ce99785e2b17b7d26d4efdd47bdbc Author: Joe Kappus wt gd> AuthorDate: Tue Apr 22 20:41:43 2025 +0000 Commit: Joe Kappus wt gd> CommitDate: Tue Apr 22 20:41:43 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4462203d app-office/obsidian: add 1.8.10 Signed-off-by: Joe Kappus wt.gd> app-office/obsidian/Manifest | 3 + app-office/obsidian/obsidian-1.8.10.ebuild | 180 +++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+) diff --git a/app-office/obsidian/Manifest b/app-office/obsidian/Manifest index 64f5835d0..6d139206f 100644 --- a/app-office/obsidian/Manifest +++ b/app-office/obsidian/Manifest @@ -1,3 +1,6 @@ +DIST obsidian-1.8.10-amd64.tar.gz 110592123 BLAKE2B 5af6d28c8ad4bf2ca49ec5788572c07e6ac61190f40d90f5b54b5840f5510f4327598dda128c10a3fec9f9cbd8926a0e7e6e4e40936dddba8bfd5aab61d8cb75 SHA512 49cb37955b66b9187a186e1cf3beb410b13f32041264a364155675cead1f3c4d9fbd6a0af69e5fb4e9990047b8b8b62796e32cb2a1d8bb5562bcb07b0cee0408 +DIST obsidian-1.8.10-arm64.tar.gz 114587146 BLAKE2B aa49c44ee26eaff5dae049f4efc7960dc505d567faf141ddce19a25d3c762b332bb45ade918fdfea87de3f308e6862340533ef2046f33a19e4af375b2f4f17da SHA512 5d2bc9d5eff8852193dadf21a65b6e2568a3ce31e7a4a4158bb38250cd7cda8ecde836a2ef4a2f006532685bcc98eb0bb474173c4327b34eb5e4baddc78598a3 +DIST obsidian-1.8.10.gh.deb 80536530 BLAKE2B 915cd78bd0d4f359f9e6739c3a691ef7fc12766ee86c50690444d4411fa143de819f8445ec4b48ef46bf5a91f0807f95dd76e6e71d045140111afd376ad05fa9 SHA512 dadf9bf9f44a2bee63224ba150c4d2370079507f676371f8babe9401c9257f0bea29b05219616df40b88c26f83bd65d64c19aa9f4f3d0c4561272c7e9ab19a5d DIST obsidian-1.8.9-amd64.tar.gz 110032080 BLAKE2B 133f616cf6efa890b621648f72be36008b60b81330426b77c4bd5b58e08c0ebc9f5eae945c70f43015b80408f768d99f28ff1f297aa21d15ce47dab189d9d1d7 SHA512 76e1ee573232740576a4876e91741fba9b23b663323ab518889348c76be0205401985ea639fb814ffc7fd3f354e6574a13f63408db83ade1fa6b559cbb91279a DIST obsidian-1.8.9-arm64.tar.gz 114564362 BLAKE2B 8ff74836912ad5806c2d6193167c9228830aae37286a48b4cc3966de739680754ada8e9313b4c813669a920e9e75780a81dffb4e75bd7fe87b1c3553bc11261b SHA512 7f53c7fd10a8520ce1b4abca00d96042f325429b279d6ea2df9115238a8f9c294b8a274057cd4a244ed586a79e33a40fcd95197bb40cb023e52e334139b02cf4 DIST obsidian-1.8.9.gh.deb 80266718 BLAKE2B 5cd0f62b6a1382fc0bf709cc76759fe31145a8b5ffbf4ea7a5937968f9fb61832bec6dd30cc4afebfaf2001c3dbf9b2fcbce70e2cd512b25ce7b05b135871673 SHA512 81ba8fb5939a5decd05fd3cd19b5ab73a890080b578507ee9cb1cba750038d634453d3c6587571e165149d74e62d05f6b759fb524210bc51b2445b487e15195b diff --git a/app-office/obsidian/obsidian-1.8.10.ebuild b/app-office/obsidian/obsidian-1.8.10.ebuild new file mode 100644 index 000000000..0aa8da246 --- /dev/null +++ b/app-office/obsidian/obsidian-1.8.10.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="132" +CHROMIUM_LANGS=" + af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi + hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv + sw ta te th tr uk ur vi zh-CN zh-TW +" +inherit chromium-2 desktop linux-info unpacker xdg + +DESCRIPTION="A second brain, for you, forever." +HOMEPAGE="https://obsidian.md/" + +# For some reason, the main binary tarballs don't include the .desktop file or +# icon. The .deb does. One would hope then, that we could just download the .deb +# for each arch, but they only generate a .deb for amd64. Maybe we can get them +# to fix this, but in the meantime, we download the .deb purely to get the +# .desktop file and app icon out of it. +SRC_URI=" + https://github.com/obsidianmd/obsidian-releases/releases/download/v${PV}/${P/-/_}_amd64.deb -> ${P}.gh.deb + amd64? ( https://github.com/obsidianmd/obsidian-releases/releases/download/v${PV}/${P}.tar.gz -> ${P}-amd64.tar.gz ) + arm64? ( https://github.com/obsidianmd/obsidian-releases/releases/download/v${PV}/${P}-arm64.tar.gz ) +" + +DIR="/opt/${PN^}" + +# deb gets extracted to WORKDIR. actual program gets extracted to its own dir +# which depends on CPU arch. +S="${WORKDIR}" + +LICENSE="Obsidian-EULA" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="appindicator wayland" +RESTRICT="mirror strip bindist" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-crypt/libsecret[crypt] + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/fontconfig + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/libdrm + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + appindicator? ( dev-libs/libayatana-appindicator ) +" + +QA_PREBUILT="*" + +CONFIG_CHECK="~USER_NS" + +set_obsidian_src_dir() { + if use amd64; then + S_OBSIDIAN="${WORKDIR}/${P}" + elif use arm64; then + S_OBSIDIAN="${WORKDIR}/${P}-arm64" + else + die "Obsidian only supports amd64 and arm64" + fi +} + +src_configure() { + default + chromium_suid_sandbox_check_kernel_config +} + +src_prepare() { + default + # cleanup languages + set_obsidian_src_dir + pushd "${S_OBSIDIAN}/locales/" >/dev/null || die "location change for language cleanup failed" + chromium_remove_language_paks + popd >/dev/null || die "location reset for language cleanup failed" + + # Create separate .desktop file for launching Obsidian with native wayland + # support. + # + # Obsidian is an Electron app, and Electron can be instructed to run in + # native-wayland mode by turning on the Ozone platform. However, doing this + # causes Obsidian to crash on some users' systems, while it works fine for + # others. (see https://bugs.gentoo.org/915899) + # + # It appears VSCode may have encountered a similar issue, because VSCode + # installs two separate .desktop files, one for launching with wayland + # support and one for launching without. We will do the same here. + + # Create a copy of upstream's .desktop + cp usr/share/applications/obsidian.desktop \ + usr/share/applications/obsidian-wayland.desktop \ + || die "failed to create obsidian-wayland.desktop file" + + # Edit the Exec & Name + sed -i \ + ' + # Add Electron ozone enable flags to obsidian execution + /Exec/s/obsidian /obsidian --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations / + + # Give this .desktop file a new name/desc of "Obsidian Wayland" + /^Name/s/$/ Wayland/ + + # comment field + /^Comment/s/$/ with Wayland support enabled/ + ' \ + 'usr/share/applications/obsidian-wayland.desktop' || + die "sed failed for obsidian-wayland.desktop file" +} + +src_install() { + insinto "${DIR}" + exeinto "${DIR}" + + set_obsidian_src_dir + pushd "${S_OBSIDIAN}" >/dev/null || die "location change for main install failed" + + doexe obsidian chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1 + doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin \ + v8_context_snapshot.bin vk_swiftshader_icd.json + insopts -m0755 + doins -r locales resources + + # Chrome-sandbox requires the setuid bit to be specifically set. + # see https://github.com/electron/electron/issues/17972 + fowners root "${DIR}/chrome-sandbox" + fperms 4711 "${DIR}/chrome-sandbox" + + [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler + + popd >/dev/null || die "location reset for main install failed" + + dosym "${DIR}/obsidian" "/usr/bin/obsidian" + + if use appindicator; then + dosym ../../usr/lib64/libayatana-appindicator3.so "${DIR}/libappindicator3.so" + fi + + domenu usr/share/applications/obsidian.desktop + if use wayland; then + domenu usr/share/applications/obsidian-wayland.desktop + fi + + for size in 16 32 48 64 128 256 512; do + doicon --size ${size} usr/share/icons/hicolor/${size}x${size}/apps/${PN}.png + done +} + +pkg_postinst() { + xdg_pkg_postinst + + ewarn "Some users have reported that running Obsidian with native Wayland" + ewarn "support causes the software to crash. Others have it working" + ewarn "without issue. See https://bugs.gentoo.org/915899" + ewarn "" + ewarn "This package now provides application entries for both Obsidian and" + ewarn "Obsidian Wayland. If Obsidian Wayland breaks for you under Wayland," + ewarn "try the other Obsidian entry to launch with XWayland" +}