diff options
Diffstat (limited to 'www-apps/nikola')
-rw-r--r-- | www-apps/nikola/Manifest | 3 | ||||
-rw-r--r-- | www-apps/nikola/files/nikola-8.2.4-yapsy.patch | 45 | ||||
-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 |