diff --git a/anda/devs/ghostty/nightly/ghostty-nightly.spec b/anda/devs/ghostty/nightly/ghostty-nightly.spec index c4c9bcd024..cb5f73d41e 100644 --- a/anda/devs/ghostty/nightly/ghostty-nightly.spec +++ b/anda/devs/ghostty/nightly/ghostty-nightly.spec @@ -1,12 +1,18 @@ -%global commit 04d36361b1a19a3b78b9cbcea5a233ccd56fb4e8 +%global commit f0d276062b78658fc1f3857e9ea104788f1f4e58 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20250130 +%global fulldate 2024-11-29 +%global commit_date %(echo %{fulldate} | sed 's/-//g') %global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV +%global dev_ver 1.1.1 +%if 0%{?fedora} <= 40 +%global cache_dir %{_builddir}/zig-cache +%else %global cache_dir %{builddir}/zig-cache +%endif Name: ghostty-nightly -Version: %{commit_date}.%{shortcommit} -Release: 1%?dist +Version: 1.1.0 +Release: 1.tip%{dev_ver}^%{commit_date}.%{shortcommit}%{?dist} Summary: A fast, native terminal emulator written in Zig; this is the Tip (nightly) build. License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0 URL: https://ghostty.org/ @@ -14,68 +20,93 @@ Source0: https://github.com/ghostty-org/ghostty/releases/download/tip/gho Source1: https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz.minisig BuildRequires: gtk4-devel BuildRequires: libadwaita-devel +BuildRequires: libX11-devel BuildRequires: minisign BuildRequires: ncurses BuildRequires: ncurses-devel BuildRequires: pandoc-cli BuildRequires: zig -Requires: %{name}-terminfo = %{version}-%{release} -Requires: %{name}-shell-integration = %{version}-%{release} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(harfbuzz) -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(oniguruma) -BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libadwaita-1) -BuildRequires: libX11-devel +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(oniguruma) +BuildRequires: pkgconfig(zlib) +Requires: %{name}-terminfo = %{version}-%{release} +Requires: %{name}-shell-integration = %{version}-%{release} +Requires: gtk4 +Requires: libadwaita Conflicts: ghostty Provides: ghostty-tip = %{version}-%{release} -Packager: ShinyGil +Obsoletes: %{name} <= 20250130.04d3636-1%{?dist} +Packager: ShinyGil %description 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. %package bash-completion Summary: Ghostty Bash completion +Requires: %{name} = %{version}-%{release} Requires: bash-completion Supplements: (%{name} and bash-completion) +Obsoletes: %{name}-bash-completion <= 20250130.04d3636-1%{?dist} +BuildArch: noarch %description bash-completion -%summary. +Bash shell completion for Ghostty. %package fish-completion Summary: Ghostty Fish completion +Requires: %{name} = %{version}-%{release} Requires: fish Supplements: (%{name} and fish) +Obsoletes: %{name}-fish-completion <= 20250130.04d3636-1%{?dist} +BuildArch: noarch %description fish-completion -%summary. +Fish shell completion for Ghostty. %package zsh-completion Summary: Ghostty Zsh completion +Requires: %{name} = %{version}-%{release} Requires: zsh Supplements: (%{name} and zsh) +Obsoletes: %{name}-zsh-completion <= 20250130.04d3636-1%{?dist} +BuildArch: noarch %description zsh-completion -%summary. +Zsh shell completion for Ghostty. %package shell-integration Summary: Ghostty shell integration Supplements: %{name} +Obsoletes: %{name}-shell-integration <= 20250130.04d3636-1%{?dist} +BuildArch: noarch %description shell-integration -%summary. +This package contains files allowing Ghostty to integrate with various shells. %package terminfo Summary: Ghostty terminfo Supplements: %{name} +Obsoletes: %{name}-terminfo <= 20250130.04d3636-1%{?dist} +BuildArch: noarch %description terminfo -%summary. +Ghostty's terminfo. Needed for basic terminal function. + +%package terminfo-source +Summary: Source files for Ghostty's terminfo +Requires: %{name} +Requires: %{name}-terminfo +BuildArch: noarch + +%description terminfo-source +This package contains files for Ghostty's terminfo. Available for debugging use. %prep /usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} @@ -110,7 +141,7 @@ zig build \ %_datadir/bat/syntaxes/ghostty.sublime-syntax %_datadir/ghostty/ %_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop -%_datadir/nautilus-python/extensions/com.mitchellh.ghostty.py +%_datadir/nautilus-python/extensions/ghostty.py %_datadir/nvim/site/compiler/ghostty.vim %_datadir/nvim/site/ftdetect/ghostty.vim %_datadir/nvim/site/ftplugin/ghostty.vim @@ -150,16 +181,24 @@ zig build \ %_datadir/ghostty/shell-integration/zsh/ghostty-integration %files terminfo -%_datadir/terminfo/ghostty.termcap -%_datadir/terminfo/ghostty.terminfo %_datadir/terminfo/g/ghostty %_datadir/terminfo/x/xterm-ghostty +%files terminfo-source +%_datadir/terminfo/ghostty.termcap +%_datadir/terminfo/ghostty.terminfo + %changelog -* Tue Dec 31 2024 ShinyGil +* Fri Jan 31 2025 ShinyGil +- Update to 1.1.1-1%{?dist}.20250131tipc5508e7 + * Low GHSA-98wc-794w-gjx3: Ghostty leaked file descriptors allowing the shell and any of its child processes to impact other Ghostty terminal instances + * Better Git versioning scheme + * Ghostty terminfo source files are now a subpackage + * Shell integration and completion and terminfo subpackages are now properly noarch +* Tue Dec 31 2024 ShinyGil - Update to 20241231.3f7c3af * High CVE-2003-0063: Allows execution of arbitrary commands * Medium CVE-2003-0070: Allows execution of arbitrary commands -* Thu Dec 26 2024 ShinyGil +* Thu Dec 26 2024 ShinyGil - Initial package diff --git a/anda/devs/ghostty/nightly/update.rhai b/anda/devs/ghostty/nightly/update.rhai index d41accfda2..3261f0ef2d 100644 --- a/anda/devs/ghostty/nightly/update.rhai +++ b/anda/devs/ghostty/nightly/update.rhai @@ -1,5 +1,13 @@ -rpm.global("commit", gh_commit("ghostty-org/ghostty")); +let url = `https://api.github.com/repos/ghostty-org/ghostty/releases/83450291`; +let json = get(url).json(); +let commit = json.target_commitish; +rpm.global("commit", commit); if rpm.changed() { - rpm.release(); - rpm.global("commit_date", date()); + let date = json.created_at; + date.truncate(10); + let html = get(`https://raw.githubusercontent.com/ghostty-org/ghostty/refs/heads/main/build.zig.zon`); + let ver = find(".version = \"([\\d.]+)\"", html, 1); + rpm.version(gh_tag("ghostty-org/ghostty")); + rpm.global("fulldate", date); + rpm.global("dev_ver", ver) } diff --git a/anda/devs/ghostty/stable/ghostty.spec b/anda/devs/ghostty/stable/ghostty.spec index bc91ae94c3..67fa1d05bd 100644 --- a/anda/devs/ghostty/stable/ghostty.spec +++ b/anda/devs/ghostty/stable/ghostty.spec @@ -1,80 +1,101 @@ # Signing key from https://github.com/ghostty-org/ghostty/blob/main/PACKAGING.md %global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV - +%if 0%{?fedora} <= 40 +%global cache_dir %{_builddir}/zig-cache +%else %global cache_dir %{builddir}/zig-cache +%endif Name: ghostty Version: 1.1.0 -Release: 1%?dist +Release: 2%?dist Summary: A fast, native terminal emulator written in Zig. License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0 URL: https://ghostty.org/ Source0: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz Source1: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz.minisig -Patch0: no-strip.diff BuildRequires: gtk4-devel BuildRequires: libadwaita-devel +BuildRequires: libX11-devel +BuildRequires: minisign BuildRequires: ncurses BuildRequires: ncurses-devel BuildRequires: pandoc-cli BuildRequires: zig -BuildRequires: minisign -Requires: %{name}-terminfo = %{version}-%{release} -Requires: %{name}-shell-integration = %{version}-%{release} BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(harfbuzz) -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(oniguruma) -BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libadwaita-1) -BuildRequires: libX11-devel +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(oniguruma) +BuildRequires: pkgconfig(zlib) +Requires: %{name}-terminfo = %{version}-%{release} +Requires: %{name}-shell-integration = %{version}-%{release} +Requires: gtk4 +Requires: libadwaita Conflicts: ghostty-nightly -Packager: ShinyGil +Packager: ShinyGil %description 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. %package bash-completion Summary: Ghostty Bash completion +Requires: %{name} = %{version}-%{release} Requires: bash-completion Supplements: (%{name} and bash-completion) +BuildArch: noarch %description bash-completion -%summary. +Bash shell completion for Ghostty. %package fish-completion Summary: Ghostty Fish completion +Requires: %{name} = %{version}-%{release} Requires: fish Supplements: (%{name} and fish) +BuildArch: noarch %description fish-completion -%summary. +Fish shell completion for Ghostty. %package zsh-completion Summary: Ghostty Zsh completion +Requires: %{name} = %{version}-%{release} Requires: zsh Supplements: (%{name} and zsh) +BuildArch: noarch %description zsh-completion -%summary. +Zsh shell completion for Ghostty. %package shell-integration Summary: Ghostty shell integration Supplements: %{name} +BuildArch: noarch %description shell-integration -%summary. +This package contains files allowing Ghostty to integrate with various shells. %package terminfo Summary: Ghostty terminfo Supplements: %{name} +BuildArch: noarch %description terminfo -%summary. +Ghostty's terminfo. Needed for basic terminal function. + +%package terminfo-source +Summary: Source files for Ghostty's terminfo +Requires: %{name} +Requires: %{name}-terminfo +BuildArch: noarch + +%description terminfo-source +Source files for Ghostty's terminfo. Available for debugging use. %prep /usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} @@ -96,8 +117,11 @@ zig build \ --verbose \ -Dversion-string=%{version} \ -Dcpu=baseline \ + -Dstrip=false \ -Dpie=true \ - -Demit-docs + -Demit-docs \ + -Demit-termcap \ + -Demit-terminfo %files %doc README.md @@ -107,9 +131,12 @@ zig build \ %_datadir/bat/syntaxes/ghostty.sublime-syntax %_datadir/ghostty/ %_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop +%_datadir/nautilus-python/extensions/com.mitchellh.ghostty.py +%_datadir/nvim/site/compiler/ghostty.vim %_datadir/nvim/site/ftdetect/ghostty.vim %_datadir/nvim/site/ftplugin/ghostty.vim %_datadir/nvim/site/syntax/ghostty.vim +%_datadir/vim/vimfiles/compiler/ghostty.vim %_datadir/vim/vimfiles/ftdetect/ghostty.vim %_datadir/vim/vimfiles/ftplugin/ghostty.vim %_datadir/vim/vimfiles/syntax/ghostty.vim @@ -144,16 +171,23 @@ zig build \ %_datadir/ghostty/shell-integration/zsh/ghostty-integration %files terminfo -%_datadir/terminfo/ghostty.termcap -%_datadir/terminfo/ghostty.terminfo %_datadir/terminfo/g/ghostty %_datadir/terminfo/x/xterm-ghostty +%files terminfo-source +%_datadir/terminfo/ghostty.termcap +%_datadir/terminfo/ghostty.terminfo + %changelog -* Tue Dec 31 2024 ShinyGil +* Fri Jan 31 2025 ShinyGil +- Update to 1.1.0-1%{?dist} + * Low GHSA-98wc-794w-gjx3: Ghostty leaked file descriptors allowing the shell and any of its child processes to impact other Ghostty terminal instances + * Ghostty terminfo source files are now a subpackage + * Shell integration and completion and terminfo subpackages are now properly noarch +* Tue Dec 31 2024 ShinyGil - Update to 1.0.1 * High CVE-2003-0063: Allows execution of arbitrary commands * Medium CVE-2003-0070: Allows execution of arbitrary commands -* Thu Dec 26 2024 ShinyGil +* Thu Dec 26 2024 ShinyGil - Initial package