diff options
author | Robert Schütz <dev@schuetz-co.de> | 2021-02-28 11:32:30 +0100 |
---|---|---|
committer | Robert Schütz <dev@schuetz-co.de> | 2021-03-06 16:32:03 +0100 |
commit | 6c3b5c1942fe539226fad6bea4af9f1b2c275e45 (patch) | |
tree | 4f18eff42a79f555ee907124a688121f5b7daa2a /pkgs | |
parent | d80850806d60e62c2a8189bc62e373a3facae442 (diff) | |
download | nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar.gz nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar.bz2 nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar.lz nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar.xz nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.tar.zst nixpkgs-6c3b5c1942fe539226fad6bea4af9f1b2c275e45.zip |
pythonPackages.python_magic: fix build and run tests
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/python-modules/python-magic/default.nix | 36 | ||||
-rw-r--r-- | pkgs/development/python-modules/python-magic/libmagic-path.patch | 17 |
2 files changed, 41 insertions, 12 deletions
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix index 5fb576e5f02..6737f126073 100644 --- a/pkgs/development/python-modules/python-magic/default.nix +++ b/pkgs/development/python-modules/python-magic/default.nix @@ -1,24 +1,36 @@ -{ buildPythonPackage, lib, fetchPypi, file, stdenv }: +{ lib +, stdenv +, python +, buildPythonPackage +, fetchFromGitHub +, substituteAll +, file +, glibcLocales +}: buildPythonPackage rec { pname = "python-magic"; version = "0.4.22"; - src = fetchPypi { - inherit pname version; - sha256 = "ca884349f2c92ce830e3f498c5b7c7051fe2942c3ee4332f65213b8ebff15a62"; + src = fetchFromGitHub { + owner = "ahupp"; + repo = "python-magic"; + rev = version; + sha256 = "0zbdjr5shijs0jayz7gycpx0kn6v2bh83dpanyajk2vmy47jvbd6"; }; - postPatch = '' - substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'" - ''; + patches = [ + (substituteAll { + src = ./libmagic-path.patch; + libmagic = "${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; - doCheck = false; + checkInputs = [ glibcLocales ]; - # TODO: tests are failing - #checkPhase = '' - # ${python}/bin/${python.executable} ./test.py - #''; + checkPhase = '' + LC_ALL="en_US.UTF-8" ${python.interpreter} test/test.py + ''; meta = { description = "A python interface to the libmagic file type identification library"; diff --git a/pkgs/development/python-modules/python-magic/libmagic-path.patch b/pkgs/development/python-modules/python-magic/libmagic-path.patch new file mode 100644 index 00000000000..5a1dbec7d51 --- /dev/null +++ b/pkgs/development/python-modules/python-magic/libmagic-path.patch @@ -0,0 +1,17 @@ +diff --git a/magic/loader.py b/magic/loader.py +index 6b2bfcb..69778af 100644 +--- a/magic/loader.py ++++ b/magic/loader.py +@@ -5,11 +5,7 @@ import glob + def load_lib(): + libmagic = None + # Let's try to find magic or magic1 +- dll = ctypes.util.find_library('magic') \ +- or ctypes.util.find_library('magic1') \ +- or ctypes.util.find_library('cygmagic-1') \ +- or ctypes.util.find_library('libmagic-1') \ +- or ctypes.util.find_library('msys-magic-1') # for MSYS2 ++ dll = '@libmagic@' + + # necessary because find_library returns None if it doesn't find the library + if dll: |