cb8aa201e2
- bump version - build with notmuch support - substitute @SHAREDIR@ in aerc.conf for the `template-dirs` key - place ncurses instead of ncurses.dev in PATH (cannot find infocmp otherwise)
56 lines
1.8 KiB
Diff
56 lines
1.8 KiB
Diff
From 6cf3c2e42d219b9665a43ca65f321c653b0aa102 Mon Sep 17 00:00:00 2001
|
|
From: Tadeo Kondrak <me@tadeo.ca>
|
|
Date: Mon, 28 Oct 2019 08:36:36 -0600
|
|
Subject: [PATCH] Fix aerc breaking every time the package is rebuilt.
|
|
|
|
On NixOS, the SHAREDIR changes on every rebuild to the package, but aerc
|
|
fills it in as part of the default config and then installs that config
|
|
to the users home folder. Fix this by not substituting @SHAREDIR@ in the
|
|
default config until runtime.
|
|
---
|
|
Makefile | 2 +-
|
|
config/config.go | 8 ++++++++
|
|
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index d1c755d..1185a96 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -24,7 +24,7 @@ aerc: $(GOSRC)
|
|
-o $@
|
|
|
|
aerc.conf: config/aerc.conf.in
|
|
- sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
|
|
+ cat config/aerc.conf.in > $@
|
|
|
|
DOCS := \
|
|
aerc.1 \
|
|
diff --git a/config/config.go b/config/config.go
|
|
index 32d07fc..8ffd3e8 100644
|
|
--- a/config/config.go
|
|
+++ b/config/config.go
|
|
@@ -355,6 +355,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
|
|
return nil, err
|
|
}
|
|
}
|
|
+ if sec, err := file.GetSection("templates"); err == nil {
|
|
+ if key, err := sec.GetKey("template-dirs"); err == nil {
|
|
+ sec.NewKey("template-dirs", strings.ReplaceAll(key.String(), "@SHAREDIR@", sharedir))
|
|
+ }
|
|
+ }
|
|
file.NameMapper = mapName
|
|
config := &AercConfig{
|
|
Bindings: BindingConfig{
|
|
@@ -423,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
|
|
if err = config.LoadConfig(file); err != nil {
|
|
return nil, err
|
|
}
|
|
+ for i, filter := range config.Filters {
|
|
+ config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir)
|
|
+ }
|
|
if ui, err := file.GetSection("general"); err == nil {
|
|
if err := ui.MapTo(&config.General); err != nil {
|
|
return nil, err
|
|
--
|
|
2.23.0
|
|
|