summaryrefslogtreecommitdiff
path: root/www-apps/nikola
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/nikola')
-rw-r--r--www-apps/nikola/Manifest3
-rw-r--r--www-apps/nikola/files/nikola-8.2.4-yapsy.patch45
-rw-r--r--www-apps/nikola/nikola-8.2.4-r1.ebuild (renamed from www-apps/nikola/nikola-8.2.4.ebuild)2
3 files changed, 49 insertions, 1 deletions
diff --git a/www-apps/nikola/Manifest b/www-apps/nikola/Manifest
index 3cd315ff2bc2..9ba929002882 100644
--- a/www-apps/nikola/Manifest
+++ b/www-apps/nikola/Manifest
@@ -1,5 +1,6 @@
+AUX nikola-8.2.4-yapsy.patch 2083 BLAKE2B 31e741eddf3ba31fb9f99ceb5dc7fc58fcdf796dd02b08cf92ff2bfee57898416990ad755a91b73e5ba0cd964acf775790b8a303da2a06edd82359e56e2d9f87 SHA512 90873bfa502216b0cef68e9dd3fdf3c970e8620cb04c104576f001589007bc76637721a1c8960cff51a1c3658636dbede0085efff0778dd6ea21ebf9395976ba
DIST Nikola-8.2.3.tar.gz 5486641 BLAKE2B 690ea8584b9b11b1f26b768dc6daaded2f976b54a7be3b75f83d50cda3721f3f0051fd7ff7be3c38ed871ac905f604f891936e4ea72381b8f88a461f4d227587 SHA512 fbb107f975a4eeb369469eaa7a83e6fd342202530f91a0428c854f2eca28315268d6623983a078496943878a9f0548a5939184a2349d468cc0ac7152116b48b4
DIST Nikola-8.2.4.tar.gz 5635965 BLAKE2B 94421a278718fd9ae9f8978854954f2120bab005d10a52294b120d619a67455417eed94bb9e99cc9d01eca4e1d3da210980caef1ad7ff4ca5d25299a39d8eb19 SHA512 2bcea53181a5371fc1ce7d6d96e5db1ae0ab7c4bc8fe8947ed0d5427e71a469b0f522f1e6f20a47e51a3325730a9646156a8a57bab127785f220c65eb9f891ea
EBUILD nikola-8.2.3-r2.ebuild 2362 BLAKE2B b86352855847039543f4f0397a63d1a322d89886395242d104b622315c9772f99ac2732cb4b805692a70becf9cd2a1010a6bfc5b9c165a91c720266070afb97d SHA512 17a4e4a452d2b422745ac3496aeaa49738a10a9418f583cecd38713e2031253d73ca11fbf1cf51d7a7288589f8974ef80d08bbbcf8cd175cc398098df77bf268
-EBUILD nikola-8.2.4.ebuild 2363 BLAKE2B 1c060dbc1ec34ced2824a2d23e7f0679f96cbd08a2895d44a897cdc5bd2260ab30766542277ab87b233087955520aac9d3c6912e63489aad6bb0090a49a088f9 SHA512 dff607dc0e5e971ac0b31654245307483ca14d4bfc13e719e1f3fa61b3299ba8478700927031e2398cd82b3d56cc472e32bb3fc8ea1121cd25b886d3be47b274
+EBUILD nikola-8.2.4-r1.ebuild 2407 BLAKE2B 438caecb1841e6f7e7a1455eccadd760e4aa0baeca3c69b0a0566a3f2454cbaae53dfc9f628da280423567d85ee49bfb7b7fc8fe400a54245fb6f07b12156e21 SHA512 9f4921a108fcf78ab99d7017853ff3c487e90a5d55c3e4b1b26c75f8e98096ae4e958ce9a784b249a551c23bd10fa4f3bf9cca3b94e842276a76120a9895f141
MISC metadata.xml 292 BLAKE2B 0042bf60cec1af73f2d8e977e53c42adf5c7e4500f02ee08e3673b25962a86905d1d07783fb519a3bf40a12ab64229879e5fb217d1bde97195573fc6faa69f66 SHA512 a8e6a37da4e290629b38ccb4f9087682de58a0e4e4a377b85c3f3bb06eba426e3689cab575f528511fde9ed308e12a2e79a318e4dc55c6f85c3d8e16e22b3d01
diff --git a/www-apps/nikola/files/nikola-8.2.4-yapsy.patch b/www-apps/nikola/files/nikola-8.2.4-yapsy.patch
new file mode 100644
index 000000000000..563b92609879
--- /dev/null
+++ b/www-apps/nikola/files/nikola-8.2.4-yapsy.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/916872
+https://github.com/getnikola/nikola/issues/3700
+Patch from upstream.
+
+commit 4f51e2e0a0b1c0de375d15d06cfacd703ab03040
+Author: Adam Williamson <awilliam@redhat.com>
+Date: Sat, 15 Jul 2023 09:34:30 -0700
+
+ Handle change to plugin loading in recent yapsy (#3700) (#3701)
+
+--- a/nikola/plugin_categories.py
++++ b/nikola/plugin_categories.py
+@@ -75,8 +75,31 @@ def set_site(self, site):
+ def inject_templates(self):
+ """Inject 'templates/<engine>' (if exists) very early in the theme chain."""
+ try:
++ mod_candidate = None
++ # since https://github.com/tibonihoo/yapsy/pull/11 ,
++ # yapsy only adds each imported plugin to sys.modules
++ # under its modified, "unique" name (see early in
++ # PluginManager.loadPlugins), so we recreate the
++ # modified name here to find it. we fudge the serial
++ # number here, assuming that if a plugin is loaded
++ # under the same name multiple times, the location
++ # will also be the same, so we can just use 0.
++ possible_names = (
++ self.__class__.__module__,
++ "yapsy_loaded_plugin_" + self.__class__.__module__ + "_0",
++ "yapsy_loaded_plugin_" + self.name + "_0",
++ )
++ for possible_name in possible_names:
++ mod_candidate = sys.modules.get(possible_name)
++ if mod_candidate:
++ break
++ if not mod_candidate:
++ # well, we tried. we wind up here for the dummy
++ # plugins; honestly I'm not sure exactly why/how,
++ # but they don't have templates, so it's okay
++ return
+ # Sorry, found no other way to get this
+- mod_path = sys.modules[self.__class__.__module__].__file__
++ mod_path = mod_candidate.__file__
+ mod_dir = os.path.dirname(mod_path)
+ tmpl_dir = os.path.join(
+ mod_dir, 'templates', self.site.template_system.name
diff --git a/www-apps/nikola/nikola-8.2.4.ebuild b/www-apps/nikola/nikola-8.2.4-r1.ebuild
index 93ffb6d32eea..76917982b3b4 100644
--- a/www-apps/nikola/nikola-8.2.4.ebuild
+++ b/www-apps/nikola/nikola-8.2.4-r1.ebuild
@@ -37,6 +37,8 @@ RDEPEND="${BDEPEND}
dev-python/pillow[jpeg,${PYTHON_USEDEP}]
dev-python/cloudpickle[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}"/${P}-yapsy.patch )
+
python_compile_all() {
nikola tabcompletion --shell=bash > ${PN}.bashcomp || die
nikola tabcompletion --shell=zsh > ${PN}.zshcomp || die