Files
packages/anda/devs/ghostty/stable/ghostty.spec
T
Raboneko 2328289313 fix(ghostty-nightly): File name change and conditional epoch (#3306) (#3456)
* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Recreate the old script for now

Signed-off-by: Gilver <rockgrub@disroot.org>

* Hmm

Signed-off-by: Gilver <rockgrub@disroot.org>

* Hhhhh

Signed-off-by: Gilver <rockgrub@disroot.org>

* Trying again

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add fix to stable

Signed-off-by: Gilver <rockgrub@disroot.org>

* No more patch so that did not need to be there

Signed-off-by: Gilver <rockgrub@disroot.org>

* Old method should (hopefully) work now

Signed-off-by: Gilver <rockgrub@disroot.org>

* Switch back here too?

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops again

Signed-off-by: Gilver <rockgrub@disroot.org>

* WE ARE SO BACK

Signed-off-by: Gilver <rockgrub@disroot.org>

* Testing

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump epoch ifcond

Signed-off-by: Gilver <rockgrub@disroot.org>

* Spec hacks to iron out remaining upgrade kinks

* Change to global macro

Signed-off-by: Gilver <rockgrub@disroot.org>

* The dev ver is used for the internal version string so winning?

The Git commit is however missing in the internal version because it only exists if built from master so yay I fixed that.

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump this down just in case

Signed-off-by: Gilver <rockgrub@disroot.org>

* Now where did that vanish to?

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
(cherry picked from commit c1e6365d46)

Co-authored-by: Gilver <rockgrub@disroot.org>
2025-02-20 11:59:20 +08:00

196 lines
6.4 KiB
RPMSpec

# 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.2
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
BuildRequires: gtk4-devel
BuildRequires: libadwaita-devel
BuildRequires: libX11-devel
BuildRequires: minisign
BuildRequires: ncurses
BuildRequires: ncurses-devel
BuildRequires: pandoc-cli
BuildRequires: zig
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libadwaita-1)
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 <rockgrub@disroot.org>
%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
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
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
Zsh shell completion for Ghostty.
%package shell-integration
Summary: Ghostty shell integration
Supplements: %{name}
BuildArch: noarch
%description shell-integration
This package contains files allowing Ghostty to integrate with various shells.
%package terminfo
Summary: Ghostty terminfo
Supplements: %{name}
BuildArch: noarch
%description terminfo
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}
%autosetup
export ZIG_GLOBAL_CACHE_DIR="%{cache_dir}"
zig build --fetch
zig fetch git+https://github.com/zigimg/zigimg#3a667bdb3d7f0955a5a51c8468eac83210c1439e
zig fetch git+https://github.com/mitchellh/libxev#f6a672a78436d8efee1aa847a43a900ad773618b
%build
%install
DESTDIR="%{buildroot}" \
zig build \
--summary all \
--release=fast \
--system "%{cache_dir}/p" \
--prefix "%{_prefix}" --prefix-lib-dir "%{_libdir}" \
--prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" \
--verbose \
-Dversion-string=%{version} \
-Dcpu=baseline \
-Dstrip=false \
-Dpie=true \
-Demit-docs \
-Demit-termcap \
-Demit-terminfo
%files
%doc README.md
%license LICENSE
%_bindir/ghostty
%_datadir/applications/com.mitchellh.ghostty.desktop
%_datadir/bat/syntaxes/ghostty.sublime-syntax
%_datadir/ghostty/
%_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop
%_datadir/nautilus-python/extensions/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
%_iconsdir/hicolor/16x16/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/16x16@2/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/32x32/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/32x32@2/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/128x128/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/128x128@2/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/256x256/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/256x256@2/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/512x512/apps/com.mitchellh.ghostty.png
%_iconsdir/hicolor/1024x1024/apps/com.mitchellh.ghostty.png
%_mandir/man1/ghostty.1.gz
%_mandir/man5/ghostty.5.gz
%files bash-completion
%bash_completions_dir/ghostty.bash
%files fish-completion
%fish_completions_dir/ghostty.fish
%files zsh-completion
%zsh_completions_dir/_ghostty
%files shell-integration
%_datadir/ghostty/shell-integration/bash/bash-preexec.sh
%_datadir/ghostty/shell-integration/bash/ghostty.bash
%_datadir/ghostty/shell-integration/elvish/lib/ghostty-integration.elv
%_datadir/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
%_datadir/ghostty/shell-integration/zsh/.zshenv
%_datadir/ghostty/shell-integration/zsh/ghostty-integration
%files terminfo
%_datadir/terminfo/g/ghostty
%_datadir/terminfo/x/xterm-ghostty
%files terminfo-source
%_datadir/terminfo/ghostty.termcap
%_datadir/terminfo/ghostty.terminfo
%changelog
* Fri Jan 31 2025 ShinyGil <rockgrub@disroot.org>
- 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 <rockgrub@disroot.org>
- 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 <rockgrub@disroot.org>
- Initial package