115 lines
3.4 KiB
RPMSpec
115 lines
3.4 KiB
RPMSpec
# 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
|
|
Version: 0.17.0
|
|
%global topdir %{name}-%{version}
|
|
|
|
%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
|
|
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}
|
|
# The forge macros don't support Sourcehut.
|
|
# https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/209
|
|
Source0 %{gourl}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
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 -n %{topdir} -p1 %{?with_vendor:-b1}
|
|
%goprep -e %{?with_vendor:-k}
|
|
cp %{SOURCE2} .
|
|
|
|
# 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
|
|
|
|
%if %{without vendor}
|
|
# 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)
|
|
%endif
|
|
|
|
%generate_buildrequires
|
|
%if %{without vendor}
|
|
%go_generate_buildrequires
|
|
echo 'golang(github.com/brunnre8/go.notmuch)'
|
|
%endif
|
|
|
|
%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 %{?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
|