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

# https://git.sr.ht/~sircmpwn/aerc
%global goipath         git.sr.ht/~sircmpwn/aerc
%global forgeurl        https://git.sr.ht/~sircmpwn/aerc
Version:                0.5.2
%global tag             0.5.2
# /!\ Prerelease to fix compilation with go-pgpmail
%global commit          1687e558d3fae4d5622677c031bb9365a8c3e261
%global repo            aerc
%global archivename     %{repo}-%{commit}
%global archiveext      tar.gz
%global archiveurl      %{forgeurl}/archive/%{commit}.%{archiveext}
%global topdir          %{repo}-%{commit}
%global extractdir      %{repo}-%{commit}
%global scm             git

%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}
Source0:        %{gosource}
# Disable building of aerc that we handle manually in the SPEC
Patch0:         aerc-fix-makefile.patch

BuildRequires:  scdoc
BuildRequires:  golang(git.sr.ht/~sircmpwn/getopt)
BuildRequires:  golang(github.com/creack/pty)
BuildRequires:  golang(github.com/danwakefield/fnmatch)
BuildRequires:  golang(github.com/ddevault/go-libvterm)
BuildRequires:  golang(github.com/emersion/go-imap)
BuildRequires:  golang(github.com/emersion/go-imap-idle)
BuildRequires:  golang(github.com/emersion/go-imap-sortthread)
BuildRequires:  golang(github.com/emersion/go-imap/client)
BuildRequires:  golang(github.com/emersion/go-maildir)
BuildRequires:  golang(github.com/emersion/go-message)
BuildRequires:  golang(github.com/emersion/go-message/charset)
BuildRequires:  golang(github.com/emersion/go-message/mail)
BuildRequires:  golang(github.com/emersion/go-message/textproto)
BuildRequires:  golang(github.com/emersion/go-pgpmail)
BuildRequires:  golang(github.com/emersion/go-sasl)
BuildRequires:  golang(github.com/emersion/go-smtp)
BuildRequires:  golang(github.com/fsnotify/fsnotify)
BuildRequires:  golang(github.com/gdamore/tcell/v2)
BuildRequires:  golang(github.com/gdamore/tcell/v2/views)
BuildRequires:  golang(github.com/go-ini/ini)
BuildRequires:  golang(github.com/google/shlex)
BuildRequires:  golang(github.com/imdario/mergo)
BuildRequires:  golang(github.com/kyoh86/xdg)
BuildRequires:  golang(github.com/mattn/go-isatty)
BuildRequires:  golang(github.com/mattn/go-runewidth)
BuildRequires:  golang(github.com/miolini/datacounter)
BuildRequires:  golang(github.com/mitchellh/go-homedir)
BuildRequires:  golang(github.com/pkg/errors)
BuildRequires:  golang(github.com/riywo/loginshell)
BuildRequires:  golang(golang.org/x/crypto/openpgp)
BuildRequires:  golang(golang.org/x/crypto/openpgp/errors)
BuildRequires:  golang(golang.org/x/crypto/openpgp/packet)
BuildRequires:  golang(golang.org/x/oauth2)
Requires:       notmuch

%if %{with check}
# Tests
BuildRequires:  golang(github.com/stretchr/testify/assert)
%endif

%description
%{common_description}

%prep
%goprep
%patch0 -p1
# 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)

%build
export GOFLAGS=-tags=notmuch
export LDFLAGS="-X main.Prefix=%{_prefix} \
                -X main.ShareDir=%{_datadir}/aerc \
                -X main.Version=%{version} "
%gobuild -o %{gobuilddir}/bin/aerc %{goipath}

%install
install -m 0755 -vd                     %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
export PREFIX=%{_prefix}
%make_install

%if %{with check}
%check
%gocheck
%endif

%files
%license LICENSE
%doc doc README.md
%{_bindir}/*
%{_mandir}/man1/%{name}.1*
%{_mandir}/man1/%{name}-*.1.*
%{_mandir}/man5/%{name}-*.5.*
%{_mandir}/man7/%{name}-*.7.*
%{_datadir}/aerc

%changelog
%autochangelog