commit: 3fcfda0716efcd72dcdbf0bae32512102917912e Author: Robert Siebeck <gentoo.2019 <AT> r123 <DOT> de> AuthorDate: Wed May 14 20:17:02 2025 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Thu May 15 08:17:30 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fcfda07
app-editors/zed: add 0.186.8 Disable lto by default, enable it only when tc-is-lto returns true. Closes: https://bugs.gentoo.org/955708 Signed-off-by: Robert Siebeck <gentoo.2019 <AT> r123.de> Part-of: https://github.com/gentoo/gentoo/pull/42021 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> app-editors/zed/Manifest | 2 + app-editors/zed/zed-0.186.8.ebuild | 235 +++++++++++++++++++++++++++++++++++++ 2 files changed, 237 insertions(+) diff --git a/app-editors/zed/Manifest b/app-editors/zed/Manifest index ad134d337588..ad5977749fc5 100644 --- a/app-editors/zed/Manifest +++ b/app-editors/zed/Manifest @@ -43,3 +43,5 @@ DIST zed-0.183.10-crates.tar.xz 109675628 BLAKE2B ff98238113ef081037c8477cdc8128 DIST zed-0.183.10.tar.gz 14376153 BLAKE2B 95764d6b329636766b33b67aa13cb73c741e651bbf7ef496c0258f3c812a2afda12ee27d8d1d217eb017f7e3e699bbfc853f6fb2ef8bad4cddd936485e55e8de SHA512 2a65bdead35c3f341ff7c7e9d99249e41ceee8046b283bb7b3eeebc8743c63f350622cde9ac3cad5f1cc82a720d46061dd49dee421bf92efeccef1e85d5a1ad9 DIST zed-0.185.13-crates.tar.xz 111046780 BLAKE2B 321e908d10c436181b956861a57e09e0db92df93321a71f3c31fd098197e0d87a1a9f2bfc3423db602de0742335473123afc8c34f3d6809f7039ca86b1a42c8c SHA512 5ebbf5a91964ba7e08eda91906c2ddbc175795275dd013b72892e79368b8f717108ddfa449add1efb1038a475f27b3632a977520bf79ad82067b26b29d92a60c DIST zed-0.185.13.tar.gz 14696543 BLAKE2B 8f5f735041dbe6e7ced412a599db16afd087d20ae87993bc11442b70adfb41aa604f1b04fc42eb8c2d61c5aa77f638dffe0f38f26fabcccb96cf337faaba911d SHA512 3f652ff47e5eea3b75a9ada94fb2fb3ad36a67f216c789e1e7bc7856c5d7d8b6621fc4c3f42862069307a6280b8bcb100192f547a95ba3ef58e5fdc8d2978225 +DIST zed-0.186-crates.tar.xz 111046780 BLAKE2B 321e908d10c436181b956861a57e09e0db92df93321a71f3c31fd098197e0d87a1a9f2bfc3423db602de0742335473123afc8c34f3d6809f7039ca86b1a42c8c SHA512 5ebbf5a91964ba7e08eda91906c2ddbc175795275dd013b72892e79368b8f717108ddfa449add1efb1038a475f27b3632a977520bf79ad82067b26b29d92a60c +DIST zed-0.186.8.tar.gz 14733132 BLAKE2B 7be1c3fce06d6ba5cd74bb4cec2f75fdaf381bda2df003986a8af7415793bed9f177c253f5f3dc88cbab4f1a0e88c1d46f27ba541e415176a4f30241df6be6f4 SHA512 8aa1531c7722f0a6a1d3be1fddac5db386f1f67df5d3e180f57af960976802bb8116b9e19aa81c592972073a850828bf0f31d47216bc3941779c0239c5953490 diff --git a/app-editors/zed/zed-0.186.8.ebuild b/app-editors/zed/zed-0.186.8.ebuild new file mode 100644 index 000000000000..49cc481aa50b --- /dev/null +++ b/app-editors/zed/zed-0.186.8.ebuild @@ -0,0 +1,235 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.14.0 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/zed-industries/alacritty;828457c9ff1f7ea0a0469337cc8a37ee3a1b0590;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [blade-graphics]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;b16f5c7bd873c7126f48c82c39e7ae64602ae74f;blade-%commit%/blade-util' + [cpal]='https://github.com/zed-industries/cpal;fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50;cpal-%commit%' + [dap-types]='https://github.com/zed-industries/dap-types;be69a016ba710191b9fdded28c8b042af4b617f7;dap-types-%commit%/dap-types' + [font-kit]='https://github.com/zed-industries/font-kit;5474cfad4b719a72ec8ed2cb7327b2b01fd10568;font-kit-%commit%' + [jupyter-protocol]='https://github.com/ConradIrwin/runtimed;7130c804216b6914355d15d0b91ea91f6babd734;runtimed-%commit%/crates/jupyter-protocol' + [jupyter-websocket-client]='https://github.com/ConradIrwin/runtimed;7130c804216b6914355d15d0b91ea91f6babd734;runtimed-%commit%/crates/jupyter-websocket-client' + [libwebrtc]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/libwebrtc' + [livekit-api]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/livekit-api' + [livekit-protocol]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/livekit-protocol' + [livekit-runtime]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/livekit-runtime' + [livekit]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/livekit' + [lsp-types]='https://github.com/zed-industries/lsp-types;c9c189f1c5dd53c624a419ce35bc77ad6a908d18;lsp-types-%commit%' + [nbformat]='https://github.com/ConradIrwin/runtimed;7130c804216b6914355d15d0b91ea91f6babd734;runtimed-%commit%/crates/nbformat' + [notify-types]='https://github.com/zed-industries/notify;bbb9ea5ae52b253e095737847e367c30653a2e96;notify-%commit%/notify-types' + [notify]='https://github.com/zed-industries/notify;bbb9ea5ae52b253e095737847e367c30653a2e96;notify-%commit%/notify' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;764dd270c642f77f10f3e19d05cc178a6cbe69f3;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-pixi]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-pixi' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;845945b830297a50de0e24020b980a65e4820559;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;951c770a32f1998d6e999cef3e59e0013e6c4415;reqwest-%commit%' + [runtimelib]='https://github.com/ConradIrwin/runtimed;7130c804216b6914355d15d0b91ea91f6babd734;runtimed-%commit%/crates/runtimelib' + [scap]='https://github.com/zed-industries/scap;08f0a01417505cc0990b9931a37e5120db92e0d0;scap-%commit%' + [tree-sitter-gitcommit]='https://github.com/zed-industries/tree-sitter-git-commit;88309716a69dd13ab83443721ba6e0b491d37ee9;tree-sitter-git-commit-%commit%' + [tree-sitter-gomod]='https://github.com/camdencheek/tree-sitter-go-mod;6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [webrtc-sys-build]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/webrtc-sys/build' + [webrtc-sys]='https://github.com/zed-industries/livekit-rust-sdks;80bb8f4c9112789f7c24cc98d8423010977806a6;livekit-rust-sdks-%commit%/webrtc-sys' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' +) + +LLVM_COMPAT=( 19 ) +RUST_MIN_VER="1.86.0" +RUST_NEEDS_LLVM=1 +WEBRTC_COMMIT="b99fd2c-6" + +inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg + +DESCRIPTION="The fast, collaborative code editor" +HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/$(ver_cut 1-2)/${PN}-$(ver_cut 1-2)-crates.tar.xz + amd64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-x64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-x64-release.zip + ) + arm64? ( + https://github.com/livekit/rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-arm64-release.zip -> + webrtc-${WEBRTC_COMMIT}-linux-arm64-release.zip + ) + ${CARGO_CRATE_URIS}" + +S="${WORKDIR}/${PN}-${PV/_/-}" +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MIT-0 MPL-2.0 UoI-NCSA openssl Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="gles" +CHECKREQS_DISK_BUILD="11G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + app-misc/jq + dev-db/sqlite:3 + >=dev-libs/libgit2-1.9.0:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + || ( + media-fonts/dejavu + media-fonts/cantarell + media-fonts/noto + media-fonts/ubuntu-font-family + ) + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-misc/curl + sys-libs/zlib + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + app-arch/unzip + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-lto; then + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + else + export CARGO_PROFILE_RELEASE_LTO="false" + fi + + strip-unsupported-flags + # flags from upstream + export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-arg=-fuse-ld=mold -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" + # fix error in livekit-rust-sdks + export RUSTFLAGS="${RUSTFLAGS} -A unexpected_cfgs" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + if [[ "${PV}" == *pre ]]; then + export APP_ID="dev.zed.Zed-Preview" + else + export APP_ID="dev.zed.Zed" + fi + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die + + # Cargo offline fetch workaround + local CPAL_COMMIT="fd8bc2fd39f1f5fdee5a0690656caff9a26d9d50" + local CPAL_GIT="git = \"https://github.com/zed-industries/cpal\", rev = \"${CPAL_COMMIT}\"" + local CPAL_PATH="path = \"${WORKDIR}/cpal-${CPAL_COMMIT}\"" + + local NOTIFY_COMMIT="bbb9ea5ae52b253e095737847e367c30653a2e96" + local NOTIFY_GIT="notify = { git = \"https://github.com/zed-industries/notify.git\", rev = \"${NOTIFY_COMMIT}\"" + local NOTIFY_PATH="notify = \\{ path = \"${WORKDIR}/notify-${NOTIFY_COMMIT}/notify\"" + local NOTIFY_TYPES_GIT="notify-types = { git = \"https://github.com/zed-industries/notify.git\", rev = \"${NOTIFY_COMMIT}\"" + local NOTIFY_TYPES_PATH="notify-types = \\{ path = \"${WORKDIR}/notify-${NOTIFY_COMMIT}/notify-types\"" + + sed -e "s#${CPAL_GIT}#${CPAL_PATH}#" \ + -e "s#${NOTIFY_GIT}#${NOTIFY_PATH}#" \ + -e "s#${NOTIFY_TYPES_GIT}#${NOTIFY_TYPES_PATH}#" \ + -i "${S}/Cargo.toml" || die "Cargo fetch workaround failed" +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + if use arm64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-arm64-release" + elif use amd64; then + export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-x64-release" + fi + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/[email protected] zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +}
