%global pkg vterm %global commit adf8d10212d15f9bd5ca62b96c7b423be02ce3c4 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global snapdate 20250929 Name: emacs-%{pkg} Version: 0 Release: 2.%{snapdate}git%{shortcommit}%{?dist} Summary: Fully-fledged terminal emulator for GNU Emacs License: GPL-3.0-or-later URL: https://github.com/akermu/emacs-libvterm Source0: %{url}/archive/%{commit}/emacs-libvterm-%{commit}.tar.gz BuildRequires: cmake >= 3.11 BuildRequires: gcc BuildRequires: make BuildRequires: pkgconfig(vterm) >= 0.2 BuildRequires: emacs-nw >= 25.1 # Runtime requirements # NOTE: This package contains a native dynamic module (.so file) # and therefore is architecture-specific (NOT noarch). # Dynamic modules require Emacs >= 25.1 with module support. Requires: emacs(bin) >= 25.1 # NOTE: libvterm.so dependency should be automatically detected by RPM %description Emacs-libvterm (vterm) is a fully-fledged terminal emulator inside GNU Emacs based on libvterm, a C library. It is significantly faster and more capable than the built-in term.el, and provides excellent compatibility with command-line tools including ncurses, htop, vim, and others. %prep %autosetup -n emacs-libvterm-%{commit} %build %cmake -DUSE_SYSTEM_LIBVTERM=ON %cmake_build %install # CMakeLists.txt doesn't define install rules, so we install manually # Create package directory in Emacs site-lisp mkdir -p %{buildroot}%{_emacs_sitelispdir}/%{pkg} # Install the native dynamic module (.so file) # NOTE: Must be executable (755) for Emacs to load it install -pm 755 vterm-module.so %{buildroot}%{_emacs_sitelispdir}/%{pkg}/ # Install Elisp source file install -pm 644 vterm.el %{buildroot}%{_emacs_sitelispdir}/%{pkg}/ # Install shell integration scripts mkdir -p %{buildroot}%{_emacs_sitelispdir}/%{pkg}/etc install -pm 644 etc/*.sh %{buildroot}%{_emacs_sitelispdir}/%{pkg}/etc/ install -pm 644 etc/*.fish %{buildroot}%{_emacs_sitelispdir}/%{pkg}/etc/ # Byte-compile Elisp file %{_emacs_bytecompile} %{buildroot}%{_emacs_sitelispdir}/%{pkg}/vterm.el #-- FILES ---------------------------------------------------------------------# %files %license LICENSE %doc README.md %{_emacs_sitelispdir}/%{pkg}/ #-- CHANGELOG -----------------------------------------------------------------# %changelog * Sat Oct 04 2025 Aleksei Fedotov 0-2.20250929gitadf8d10 - Fix tito configuration for source tarball packaging (aleksei@fedotov.email) - Add BuildRequires improvements (aleksei@fedotov.email) - Install shell integration scripts (aleksei@fedotov.email) - Simplify byte-compilation approach (aleksei@fedotov.email) - Fix CMake boolean value (yes -> ON) (aleksei@fedotov.email) - Fix wildcard .el installation (aleksei@fedotov.email) - Fix version/commit mismatch - use snapshot versioning (aleksei@fedotov.email) * Sat Oct 04 2025 Aleksei Fedotov 1.0.0-1 - new package built with tito * Fri Sep 12 2025 Aleksei Fedotov 0-0.1 - Initial package built with tito