# Generated by go2rpm 1.6.0
%bcond check 1
# 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
%bcond vendor 1
# https://git.sr.ht/~rjarry/aerc
%global goipath git.sr.ht/~rjarry/aerc
%global version0 0.17.0
%gometa
%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
# See LICENSES.dependencies
License: MIT AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC
URL: %{gourl}
Source0 %{forgesource}
Source1: aerc-%{version}-vendor.tar.gz
# https://git.sr.ht/~gotmax23/fedora-scripts/tree/main/item/go-sig/go_vendor_licenses.py
Source2: LICENSES.dependencies
BuildRequires: desktop-file-utils
# wrap and colorize filters are written in C
BuildRequires: gcc
BuildRequires: glibc-all-langpacks
BuildRequires: gnupg
BuildRequires: notmuch-devel
BuildRequires: scdoc
Requires: notmuch
%description
%{common_description}
%prep
%autosetup -p1 %{forgesetupargs} %{?with_vendor:-b1}
%goprep -e %{?with_vendor:-k}
cp %{SOURCE2} .
%if %{without vendor}
# From go.mod replace statements:
# replace golang.org/x/crypto => github.com/ProtonMail/go-crypto v0.0.0-20200420072808-71bec3603bf3
sed -i "s|golang.org/x/crypto|github.com/ProtonMail/go-crypto|" $(find . -name "*.go" -type f)
%endif
%generate_buildrequires
%if %{without vendor}
%go_generate_buildrequires
%endif
%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
%if %{with check}
%check
LANG=en_US.UTF-8 ./filters/test.sh
%gocheck
%endif
%files
%license LICENSE %{?with_vendor:vendor/modules.txt LICENSES.dependencies}
%doc doc README.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