%global lib_version 0.0.1 %global abi_version 0 %global font_version 3.4.0 %global font_pkg nerdfontssymbolsonly-nerd-fonts %global SRC %{_builddir}/%{name}-%{version} %global crate libnerd_font Name: libnerd_font Version: %{lib_version} Release: %autorelease Summary: Libraries for programmatic access to nerd font glyphs. License: MIT License URL: https://gitlab.com/terryp/libnerd_font Source: libnerd_font-%{lib_version}.tar.xz Source: https://raw.githubusercontent.com/ryanoasis/nerd-fonts/refs/tags/v%{font_version}/glyphnames.json BuildRequires: python3 BuildRequires: python3dist(doit) < 0.40, python3dist(doit) >= 0.30 BuildRequires: python3dist(msgspec) < 0.19, python3dist(msgspec) >= 0.18 BuildRequires: python3dist(pyyaml) BuildRequires: python3dist(jinja2) BuildRequires: python3dist(pyxdg) BuildRequires: python3dist(omniblack-string-case) >= 0.0.4, python3dist(omniblack-string-case) < 0.1 BuildRequires: python3dist(sh) BuildRequires: python3dist(rpm) BuildRequires: rust BuildRequires: gcc BuildRequires: tar BuildRequires: git BuildRequires: cargo-rpm-macros >= 24 Requires: %{font_pkg} == %{font_version} %description A library to access nerd font glyphs %package -n rust-%{crate}-devel BuildArch: noarch Summary: A rust interface to access nerd font glyphs %description -n rust-%{crate}-devel A rust interface to access nerd font glyphs %package -n rust-%{crate}+serde-devel Summary: %{summary} BuildArch: noarch %description -n rust-%{crate}+serde-devel A rust interface to access nerd font glyphs This package contains library source intended for building other packages which use the "serde" feature of the "%{crate}" crate. %package -n rust-%{crate}+default-devel Summary: %{summary} BuildArch: noarch %description -n rust-%{crate}+default-devel A rust interface to access nerd font glyphs This package contains library source intended for building other packages which use the "default" feature of the "%{crate}" crate. %package devel Provides: nerd_font.h = %{abi_version} Summary: Development files for libnerd_font %description devel Development files for libnerd_font %prep %autosetup export SRC="%{SRC}" export RPM_LIB_DIR="%{buildroot}%{_libdir}" export RPM_BIN_DIR="%{buildroot}%{_bindir}" export RPM_DATA_DIR="%{buildroot}%{_datadir}" export RPM_INCLUDE_DIR="%{buildroot}%{_includedir}" mkdir nerd-fonts-git mv %{SOURCE1} nerd-fonts-git/ doit build:Cargo.toml build:lib.rs cd "%{SRC}/build/rust" %cargo_prep cd "%{SRC}" %generate_buildrequires cd "%{SRC}/build/rust" %cargo_generate_buildrequires -a cd "%{SRC}" %build export CFLAGS="${RPM_OPT_FLAGS}" export SRC="%{SRC}" export RPM_LIB_DIR="%{buildroot}%{_libdir}" export RPM_BIN_DIR="%{buildroot}%{_bindir}" export RPM_DATA_DIR="%{buildroot}%{_datadir}" export RPM_INCLUDE_DIR="%{buildroot}%{_includedir}" cd "%{SRC}/build/rust" %cargo_build -a cd "%{SRC}" doit build:nerd_font.h build:libnerd_font.so.%{lib_version} %install export CFLAGS="${RPM_OPT_FLAGS}" export LDFLAGS="${RPM_LD_FLAGS}" export SRC="%{_builddir}/%{name}-%{version}" export RPM_LIB_DIR="%{buildroot}%{_libdir}" export RPM_BIN_DIR="%{buildroot}%{_bindir}" export RPM_DATA_DIR="%{buildroot}%{_datadir}" export RPM_INCLUDE_DIR="%{buildroot}%{_includedir}" cd "%{SRC}/build/rust" %cargo_install -a cd "%{SRC}" doit install:libnerd_font.so.%{lib_version} install:nerd_font.h %files -n rust-%{crate}+serde-devel %ghost %{crate_instdir}/Cargo.toml %files -n rust-%{crate}+default-devel %ghost %{crate_instdir}/Cargo.toml %files -n rust-%{crate}-devel %{crate_instdir}/.cargo-checksum.json %{crate_instdir}/Cargo.toml %{crate_instdir}/src/lib.rs %files devel %doc %{_includedir}/nerd_font.h %files %license %{_libdir}/libnerd_font.so.%{abi_version} %{_libdir}/libnerd_font.so.%{lib_version} %changelog %autochangelog