aerc/aerc.spec
2025-08-28 14:17:16 +02:00

111 lines
3.1 KiB
RPMSpec

# Generated by go2rpm 1.14.0
%bcond check 1
# We use vendored deps, as aerc has a lot of dependencies and is picky about
# them. Upstream does a good job at keeping them updated. aerc is prone to
# crashes with Fedora's dependency versions, many of which are out of date.
# https://git.sr.ht/~rjarry/aerc
%global goipath git.sr.ht/~rjarry/aerc
%global version0 0.21.0
%gometa -L -f
%global common_description %{expand:
Aerc is an email client that runs in your terminal. It is highly
efficient and extensible, perfect for the discerning hacker.}
Name: aerc
Version: %{forgeversion}
Release: %autorelease
Summary: Email client for your terminal
SourceLicense: MIT
# Generated by go-vendor-tools
License: MIT AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC
URL: %{gourl}
Source0: %{gosource}
# Generated by go-vendor-tools
Source1: %{archivename}-vendor.tar.bz2
Source2: go-vendor-tools.toml
BuildRequires: desktop-file-utils
# wrap and colorize filters are written in C
BuildRequires: gcc
BuildRequires: glibc-all-langpacks
BuildRequires: go-vendor-tools
BuildRequires: gnupg
BuildRequires: notmuch-devel
BuildRequires: scdoc
# used in the builtin `html` filter
Requires: w3m
# aerc is mainly targeted at developers using a git+email workflow
Recommends: git-email
# for email signing/verification, encryption/decryption
Recommends: gnupg2
# for network isolation with unshare in the builtin `html` filter
Recommends: util-linux
%description %{common_description}
%prep
%goprep -A
%setup -q -T -D -a1 %{forgesetupargs}
%autopatch -p1
%generate_buildrequires
%go_vendor_license_buildrequires -c %{S:2}
%build
%set_build_flags
# GO_BUILDTAGS: Enable notmuch explicitly instead of relying on auto-detection
# in build script.
# GO_LDFLAGS: Set to an empty string so the C LDFLAGS set by %%set_build_flags
# aren't read instead.
GO_BUILDTAGS=notmuch GO_LDFLAGS=""
# BUILD_OPTS: Set `go build` flags
# DATE: Set DATE based on SOURCE_DATE_EPOCH. The Makefile sets it based on the
# current time.
# GOFLAGS: Set to an empty string. We want to clear the definition from the Makefile.
# GO_EXTRA_LDFLAGS: Set `go build -ldflags` argument
# Other values should be self-explanatory
%make_build \
BUILD_OPTS=%{gobuild_baseflags_shescaped} \
DATE="$(date -d "@${SOURCE_DATE_EPOCH}" +%Y-%m-%d)" \
GOFLAGS= \
GO_EXTRA_LDFLAGS=%{gobuild_ldflags_shescaped} \
PREFIX=%{_prefix} \
VERSION=%{version} \
%install
export PREFIX=%{_prefix}
%make_install
desktop-file-validate %{buildroot}/%{_datadir}/applications/aerc.desktop
%go_vendor_license_install -c %{S:2}
%check
%go_vendor_license_check -c %{S:2}
%if %{with check}
LANG=en_US.UTF-8 ./filters/test.sh
%gocheck
%endif
%files -f %{go_vendor_license_filelist}
%license vendor/modules.txt
%doc README.md CHANGELOG.md
%{_bindir}/aerc
%{_bindir}/carddav-query
%{_datadir}/aerc/
%{_datadir}/applications/aerc.desktop
%{_libexecdir}/aerc/
%{_mandir}/man1/aerc-*.1.*
%{_mandir}/man1/carddav-query.1*
%{_mandir}/man1/aerc.1*
%{_mandir}/man5/aerc-*.5.*
%{_mandir}/man7/aerc-*.7.*
%changelog
%autochangelog