Merge pull request #78341 from riannucci/patch-1
pyenchant: Fix for darwin/macOS
This commit is contained in:
commit
29d8a1c3f6
@ -1,7 +1,7 @@
|
||||
{ stdenv
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pkgs
|
||||
, enchant2
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -13,15 +13,21 @@ buildPythonPackage rec {
|
||||
sha256 = "fc31cda72ace001da8fe5d42f11c26e514a91fa8c70468739216ddd8de64e2a0";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ pkgs.enchant1 ];
|
||||
propagatedBuildInputs = [ enchant2 ];
|
||||
|
||||
patchPhase = let
|
||||
path_hack_script = "s|LoadLibrary(e_path)|LoadLibrary('${pkgs.enchant1}/lib/' + e_path)|";
|
||||
postPatch = let
|
||||
libext = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
in ''
|
||||
sed -i "${path_hack_script}" enchant/_enchant.py
|
||||
|
||||
# They hardcode a bad path for Darwin in their library search code
|
||||
substituteInPlace enchant/_enchant.py --replace '/opt/local/lib/' ""
|
||||
# Use the $PYENCHANT_LIBRARY_PATH envvar lookup line to hard-code the
|
||||
# location of the nix enchant-2 library into _enchant.py.
|
||||
#
|
||||
# Also, they hardcode a bad path for Darwin in their library search code;
|
||||
# This code should never be hit, but in case it does, we don't want to have
|
||||
# it "accidentally" work by pulling something from /opt.
|
||||
substituteInPlace enchant/_enchant.py \
|
||||
--replace 'os.environ.get("PYENCHANT_LIBRARY_PATH")' \
|
||||
"'${enchant2}/lib/libenchant-2${libext}'" \
|
||||
--replace '/opt/local/lib/' ""
|
||||
'';
|
||||
|
||||
# dictionaries needed for tests
|
||||
@ -31,7 +37,6 @@ buildPythonPackage rec {
|
||||
description = "pyenchant: Python bindings for the Enchant spellchecker";
|
||||
homepage = https://github.com/pyenchant/pyenchant;
|
||||
license = licenses.lgpl21;
|
||||
badPlatforms = [ "x86_64-darwin" ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -4845,7 +4845,7 @@ in {
|
||||
|
||||
pyelftools = callPackage ../development/python-modules/pyelftools { };
|
||||
|
||||
pyenchant = callPackage ../development/python-modules/pyenchant { };
|
||||
pyenchant = callPackage ../development/python-modules/pyenchant { enchant2 = pkgs.enchant2; };
|
||||
|
||||
pyexcelerator = callPackage ../development/python-modules/pyexcelerator { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user