summary refs log tree commit diff
path: root/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch')
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch29
1 files changed, 21 insertions, 8 deletions
diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
index 4ff1283b5e3..ed670d61a7b 100644
--- a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
+++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -1,18 +1,19 @@
-From 7ea68a2eef026723903d72f54ca54b629881ec06 Mon Sep 17 00:00:00 2001
+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. Fix this by not substituting
-@SHAREDIR@ in the default config until runtime.
+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 | 3 +++
- 2 files changed, 4 insertions(+), 1 deletion(-)
+ config/config.go | 8 ++++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index d3072d3..17ca0be 100644
+index d1c755d..1185a96 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -24,7 +24,7 @@ aerc: $(GOSRC)
@@ -25,10 +26,22 @@ index d3072d3..17ca0be 100644
  DOCS := \
  	aerc.1 \
 diff --git a/config/config.go b/config/config.go
-index bfcbecf..2f4e703 100644
+index 32d07fc..8ffd3e8 100644
 --- a/config/config.go
 +++ b/config/config.go
-@@ -377,6 +377,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+@@ -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
  	}