fedora: add a spec for cpptrace (now required by quickshell) and its dependencies

This commit is contained in:
fb24m
2026-03-27 17:50:40 +04:00
parent bdc6026cc2
commit 26adce8fc0
3 changed files with 52 additions and 3 deletions
+42
View File
@@ -0,0 +1,42 @@
%global source_date_epoch_from_changelog 0
%global tag 1.0.4
%global commits 1054
%global commit 91b6b78e408a8b1c0b7146c9034a03156c082da2
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: cpptrace
Version: 1.0.4
Release: 1%{?dist}
Summary: Simple, portable, and self-contained stacktrace library for C++11 and newer
License: MIT
URL: https://github.com/jeremy-rifkin/cpptrace
Source0: %{url}/archive/%{commit}/cpptrace-%{shortcommit}.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: ninja-build
%description
C++ lightweight logging library used by Quickshell.
%prep
%autosetup -n cpptrace-%{commit} -p1
%build
mkdir -p build
cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCPPTRACE_UNWIND_WITH_LIBUNWIND=true
cmake --build .
%install
cd build
DESTDIR=%{buildroot} cmake --install .
%files
%{_prefix}/local/include/*
%{_prefix}/local/lib64/*
%license LICENSE
%doc README.md
+1
View File
@@ -149,6 +149,7 @@ packages = [
"libdrm",
"breakpad",
"kf6-kirigami",
"libunwind-devel",
# NOTE: Below are custom dependencies of illogical-impulse
"qt6-qt5compat",
"qt6-qtimageformats",
+9 -3
View File
@@ -5,6 +5,7 @@
# -------------------------
user_config="${REPO_ROOT}/sdata/dist-fedora/user_data.yaml"
rpmbuildroot="${REPO_ROOT}/cache/rpmbuild"
rpm_specs="${REPO_ROOT}/sdata/dist-fedora/SPECS"
deps_data_file="${REPO_ROOT}/sdata/dist-fedora/feddeps.toml"
# -------------------------
@@ -24,15 +25,20 @@ function r() {
# Start building and install the missing RPM package locally.
function install_RPMS() {
local local_specs local_rpms
local local_rpms
rpmbuildroot="${rpmbuildroot:-${REPO_ROOT}/cache/rpmbuild}"
x mkdir -p "$rpmbuildroot"/{BUILD,RPMS,SOURCES}
x cp -r "${REPO_ROOT}/sdata/dist-fedora/SPECS" "$rpmbuildroot/"
x cd $rpmbuildroot/SPECS
mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0)
# we need cpptrace BEFORE quickshell-git
local_specs=(
"$rpm_specs/cpptrace.spec"
"$rpm_specs/quickshell-git.spec"
"$rpm_specs/hyprland-qt-support.spec"
)
for spec_file in ${local_specs[@]}; do
# Download sources
x spectool -g -C "$rpmbuildroot/SOURCES" "$spec_file"