Blob Blame History Raw
# Generated by go2rpm 1.6.0
%bcond_without check

# https://git.sr.ht/~rjarry/aerc
%global goipath         git.sr.ht/~rjarry/aerc
Version:                0.16.0
%global topdir          %{name}-%{version}

%gometa

%global common_description %{expand:
Aerc is an email client that runs in your terminal. It's highly
efficient and extensible, perfect for the discerning hacker.}

%global golicenses      LICENSE
%global godocs          doc README.md

Name:           aerc
Release:        %autorelease
Summary:        Email client for your terminal

License:        MIT
URL:            %{gourl}
# The forge macros don't support Sourcehut.
# https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/209
Source:         %{gourl}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz

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
%goprep
%autopatch -p1

# Disable building of aerc that we handle manually in the SPEC and
# preserve mtimes
sed -e 's|install: $(DOCS) aerc wrap|install: $(DOCS)|' \
    -e 's|install -m|install -pm|' \
    -i Makefile

# From go.mod replace statements:
# replace golang.org/x/crypto => github.com/ProtonMail/go-crypto v0.0.0-20200420072808-71bec3603bf3
# replace github.com/zenhack/go.notmuch => github.com/brunnre8/go.notmuch v0.0.0-20201126061756-caa2daf7093c
sed -i "s|golang.org/x/crypto|github.com/ProtonMail/go-crypto|" $(find . -name "*.go" -type f)
sed -i "s|github.com/zenhack/go.notmuch|github.com/brunnre8/go.notmuch|" $(find . -name "*.go" -type f)

%generate_buildrequires
%go_generate_buildrequires
echo 'golang(github.com/brunnre8/go.notmuch)'

%build
export BUILDTAGS=notmuch
export LDFLAGS="\
                -X main.Version=%{version} \
                -X main.Prefix=%{_prefix} \
                -X main.ShareDir=%{_datadir}/aerc \
                -X git.sr.ht/~rjarry/aerc/config.shareDir=%{_datadir} \
                -X git.sr.ht/~rjarry/aerc/config.libexecDir=%{_libexecdir} \
               "
%gobuild -o aerc %{goipath}

# The go macros interfere with C build flags.
# Reset LDFLAGS and set other missing build flags.
unset LDFLAGS
%set_build_flags
%make_build wrap colorize doc

%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
%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