From 443b318ee9c614d480a2ecb0120b52806d6fbb3b Mon Sep 17 00:00:00 2001 From: talyz Date: Thu, 12 Aug 2021 12:37:33 +0200 Subject: [PATCH] discourse: Change the path to the auto generated plugin assets Change the path to the auto generated plugin assets, which defaults to the plugin's directory and isn't writable at the time of asset generation. --- .../web-apps/discourse/auto_generated_path.patch | 13 +++++++++++++ pkgs/servers/web-apps/discourse/default.nix | 10 ++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/servers/web-apps/discourse/auto_generated_path.patch diff --git a/pkgs/servers/web-apps/discourse/auto_generated_path.patch b/pkgs/servers/web-apps/discourse/auto_generated_path.patch new file mode 100644 index 000000000000..9dcb1cb5595e --- /dev/null +++ b/pkgs/servers/web-apps/discourse/auto_generated_path.patch @@ -0,0 +1,13 @@ +diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb +index 380a63e987..b2ce7fa982 100644 +--- a/lib/plugin/instance.rb ++++ b/lib/plugin/instance.rb +@@ -403,7 +403,7 @@ class Plugin::Instance + end + + def auto_generated_path +- File.dirname(path) << "/auto_generated" ++ "#{Rails.root}/public/assets/auto_generated_plugin_assets/#{name}" + end + + def after_initialize(&block) diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 639b1507841c..5c816a7e3b30 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -158,6 +158,11 @@ let # Use the Ruby API version in the plugin gem path, to match the # one constructed by bundlerEnv ./plugin_gem_api_version.patch + + # Change the path to the auto generated plugin assets, which + # defaults to the plugin's directory and isn't writable at the + # time of asset generation + ./auto_generated_path.patch ]; # We have to set up an environment that is close enough to @@ -244,6 +249,11 @@ let # Use mv instead of rename, since rename doesn't work across # device boundaries ./use_mv_instead_of_rename.patch + + # Change the path to the auto generated plugin assets, which + # defaults to the plugin's directory and isn't writable at the + # time of asset generation + ./auto_generated_path.patch ]; postPatch = ''