diff --git a/.gitignore b/.gitignore index becfbca..72db243 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,25 @@ /aerc-1687e558d3fae4d5622677c031bb9365a8c3e261.tar.gz +/aerc-c303b953360994966ff657c4e17670853198ecf7.tar.gz +/aerc-f81d8871c7007c7fa17f3779f711631d747f22df.tar.gz +/aerc-0.7.1.tar.gz +/aerc-0.10.0.tar.gz +/aerc-0.12.0.tar.gz +/aerc-0.13.0.tar.gz +/aerc-0.14.0.tar.gz +/aerc-0.15.2.tar.gz +/aerc-0.16.0.tar.gz +/aerc-0.16.0-vendor.tar.gz +/aerc-0.17.0.tar.gz +/aerc-0.17.0-vendor.tar.gz +/aerc-0.18.0.tar.gz +/aerc-0.18.0-vendor.tar.bz2 +/aerc-0.18.2.tar.gz +/aerc-0.18.2-vendor.tar.bz2 +/aerc-0.19.0.tar.gz +/aerc-0.19.0-vendor.tar.bz2 +/aerc-0.20.0.tar.gz +/aerc-0.20.0-vendor.tar.bz2 +/aerc-0.20.1.tar.gz +/aerc-0.20.1-vendor.tar.bz2 +/aerc-0.21.0.tar.gz +/aerc-0.21.0-vendor.tar.bz2 diff --git a/aerc-fix-makefile.patch b/aerc-fix-makefile.patch deleted file mode 100644 index aa2e36c..0000000 --- a/aerc-fix-makefile.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -up aerc-1687e558d3fae4d5622677c031bb9365a8c3e261/Makefile.orig aerc-1687e558d3fae4d5622677c031bb9365a8c3e261/Makefile ---- aerc-1687e558d3fae4d5622677c031bb9365a8c3e261/Makefile.orig 2021-04-28 07:54:16.000000000 +0200 -+++ aerc-1687e558d3fae4d5622677c031bb9365a8c3e261/Makefile 2021-06-15 20:43:41.767856772 +0200 -@@ -59,7 +59,7 @@ DOCS := \ - - doc: $(DOCS) - --all: aerc aerc.conf doc -+all: aerc.conf doc - - # Exists in GNUMake but not in NetBSD make and others. - RM?=rm -f -@@ -70,27 +70,26 @@ clean: - install: all - mkdir -m755 -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5 $(DESTDIR)$(MANDIR)/man7 \ - $(DESTDIR)$(SHAREDIR) $(DESTDIR)$(SHAREDIR)/filters $(DESTDIR)$(SHAREDIR)/templates $(DESTDIR)$(SHAREDIR)/stylesets -- install -m755 aerc $(DESTDIR)$(BINDIR)/aerc -- install -m644 aerc.1 $(DESTDIR)$(MANDIR)/man1/aerc.1 -- install -m644 aerc-search.1 $(DESTDIR)$(MANDIR)/man1/aerc-search.1 -- install -m644 aerc-config.5 $(DESTDIR)$(MANDIR)/man5/aerc-config.5 -- install -m644 aerc-imap.5 $(DESTDIR)$(MANDIR)/man5/aerc-imap.5 -- install -m644 aerc-maildir.5 $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5 -- install -m644 aerc-sendmail.5 $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5 -- install -m644 aerc-notmuch.5 $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5 -- install -m644 aerc-smtp.5 $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5 -- install -m644 aerc-tutorial.7 $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7 -- install -m644 aerc-templates.7 $(DESTDIR)$(MANDIR)/man7/aerc-templates.7 -- install -m644 aerc-stylesets.7 $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7 -- install -m644 config/accounts.conf $(DESTDIR)$(SHAREDIR)/accounts.conf -- install -m644 aerc.conf $(DESTDIR)$(SHAREDIR)/aerc.conf -- install -m644 config/binds.conf $(DESTDIR)$(SHAREDIR)/binds.conf -- install -m755 filters/hldiff $(DESTDIR)$(SHAREDIR)/filters/hldiff -- install -m755 filters/html $(DESTDIR)$(SHAREDIR)/filters/html -- install -m755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext -- install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply -- install -m644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body -- install -m644 config/default_styleset $(DESTDIR)$(SHAREDIR)/stylesets/default -+ install -pm644 aerc.1 $(DESTDIR)$(MANDIR)/man1/aerc.1 -+ install -pm644 aerc-search.1 $(DESTDIR)$(MANDIR)/man1/aerc-search.1 -+ install -pm644 aerc-config.5 $(DESTDIR)$(MANDIR)/man5/aerc-config.5 -+ install -pm644 aerc-imap.5 $(DESTDIR)$(MANDIR)/man5/aerc-imap.5 -+ install -pm644 aerc-maildir.5 $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5 -+ install -pm644 aerc-sendmail.5 $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5 -+ install -pm644 aerc-notmuch.5 $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5 -+ install -pm644 aerc-smtp.5 $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5 -+ install -pm644 aerc-tutorial.7 $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7 -+ install -pm644 aerc-templates.7 $(DESTDIR)$(MANDIR)/man7/aerc-templates.7 -+ install -pm644 aerc-stylesets.7 $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7 -+ install -pm644 config/accounts.conf $(DESTDIR)$(SHAREDIR)/accounts.conf -+ install -pm644 aerc.conf $(DESTDIR)$(SHAREDIR)/aerc.conf -+ install -pm644 config/binds.conf $(DESTDIR)$(SHAREDIR)/binds.conf -+ install -pm755 filters/hldiff $(DESTDIR)$(SHAREDIR)/filters/hldiff -+ install -pm755 filters/html $(DESTDIR)$(SHAREDIR)/filters/html -+ install -pm755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext -+ install -pm644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply -+ install -pm644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body -+ install -pm644 config/default_styleset $(DESTDIR)$(SHAREDIR)/stylesets/default - - RMDIR_IF_EMPTY:=sh -c '\ - if test -d $$0 && ! ls -1qA $$0 | grep -q . ; then \ diff --git a/aerc.spec b/aerc.spec index f511f20..d3ceec8 100644 --- a/aerc.spec +++ b/aerc.spec @@ -1,121 +1,111 @@ -# Generated by go2rpm 1.3 -%bcond_without check +# Generated by go2rpm 1.14.0 +%bcond check 1 -# 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 +# 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. -%gometa +# 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's highly +Aerc is an email client that runs in your terminal. It is highly efficient and extensible, perfect for the discerning hacker.} -%global golicenses LICENSE -%global godocs doc README.md - Name: aerc -Release: 2%{?dist} +Version: %{forgeversion} +Release: %autorelease Summary: Email client for your terminal -License: MIT +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} -# Disable building of aerc that we handle manually in the SPEC -Patch0: aerc-fix-makefile.patch +# 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 -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 +# 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} +%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) +%goprep -A +%setup -q -T -D -a1 %{forgesetupargs} +%autopatch -p1 + +%generate_buildrequires +%go_vendor_license_buildrequires -c %{S:2} + %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} +%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 -install -m 0755 -vd %{buildroot}%{_bindir} -install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ export PREFIX=%{_prefix} %make_install +desktop-file-validate %{buildroot}/%{_datadir}/applications/aerc.desktop +%go_vendor_license_install -c %{S:2} -%if %{with check} %check +%go_vendor_license_check -c %{S:2} +%if %{with check} +LANG=en_US.UTF-8 ./filters/test.sh %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 +%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 -* Tue Jun 15 20:29:04 CEST 2021 Robert-André Mauchin - 0.5.2-2.20210615git1687e55 -- Initial package +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..d644f28 --- /dev/null +++ b/changelog @@ -0,0 +1,5 @@ +* Wed Jul 21 2021 Fedora Release Engineering - 0.5.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 15 20:29:04 CEST 2021 Robert-André Mauchin - 0.5.2-2.20210615git1687e55 +- Initial package diff --git a/go-vendor-tools.toml b/go-vendor-tools.toml new file mode 100644 index 0000000..a04291c --- /dev/null +++ b/go-vendor-tools.toml @@ -0,0 +1,2 @@ +[licensing] +detector = "trivy" diff --git a/sources b/sources index d9fea8d..12ae86a 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (aerc-1687e558d3fae4d5622677c031bb9365a8c3e261.tar.gz) = 7cf2bb538d61ce2cda81dfeefade91b50ce22502f75f14e2248452c8f64736fae975e3673c05106c00532639feef4f9e44c40b866fce65aaefad94b409649260 +SHA512 (aerc-0.21.0.tar.gz) = b58b3ba9fe36a22b5717d48d7b1caf37303003cb4f32138e79f9775a96dbc5d8b27700091dbfe56f31954be5881467a7c5d8c1895d9161eda19a0d7e5c4750aa +SHA512 (aerc-0.21.0-vendor.tar.bz2) = 5deb3e85cdeed9d0366e08ba851bbc4382dfafd3e2ecfb561cfc9b0afdd90183d72683a4c055d95a474144a2a5ba816c2946a1ade9acc85119d0e3242ef8af60